Функция обратного вызова POFXCALLBACKPLATFORMIDLEVETO (pepfx.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 . Если в ПЭП указаны причины Вето M, допустимые коды вето варьируются от 1 до M.

[in] Increment

Следует ли увеличивать или уменьшать счетчик вето. Задайте значение TRUE, чтобы увеличить счетчик вето по этой причине, или значение FALSE, чтобы уменьшать счетчик.

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

PlatformIdleVeto возвращает STATUS_SUCCESS, если вызов успешно увеличивает или уменьшает счетчик вето. Возможные возвращаемые значения ошибок включают следующий код состояния.

Возвращаемое значение Описание
STATUS_NOT_IMPLEMENTED
Указывает, что подпрограмма 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 pepfx.h (включая Pep_x.h)
IRQL PASSIVE_LEVEL

См. также раздел

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS