Freigeben über


Platform Runtime Mechanism (PRM)-Bibliothek für Windows Kernel-Modus

Der Plattform-Runtime-Mechanismus (PRM) ist eine GUID-basierte Schnittstelle, über die Treiber Handler ausführen können, die in der Unified Extensible Firmware Interface (UEFI)-Firmware vorinstalliert sind. PRM bietet Funktionen wie SMI-Aufrufe (System Management Interrupt) im Systemverwaltungsmodus (System Management Mode, SMM), ist aber sicherer.

Während der Systemlaufzeit kann die Firmware mehrere PRM-Module enthalten, die jeweils einen eindeutigen Satz von Handlern enthalten.

Treiber können PRM-Handler für Vorgänge auf niedriger Ebene aufrufen, z. B. Die Steuerung von Hardwarekomponenten, das Verwalten von Wärmezuständen oder die erweiterte Energieverwaltung.

Führen Sie die folgenden Schritte aus, um die Verfügbarkeit eines bestimmten Handlers zu überprüfen und auszuführen. Eine Beispielimplementierung dieses Prozesses finden Sie im PrmFunc-Beispiel.

  1. Rufen Sie einen Zeiger auf eine PRM_INTERFACE-Struktur ab, indem Sie die ExGetPrmInterface-Routine aufrufen. Diese Struktur enthält Zeiger auf die PRM-Vorgangsroutinen.

  2. Synchronisieren Sie mit potenziellen Laufzeitupdates mit dem PRM-Modul, indem Sie die PRM_LOCK_MODULE-Routine aufrufen. Aufrufe zum Sperren und Entsperren sind für transaktionale Reihen von PRM-Handler-Aufrufen notwendig, es wird jedoch empfohlen, sie allgemein zu verwenden.

  3. Überprüfen Sie das Vorhandensein des angegebenen PRM-Handlers mithilfe der PRM_QUERY_HANDLER-Routine.

  4. Wenn die Abfrage erfolgreich ist, rufen Sie den PRM-Handler auf, indem Sie die PRM_INVOKE_HANDLER-Routine aufrufen. Geben Sie die GUID und den Parameterpuffer an, der die Parameter für den PRM-Handler enthalten soll. Der Ausgabeparameter EfiStatus gibt den Status des Handler-Aufrufs an.

  5. Wenn Sie zuvor PRM_LOCK_MODULE aufgerufen haben, geben Sie das PRM-Schnittstellenobjekt frei, indem Sie die PRM_UNLOCK_MODULE-Routine aufrufen.

Weitere Informationen

Weitere Informationen finden Sie in der PRM-Spezifikation.