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 |