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 |