Acceso a variables de firmware UEFI desde una aplicación universal de Windows
[Parte de la información hace referencia a la versión preliminar del producto, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información que se ofrece aquí].
Cómo acceder a las variables de firmware de Unified Extensible Firmware Interface (UEFI) desde una aplicación universal de Windows.
A partir de Windows 10, versión 1803, las aplicaciones universales de Windows pueden usar GetFirmwareEnvironmentVariable y SetFirmwareEnvironmentVariable (y sus variantes "ex") para acceder a las variables de firmware ueFI haciendo lo siguiente:
Declare el Microsoft.firmwareRead_cw5n1h2txyewy funcionalidad personalizada en el manifiesto para leer una variable de firmware o la funcionalidad Microsoft.firmwareWrite_cw5n1h2txyewy para escribir una variable de firmware.
Declare también la funcionalidad restringida protectedApp en el manifiesto de la aplicación.
Por ejemplo, las siguientes adiciones de manifiesto de aplicación permiten a la aplicación universal de Windows leer variables de firmware:
<Package ... xmlns:uap4=http://schemas.microsoft.com/appx/manifest/uap/windows10/4 xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap mp uap4 rescap"> ... <Capabilities> <rescap:Capability Name="protectedApp"/> <uap4:CustomCapability Name="microsoft.firmwareRead_cw5n1h2txyewy" /> </Capabilities> </Package>
Establezca la opción del enlazador /INTEGRITYCHECK, para todas las configuraciones del proyecto, antes de enviar la aplicación a Microsoft Store. Esto garantiza que la aplicación se iniciará como una aplicación protegida. Consulte /INTEGRITYCHECK (Requerir comprobación de firma) para obtener más información.
Obtenga un archivo Signed Custom Capability Descriptor (SCCD) de Microsoft. Consulte Creación de una funcionalidad personalizada para emparejar un controlador con una aplicación de soporte técnico de hardware (HSA) y Uso de una funcionalidad personalizada para emparejar una aplicación de soporte técnico de hardware (HSA) con un controlador para obtener información sobre cómo obtener un archivo SCCD firmado de Microsoft, cómo empaquetarlo con la aplicación y cómo habilitar el modo de desarrollador. Este es un archivo SSCD de ejemplo del ejemplo CustomCapability:
<?xml version="1.0" encoding="utf-8"?> <CustomCapabilityDescriptor xmlns="http://schemas.microsoft.com/appx/2016/sccd" xmlns:s="http://schemas.microsoft.com/appx/2016/sccd"> <CustomCapabilities> <CustomCapability Name="microsoft.hsaTestCustomCapability_q536wpkpf5cy2"></CustomCapability> <CustomCapability Name="microsoft.firmwareRead_cw5n1h2txyewy"></CustomCapability> </CustomCapabilities> <AuthorizedEntities> <AuthorizedEntity AppPackageFamilyName="Microsoft.SDKSamples.CustomCapability.CPP_8wekyb3d8bbwe" CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"></AuthorizedEntity> <AuthorizedEntity AppPackageFamilyName="Microsoft.SDKSamples.CustomCapability.CPP_8wekyb3d8bbwe" CertificateSignatureHash="279cd652c4e252bfbe5217ac722205d7729ba409148cfa9e6d9e5b1cb94eaff1"></AuthorizedEntity> </AuthorizedEntities> <Catalog>xxxx</Catalog> </CustomCapabilityDescriptor>
Envíe la aplicación a Microsoft Store para que se firme. Para fines de desarrollo, puede omitir la firma habilitando el inicio de sesión de prueba en la base de datos de configuración de arranque (bcd). Consulte la opción de configuración de arranque TESTSIGNING para obtener más información.
Temas relacionados