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 |
---|---|
|
Der angeforderte Stromsteuerungsvorgang wird nicht implementiert. |
|
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 |