Mengakses variabel firmware UEFI dari Aplikasi Universal Windows
[Beberapa informasi berkaitan dengan produk pra-rilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersurat atau tersirat, sehubungan dengan informasi yang diberikan di sini.]
Cara mengakses variabel firmware Unified Extensible Firmware Interface (UEFI) dari aplikasi Universal Windows.
Dimulai dengan Windows 10, versi 1803, aplikasi Universal Windows dapat menggunakan GetFirmwareEnvironmentVariable dan SetFirmwareEnvironmentVariable (dan varian 'ex' mereka) untuk mengakses variabel firmware UEFI dengan melakukan hal berikut:
Deklarasikan kemampuan kustom Microsoft.firmwareRead_cw5n1h2txyewy dalam manifes untuk membaca variabel firmware, dan/atau kemampuan Microsoft.firmwareWrite_cw5n1h2txyewy untuk menulis variabel firmware.
Deklarasikan juga kemampuan terbatas ProtectedApp dalam manifes aplikasi.
Misalnya, penambahan manifes aplikasi berikut memungkinkan aplikasi Universal Windows membaca variabel 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>
Atur opsi linker /INTEGRITYCHECK, untuk semua konfigurasi proyek, sebelum mengirimkan aplikasi ke Microsoft Store. Ini memastikan bahwa aplikasi akan diluncurkan sebagai aplikasi yang dilindungi. Lihat /INTEGRITYCHECK (Perlu Pemeriksaan Tanda Tangan) untuk detailnya.
Dapatkan file Deskriptor Kemampuan Kustom (SCCD) yang Ditandatangani dari Microsoft. Lihat Membuat kemampuan kustom untuk memasangkan driver dengan Aplikasi Dukungan Perangkat Keras (HSA) dan Menggunakan kemampuan kustom untuk memasangkan Aplikasi Dukungan Perangkat Keras (HSA) dengan driver untuk informasi tentang cara mendapatkan file SCCD yang ditandatangani dari Microsoft, cara mengemasnya dengan aplikasi Anda, dan cara mengaktifkan mode pengembang. Berikut adalah contoh file SSCD dari sampel 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>
Kirim aplikasi ke Microsoft Store untuk menandatanganinya. Untuk tujuan pengembangan, Anda dapat melewati penandatanganan dengan mengaktifkan penandatanganan pengujian di database konfigurasi boot (bcd). Lihat Opsi Konfigurasi Boot TESTSIGNING untuk detailnya.
Topik terkait