Acessar variáveis de firmware uefi de um aplicativo Universal do Windows
[Algumas informações relacionam-se ao produto de pré-lançamento, o qual poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não fornece nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.]
Como acessar variáveis de firmware UEFI (Unified Extensible Firmware Interface) de um aplicativo Universal do Windows.
A partir do Windows 10, versão 1803, os aplicativos Universais do Windows podem usar GetFirmwareEnvironmentVariable e SetFirmwareEnvironmentVariable (e suas variantes 'ex') para acessar variáveis de firmware UEFI fazendo o seguinte:
Declare o Microsoft.firmwareRead_cw5n1h2txyewy funcionalidade personalizada no manifesto para ler uma variável de firmware e/ou a funcionalidade Microsoft.firmwareWrite_cw5n1h2txyewy para gravar uma variável de firmware.
Declare também a funcionalidade restrita protectedApp no manifesto do aplicativo.
Por exemplo, as seguintes adições de manifesto do aplicativo permitem que o aplicativo Universal do Windows leia variáveis 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>
Defina a opção do vinculador /INTEGRITYCHECK, para todas as configurações de projeto, antes de enviar o aplicativo para a Microsoft Store. Isso garante que o aplicativo seja iniciado como um aplicativo protegido. Consulte /INTEGRITYCHECK (Exigir verificação de assinatura) para obter detalhes.
Obtenha um arquivo SCCD ( Descritor de Funcionalidade Personalizada) assinado da Microsoft. Consulte Criando um recurso personalizado para emparelhar um driver com um HSA (Aplicativo de Suporte de Hardware) e Usando uma funcionalidade personalizada para emparelhar um HSA (Aplicativo de Suporte de Hardware) com um driver para obter informações sobre como obter um arquivo SCCD assinado da Microsoft, como empacotá-lo com seu aplicativo e como habilitar o modo de desenvolvedor. Aqui está um exemplo de arquivo SSCD do exemplo 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>
Envie o aplicativo para a Microsoft Store para que ele seja assinado. Para fins de desenvolvimento, você pode ignorar a assinatura habilitando a assinatura de teste no banco de dados de configuração de inicialização (bcd). Consulte a opção TESTSIGNING Boot Configuration para obter detalhes.
Tópicos relacionados