Функция обратного вызова POFXCALLBACKPLATFORMIDLEVETO (pep_x.h)
Подпрограмма PlatformIdleVeto увеличивает или уменьшает счетчик вето для кода вето для состояния простоя платформы.
Синтаксис
POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;
NTSTATUS Pofxcallbackplatformidleveto(
[in] POHANDLE ProcessorHandle,
[in] ULONG PlatformState,
[in] ULONG VetoReason,
[in] BOOLEAN Increment
)
{...}
Параметры
[in] ProcessorHandle
Значение POHANDLE, представляющее регистрацию процессора (как устройства) с помощью платформы управления питанием (PoFx). Подключаемый модуль расширения платформы (PEP) ранее получил этот дескриптор от PoFx во время уведомления PEP_DPM_REGISTER_DEVICE , которое сообщило PEP о том, что процессор был зарегистрирован в PoFx.
[in] PlatformState
Индекс состояния простоя платформы, число вето которого увеличивается или уменьшается. PeP ранее указал поддерживаемые состояния простоя платформы в ответ на уведомление PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES . Если в PEP указано N состояний простоя платформы, допустимые индексы состояния простоя платформы варьируются от 0 до N–1.
[in] VetoReason
Определенный PEP код вето, который указывает, почему не удается ввести состояние простоя платформы. PEP ранее указал число поддерживаемых причин вето в ответ на уведомление PEP_NOTIFY_PPM_QUERY_VETO_REASONS . Если для PEP указаны причины Вето M, допустимые коды вето варьируются в диапазоне от 1 до M.
[in] Increment
Следует ли увеличивать или уменьшать счетчик вето. Задайте значение TRUE, чтобы увеличить счетчик вето для этой причины, или значение FALSE, чтобы уменьшать счетчик.
Возвращаемое значение
PlatformIdleVeto возвращает STATUS_SUCCESS, если вызов успешно увеличивает или уменьшает счетчик вето. Возможные возвращаемые значения ошибки включают следующий код состояния.
Возвращаемое значение | Описание |
---|---|
|
Указывает, что подпрограмма PlatformIdleVeto не реализована для этого процессора. |
Комментарии
Эта подпрограмма реализуется PoFx и вызывается PEP. Элемент PlatformIdleVeto структуры PEP_KERNEL_INFORMATION_STRUCT_V3 является указателем на подпрограмму PlatformIdleVeto .
После того как PEP обработает уведомление о PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES , каждое состояние простоя платформы начинается с нулевого счетчика вето для всех кодов вето. PEP может увеличить число вето кода вето, чтобы предотвратить переход операционной системы платформы в это состояние простоя. PEP уменьшает счетчик вето, когда причина вето, которая привела к приращению счетчика, больше не действует. Только после того, как количество кодов вето сократилось до нуля, операционная система может перевести платформу в это состояние простоя.
Эта подпрограмма должна вызываться по адресу IRQL = PASSIVE_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 10. |
Целевая платформа | Windows |
Header | pep_x.h (включая Pep_x.h) |
IRQL | PASSIVE_LEVEL |
См. также раздел
PEP_KERNEL_INFORMATION_STRUCT_V3