Функция CallNtPowerInformation (powerbase.h)
Задает или извлекает сведения о энергопотреблении.
Синтаксис
NTSTATUS CallNtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Параметры
[in] InformationLevel
Запрошенный уровень информации. Это значение указывает конкретные сведения о энергопотреблении, которые необходимо задать или извлечь. Этот параметр должен быть одним из следующих POWER_INFORMATION_LEVEL значений типа перечисления.
Значение | Значение |
---|---|
|
Этот уровень информации не поддерживается. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает ULONGLONG , который указывает количество прерываний в единицах 100 наносекунд в последнем системном спящем режиме. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает ULONGLONG , который указывает количество прерываний в 100 наносекундных единицах в последнем времени пробуждения системы. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает одну PROCESSOR_POWER_INFORMATION структуру для каждого процессора, установленного в системе. Используйте функцию GetSystemInfo для получения количества процессоров. |
|
Этот уровень информации не поддерживается. |
|
Этот уровень информации не поддерживается. |
|
Этот уровень информации не поддерживается. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает SYSTEM_BATTERY_STATE структуру , содержащую сведения о текущем аккумуляторе системы. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает значение ULONG , содержащее буфер состояния выполнения системы. Это значение может содержать любое сочетание следующих значений: ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED или ES_USER_PRESENT. Дополнительные сведения см. в разделе Функция SetThreadExecutionState . |
|
Параметр lpInBuffer должен иметь значение NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает SYSTEM_POWER_CAPABILITIES структуру, содержащую текущие возможности питания системы. Эти сведения представляют поддерживаемые в настоящее время возможности питания. Он может измениться по мере установки драйверов в системе. Например, установка устаревших драйверов устройств, которые не поддерживают управление питанием, отключает все состояния спящего режима системы. |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает структуру SYSTEM_POWER_INFORMATION . Приложения могут использовать этот уровень для получения сведений о бездействии системы. |
|
Если значение lpInBuffer не равно NULL, функция применяет значения SYSTEM_POWER_POLICY , переданные в lpInBuffer , к текущей системной политике управления питанием, используемой во время работы системы с питанием от переменного тока (служебной программы).
Буфер lpOutputBuffer получает SYSTEM_POWER_POLICY структуру, содержащую текущую политику управления питанием системы, используемую во время работы системы с питанием от переменного тока (служебной программы). |
|
Параметр lpInBuffer должен иметь значение NULL; В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Буфер lpOutputBuffer получает SYSTEM_POWER_POLICY структуру, содержащую текущую политику управления питанием системы, используемую во время работы системы с питанием от переменного тока (служебной программы). |
|
Если lpInBuffer не равно NULL, функция применяет значения SYSTEM_POWER_POLICY , переданные в lpInBuffer , к текущей системной политике питания, используемой во время работы системы от батареи.
Буфер lpOutputBuffer получает SYSTEM_POWER_POLICY структуру, содержащую текущую политику питания системы, используемую во время работы системы от батареи. |
|
Если lpInBuffer не равно NULL и текущий пользователь имеет достаточные привилегии, функция фиксирует или удаляет хранилище, необходимое для хранения образа гибернации на загрузочном томе.
Параметр lpInBuffer должен указывать на значение BOOLEAN , указывающее требуемый запрос. Если значение равно TRUE, файл гибернации зарезервирован; Если значение равно FALSE, файл гибернации удаляется. |
|
Этот уровень информации не поддерживается. |
|
Этот уровень информации не поддерживается. |
|
Этот уровень информации не поддерживается. |
|
Этот уровень информации не поддерживается. |
[in] InputBuffer
Указатель на необязательный входной буфер. Тип данных этого буфера зависит от уровня информации, запрошенного в параметре InformationLevel .
[in] InputBufferLength
Размер входного буфера в байтах.
[out] OutputBuffer
Указатель на необязательный выходной буфер. Тип данных этого буфера зависит от уровня информации, запрошенного в параметре InformationLevel . Если буфер слишком мал для хранения информации, функция возвращает STATUS_BUFFER_TOO_SMALL.
[in] OutputBufferLength
Размер выходного буфера в байтах. В зависимости от запрошенного уровня информации это может быть буфер с разными размерами.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет STATUS_SUCCESS.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов состояния.
Состояние | Значение |
---|---|
|
Размер выходного буфера недостаточен для хранения возвращаемых данных. |
|
У вызывающего объекта недостаточно прав доступа для выполнения запрошенного действия. |
Комментарии
Изменения, внесенные в текущую политику управления питанием системы с помощью CallNtPowerInformation , выполняются немедленно, но не являются постоянными; то есть изменения не хранятся в рамках схемы управления питанием. Любые изменения в системной политике управления питанием, внесенные с помощью CallNtPowerInformation , могут быть перезаписаны путем изменений схемы политики, внесенных пользователем в программе панели управления Power Options, или последующими вызовами WritePwrScheme, SetActivePwrScheme или других функций схемы питания.
Дополнительные сведения об использовании PowrProf.h см. в разделе Схемы питания.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | powerbase.h |
Библиотека | PowrProf.lib |
DLL | PowrProf.dll |