Функция NtPowerInformation (ntpoapi.h)

Подпрограмма ZwPowerInformation задает или извлекает сведения о системе питания.

Синтаксис

__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
Целевая платформа Универсальное
Верхняя часть ntpoapi.h (включая Wdm.h, Ntddk.h, Ntpoapi.h)
Библиотека Ntoskrnl.lib
DLL Ntoskrnl.lib
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs, PowerIrpDDis

См. также раздел

POWER_PLATFORM_INFORMATION

Использование версий nt и Zw собственных системных служб