Método IShellLibrary::LoadLibraryFromItem (shobjidl_core.h)
Carrega a biblioteca de um arquivo de definição de biblioteca especificado.
Sintaxe
HRESULT LoadLibraryFromItem(
[in] IShellItem *psiLibrary,
[in] DWORD grfMode
);
Parâmetros
[in] psiLibrary
Tipo: IShellItem*
Um objeto IShellItem para o arquivo de definição de biblioteca a ser carregado. Um erro será retornado se este objeto não for uma biblioteca.
[in] grfMode
Tipo: DWORD
Um ou mais sinalizadores médios de armazenamento STGM que especificam modos de acesso e compartilhamento para o objeto de biblioteca.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Se esse método for chamado em um objeto IShellLibrary que já está carregado, o conteúdo desse objeto será substituído na memória com as novas informações.
Se não houver nenhum objeto de biblioteca existente, SHLoadLibraryFromItem poderá ser chamado no lugar desse método.
Exemplos
O exemplo de código a seguir mostra a função auxiliar SHLoadLibraryFromItem, que encapsula esse método.
//
// from shobjidl.h
//
__inline HRESULT SHLoadLibraryFromItem(
__in IShellItem *psiLibrary,
__in DWORD grfMode,
__in REFIID riid,
__deref_out void **ppv
)
{
*ppv = NULL;
IShellLibrary *plib;
HRESULT hr = CoCreateInstance(
CLSID_ShellLibrary,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&plib));
if (SUCCEEDED(hr))
{
hr = plib->LoadLibraryFromItem (psiLibrary, grfMode);
if (SUCCEEDED(hr))
{
hr = plib->QueryInterface (riid, ppv);
}
plib->Release();
}
return hr;
}
O exemplo de código a seguir mostra a função auxiliar SHLoadLibraryFromParsingName, que encapsula esse método.
//
// from shobjidl.h
//
__inline HRESULT SHLoadLibraryFromParsingName(
__in PCWSTR pszParsingName,
__in DWORD grfMode,
__in REFIID riid,
__deref_out void **ppv
)
{
*ppv = NULL;
IShellItem *psiLibrary;
HRESULT hr = SHCreateItemFromParsingName (
pszParsingName,
NULL,
IID_PPV_ARGS(&psiLibrary));
if (SUCCEEDED(hr))
{
hr = SHLoadLibraryFromItem (psiLibrary, grfMode, riid, ppv);
psiLibrary->Release();
}
return hr;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |
Confira também
IShellLibrary::LoadLibraryFromKnownFolder