Método IShellLibrary::LoadLibraryFromItem (shobjidl_core.h)
Carga la biblioteca desde un archivo de definición de biblioteca especificado.
Sintaxis
HRESULT LoadLibraryFromItem(
[in] IShellItem *psiLibrary,
[in] DWORD grfMode
);
Parámetros
[in] psiLibrary
Tipo: IShellItem*
Objeto IShellItem para que se cargue el archivo de definición de biblioteca. Se devuelve un error si este objeto no es una biblioteca.
[in] grfMode
Tipo: DWORD
Una o varias marcas de medios de almacenamiento STGM que especifican los modos de acceso y uso compartido para el objeto de biblioteca.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Si se llama a este método en un objeto IShellLibrary que ya está cargado, el contenido de ese objeto se sobrescribe en memoria con la nueva información.
Si no hay ningún objeto de biblioteca existente, se puede llamar a SHLoadLibraryFromItem en lugar de este método.
Ejemplos
En el ejemplo de código siguiente se muestra la función auxiliar SHLoadLibraryFromItem, que encapsula este 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;
}
En el ejemplo de código siguiente se muestra la función auxiliar SHLoadLibraryFromParsingName, que encapsula este 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 | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl_core.h (incluya Shobjidl.h) |
Consulte también
IShellLibrary::LoadLibraryFromKnownFolder