Функция NtPowerInformation (wdm.h)
Подпрограмма NtPowerInformation задает или извлекает сведения о энергопотреблении системы.
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[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.
Значение | Описание |
---|---|
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, если вызов выполнен успешно. Если вызов завершается сбоем, возможны следующие коды ошибок:
Код возврата | Описание |
---|---|
STATUS_BUFFER_TOO_SMALL | Размер выходного буфера недостаточен для хранения возвращаемых данных. |
STATUS_INVALID_PARAMETER | Уровень информации PlatformInformation , который является единственным поддерживаемым в настоящее время значением, не требует входного буфера и должен содержать выходной буфер. Вызывающий объект предоставил входной буфер или не предоставил выходной буфер. |
STATUS_ACCESS_DENIED | У вызывающего объекта недостаточно прав доступа для выполнения запрошенного действия. |
Комментарии
NtPowerInformation и ZwPowerInformation — это две версии одной и той же подпрограммы системных служб Windows Native.
Для вызовов из драйверов режима ядра версии 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 |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntpoapi.h) |
Библиотека | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs, PowerIrpDDis |