mddBootstrapInitialize2 函数 (mddbootstrap.h)

初始化调用进程,以使用与指定条件最匹配的 Windows 应用 SDK 框架包版本(带有选项)。 此函数旨在由使用外部位置打包或未打包的桌面应用使用。

MddBootstrapInitialize2MddBootstrapInitialize 提供可用性和故障排除改进。

另请参阅 常量

语法

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

参数

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 的应用程序 通道。

如果参数兼容,则可以多次调用此函数。 第一个调用执行解析 框架 包的工作;如果参数与第一次调用解析的 框架 包兼容,则后续调用是无操作的。 如果后续调用的参数不兼容,则 API 会失败并返回错误。

此函数查找符合指定条件的Windows 应用 SDK框架包,并使该包可供当前进程使用。 如果多个包满足条件,此函数会选择最佳候选项。

在调用任何其他Windows 应用 SDK API 之前,必须在启动时调用此函数,以确保引导程序组件可以正确初始化Windows 应用 SDK并将运行时引用添加到框架包。

此函数还初始化动态依赖生命周期管理器 (DDLM)。 DDLM 提供基础结构,以防止操作系统 (OS) 在未打包的应用使用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 应用 SDK 1.0 预览版 2 或更高版本的Windows 10 版本 1809 ()
标头 mddbootstrap.h
Library Microsoft.WindowsAppRuntime.Bootstrap.lib
DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

另请参阅