Freigeben über


LoadPackagedLibrary-Funktion (winbase.h)

Lädt das angegebene gepackte Modul und seine Abhängigkeiten in den Adressraum des aufrufenden Prozesses.

Syntax

HMODULE LoadPackagedLibrary(
  [in] LPCWSTR lpwLibFileName,
       DWORD   Reserved
);

Parameter

[in] lpwLibFileName

Der Dateiname des zu ladenden gepackten Moduls. Das Modul kann ein Bibliotheksmodul (eine .dll-Datei) oder ein ausführbares Modul (eine .exe-Datei) sein.

Wenn dieser Parameter einen Modulnamen ohne Pfad angibt und die Dateinamenerweiterung weggelassen wird, fügt die Funktion die Standardbibliothekserweiterung .dll an den Modulnamen an. Um zu verhindern, dass die Funktion .dll an den Modulnamen anfügen kann, fügen Sie ein nachfolgendes Punktzeichen (.) in die Modulnamenzeichenfolge ein.

Wenn dieser Parameter einen Pfad angibt, durchsucht die Funktion diesen Pfad für das Modul. Der Pfad darf kein absoluter Pfad oder ein relativer Pfad sein, der ".." im Pfad enthält. Achten Sie beim Angeben eines Pfads darauf, umgekehrte Schrägstriche (\) und keine Schrägstriche (/) zu verwenden. Weitere Informationen zu Pfaden finden Sie unter Benennen von Dateien, Pfaden und Namespaces.

Wenn das angegebene Modul bereits im Prozess geladen ist, gibt die Funktion ein Handle an das geladene Modul zurück. Das Modul muss ursprünglich aus dem Paketabhängigkeitsdiagramm des Prozesses geladen worden sein.

Wenn das Laden des angegebenen Moduls dazu führt, dass das System andere zugeordnete Module lädt, durchsucht die Funktion zunächst geladene Module und durchsucht dann das Paketabhängigkeitsdiagramm des Prozesses. Weitere Informationen finden Sie in den Hinweisen.

Reserved

Dieser Parameter ist reserviert. Es muss 0 sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für das geladene Modul.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Bemerkungen

Die LoadPackagedLibrary-Funktion ist eine vereinfachte Version von LoadLibraryEx. Verpackte Apps können LoadPackagedLibrary verwenden, um gepackte Module zu laden. Nicht gepackte Anwendungen können LoadPackagedLibrary nicht verwenden. wenn eine nicht verpackte Anwendung diese Funktion aufruft, schlägt sie mit APPMODEL_ERROR_NO_PACKAGE fehl.

LoadPackagedLibrary gibt ein Handle an das angegebene Modul zurück und erhöht dessen Verweisanzahl. Wenn das Modul bereits geladen ist, gibt die Funktion ein Handle an das geladene Modul zurück. Der aufrufende Prozess kann das von LoadPackagedLibrary zurückgegebene Handle verwenden, um das Modul in Aufrufen der GetProcAddress-Funktion zu identifizieren. Verwenden Sie die FreeLibrary-Funktion , um ein geladenes Modul frei zu geben und dessen Verweisanzahl zu verringern.

Wenn die Funktion nach dem angegebenen Modul oder seinen Abhängigkeiten suchen muss, durchsucht sie nur das Paketabhängigkeitsdiagramm des Prozesses. Dies ist das Paket der Anwendung sowie alle Abhängigkeiten, die <Dependencies> im <PackageDependency> Abschnitt des Paketmanifests der Anwendung angegeben sind. Abhängigkeiten werden in der Reihenfolge gesucht, in der sie im Manifest angezeigt werden. Das Paketabhängigkeitsdiagramm wird im <Dependencies> Abschnitt des Paketmanifests der Anwendung angegeben. Abhängigkeiten werden in der Reihenfolge gesucht, in der sie im Manifest angezeigt werden. Die Suche verläuft wie folgt:

  1. Die Funktion durchsucht zunächst bereits geladene Module. Wenn das angegebene Modul ursprünglich aus dem Paketabhängigkeitsdiagramm des Prozesses geladen wurde, gibt die Funktion ein Handle an das geladene Modul zurück. Wenn das angegebene Modul nicht aus dem Paketabhängigkeitsdiagramm des Prozesses geladen wurde, gibt die Funktion NULL zurück.
  2. Wenn das Modul noch nicht geladen ist, durchsucht die Funktion das Paketabhängigkeitsdiagramm des Prozesses.
  3. Wenn die Funktion das angegebene Modul oder eine seiner Abhängigkeiten nicht finden kann, schlägt die Funktion fehl.
Es ist nicht sicher, LoadPackagedLibrary aus DllMain aufzurufen. Weitere Informationen finden Sie im Abschnitt Hinweise in DllMain.

Hinweis

Auf Windows Phone muss LoadPackagedLibrary von PhoneAppModelHost.dllaufgerufen werden. Die Verwendung von Kernel32.dll wird nicht unterstützt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dynamic Link Library-Suchreihenfolge