IShellLibrary ::LoadLibraryFromItem, méthode (shobjidl_core.h)
Charge la bibliothèque à partir d’un fichier de définition de bibliothèque spécifié.
Syntaxe
HRESULT LoadLibraryFromItem(
[in] IShellItem *psiLibrary,
[in] DWORD grfMode
);
Paramètres
[in] psiLibrary
Type : IShellItem*
Objet IShellItem pour le fichier de définition de bibliothèque à charger. Une erreur est retournée si cet objet n’est pas une bibliothèque.
[in] grfMode
Type : DWORD
Un ou plusieurs indicateurs de support de stockage STGM qui spécifient des modes d’accès et de partage pour l’objet de bibliothèque.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Si cette méthode est appelée sur un objet IShellLibrary déjà chargé, le contenu de cet objet est remplacé en mémoire avec les nouvelles informations.
S’il n’existe aucun objet de bibliothèque existant, SHLoadLibraryFromItem peut être appelé à la place de cette méthode.
Exemples
L’exemple de code suivant montre la fonction d’assistance SHLoadLibraryFromItem, qui encapsule cette méthode.
//
// 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;
}
L’exemple de code suivant montre la fonction d’assistance SHLoadLibraryFromParsingName, qui encapsule cette méthode.
//
// 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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (inclure Shobjidl.h) |
Voir aussi
IShellLibrary ::LoadLibraryFromKnownFolder