從通用 Windows 應用程式存取 UEFI 韌體變數
[某些資訊與發行前發行的產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。]
如何從通用 Windows 應用程式存取統一可擴展韌體介面 (UEFI) 韌體變數。
從 1803 版Windows 10開始,通用 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>
針對所有專案組態設定設定連結器選項 /INTEGRITYCHECK,再將應用程式提交至 Microsoft Store。 這可確保應用程式會以受保護的應用程式的形式啟動。 如需詳細資訊 ,請參閱 /INTEGRITYCHECK (需要簽章檢查) 。
從 Microsoft 取得 已簽署的自訂功能描述元 (SCCD) 檔案。 如需如何從 Microsoft 取得已簽署 SCCD 檔案的相關資訊,請參閱 建立自訂功能以將驅動程式與硬體支援應用程式配對 (HSA) 和 使用自訂功能,以搭配驅動程式配對硬體支援應用程式 (HSA) ,以瞭解如何從 Microsoft 取得已簽署的 SCCD 檔案、如何使用您的應用程式封裝它,以及如何啟用開發人員模式。 以下是 CustomCapability 範例中的範例 SSCD 檔案:
<?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 開機組態選項 。
相關主題