Sdílet prostřednictvím


Přístup k proměnným firmwaru UEFI z univerzální aplikace pro Windows

[Některé informace se týkají předem vydaného produktu, který může být podstatně změněn před komerčním vydáním. Společnost Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, pokud jde o informace uvedené zde.]

Jak získat přístup k proměnným firmwaru rozhraní UEFI (Unified Extensible Firmware Interface) z univerzální aplikace pro Windows

Od Windows 10 verze 1803 můžou univerzální aplikace pro Windows používat GetFirmwareEnvironmentVariable a SetFirmwareEnvironmentVariable (a jejich ex) pro přístup k proměnným firmwaru UEFI následujícím způsobem:

  • Deklarujte Microsoft.firmwareRead_cw5n1h2txyewy vlastní schopnost v manifestu pro čtení proměnné firmwaru a/nebo Microsoft.firmwareWrite_cw5n1h2txyewy schopnost pro zapisování proměnné firmwaru.

  • Deklarujte také chráněnou aplikaci a omezenou kapacitu v manifestu aplikace.

  • Například následující přidání manifestu aplikace umožňuje univerzální aplikaci Windows číst proměnné firmwaru.

    <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>
    
  • Před odesláním aplikace do Microsoft Storu nastavte možnost linkeru /INTEGRITYCHECK, pro všechny konfigurace projektu. Tím zajistíte, že se aplikace spustí jako chráněná aplikace. Podrobnosti najdete v /INTEGRITYCHECK (Vyžadovat kontrolu podpisu).

  • Získejte soubor podepsaný vlastní popis schopností (SCCD) od Microsoftu. Viz Vytvoření vlastní schopnosti spárování ovladače s aplikací hardwarové podpory (HSA) a Použití vlastní schopnosti spárovat aplikaci hardwarové podpory (HSA) s ovladačem, kde najdete informace o tom, jak od Microsoftu získat podepsaný soubor SCCD, jak ho zabalit do aplikace a jak povolit vývojářský režim. Tady je příklad souboru SSCD z ukázky 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>
    
  • Odešlete aplikaci do Microsoft Storu, abyste ji podepsali. Pro účely vývoje můžete podepisování přeskočit povolením testovacího přihlašování v konfigurační databázi spouštění (bcd). Podrobnosti najdete v tématu Možnost konfigurace spouštění TESTSIGNING.

omezené schopnosti

GetFirmwareEnvironmentVariable

GetFirmwareEnvironmentVariableEx

SetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariableEx

přístup k informacím SMBIOS z univerzální aplikace pro Windows