Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Le informazioni contenute in questo argomento si applicano a tutte le versioni di Windows 10 e versioni successive. Queste versioni verranno indicate qui come "Windows", richiamando eventuali eccezioni, se necessario.
Una libreria generica è una singola libreria che si collega e che copre un subset selezionato di API Win32. Ad esempio, una libreria generica denominata OneCore.lib copre il subset di API Win32 comuni a tutti i dispositivi Windows.
Le API in una libreria generica possono essere implementate in un intervallo di moduli (in cui un modulo è un set di API o una DLL). Ma la libreria umbrella astrae questo dettaglio lontano da te, rendendo l'app più portabile tra le versioni del sistema operativo. Nell'app desktop o nel driver, collega la libreria principale che comprende l'insieme di API di tuo interesse, e non devi fare altro.
Che cosa copre una biblioteca ombrello
Una libreria ombrello copre un sottoinsieme selezionato di API. Non è un indice completo di ogni API in ogni modulo da cui deriva e una determinata API non è necessariamente presente in ogni libreria generica.
Il set di API a cui si riferisce una libreria è specifico anche per la versione di Windows SDK in base alla quale si esegue la compilazione. Un SDK successivo può aggiungere copertura che non è disponibile in una versione precedente.
Per entrambi questi motivi, considera la pagina di riferimento di una specifica API come la fonte autorevole per stabilire quale libreria collegare. La tabella Requisiti in tale pagina assegna un nome alla libreria per tale API.
Librerie disponibili
| Biblioteca | Descrizione |
|---|---|
| OneCore.lib | Copre il subset di API Win32 comuni a tutti i dispositivi Windows. Collegamento OneCore.lib (e nessun'altra libreria generica Win32) per raggiungere tali API. Se si collega OneCore.lib e si usano solo le API Win32 che esso include, l'app desktop o il driver si carica correttamente su tutti i dispositivi Windows. |
| OneCore_apiset.lib | Variante del set di API di OneCore.lib. Quando un nome del set di API è disponibile per un'API, viene risolto tramite un'importazione diretta del set di API, quindi non viene coinvolto alcun modulo di inoltro intermedio in fase di caricamento. Non è garantito che un file binario che vi si collega venga eseguito così com'è nelle versioni di Windows rilasciate prima degli insiemi di API che importa. |
| OneCoreUAP.lib | Copre il subset di API Win32 comuni a tutti i dispositivi Windows che supportano la Windows Runtime (WinRT). Collegamento OneCoreUAP.lib (e nessun'altra libreria generica Win32) per raggiungere tali API. Se si collega OneCoreUAP.lib e si chiamano solo le API Win32 che esso copre, l'app desktop o il driver si caricherà correttamente su tutti i dispositivi Windows che supportano WinRT. |
| OneCoreUAP_apiset.lib | Variante del set di API di OneCoreUAP.lib. Quando un nome del set di API è disponibile per un'API, viene risolto tramite un'importazione diretta del set di API, quindi non viene coinvolto alcun modulo di inoltro intermedio in fase di caricamento. Non è garantito che un file binario che vi si collega venga eseguito così com’è nelle versioni di Windows rilasciate prima degli API set che importa. |
Non combinare due di queste librerie in un unico file binario. Ognuno di essi esiste per limitare il file binario a una determinata superficie API e collegare una seconda libreria può associare l'utente alle API all'esterno di tale superficie.
Scelta tra una libreria e la variante del set di API
Per un'API coperta da entrambe le varianti, le due raggiungono la stessa implementazione in fase di esecuzione. Ciò che differisce è il nome che finisce nella tabella di importazione del file binario e quindi l'intervallo di versioni Windows su cui il file binario può essere eseguito.
- Collegare la libreria normale (
OneCore.lib,OneCoreUAP.lib) quando è necessario un singolo file binario che viene eseguito anche nelle versioni di Windows rilasciate prima dell'esistenza dei set di API pertinenti. Importa i nomi dei moduli legacy Windows e l'inoltro inverso reindirizza le importazioni nelle edizioni che non contengono più i moduli originali. - Collegare la variante del set di API (
OneCore_apiset.lib,OneCoreUAP_apiset.lib) quando il file binario è destinato alle versioni correnti di Windows. Il sistema preferisce un nome del set API quando ne è disponibile uno per l'API, in modo che l'importazione venga risolta direttamente al binario che ospita l'implementazione, senza alcun forwarder intermedio. Questa è la forma più efficiente. Se non si applica alcun nome del set di API, usa il nome del modulo, come la libreria normale.
Nessuna delle due opzioni cambia le API che è possibile chiamare. Cambia il modo in cui vengono denominate le importazioni e il tempo di esecuzione del file binario.