Zugreifen auf UEFI-Firmwarevariablen über eine universelle Windows-App

[Einige Informationen beziehen sich auf die Vorabversion, die vor der kommerziellen Freigabe möglicherweise wesentlichen Änderungen unterliegt. Microsoft übernimmt für die hier bereitgestellten Informationen keine Gewährleistung, weder ausdrücklicher noch impliziter Art.]

Zugreifen auf UEFI-Firmwarevariablen (Unified Extensible Firmware Interface) über eine universelle Windows-App

Ab Windows 10 Version 1803 können universelle Windows-Apps GetFirmwareEnvironmentVariable und SetFirmwareEnvironmentVariable (und deren "ex"-Varianten) verwenden, um auf UEFI-Firmwarevariable zuzugreifen:

  • Deklarieren Sie die Microsoft.firmwareRead_cw5n1h2txyewy benutzerdefinierte Funktion im Manifest zum Lesen einer Firmwarevariablen und/oder die Microsoft.firmwareWrite_cw5n1h2txyewy Funktion zum Schreiben einer Firmwarevariablen.

  • Deklarieren Sie auch die eingeschränkte Funktion protectedApp im App-Manifest.

  • Beispielsweise ermöglichen die folgenden App-Manifestzufügungen der universellen Windows-App das Lesen von Firmwarevariablen:

    <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>
    
  • Legen Sie die Linkeroption /INTEGRITYCHECK für alle Projektkonfigurationen fest, bevor Sie die App an den Microsoft Store übermitteln. Dadurch wird sichergestellt, dass die App als geschützte App gestartet wird. Weitere Informationen finden Sie unter /INTEGRITYCHECK (Signaturprüfung erforderlich).

  • Rufen Sie eine signierte SCCD-Datei (Custom Capability Descriptor ) von Microsoft ab. Unter Erstellen einer benutzerdefinierten Funktion zum Koppeln eines Treibers mit einer Hardwareunterstützungs-App (HSA) und Verwenden einer benutzerdefinierten Funktion zum Koppeln einer Hardwareunterstützungs-App (HSA) mit einem Treiber finden Sie Informationen zum Abrufen einer signierten SCCD-Datei von Microsoft, zum Verpacken mit Ihrer App und zum Aktivieren des Entwicklermodus. Hier sehen Sie eine SSCD-Beispieldatei aus dem CustomCapability-Beispiel:

    <?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>
    
  • Übermitteln Sie die App an den Microsoft Store, um sie signiert zu erhalten. Zu Entwicklungszwecken können Sie die Signatur überspringen, indem Sie die Testsignatur in der Startkonfigurationsdatenbank (bcd) aktivieren. Weitere Informationen finden Sie unter TestSIGNING Boot Configuration Option .

Eingeschränkte Funktionen

GetFirmwareEnvironmentVariable

GetFirmwareEnvironmentVariableEx

SetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariableEx

Zugreifen auf SMBIOS-Informationen über eine universelle Windows-App