Функция ZwPowerInformation (ntddk.h)
Подпрограмма ZwPowerInformation задает или извлекает сведения о энергопотреблении системы.
Синтаксис
NTSYSAPI NTSTATUS ZwPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Параметры
[in] InformationLevel
Указывает запрошенный уровень сведений, который указывает конкретные сведения о энергопотреблении, которые необходимо задать или извлечь. В настоящее время единственным поддерживаемым значением POWER_INFORMATION_LEVEL является PlatformInformation.
[in, optional] InputBuffer
Указатель на выделенный вызывающим объектом входной буфер. Этот параметр должен иметь значение NULL, в противном случае возвращается ERROR_INVALID_PARAMETER .
[in] InputBufferLength
Размер буфера в байтах в InputBuffer. Для параметра необходимо задать нулевое значение.
[out, optional] OutputBuffer
Указатель на выходной буфер. Тип данных этого буфера зависит от уровня информации, запрошенного в параметре InformationLevel . Для уровня PlatformInformation ( единственное поддерживаемое в настоящее время значение) параметр OutputBuffer является обязательным и должен иметь тип POWER_PLATFORM_INFORMATION .
[in] OutputBufferLength
Размер выходного буфера в байтах. В зависимости от запрошенного уровня информации буфер может иметь изменяемый размер. PlatformInformation, единственное поддерживаемое в настоящее время значение, требует буфера размером POWER_PLATFORM_INFORMATION структуры.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если вызов выполнен успешно. Если вызов завершается ошибкой, возможны следующие коды ошибок:
Код возврата | Описание |
---|---|
|
Размер выходного буфера недостаточен для размещения возвращаемых данных. |
|
Уровень сведений PlatformInformation , который является единственным поддерживаемым в настоящее время значением, не требует входного буфера и должен содержать выходной буфер. Вызывающий объект предоставил входной буфер или не предоставил выходной буфер. |
|
У вызывающего объекта недостаточно прав доступа для выполнения запрошенного действия. |
Комментарии
NtPowerInformation и ZwPowerInformation — это две версии одной и той же подпрограммы windows Native System Services.
Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями процедуры NtXxx и ZwXxx см. в разделе Использование версий Nt и Zw для процедур собственных системных служб.
Примеры
В этом примере показан допустимый вызов функции.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Универсальное |
Верхняя часть | ntddk.h (включая Wdm.h, Ntddk.h, Ntpoapi.h) |
Библиотека | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
См. также раздел
Использование версий Nt и Zw собственных процедур системных служб