Поделиться через


Функция MddBootstrapInitialize2 (mddbootstrap.h)

Инициализирует вызывающий процесс для использования версии пакета платформы Windows App SDK, которая лучше всего соответствует указанным критериям, с параметрами. Эта функция предназначена для использования классическими приложениями, которые либо упаковываются с внешним расположением, либо не упаковываются.

MddBootstrapInitialize2 предлагает улучшения удобства использования и устранения неполадок по сравнению с MddBootstrapInitialize.

См. также статью Константы.

Синтаксис

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

Параметры

majorMinorVersion

Тип: UINT32

Основная и дополнительная версии Windows App SDK продукта для загрузки (например, 1.2). Это точная основная и дополнительная версии для сопоставления; не минимум.

majorMinorVersion закодирован как 0xMMMMNNNN, где M = Основной и N = Дополнительный (например, версия 1.2 закодирована как 0x00010002).

versionTag

Тип: PCWSTR

Тег версии пакета платформы Windows App SDK для загрузки (при наличии). Например, "prerelease".

minVersion

Тип: PACKAGE_VERSION

Минимальная версия пакета среды выполнения Windows App SDK (которая также соответствует majorMinorVersion) для использования.

Эта версия (например, 0.319.455) отличается от версии выпуска Windows App SDK (например, 1.0.2) и версии продукта (например, 1.0).

Значения Windows App SDK версий среды выполнения можно получить из заголовка WindowsAppSDK-VersionInfo.hC++ . Дополнительные сведения см. в разделе Пример.

options

Тип: MddBootstrapInitializeOptions

Параметры инициализации начального загрузчика.

Возвращаемое значение

Тип: HRESULT

Если функция завершается успешно, она возвращает ERROR_SUCCESS. В противном случае функция возвращает код ошибки.

Комментарии

Все ошибки регистрируются в канале приложений EventLog.

Эту функцию можно вызывать несколько раз при условии совместимости параметров. Первый вызов выполняет работу по разрешению пакета Платформы ; последующие вызовы не выполняются при условии, что параметры совместимы с пакетом Платформы , разрешенным при первом вызове. Если параметры последующих вызовов несовместимы, API завершается сбоем и возвращает ошибку.

Эта функция находит пакет платформы Windows App SDK, соответствующий указанным критериям, и делает пакет доступным для использования текущим процессом. Если критерию соответствует несколько пакетов, эта функция выбирает наиболее подходящий вариант.

Эта функция должна вызываться при запуске перед вызовом любых других API-интерфейсов Windows App SDK, чтобы компонент начального загрузчика правильно инициализировал Windows App SDK и добавил ссылку среды выполнения в пакет платформы.

Эта функция также инициализирует диспетчер времени существования динамических зависимостей (DDLM). DDLM предоставляет инфраструктуру для предотвращения обслуживания операционной системой (ОС) пакета платформы Windows App SDK, пока он используется неупакованным приложением.

Также см. раздел Использование среды выполнения Windows App SDK для приложений, упакованных с внешним расположением или неупакованных.

Примечание

Com необходимо инициализировать для текущего потока перед вызовом этой функции.

Примечание

Если в параметрах не указать MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP, то для успешного выполнения этого API в приложении, которое упаковано с внешним расположением или распаковано, необходимо установить пакеты Windows App SDK на устройстве (см. руководство. Использование API начального загрузчика в приложении, упаковавшемся с внешним расположением или распакованом, в котором используется Windows App 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 App SDK 1.0 или более поздней версии)
Верхняя часть mddbootstrap.h
Библиотека Microsoft.WindowsAppRuntime.Bootstrap.lib
DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

См. также раздел