Freigeben über


NtPowerInformation-Funktion (wdm.h)

Die NtPowerInformation-Routine legt Energieinformationen des Systems 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 POWER_INFORMATION_LEVEL Wert unterstützt : PlatformInformation.

Wert BESCHREIBUNG
PlatformInformation Informationen stellen die derzeit unterstützten Leistungsfunktionen des Systems dar. Die Informationen können sich ändern, wenn Treiber installiert werden. Beispielsweise kann die Installation von Legacy-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 Bytes. Der Parameter muss auf 0 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 , dem einzigen derzeit unterstützten Wert, ist der OutputBuffer-Parameter erforderlich und sollte vom POWER_PLATFORM_INFORMATION Typ sein.

[in] OutputBufferLength

Größe des Ausgabepuffers in Bytes. 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 PlatformInformation-Informationsebene , 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, da 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 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 wdm.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