Condividi tramite


Funzione LoadPackagedLibrary (winbase.h)

Carica il modulo in pacchetto specificato e le relative dipendenze nello spazio indirizzi del processo chiamante.

Sintassi

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

Parametri

[in] lpwLibFileName

Nome file del modulo in pacchetto da caricare. Il modulo può essere un modulo di libreria (un file .dll) o un modulo eseguibile (un file .exe).

Se questo parametro specifica un nome di modulo senza un percorso e l'estensione del nome file viene omesso, la funzione aggiunge l'estensione della libreria predefinita .dll al nome del modulo. Per evitare che la funzione accoda .dll al nome del modulo, includere un carattere punto finale (.) nella stringa del nome del modulo.

Se questo parametro specifica un percorso, la funzione cerca il percorso per il modulo. Il percorso non può essere un percorso assoluto o un percorso relativo contenente ".." nel percorso. Quando si specifica un percorso, assicurarsi di usare le barre rovesciata (\), non le barre in avanti (/). Per altre informazioni sui percorsi, vedere Denominazione di file, percorsi e spazi dei nomi.

Se il modulo specificato è già caricato nel processo, la funzione restituisce un handle al modulo caricato. Il modulo deve essere stato caricato originariamente dal grafico delle dipendenze del pacchetto del processo.

Se il caricamento del modulo specificato causa il caricamento di altri moduli associati, la funzione cerca prima moduli caricati, quindi cerca il grafico delle dipendenze del pacchetto del processo. Per altre informazioni, vedere la sezione Osservazioni.

Reserved

Questo parametro è riservato. Deve essere 0.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle per il modulo caricato.

Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione LoadPackagedLibrary è una versione semplificata di LoadLibraryEx. Le app in pacchetto possono usare LoadPackagedLibrary per caricare moduli in pacchetto. Le applicazioni senza pacchetti non possono usare LoadPackagedLibrary; se un'applicazione senza pacchetti chiama questa funzione ha esito negativo con APPMODEL_ERROR_NO_PACKAGE.

LoadPackagedLibrary restituisce un handle al modulo specificato e incrementa il numero di riferimenti. Se il modulo è già caricato, la funzione restituisce un handle al modulo caricato. Il processo chiamante può usare l'handle restituito da LoadPackagedLibrary per identificare il modulo nelle chiamate alla funzione GetProcAddress . Usare la funzione FreeLibrary per liberare un modulo caricato e decrererne il conteggio dei riferimenti.

Se la funzione deve cercare il modulo specificato o le relative dipendenze, cerca solo il grafico delle dipendenze del pacchetto del processo. Questo è il pacchetto dell'applicazione e le dipendenze specificate come <PackageDependency> nella <Dependencies> sezione del manifesto del pacchetto dell'applicazione. Le dipendenze vengono eseguite nella ricerca nell'ordine in cui vengono visualizzate nel manifesto. Il grafico delle dipendenze del pacchetto viene specificato nella <Dependencies> sezione del manifesto del pacchetto dell'applicazione. Le dipendenze vengono eseguite nella ricerca nell'ordine in cui vengono visualizzate nel manifesto. La ricerca procede come segue:

  1. La funzione cerca prima i moduli già caricati. Se il modulo specificato è stato caricato originariamente dal grafico delle dipendenze del pacchetto del processo, la funzione restituisce un handle al modulo caricato. Se il modulo specificato non è stato caricato dal grafico delle dipendenze del pacchetto del processo, la funzione restituisce NULL.
  2. Se il modulo non è già caricato, la funzione cerca il grafico delle dipendenze del pacchetto del processo.
  3. Se la funzione non riesce a trovare il modulo specificato o una delle relative dipendenze, la funzione ha esito negativo.
Non è sicuro chiamare LoadPackagedLibrary da DllMain. Per altre informazioni, vedere la sezione Osservazioni in DllMain.

Nota

In Windows Phone, LoadPackagedLibrary deve essere chiamato da PhoneAppModelHost.dll. L'uso Kernel32.dll non è supportato.

Requisiti

   
Client minimo supportato Windows 8 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Ordine di ricerca libreria di collegamento dinamico