Функция PoRegisterSystemState (ntifs.h)

Программа PoRegisterSystemState регистрирует систему как занятую из-за определенного действия.

Синтаксис

PVOID PoRegisterSystemState(
  [in, out] PVOID           StateHandle,
  [in]      EXECUTION_STATE Flags
);

Параметры

[in, out] StateHandle

Указатель на предоставленный вызывающим буфером для дескриптора состояния регистрации. Размер буфера в байтах составляет sizeof(ULONG). Если значение NULL, это новая регистрация. Если значение не равно NULL, этот параметр указывает на дескриптор, возвращенный предыдущим вызовом PoRegisterSystemState.

[in] Flags

Указывает тип действия, указанный побитовой или одним или несколькими из следующих значений:

Ценность Значение
ES_SYSTEM_REQUIRED Система не простаит, независимо от видимой нагрузки.
ES_DISPLAY_REQUIRED Требуется использование дисплея.
ES_USER_PRESENT Пользователь присутствует.
ES_CONTINUOUS Параметры являются непрерывными и должны оставаться в силе до явного изменения.

Возвращаемое значение

PoRegisterSystemState возвращает дескриптор, который будет использоваться позже для изменения или отмены регистрации состояния занятой системы. Возвращает значение NULL, если не удалось выделить дескриптор.

Замечания

PoRegisterSystemState регистрирует состояние занятой системы, как указано флагами. Регистрация сохраняется, пока вызывающий объект явно не изменит его с другим вызовом PoRegisterSystemState или отменяет его вызовом PoUnregisterSystemState.

Параметр флагов указывает тип действия, выполняющегося. Драйверы могут указывать любое сочетание флагов.

Установка ES_CONTINUOUS делает состояние занятой, пока драйвер явно не изменит или отменит его, вызвав PoRegisterSystemState или PoUnregisterSystemState.

Драйвер может задать состояние занятости системы, чтобы запросить, что диспетчер питания избежать перехода состояния системы из состояния работы системы (S0) во время выполнения действий драйвера. Обратите внимание, что в некоторых случаях (например, критически низкая батарея) диспетчер питания может переопределить этот запрос и поставить систему в спящий режим в любом случае.

Чтобы задать состояние питания системы, вызовите PoSetSystemState.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Всеобщий
заголовка ntifs.h (включая Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

См. также

PoSetSystemState

PoUnregisterSystemState