Поделиться через


Функция обратного вызова 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. Если PEP указал m veto причины, допустимые коды вето варьируются от 1 до М.

[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.
целевая платформа Виндоус
заголовка pepfx.h (include Pep_x.h)
IRQL PASSIVE_LEVEL

См. также

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS