Partager via


MddBootstrapInitialize2, fonction (mddbootstrap.h)

Initialise le processus d’appel pour utiliser la version du package d’infrastructure SDK d'application Windows qui correspond le mieux aux critères spécifiés, avec des options. Cette fonction est destinée à être utilisée par les applications de bureau qui sont soit empaquetées avec un emplacement externe, soit non empaquetées.

MddBootstrapInitialize2 offre des améliorations de facilité d’utilisation et de résolution des problèmes par rapport à MddBootstrapInitialize.

Consultez également Constantes.

Syntaxe

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

Paramètres

majorMinorVersion

Type : UINT32

Version principale et mineure du produit SDK d'application Windows à charger (par exemple, 1.2). Il s’agit d’une version majeure et mineure exacte sur laquelle faire correspondre ; pas un minimum.

majorMinorVersion est encodé en tant que 0xMMMMNNNN, où M = Majeur et N = Mineur (par exemple, la version 1.2 est encodée en tant que 0x00010002).

versionTag

Type : PCWSTR

Balise de version du package d’infrastructure SDK d'application Windows à charger (le cas échéant). Par exemple : "prerelease".

minVersion

Type : PACKAGE_VERSION

Version minimale du package d’exécution SDK d'application Windows (qui correspond également à majorMinorVersion) à utiliser.

Cette version (par exemple, 0.319.455) est différente de la version SDK d'application Windows version (par exemple, 1.0.2) et de la version du produit (par exemple, 1.0).

Les valeurs de version SDK d'application Windows runtime peuvent être obtenues à partir de l’en-tête WindowsAppSDK-VersionInfo.hC++, consultez Exemple pour plus d’informations.

options

Type : MddBootstrapInitializeOptions

Options pour l’initialisation du programme d’amorçage.

Valeur retournée

Type : HRESULT

Si la fonction réussit, elle retourne ERROR_SUCCESS. Sinon, la fonction retourne un code d’erreur.

Remarques

Toutes les erreurs sont enregistrées dans le canal d’application d’EventLog.

Vous pouvez appeler cette fonction plusieurs fois à condition que les paramètres soient compatibles. Le premier appel effectue le travail pour résoudre un package Framework ; Les appels suivants sont une opération non opérationnelle, à condition que les paramètres soient compatibles avec le package Framework résolu par le premier appel. Si les paramètres des appels suivants ne sont pas compatibles, l’API échoue et retourne une erreur.

Cette fonction recherche un package d’infrastructure SDK d'application Windows qui répond aux critères spécifiés et met le package à la disposition du processus actuel. Si plusieurs packages répondent aux critères, cette fonction sélectionne le meilleur candidat.

Cette fonction doit être appelée au démarrage avant d’appeler d’autres API SDK d'application Windows pour s’assurer que le composant de programme d’amorçage peut initialiser correctement le SDK d'application Windows et ajouter la référence au runtime au package d’infrastructure.

Cette fonction initialise également le Gestionnaire de durée de vie des dépendances dynamiques (DDLM). Le DDLM fournit une infrastructure pour empêcher le système d’exploitation de gérer le package d’infrastructure SDK d'application Windows pendant qu’il est utilisé par une application non empaquetée.

Consultez également Utiliser le runtime SDK d'application Windows pour les applications empaquetées avec un emplacement externe ou non empaquetées.

Notes

COM doit être initialisé pour le thread actif avant d’appeler cette fonction.

Notes

Si, dans les options, vous ne spécifiez pas MddBootstrapInitializeOptions ::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP, pour que cette API réussisse dans une application empaquetée avec un emplacement externe ou non empaquetée, il est nécessaire que les packages SDK d'application Windows soient installés sur l’appareil (voir Tutoriel : Utiliser l’API de programme d’amorçage dans une application empaquetée avec un emplacement externe ou non empaquetée qui utilise l’appareil SDK d'application Windows).

Exemple

#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);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809 (avec SDK d'application Windows 1.0 ou version ultérieure)
En-tête mddbootstrap.h
Bibliothèque Microsoft.WindowsAppRuntime.Bootstrap.lib
DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

Voir aussi