Функция 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 System Services.
Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.
Примеры
В этом примере показан допустимый вызов функции.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 |
минимальный поддерживаемый сервер | Windows Server 2012 |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntpoapi.h) |
библиотеки | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
См. также
использование версий собственных системных служб и Zw