Función de devolución de llamada POFXCALLBACKPLATFORMIDLEVETO (pep_x.h)

La rutina PlatformIdleVeto incrementa o disminuye el número de vetas para un código de vetado para un estado inactivo de la plataforma.

Sintaxis

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

NTSTATUS Pofxcallbackplatformidleveto(
  [in] POHANDLE ProcessorHandle,
  [in] ULONG PlatformState,
  [in] ULONG VetoReason,
  [in] BOOLEAN Increment
)
{...}

Parámetros

[in] ProcessorHandle

Valor POHANDLE que representa el registro del procesador (como dispositivo) con el marco de administración de energía (PoFx). El complemento de extensión de plataforma (PEP) recibió previamente este identificador de PoFx durante la notificación de PEP_DPM_REGISTER_DEVICE que informó al PEP de que el procesador se había registrado con PoFx.

[in] PlatformState

Índice del estado inactivo de la plataforma cuyo recuento de vestos se está incrementando o disminuyendo. El PEP especificó previamente los estados inactivos de la plataforma admitidos en respuesta a una notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES . Si el PEP especificó N estados inactivos de la plataforma, los índices de estado de inactividad de la plataforma válidos oscilan entre 0 y N-1.

[in] VetoReason

Código de vetado definido por PEP que indica por qué no se puede especificar el estado de inactividad de la plataforma. El PEP especificó previamente el número de motivos de veta admitidos en respuesta a una notificación de PEP_NOTIFY_PPM_QUERY_VETO_REASONS . Si el PEP especificó motivos de veta M, los códigos de veta válidos oscilan entre 1 y M.

[in] Increment

Si se va a incrementar o disminuir el recuento de veta. Establézcalo en TRUE para incrementar el número de vetajes por este motivo de veta o en FALSE para disminuir el recuento.

Valor devuelto

PlatformIdleVeto devuelve STATUS_SUCCESS si la llamada incrementa o disminuye correctamente el recuento de vetas. Entre los posibles valores devueltos de error se incluyen el siguiente código de estado.

Valor devuelto Descripción
STATUS_NOT_IMPLEMENTED
Indica que la rutina PlatformIdleVeto no está implementada para este procesador.

Comentarios

El PEP implementa esta rutina y la llama el PEP. El miembro PlatformIdleVeto de la estructura PEP_KERNEL_INFORMATION_STRUCT_V3 es un puntero a una rutina PlatformIdleVeto .

Una vez que el PEP controla la notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES , cada estado de inactividad de la plataforma comienza con un recuento de vetas de cero para todos los códigos de vetas. El PEP puede incrementar el recuento de bloqueos de un código de veta para evitar que el sistema operativo pase la plataforma a este estado inactivo. El PEP disminuye el recuento de veta cuando el motivo del vetador que provocó que el recuento se incremente ya no está en vigor. Solo después de que el recuento de todos los códigos de vet se haya reducido a cero es el sistema operativo que puede realizar la transición de la plataforma a este estado inactivo.

Se debe llamar a esta rutina en IRQL = PASSIVE_LEVEL.

Requisitos

   
Cliente mínimo compatible Se admite a partir de Windows 10.
Plataforma de destino Windows
Encabezado pep_x.h (incluya Pep_x.h)
IRQL PASSIVE_LEVEL

Consulte también

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS