Freigeben über


MddBootstrapInitialize2-Funktion (mddbootstrap.h)

Initialisiert den aufrufenden Prozess, um die Version des Windows App SDK-Frameworkpakets zu verwenden, das den angegebenen Kriterien am besten entspricht, mit Optionen. Diese Funktion soll von Desktop-Apps verwendet werden, die entweder an einen externen Speicherort verpackt oder entpackt werden.

MddBootstrapInitialize2 bietet Verbesserungen bei der Benutzerfreundlichkeit und Problembehandlung gegenüber MddBootstrapInitialize.

Siehe auch Konstanten.

Syntax

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

Die Parameter

majorMinorVersion

Typ: UINT32-

Die Haupt- und Nebenversion des Windows App SDK Produkt geladen werden (z. B. 1.2). Dies ist eine genau Haupt- und Nebenversion, die übereinstimmen soll; nicht mindestens.

majorMinorVersion- wird als 0xMMMMNNNNcodiert, wobei M = Major und N = Minor (z. B. Version 1.2 als 0x00010002codiert ist).

versionTag

Typ: PCWSTR-

Die Versionskennzeichnung des Windows App SDK-Frameworkpakets, das geladen werden soll (falls vorhanden). Beispiel: "prerelease".

minVersion

Typ: PACKAGE_VERSION

Die Mindestversion des Windows App SDK Laufzeitpakets (das auch mit majorMinorVersionübereinstimmt), das verwendet werden soll.

Diese Version (z. B. 0.319.455) unterscheidet sich vom Windows App SDK Version Version (z. B. 1.0.2) und Produkt- Version (z. B. 1.0).

Die Werte der Windows App SDK-Laufzeitversion können aus dem C++-Header WindowsAppSDK-VersionInfo.habgerufen werden. Weitere Informationen finden Sie unter Beispiel-.

options

Typ: MddBootstrapInitializeOptions

Optionen für die Bootstrapperinitialisierung.

Rückgabewert

Typ: HRESULT-

Wenn die Funktion erfolgreich verläuft, wird ERROR_SUCCESSzurückgegeben. Andernfalls gibt die Funktion einen Fehlercode zurück.

Bemerkungen

Alle Fehler werden im Application-Kanal des EventLog protokolliert.

Sie können diese Funktion mehrmals aufrufen, vorausgesetzt, die Parameter sind kompatibel. Der erste Aufruf führt die Arbeit aus, um ein Framework--Paket aufzulösen; Nachfolgende Aufrufe sind eine no-op vorausgesetzt, dass die Parameter mit dem Framework Paket kompatibel sind, das durch den ersten Aufruf aufgelöst wurde. Wenn die Parameter der nachfolgenden Aufrufe nicht kompatibel sind, schlägt die API fehl und gibt einen Fehler zurück.

Diese Funktion findet ein Windows App SDK-Frameworkpaket, das den angegebenen Kriterien entspricht, und stellt das Paket zur Verwendung durch den aktuellen Prozess zur Verfügung. Wenn mehrere Pakete den Kriterien entsprechen, wählt diese Funktion den besten Kandidaten aus.

Diese Funktion muss beim Start aufgerufen werden, bevor andere Windows App SDK-APIs aufgerufen werden, um sicherzustellen, dass die Bootstrapperkomponente das Windows App SDK ordnungsgemäß initialisieren und den Laufzeitverweis zum Frameworkpaket hinzufügen kann.

Diese Funktion initialisiert auch den Dynamic Dependency Lifetime Manager (DDLM). Das DDLM bietet Infrastruktur, um zu verhindern, dass das Betriebssystem das Windows App SDK-Frameworkpaket gewartet, während es von einer entpackten App verwendet wird.

Siehe auch Verwenden der Windows App SDK-Runtime für Apps, die mit externem Speicherort verpackt sind, oder entpackte.

Hinweis

COM muss für den aktuellen Thread initialisiert werden, bevor Sie diese Funktion aufrufen.

Hinweis

Wenn Sie in Optionen sie nicht MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOPangeben, kann diese API in einer App erfolgreich ausgeführt werden, die entweder mit externem Speicherort verpackt oder entpackt ist, Es ist erforderlich, dass die Windows App SDK-Pakete auf dem Gerät installiert werden müssen (siehe Lernprogramm: Verwenden der Bootstrapper-API in einer App, die mit externem Speicherort verpackt ist oder entpackt wird, das das Windows App SDKverwendet).

Beispiel

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

Anforderungen

Anforderung Wert
Unterstützter Client (Mindestversion) Windows 10, Version 1809 (mit Windows App SDK 1.0 oder höher)
Kopfzeile mddbootstrap.h
Bibliothek Microsoft.WindowsAppRuntime.Bootstrap.lib
DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

Siehe auch