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, in die 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, umfassen mögliche Fehlerrücklaufcodes Folgendes:
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER | Der parameter DeviceObject ist NULL. |
STATUS_INSUFFICIENT_RESOURCES | Es steht nicht genügend Arbeitsspeicher zur Verfügung, um ein Power Request-Objekt zu erstellen. |
Bemerkungen
Diese Routine erstellt ein Power Request-Objekt. 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 Leistungsanforderungen verwenden, um bestimmte Aspekte des Standardleistungsverhaltens des Computers außer Kraft zu setzen. Beispielsweise kann ein Treiber für ein FERNSEHempfängergerät Leistungsanforderungen verwenden, um zu verhindern, dass der Power Manager die Anzeige während längerer Zeiträume, in denen keine Benutzerinteraktion auftritt, automatisch leert.
Wenn das Power Request-Objekt nicht mehr benötigt wird, muss der Aufrufer das Objekt löschen, indem die PoDeletePowerRequest Routine aufgerufen wird. Der Treiber muss das Energieanforderungsobjekt löschen, bevor es das Geräteobjekt löscht, das zum Erstellen des Energieanforderungsobjekts verwendet wurde.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 7 |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |