Freigeben über


NtPowerInformation-Funktion (ntpoapi.h)

Die ZwPowerInformation-Routine legt Informationen zur Systemleistung fest oder ruft diese ab.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
  [in]            POWER_INFORMATION_LEVEL InformationLevel,
  [in, optional]  PVOID                   InputBuffer,
  [in]            ULONG                   InputBufferLength,
  [out, optional] PVOID                   OutputBuffer,
  [in]            ULONG                   OutputBufferLength
);

Parameter

[in] InformationLevel

Gibt die angeforderte Informationsebene an, die die spezifischen Energieinformationen angibt, die festgelegt oder abgerufen werden sollen. Derzeit wird nur platformInformation POWER_INFORMATION_LEVEL Wert unterstützt.

Wert Bedeutung
PlatformInformation
Informationen stellen die derzeit unterstützten Energiefunktionen des Systems dar. Die Informationen können sich ändern, wenn Treiber installiert werden. Beispielsweise kann die Installation von älteren Gerätetreibern, die die Energieverwaltung nicht unterstützen, die Funktionen des Systems ändern.

[in, optional] InputBuffer

Zeiger auf einen vom Aufrufer zugewiesenen Eingabepuffer. Dieser Parameter muss NULL sein, andernfalls wird ERROR_INVALID_PARAMETER zurückgegeben.

[in] InputBufferLength

Größe des Puffers bei InputBuffer in Byte. Der Parameter muss auf 0 (null) festgelegt werden.

[out, optional] OutputBuffer

Ein Zeiger auf einen Ausgabepuffer. Der Datentyp dieses Puffers hängt von der im InformationLevel-Parameter angeforderten Informationsebene ab. Für die PlatformInformation-Ebene , der einzige derzeit unterstützte Wert, ist der OutputBuffer-Parameter erforderlich und sollte vom typ POWER_PLATFORM_INFORMATION sein.

[in] OutputBufferLength

Größe des Ausgabepuffers in Byte. Je nach angeforderter Informationsebene kann der Puffer variabel sein. PlatformInformation, der einzige derzeit unterstützte Wert, erfordert einen Puffer, der der Größe einer POWER_PLATFORM_INFORMATION-Struktur entspricht.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Wenn der Aufruf fehlschlägt, sind folgende Fehlercodes möglich:

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL
Der Ausgabepuffer ist nicht groß, um die zurückgegebenen Daten zu enthalten.
STATUS_INVALID_PARAMETER
Die Informationsebene PlatformInformation , die der einzige derzeit unterstützte Wert ist, erfordert keinen Eingabepuffer und muss einen Ausgabepuffer enthalten. Der Aufrufer hat entweder einen Eingabepuffer oder keinen Ausgabepuffer bereitgestellt.
STATUS_ACCESS_DENIED
Der Aufrufer verfügte über unzureichende Zugriffsrechte, um die angeforderte Aktion auszuführen.

Hinweise

NtPowerInformation und ZwPowerInformation sind zwei Versionen derselben Windows Native System Services-Routine.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.

Beispiele

In diesem Beispiel wird ein gültiger Funktionsaufruf veranschaulicht.

POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Universell
Header ntpoapi.h (include Wdm.h, Ntddk.h, Ntpoapi.h)
Bibliothek Ntoskrnl.lib
DLL Ntoskrnl.lib
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Weitere Informationen

POWER_PLATFORM_INFORMATION

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen