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, 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

Siehe auch

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest-