Fonction LoadPackagedLibrary (winbase.h)
Charge le module empaqueté spécifié et ses dépendances dans l’espace d’adressage du processus appelant.
Syntaxe
HMODULE LoadPackagedLibrary(
[in] LPCWSTR lpwLibFileName,
DWORD Reserved
);
Paramètres
[in] lpwLibFileName
Nom de fichier du module empaqueté à charger. Le module peut être un module de bibliothèque (un fichier .dll) ou un module exécutable (un fichier .exe).
Si ce paramètre spécifie un nom de module sans chemin d’accès et que l’extension de nom de fichier est omise, la fonction ajoute l’extension de bibliothèque par défaut .dll au nom du module. Pour empêcher la fonction d’ajouter des .dll au nom du module, incluez un caractère de point de fin (.) dans la chaîne du nom du module.
Si ce paramètre spécifie un chemin d’accès, la fonction recherche ce chemin d’accès pour le module. Le chemin d’accès ne peut pas être un chemin absolu ou un chemin d’accès relatif qui contient . » dans le chemin d’accès. Lorsque vous spécifiez un chemin d’accès, veillez à utiliser des barres obliques inverses (\), et non des barres obliques (/). Pour plus d’informations sur les chemins d’accès, consultez Nommer des fichiers, des chemins et des espaces de noms.
Si le module spécifié est déjà chargé dans le processus, la fonction retourne un handle au module chargé. Le module doit avoir été chargé à l’origine à partir du graphe de dépendances de package du processus.
Si le chargement du module spécifié entraîne le chargement d’autres modules associés par le système, la fonction recherche d’abord les modules chargés, puis recherche le graphe de dépendances de package du processus. Pour plus d'informations, consultez la section Notes.
Reserved
Ce paramètre est réservé. Il doit être 0.
Valeur retournée
Si la fonction réussit, la valeur de retour est un handle pour le module chargé.
Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
La fonction LoadPackagedLibrary est une version simplifiée de LoadLibraryEx. Les applications empaquetées peuvent utiliser LoadPackagedLibrary pour charger des modules empaquetés. Les applications non empaquetées ne peuvent pas utiliser LoadPackagedLibrary ; si une application non empaquetée appelle cette fonction, elle échoue avec APPMODEL_ERROR_NO_PACKAGE.
LoadPackagedLibrary retourne un handle au module spécifié et incrémente son nombre de références. Si le module est déjà chargé, la fonction retourne un handle au module chargé. Le processus d’appel peut utiliser le handle retourné par LoadPackagedLibrary pour identifier le module dans les appels à la fonction GetProcAddress . Utilisez la fonction FreeLibrary pour libérer un module chargé et décrémenter son nombre de références.
Si la fonction doit rechercher le module spécifié ou ses dépendances, elle recherche uniquement le graphique de dépendances de package du processus. Il s’agit du package de l’application plus toutes les dépendances spécifiées comme <PackageDependency>
dans la <Dependencies>
section du manifeste du package de l’application. Les dépendances sont recherchées dans l’ordre dans lequel elles apparaissent dans le manifeste. Le graphique des dépendances de package est spécifié dans la <Dependencies>
section du manifeste de package de l’application. Les dépendances sont recherchées dans l’ordre dans lequel elles apparaissent dans le manifeste. La recherche se poursuit comme suit :
- La fonction recherche d’abord les modules qui sont déjà chargés. Si le module spécifié a été chargé à l’origine à partir du graphe de dépendances de package du processus, la fonction retourne un handle au module chargé. Si le module spécifié n’a pas été chargé à partir du graphe de dépendances de package du processus, la fonction retourne NULL.
- Si le module n’est pas encore chargé, la fonction recherche le graphe de dépendances de package du processus.
- Si la fonction ne trouve pas le module spécifié ou l’une de ses dépendances, la fonction échoue.
Notes
Sur Windows Phone, LoadPackagedLibrary doit être appelé à partir de PhoneAppModelHost.dll
. L’utilisation Kernel32.dll
n’est pas prise en charge.
Configuration requise
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | winbase.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |