Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Программа 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 |