NtPowerInformation-Funktion (wdm.h)
Der NtPowerInformation Routinesätze oder Ruft Systemleistungsinformationen 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 Informationsstufe an, die die spezifischen Energieinformationen angibt, die festgelegt oder abgerufen werden sollen. Derzeit wird der einzige unterstützte POWER_INFORMATION_LEVEL Wert PlatformInformation.
Wert | Beschreibung |
---|---|
PlatformInformation- | Informationen stellen die derzeit unterstützten Leistungsfunktionen des Systems dar. 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 in Bytes bei InputBuffer-. Der Parameter muss auf 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 ist der einzige derzeit unterstützte Wert erforderlich, der OutputBuffer Parameter ist erforderlich und sollte vom POWER_PLATFORM_INFORMATION Typ sein.
[in] OutputBufferLength
Größe des Ausgabepuffers in Bytes. Je nach angeforderter Informationsstufe kann der Puffer variabel angepasst werden. PlatformInformation, der einzige derzeit unterstützte Wert, erfordert einen Puffer, der die Größe einer POWER_PLATFORM_INFORMATION Struktur darstellt.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Wenn der Aufruf fehlschlägt, umfassen mögliche Fehlercodes Folgendes:
Rückgabecode | Beschreibung |
---|---|
STATUS_BUFFER_TOO_SMALL | Der Ausgabepuffer weist eine unzureichende Größe auf, um die zurückgegebenen Daten zu enthalten. |
STATUS_INVALID_PARAMETER | Die PlatformInformation Informationsstufe, 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. |
Bemerkungen
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 behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
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 |
---|---|
mindestens unterstützte Client- | Windows 8 |
mindestens unterstützte Server- | Windows Server 2012 |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntpoapi.h) |
Library | Ntoskrnl.lib |
DLL- | Ntoskrnl.lib |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen