Доступ к переменным встроенного ПО UEFI из универсального приложения для Windows
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Как получить доступ к переменным встроенного ПО UEFI из универсального приложения для Windows.
Начиная с Windows 10 версии 1803 универсальные приложения для Windows могут использовать GetFirmwareEnvironmentVariable и SetFirmwareEnvironmentVariable (и их варианты "ex") для доступа к переменным встроенного ПО UEFI, выполнив следующие действия:
Объявите пользовательскую возможность Microsoft.firmwareRead_cw5n1h2txyewy в манифесте для чтения переменной встроенного ПО и (или) Microsoft.firmwareWrite_cw5n1h2txyewy возможность записи переменной встроенного ПО.
Кроме того, объявите возможность с ограниченным доступом protectedApp в манифесте приложения.
Например, следующие дополнения манифеста приложения позволяют универсальному приложению для Windows считывать переменные встроенного ПО:
<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>
Перед отправкой приложения в Microsoft Store задайте параметр компоновщика /INTEGRITYCHECK для всех конфигураций проекта. Это гарантирует, что приложение будет запущено как защищенное приложение. Дополнительные сведения см. в разделе /INTEGRITYCHECK (требовать проверку подписи).
Получите подписанный файл пользовательского дескриптора возможностей (SCCD) от корпорации Майкрософт. Сведения о том, как получить подписанный SCCD-файл от корпорации Майкрософт, упаковать его в приложение и как включить режим разработчика, см. в разделах Создание пользовательской возможности для связывания драйвера с помощью приложения поддержки оборудования (HSA) и использование пользовательской возможности для связывания приложения с драйвером . Ниже приведен пример SSCD-файла из примера 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>
Отправьте приложение в Microsoft Store, чтобы подписать его. В целях разработки можно пропустить подписывание, включив тестовое подписывание в базе данных конфигурации загрузки (bcd). Дополнительные сведения см. в разделе Параметр конфигурации загрузки TESTSIGNING .
Связанные темы