Функция 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.
Параметр Flags указывает тип выполнения действия. Драйверы могут указывать любое сочетание флагов.
При установке ES_CONTINUOUS состояние занятости сохраняется до тех пор, пока драйвер явно не изменит или не отменит его, вызвав PoRegisterSystemState или PoUnregisterSystemState.
Драйвер может задать состояние занятости системы, чтобы запросить, чтобы диспетчер питания избегал перехода состояния питания системы из рабочего состояния системы (S0) во время активности драйвера. Однако обратите внимание, что при некоторых обстоятельствах (например, при критически низком заряде батареи) диспетчер питания может переопределить этот запрос и в любом случае переложить систему в спящий режим.
Чтобы задать состояние питания системы, вызовите PoSetSystemState.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по