Freigeben über


PoCreatePowerRequest-Funktion (ntifs.h)

Die PoCreatePowerRequest-Routine erstellt ein Power Request-Objekt.

Syntax

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

Parameter

[out] PowerRequest

Ein Zeiger auf eine Position, an der die Routine einen Zeiger auf das neu erstellte Energieanforderungsobjekt schreibt. Wenn der Aufruf fehlschlägt, schreibt die Routine NULL an diesen Speicherort.

[in] DeviceObject

Ein Zeiger auf das Geräteobjekt des Aufrufers (eine DEVICE_OBJECT-Struktur ).

[in] Context

Ein Zeiger auf eine COUNTED_REASON_CONTEXT-Struktur , die beschreibt, warum der Aufrufer das Power Request-Objekt erstellt. Dieser Parameter ist optional und kann auf NULL festgelegt werden.

Rückgabewert

PoCreatePowerRequest gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Wenn der Aufruf fehlschlägt, sind folgende Fehlerrückgabecodes möglich:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER Der DeviceObject-Parameter ist NULL.
STATUS_INSUFFICIENT_RESOURCES Es ist nicht genügend Arbeitsspeicher verfügbar, um ein Energieanforderungsobjekt zu erstellen.

Hinweise

Mit dieser Routine wird ein Power Request-Objekt erstellt. Um Energieanforderungen zu aktivieren, sollte der Aufrufer ein Energieanforderungsobjekt erstellen und dieses Objekt für alle Aufrufe der PoSetPowerRequest - und PoClearPowerRequest-Routinen verwenden.

Ein Treiber kann Energieanforderungen verwenden, um bestimmte Aspekte des Standardleistungsverhaltens des Computers zu überschreiben. Beispielsweise kann ein Treiber für ein TV-Empfängergerät Stromanforderungen verwenden, um zu verhindern, dass der Power Manager die Anzeige während längerer Zeiträume automatisch leert, in denen keine Benutzerinteraktion auftritt.

Wenn das Energieanforderungsobjekt nicht mehr benötigt wird, muss der Aufrufer das Objekt löschen, indem er die PoDeletePowerRequest-Routine aufruft. Der Treiber muss das Energieanforderungsobjekt löschen, bevor er das Geräteobjekt löscht, das zum Erstellen des Energieanforderungsobjekts verwendet wurde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Zielplattform Universell
Header ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest