Función MddBootstrapInitialize2 (mddbootstrap.h)

Inicializa el proceso de llamada para usar la versión del paquete de marco de SDK de Aplicaciones para Windows que mejor coincida con los criterios especificados, con opciones. Esta función está pensada para que la usen las aplicaciones de escritorio que se empaquetan con ubicación externa o se desempaquetan.

MddBootstrapInitialize2 ofrece mejoras de facilidad de uso y solución de problemas sobre MddBootstrapInitialize.

Consulte también Constantes.

Sintaxis

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

Parámetros

majorMinorVersion

Tipo: UINT32

La versión principal y secundaria del producto SDK de Aplicaciones para Windows que se va a cargar (por ejemplo, 1.2). Se trata de una versión principal y secundaria exacta en la que debe coincidir; no es un mínimo.

majorMinorVersion se codifica como 0xMMMMNNNN, donde M = Principal y N = Secundaria (por ejemplo, la versión 1.2 se codifica como 0x00010002).

versionTag

Tipo: PCWSTR

Etiqueta de versión del paquete de marco de SDK de Aplicaciones para Windows que se va a cargar (si existe). Por ejemplo, "prerelease".

minVersion

Tipo: PACKAGE_VERSION

La versión mínima del paquete en tiempo de ejecución de SDK de Aplicaciones para Windows (que también coincide con majorMinorVersion) que se va a usar.

Esta versión (por ejemplo, 0.319.455) es diferente de la versión de SDK de Aplicaciones para Windows (por ejemplo, 1.0.2) y la versión del producto (por ejemplo, 1.0).

Los valores de la versión del entorno de ejecución de SDK de Aplicaciones para Windows se pueden obtener del encabezado WindowsAppSDK-VersionInfo.hde C++, consulte Ejemplo para obtener más detalles.

options

Tipo: MddBootstrapInitializeOptions

Opciones para la inicialización del programa previo.

Valor devuelto

Tipo: HRESULT

Si la función se realiza correctamente, devuelve ERROR_SUCCESS. De lo contrario, la función devuelve un código de error.

Comentarios

Los errores se registran en el canal de la aplicación de EventLog.

Puede llamar a esta función varias veces siempre que los parámetros sean compatibles. La primera llamada realiza el trabajo para resolver un paquete framework ; Las llamadas posteriores son una operación sin operación siempre que los parámetros sean compatibles con el paquete framework resuelto por la primera llamada. Si los parámetros de las llamadas posteriores no son compatibles, se produce un error en la API y se devuelve un error.

Esta función busca un paquete de marco de SDK de Aplicaciones para Windows que cumple los criterios especificados y hace que el paquete esté disponible para su uso por parte del proceso actual. Si varios paquetes cumplen los criterios, esta función selecciona el mejor candidato.

Se debe llamar a esta función al inicio antes de llamar a cualquier otra API de SDK de Aplicaciones para Windows para asegurarse de que el componente del programa previo puede inicializar correctamente el SDK de Aplicaciones para Windows y agregar la referencia en tiempo de ejecución al paquete de marco.

Esta función también inicializa el Administrador de duración de dependencia dinámica (DDLM). DDLM proporciona infraestructura para evitar que el sistema operativo (SO) de mantenimiento del paquete de marco de SDK de Aplicaciones para Windows mientras se usa en una aplicación desempaquetada.

Consulte también Uso del entorno de ejecución de SDK de Aplicaciones para Windows para aplicaciones empaquetadas con una ubicación externa o sin empaquetar.

Nota

COM debe inicializarse para el subproceso actual antes de llamar a esta función.

Nota

Si en opciones no especifica MddBootstrapInitializeOptions::MddBootstrapInitializeOptions_OnPackageIdentity_NOOP, para que esta API se realice correctamente en una aplicación empaquetada con ubicación externa o sin empaquetar, es necesario que los paquetes de SDK de Aplicaciones para Windows se instalen en el dispositivo (consulte Tutorial: Uso de la API de arranque en una aplicación empaquetada con ubicación externa o desempaquetada que usa el SDK de Aplicaciones para Windows).

Ejemplo

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1809 (con SDK de Aplicaciones para Windows 1.0 o posterior)
Encabezado mddbootstrap.h
Library Microsoft.WindowsAppRuntime.Bootstrap.lib
Archivo DLL Microsoft.WindowsAppRuntime.Bootstrap.dll

Consulte también