mddBootstrapInitialize2 函式 (mddbootstrap.h)
初始化呼叫進程,以使用最符合指定準則的 Windows 應用程式 SDK 架構套件版本,以及選項。 此函式供封裝為外部位置或未封裝的計算機應用程式使用。
MddBootstrapInitialize2 透過 MddBootstrapInitialize 提供可用性和疑難解答改善。
另請參閱 常數。
語法
HRESULT MddBootstrapInitialize2(
UINT32 majorMinorVersion,
PCWSTR versionTag,
PACKAGE_VERSION minVersion,
MddBootstrapInitializeOptions options
);
參數
majorMinorVersion
類型: UINT32
要載入 (Windows 應用程式 SDK 產品的主要和次要版本,例如 1.2) 。 這是要符合 的確切 主要和次要版本;不是最小值。
majorMinorVersion 編碼為 0xMMMMNNNN
,其中 M
= Major 和 N
= Minor (例如,1.2 版會編碼為 0x00010002
) 。
versionTag
類型: PCWSTR
如果有任何) ,要載入 (Windows 應用程式 SDK 架構套件的版本標記。 例如: "prerelease"
。
minVersion
類型: PACKAGE_VERSION
Windows 應用程式 SDK 運行時間套件的最低版本, (也符合要使用的majorMinorVersion) 。
例如,此版本 (0.319.455) 與 Windows 應用程式 SDK 版本 (不同,例如 1.0.2) 和產品版本 (例如 1.0) 。
您可以從 C++ 標頭WindowsAppSDK-VersionInfo.h
取得 Windows 應用程式 SDK 執行時間版本值,如需詳細資訊,請參閱範例。
options
類型: MddBootstrapInitializeOptions
啟動載入器初始化的選項。
傳回值
類型: HRESULT
如果函式成功,它會傳回 ERROR_SUCCESS。 否則,函式會傳回錯誤碼。
備註
任何錯誤都會記錄到 EventLog 的應用程式 通道。
您可以多次呼叫此函式,前提是參數相容。 第一次呼叫會執行工作來解析 Framework 套件;後續呼叫是 no-op,前提是參數與第一次呼叫解析的 Framework 套件相容。 如果後續呼叫的參數不相容,API 會失敗並傳回錯誤。
此函式會尋找符合指定準則的 Windows 應用程式 SDK 架構套件,並使套件可供目前進程使用。 如果多個套件符合準則,此函式會選取最佳候選專案。
在啟動時必須呼叫此函式,才能呼叫任何其他 Windows 應用程式 SDK API,以確保啟動載入器元件可以正確地初始化 Windows 應用程式 SDK,並將運行時間參考新增至架構套件。
此函式也會初始化 動態相依性存留期管理員 (DDLM) 。 DDLM 提供基礎結構,以防止操作系統 (作業系統) 在未封裝的應用程式使用 Windows 應用程式 SDK 架構套件時提供服務。
另請參閱針對封裝外部位置或未封裝的應用程式使用 Windows 應用程式 SDK 運行時間。
注意
您必須先為目前的線程初始化 COM,才能呼叫此函式。
注意
如果您在選項中未指定 MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP,則讓此 API 在封裝為外部位置或未封裝的應用程式中成功,則必須在裝置上安裝 Windows 應用程式 SDK 套件, (請參閱教學課程:在封裝為外部位置的應用程式中使用啟動載入器 API 或使用Windows 應用程式 SDK) 。
範例
#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);
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1809 (Windows 應用程式 SDK 1.0 或更新版本) |
標頭 | mddbootstrap.h |
程式庫 | Microsoft.WindowsAppRuntime.Bootstrap.lib |
Dll | Microsoft.WindowsAppRuntime.Bootstrap.dll |