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)과 다릅니다.
Windows 앱 SDK 런타임 버전 값은 C++ 헤더WindowsAppSDK-VersionInfo.h
에서 가져올 수 있습니다. 자세한 내용은 예제를 참조하세요.
options
형식: MddBootstrapInitializeOptions
부트스트래퍼 초기화 옵션입니다.
반환 값
형식: HRESULT
함수가 성공하면 ERROR_SUCCESS 반환합니다. 그렇지 않으면 함수는 오류 코드를 반환합니다.
설명
모든 오류는 EventLog의 애플리케이션 채널에 기록됩니다.
매개 변수가 호환되는 경우 이 함수를 여러 번 호출할 수 있습니다. 첫 번째 호출은 프레임워크 패키지를 resolve 작업을 수행합니다. 후속 호출은 매개 변수가 첫 번째 호출로 확인된 Framework 패키지와 호환되는 경우 no-op입니다. 후속 호출의 매개 변수가 호환되지 않으면 API가 실패하고 오류가 반환됩니다.
이 함수는 지정된 조건을 충족하는 Windows 앱 SDK 프레임워크 패키지를 찾고 현재 프로세스에서 패키지를 사용할 수 있도록 합니다. 여러 패키지가 조건을 충족하는 경우 이 함수는 가장 적합한 후보를 선택합니다.
부트스트래퍼 구성 요소가 Windows 앱 SDK 올바르게 초기화하고 프레임워크 패키지에 런타임 참조를 추가할 수 있도록 다른 Windows 앱 SDK API를 호출하기 전에 시작 시 이 함수를 호출해야 합니다.
이 함수는 또한 DDLM(동적 종속성 수명 관리자)을 초기화합니다. DDLM은 패키지되지 않은 앱에서 사용되는 동안 OS(운영 체제)가 Windows 앱 SDK 프레임워크 패키지를 서비스하지 못하도록 하는 인프라를 제공합니다.
또한 외부 위치로 패키지되거나 패키지되지 않은 앱에 Windows 앱 SDK 런타임 사용을 참조하세요.
참고
이 함수를 호출하기 전에 현재 스레드에 대해 COM을 초기화해야 합니다.
참고
옵션에서 MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP 지정하지 않는 경우 이 API가 외부 위치로 패키지되거나 패키지되지 않은 앱에서 성공하려면 디바이스에 Windows 앱 SDK 패키지를 설치해야 합니다(자습서: 외부 위치로 패키지된 앱에서 부트스트래퍼 API 사용 또는 를 사용하는 패키지되지 않은 앱에서 부트스트래퍼 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 |