Freigeben über


PoFxPowerControl-Funktion (wdm.h)

Die PoFxPowerControl-Routine sendet eine Energiesteuerungsanforderung an das Power Management Framework (PoFx).

Syntax

NTSTATUS PoFxPowerControl(
  [in]            POHANDLE Handle,
  [in]            LPCGUID  PowerControlCode,
  [in, optional]  PVOID    InBuffer,
  [in]            SIZE_T   InBufferSize,
  [out, optional] PVOID    OutBuffer,
  [in]            SIZE_T   OutBufferSize,
  [out, optional] PSIZE_T  BytesReturned
);

Parameter

[in] Handle

Ein Handle, das die Registrierung des Geräts bei PoFx darstellt. Der Gerätetreiber hat dieses Handle zuvor von der PoFxRegisterDevice-Routine erhalten.

[in] PowerControlCode

Ein Zeiger auf den Energiesteuerungscode. Dieser Code ist ein GUID-Wert, der den angeforderten Vorgang angibt.

[in, optional] InBuffer

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Eingabedaten für den Vorgang enthält. Das Format für die Daten in diesem Puffer hängt vom Energiesteuerungscode ab, der durch den PowerControlCode-Parameter angegeben wird. Der InBuffer-Parameter ist optional und kann als NULL angegeben werden, wenn für den angegebenen Vorgang keine Eingabedaten erforderlich sind.

[in] InBufferSize

Die Größe des Eingabepuffers in Bytes, auf den der InBuffer-Parameter verweist. Wenn InBuffer NULL ist, legen Sie InBufferSize auf Null fest.

[out, optional] OutBuffer

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Ausgabedaten aus dem Vorgang enthalten soll. Das Format für die Daten in diesem Puffer hängt vom Energiesteuerungscode ab, der durch den PowerControlCode-Parameter angegeben wird. Der OutBuffer-Parameter ist optional und kann als NULL angegeben werden, wenn der angegebene Vorgang keine Ausgabedaten erzeugt.

[in] OutBufferSize

Die Größe des Ausgabepuffers in Bytes, auf den der OutBuffer-Parameter verweist. Wenn OutBuffer NULL ist, legen Sie OutBufferSize auf Null fest.

[out, optional] BytesReturned

Ein Zeiger auf einen Speicherort, an den die Routine die Anzahl der Bytes von Daten schreibt, die in den Puffer geschrieben wurden, auf den OutBuffer verweist. Die Anzahl der geschriebenen Bytes ist kleiner oder gleich OutBufferSize. Dieser Parameter ist optional und kann als NULL angegeben werden, wenn der Aufrufer nicht wissen muss, wie viele Bytes in den Ausgabepuffer geschrieben wurden.

Rückgabewert

PoFxPowerControl gibt STATUS_SUCCESS zurück, wenn der angeforderte Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen den folgenden status Code.

Rückgabecode Beschreibung
STATUS_NOT_IMPLEMENTED
Der angeforderte Stromsteuerungsvorgang wird nicht implementiert.
STATUS_NOT_SUPPORTED
Das Power Engine Plug-In (PEP) bestätigt die Unterstützung für dieses Gerät nicht.

Hinweise

Ein Gerätetreiber ruft diese Routine auf, um eine Energiesteuerungsanforderung direkt an PoFx zu senden. Eine Energiesteuerungsanforderung ähnelt einer E/A-Steuerungsanforderung (IOCTL). Im Gegensatz zu einem IOCTL wird jedoch eine Energiesteuerungsanforderung direkt an PoFx gesendet und von anderen Gerätetreibern im Gerätestapel nicht beachtet. Während eines PoFxPowerControl-Aufrufs führt PoFx den angeforderten Vorgang synchron aus.

Ebenso kann PoFx eine Energiesteuerungsanforderung direkt an den Gerätetreiber senden. Der Treiber verarbeitet diese Anforderung in seiner PowerControlCallback-Routine .

PoFx delegiert die Verarbeitung aller Leistungssteuerungsanforderungen an das Power Engine Plug-In (PEP). Pep ist eine optionale Softwarekomponente, die Energieverwaltungsaufgaben ausführt, die für eine bestimmte Produktlinie von Prozessor- oder SoC-Modulen (System on a Chip) spezifisch sind. Wenn der Hardwarehersteller für den Prozessor oder SoC einen PEP für eine Hardwareplattform bereitstellt, verarbeitet dieser PEP möglicherweise benutzerdefinierte Energiesteuerungsanforderungen eines Gerätetreibers oder sendet benutzerdefinierte Energiesteuerungsanforderungen an die PowerControlCallback-Routine des Treibers. Der Anbieter kann eine Reihe von PowerControlCode-GUIDs angeben und die Vorgänge definieren, die von diesen GUIDs festgelegt werden. Optional kann ein Gerätetreiber plattformspezifischen Code zum Verarbeiten oder Senden von Anforderungen für diese Vorgänge enthalten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header wdm.h
Bibliothek Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

PoFxRegisterDevice

PowerControlCallback