Condividi tramite


Funzione MddBootstrapInitialize2 (mddbootstrap.h)

Inizializza il processo di chiamata per usare la versione del pacchetto framework di SDK per app di Windows che corrisponde meglio ai criteri specificati, con le opzioni. Questa funzione è destinata a essere usata dalle app desktop che sono in pacchetto con posizione esterna o senza pacchetti.

MddBootstrapInitialize2 offre miglioramenti di usabilità e risoluzione dei problemi relativi a MddBootstrapInitialize.

Vedere anche Costanti.

Sintassi

HRESULT MddBootstrapInitialize2(
  UINT32                        majorMinorVersion,
  PCWSTR                        versionTag,
  PACKAGE_VERSION               minVersion,
  MddBootstrapInitializeOptions options
);

Parametri

majorMinorVersion

Tipo: UINT32

Versione principale e secondaria del prodotto SDK per app di Windows da caricare (ad esempio, 1.2). Si tratta di una versione principale e secondaria esatta da trovare in corrispondenza; non un minimo.

majorMinorVersion è codificato come 0xMMMMNNNN, dove M = Major e N = Minor (ad esempio, la versione 1.2 è codificata come 0x00010002).

versionTag

Tipo: PCWSTR

Tag di versione del pacchetto framework di SDK per app di Windows da caricare (se presente). Ad esempio: "prerelease".

minVersion

Tipo: PACKAGE_VERSION

Versione minima del pacchetto di runtime SDK per app di Windows (che corrisponde anche a majorMinorVersion) da usare.

Questa versione (ad esempio 0.319.455) è diversa dalla versione SDK per app di Windows versione (ad esempio, 1.0.2) e dalla versione del prodotto (ad esempio 1.0).

I valori della versione di runtime SDK per app di Windows possono essere ottenuti dall'intestazione WindowsAppSDK-VersionInfo.hC++ , vedere Esempio per altri dettagli.

options

Tipo: MddBootstrapInitializeOptions

Opzioni per l'inizializzazione del programma di avvio.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce ERROR_SUCCESS. In caso contrario, la funzione restituisce un codice di errore.

Commenti

Eventuali errori vengono registrati nel canale applicazione di EventLog.

È possibile chiamare questa funzione più volte a condizione che i parametri siano compatibili. La prima chiamata esegue il lavoro per risolvere un pacchetto Framework ; le chiamate successive sono no op, a condizione che i parametri siano compatibili con il pacchetto Framework risolto dalla prima chiamata. Se i parametri delle chiamate successive non sono compatibili, l'API ha esito negativo e restituisce un errore.

Questa funzione trova un pacchetto framework SDK per app di Windows che soddisfa i criteri specificati e rende il pacchetto disponibile per l'uso da parte del processo corrente. Se più pacchetti soddisfano i criteri, questa funzione seleziona il candidato migliore.

Questa funzione deve essere chiamata all'avvio prima di chiamare qualsiasi altra API SDK per app di Windows per garantire che il componente bootstrapper possa inizializzare correttamente il SDK per app di Windows e aggiungere il riferimento di runtime al pacchetto framework.

Questa funzione inizializza anche Dynamic Dependency Lifetime Manager (DDLM). DDLM fornisce l'infrastruttura per impedire al sistema operativo di manutenzione del pacchetto framework di SDK per app di Windows durante l'uso da parte di un'app non pacchettiata.

Vedere Anche usare il runtime di SDK per app di Windows per le app in pacchetto con percorso esterno o senza pacchetti.

Nota

COM deve essere inizializzato per il thread corrente prima di chiamare questa funzione.

Nota

Se nelle opzioni non si specifica MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP, per l'esito positivo di questa API in un'app in pacchetto con percorso esterno o senza pacchetti, è necessario installare i pacchetti di SDK per app di Windows nel dispositivo (vedere Esercitazione: Usare l'API di avvio in un'app in pacchetto con posizione esterna o non pacchettizzata che usa l'opzione SDK per app di Windows).

Esempio

#include <WindowsAppSDK-VersionInfo.h>
#include <MddBootstrap.h>
// ...

if (FAILED(MddBootstrapInitialize(Microsoft::WindowsAppSDK::Release::MajorMinor, Microsoft::WindowsAppSDK::Release::VersionTag, Microsoft::WindowsAppSDK::Runtime::UInt64))) {
    throw std::exception("Error in Bootstrap initialization");
}
#include <WindowsAppSDK-VersionInfo.h>
#include <MddBootstrap.h>
// ...

HRESULT hr = MddBootstrapInitialize(WINDOWSAPPSDK_RELEASE_MAJORMINOR, WINDOWSAPPSDK_RELEASE_VERSION_TAG_W, WINDOWSAPPSDK_RUNTIME_VERSION_UINT64);
if (FAILED(hr))
{
    wprintf(L"Error 0x%X in Bootstrap initialization\n", hr);
}

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809 (con SDK per app di Windows 1.0 o versione successiva)
Intestazione mddbootstrap.h
Libreria Microsoft.WindowsAppRuntime.Bootstrap.lib
DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

Vedi anche