Notificaciones de administración de energía del procesador (PPM)
Cada notificación de administración de energía del procesador (PPM) que recibe la rutina de devolución de llamada AcceptProcessorNotification del PEP va acompañada de un parámetro Notification que indica el tipo de notificación y un parámetro Data que apunta a una estructura de datos que contiene la información del tipo de notificación especificado.
En esta llamada, el parámetro Notification se establece en un valor constante PEP_NOTIFY_PPM_XXX que indica el tipo de notificación. El parámetro Data apunta a un tipo de estructura PEP_PPM_XXX asociado a este tipo de notificación.
La rutina de devolución de llamada AcceptProcessorNotification usa los siguientes identificadores de notificación de administración de energía del procesador (PPM).
PEP_NOTIFY_PPM_QUERY_CAPABILITIES
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_CAPABILITIES.
Data
Puntero a una estructura de PEP_PPM_QUERY_CAPABILITIES.
Comentarios:
Informa al PEP de que se está consultando para conocer las capacidades de administración de energía del PEP.
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando se consulta el PEP para sus funcionalidades de administración de energía. Esto sucede en el momento de inicialización del procesador y se enviará para cada procesador del sistema.
Las plataformas con procesadores x86/AMD64 deben usar interfaces ACPI para el control de rendimiento del procesador.
Para enviar una notificación de PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx llama a la rutina de devolución de llamada AcceptProcessorNotification del PEP. En esta llamada, el valor del parámetro Notification es PEP_NOTIFY_PPM_QUERY_CAPABILITIES y el parámetro Data apunta a una estructura de PEP_PPM_QUERY_CAPABILITIES.
Para una notificación de PEP_NOTIFY_PPM_QUERY_CAPABILITIES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_IDLE_STATES
Notificación
Valor PEP_NOTIFY_PPM_QUERY_IDLE_STATES.
Data
Puntero a una estructura de PEP_PPM_QUERY_IDLE_STATES.
Comentarios:
Informa al PEP sobre los estados inactivos.
Para enviar una notificación PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx llama a la rutina de devolución de llamada AcceptProcessorNotification del PEP. En esta llamada, el valor del parámetro Notification se PEP_NOTIFY_PPM_QUERY_IDLE_STATES y el parámetro Data apunta a una estructura de PEP_PPM_QUERY_IDLE_STATES.
Para una notificación de PEP_NOTIFY_PPM_QUERY_IDLE_STATES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_IDLE_SELECT
Notificación
Valor PEP_NOTIFY_PPM_IDLE_SELECT.
Data
Puntero a una estructura de PEP_PPM_IDLE_SELECT.
Comentarios:
Informa al PEP de la selección inactiva.
Para enviar una notificación de PEP_NOTIFY_PPM_IDLE_SELECT, PoFx llama a la rutina de devolución de llamada AcceptProcessorNotification del PEP. En esta llamada, el valor del parámetro Notification se PEP_NOTIFY_PPM_IDLE_SELECT y el parámetro Data apunta a una estructura de PEP_PPM_IDLE_SELECT.
Para una notificación de PEP_NOTIFY_PPM_IDLE_SELECT, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_IDLE_CANCEL
Notificación
Valor PEP_NOTIFY_PPM_IDLE_CANCEL.
Data
Puntero a una estructura de PEP_PPM_IDLE_CANCEL.
Comentarios:
Informa al PEP de una acción de cancelación.
Para enviar una notificación PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx llama a la rutina de devolución de llamada AcceptProcessorNotification del PEP. En esta llamada, el valor del parámetro Notification es PEP_NOTIFY_PPM_IDLE_CANCEL y el parámetro Data apunta a una estructura de PEP_PPM_IDLE_CANCEL.
Para una notificación de PEP_NOTIFY_PPM_IDLE_CANCEL, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_IDLE_EXECUTE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_IDLE_EXECUTE.
Data
Puntero a una estructura de PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.
Comentarios:
Se envía al PEP para realizar la transición del procesador actual al estado de inactividad especificado.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para realizar la transición del procesador actual al estado de inactividad especificado.
El PEP puede preparar el hardware para entrar en el estado inactivo seleccionado anteriormente, incluida la notificación al sistema operativo de los recursos principales del sistema que pueden verse afectados por la transición de suspensión. A continuación, debe ejecutar la instrucción de detención para realizar la transición del procesador al estado inactivo. Tras la devolución del estado de inactividad, el PEP debe deshacer la configuración de hardware, incluida la notificación al sistema operativo de los recursos principales del sistema que pueden haber estado activos durante la reactivación. Si el PEP no puede ejecutar el estado de inactividad del procesador (y la plataforma), debe devolver un estado de error.
Cuando se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura de PEP_PPM_IDLE_EXECUTE_V2 que incluye los campos CoordinatedStateCount y CoordinatedState con la lista de estados inactivos coordinados que la transición inactiva especificará. El campo PlatformState especificará el estado inactivo coordinado de la plataforma más profundo que se está especificando, si existe.
Cuando no se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura PEP_PPM_IDLE_EXECUTE.
Para una notificación de PEP_NOTIFY_PPM_IDLE_EXECUTE, se llama a la rutina AcceptProcessorNotification con interrupciones deshabilitadas.
PEP_NOTIFY_PPM_IDLE_COMPLETE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino.
Notificación
Valor PEP_NOTIFY_PPM_IDLE_COMPLETE.
Data
Puntero a una estructura de PEP_PPM_IDLE_COMPLETE o PEP_PPM_IDLE_COMPLETE_V2.
Comentarios:
Informa al PEP de que el procesador actual se está despertando desde una transición inactiva completada.
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando el procesador actual se está despertando desde una transición inactiva completada. Si la plataforma estaba ejecutando una transición inactiva de la plataforma, el primer procesador que se reactivará indicará el estado de inactividad de la plataforma que se está saliendo. Dependiendo del tipo de sincronización que se usa en la transición de inactividad de la plataforma, es posible que el primer procesador que se despierte desde un estado de inactividad de la plataforma no sea el procesador que entró en el estado de inactividad de la plataforma.
Si el procesador estaba ejecutando un estado de inactividad profundo, el PEP no debe esperar hasta que reciba la notificación completa para restaurar el contexto principal o notificar al sistema operativo que se han restaurado los recursos principales. El sistema operativo espera que estos recursos se hayan restaurado una vez completada la notificación de ejecución. Cuando el hipervisor está habilitado, el PEP solo recibirá esta notificación al salir de un estado de inactividad de la plataforma y con el campo ProcessorState establecido en PEP_PROCESSOR_IDLE_STATE_UNKNOWN.
Cuando se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura PEP_PPM_IDLE_COMPLETE_V2 que incluye los campos CoordinatedStateCount y CoordinatedState con la lista de estados inactivos coordinados que la transición inactiva cerrará. El campo PlatformState especificará el estado inactivo coordinado de la plataforma más profundo que se va a salir, si existe. Tenga en cuenta que el conjunto de estados inactivos coordinados que sale de este procesador puede ser diferente del conjunto de estados inactivos coordinados introducidos por él, si se usa la sincronización flexible.
Cuando no se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura PEP_PPM_IDLE_COMPLETE.
Para una notificación de PEP_NOTIFY_PPM_IDLE_COMPLETE, se llama a la rutina AcceptProcessorNotification con interrupciones deshabilitadas y siempre se ejecuta en el procesador de destino.
PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.
Data
Puntero a una estructura PEP_PPM_IS_PROCESSOR_HALTED.
Comentarios:
Se envía al PEP para determinar si el procesador especificado está detenido actualmente en su estado inactivo seleccionado.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para determinar si el procesador especificado está detenido actualmente en su estado de inactividad seleccionado. El sistema operativo usará esta notificación para comprobar si un procesador secundario ha completado completamente la transición a inactiva al coordinar los estados inactivos de la plataforma. El PEP debe garantizar que el procesador de destino ha alcanzado un estado en el que la transición inactiva de la plataforma puede producirse de forma segura (por ejemplo, comprobando los registros de hardware para ver si el núcleo está detenido). Una vez que esta notificación indica que el procesador está en estado inactivo, ese procesador no debe reactivarse a menos que el sistema operativo lo solicite explícitamente para hacerlo.
El PEP puede recibir esta notificación en cualquier momento entre el IDLE_SELECT y las notificaciones IDLE_COMPLETE. Se garantiza que reciba esta notificación como máximo una vez durante una transición inactiva.
Para una notificación de PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, se llama a la rutina AcceptProcessorNotification en cualquier IRQL y con interrupciones deshabilitadas, en cualquier IRQL y nunca se ejecuta en el procesador de destino.
<= HIGH_LEVEL
PEP_NOTIFY_PPM_INITIATE_WAKE
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino.
Notificación
Valor PEP_NOTIFY_PPM_INITIATE_WAKE.
Data
Puntero a una estructura.
Comentarios:
Se envía al PEP para que un procesador especificado inicie su reactivación desde un estado inactivo no interrumpible.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para que un procesador especificado inicie su reactivación desde un estado de inactividad no interrumpible. El PEP debe devolver el estado de reactivación para el procesador de destino mediante NeedInterruptForCompletion. Devuelve TRUE si el procesador requiere una interrupción para terminar de despertarse desde el estado inactivo. En este caso, el PEP debe asegurarse de que el procesador de destino sea interrumpible al volver de controlar esta notificación. Si el procesador de destino ya se está ejecutando o finalmente cerrará el estado de inactividad (y está en proceso de hacerlo) sin necesidad de ninguna interrupción generada por software, NeedInterruptForCompletion debe establecerse en FALSE.
Nota El PEP no recibirá esta notificación simultáneamente para el mismo procesador.
Para una notificación de PEP_NOTIFY_PPM_INITIATE_WAKE, se llama a la rutina AcceptProcessorNotification en cualquier IRQL, con interrupciones deshabilitadas y nunca se ejecuta en el procesador de destino.
<= HIGH_LEVEL
PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.
Data
Puntero a una estructura de PEP_PPM_QUERY_FEEDBACK_COUNTERS.
Comentarios:
Informa al PEP de que se está consultando el PEP para obtener la lista de contadores de comentarios que admite.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar el PEP de la lista de contadores de comentarios que admite.
Para una notificación de PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_FEEDBACK_READ
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_FEEDBACK_READ.
Data
Puntero a una estructura de PEP_PPM_FEEDBACK_READ.
Comentarios:
Informa al PEP de que se está consultando para el valor actual de un contador de comentarios.
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando desea consultar el valor actual de un contador de comentarios.
Esta notificación se puede enviar con interrupciones deshabilitadas. Si se establece el campo Affinitized del contador, esta notificación se ejecuta en el procesador de destino. De lo contrario, esta notificación se puede ejecutar desde cualquier procesador.
Para una notificación de PEP_NOTIFY_PPM_FEEDBACK_READ, se puede llamar a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL.
PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.
Data
Puntero a una estructura PEP_PPM_QUERY_PERF_CAPABILITIES.
Comentarios:
Informa al PEP de que se está consultando para los intervalos de rendimiento admitidos por la plataforma.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar los intervalos de rendimiento admitidos por la plataforma. Los campos DomainId y DomainMembers de la estructura PEP_PPM_QUERY_PERF_CAPABILITIES se usan para expresar dominios de estado de rendimiento a la plataforma. Cada procesador es miembro exactamente de un dominio de estado de rendimiento. El sistema operativo garantizará que todos los procesadores de un dominio de rendimiento cambien el rendimiento juntos.
Para una notificación de PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_PERF_CONSTRAINTS
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino.
Notificación
Valor PEP_NOTIFY_PPM_PERF_CONSTRAINTS.
Data
Puntero a una estructura PEP_PPM_PERF_CONSTRAINTS.
Comentarios:
Informa al PEP de que se está consultando para las restricciones operativas actuales del procesador.
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando quiere inspeccionar las restricciones operativas actuales del procesador. El PEP inicia una solicitud para que el sistema operativo vuelva a evaluar las restricciones de rendimiento del procesador mediante la ejecución de un control de alimentación con el código de control GUID_PPM_PERF_CONSTRAINT_CHANGE. InBuffer y OutBuffer deben ser NULL.
El PEP debe esperar hasta que reciba una notificación de PEP_DPM_DEVICE_STARTED para un procesador antes de que emite una transacción de control de energía para el procesador.
Para una notificación de PEP_NOTIFY_PPM_PERF_CONSTRAINTS, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_PERF_SET
Esta notificación informa al PEP de que se debe cambiar el rendimiento operativo actual del procesador.
A continuación se describen los parámetros para AcceptProcessorNotification.
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PERF_SET.
Data
Puntero a una estructura PEP_PPM_PERF_SET .
Comentarios:
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando quiere cambiar el rendimiento operativo actual del procesador. Esta notificación se puede enviar mientras se ejecuta en cualquier procesador.
Para una notificación de PEP_NOTIFY_PPM_PERF_SET, siempre se llama a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL.
PEP_NOTIFY_PPM_PARK_SELECTION
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PARK_SELECTION.
Data
Puntero a una estructura de PEP_PPM_PARK_SELECTION.
Comentarios:
Informa al PEP de que el sistema operativo desea que seleccione un conjunto preferido de núcleos de procesador para estacionar.
El marco de administración de energía de Windows (PoFx) envía esta notificación para indicar al PEP que seleccione un conjunto preferido de núcleos para estacionar.
El PEP_NOTIFY_PPM_PARK_SELECTION se ha sobrecargado para realizar dos funciones:
Deje que el PEP seleccione qué procesadores (del conjunto de todos los procesadores del sistema) se deben estacionar y que deben estar desaparcados. Deje que el PEP seleccione qué procesadores (del conjunto de todos los procesadores que no están establecidos) deben recibir interrupciones y que no deben recibir interrupciones. Windows no proporciona un medio para que el PEP distinga cuál de los dos sistemas operativos está realizando. Como resultado, cuando el PEP recibe esta notificación con un conjunto determinado de entradas (recuento de ExtraUnparkedProcessors y PoPreference), debe proporcionar una salida coherente (PepPreference) a menos que algún evento externo provoque un cambio en la preferencia pep.
Para una notificación de PEP_NOTIFY_PPM_PARK_SELECTION, siempre se llama a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL.
PEP_NOTIFY_PPM_CST_STATES
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_CST_STATES.
Data
Puntero a una estructura de PEP_PPM_CST_STATES.
Comentarios:
Se envía al PEP para indicar el conjunto de estados C definidos por ACPI admitidos por el procesador.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para indicar el conjunto de estados C definidos por ACPI admitidos por el procesador. Esta notificación se enviará una vez antes de la primera vez que el PEP reciba PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 notificación para un procesador y de nuevo cada vez que el procesador reciba una notificación (0x81) que indique que el objeto _CST ha cambiado.
Para una notificación de PEP_NOTIFY_PPM_CST_STATES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.
Data
Puntero a una estructura de PEP_PPM_QUERY_PLATFORM_STATES.
Comentarios:
Se envía en la inicialización del procesador para consultar el número de estados inactivos de la plataforma que admite el PEP.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP en la inicialización del procesador para consultar el número de estados inactivos de la plataforma que admite. Esta notificación se envía una vez al arrancar. Después de devolver un número distinto de cero de estados de plataforma, el PEP puede empezar a seleccionar los estados inactivos de la plataforma durante las transiciones inactivas del procesador.
Para una notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS
Notificación
Valor PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.
Data
Puntero a una estructura de PEP_PPM_QUERY_LP_SETTINGS.
Comentarios:
Para enviar una notificación PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx llama a la rutina de devolución de llamada AcceptProcessorNotification del PEP. En esta llamada, el valor del parámetro Notification se PEP_NOTIFY_PPM_QUERY_LP_SETTINGS y el parámetro Data apunta a una estructura de PEP_PPM_QUERY_LP_SETTINGS.
Para una notificación de PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.
Data
Puntero a una estructura PEP_PPM_QUERY_IDLE_STATES_V2.
Comentarios:
Se usa en la inicialización del procesador para consultar la lista de estados inactivos que admite el PEP.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP en la inicialización del procesador para consultar la lista de estados inactivos que admite.
El miembro Count especifica el tamaño de la matriz de estado inactivo. El controlador del procesador consultará el número de estados inactivos con PEP_NOTIFY_PPM_QUERY_CAPABILITIES antes de enviar esta notificación.
El PEP rellena la matriz IdleStates con información sobre cada estado inactivo que admite. Los estados inactivos deben aparecer en orden de disminuir el consumo de energía o aumentar el costo de transición. El PEP no es necesario para notificar la misma lista de estados inactivos para cada procesador.
Para una notificación de PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.
Data
Puntero a una estructura PEP_PPM_QUERY_PLATFORM_STATE.
Comentarios:
Se envía al PEP para consultar las propiedades de un estado inactivo de una sola plataforma.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar las propiedades de un solo estado de inactividad de la plataforma.
El parámetro StateIndex de la estructura PEP_PPM_QUERY_PLATFORM_STATE especifica el índice del estado inactivo de la plataforma que se consulta. El controlador del procesador consultará el número de estados inactivos de la plataforma compatibles con PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES antes de enviar esta notificación. A continuación, el controlador del procesador enviará una notificación PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE para cada estado de inactividad de la plataforma. El controlador del procesador esperará a enviar esta notificación hasta después de que todos los procesadores se hayan registrado con el PEP.
El PEP rellena la estructura de estado con información sobre el estado de inactividad de la plataforma. Los estados de inactividad de la plataforma deben aparecer en orden de disminuir el consumo de energía o aumentar el costo de transición.
Para una notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_TEST_IDLE_STATE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_TEST_IDLE_STATE.
Data
Puntero a una estructura de PEP_PPM_TEST_IDLE_STATE.
Comentarios:
Se usa para probar si se puede especificar el estado de inactividad del procesador y la plataforma especificados en el procesador especificado.
El marco de administración de energía de Windows (PoFx) envía esta notificación para comprobar si se puede especificar el estado de inactividad del procesador y la plataforma especificados en el procesador especificado. Si se puede especificar el estado de inactividad, el PEP rellena el código de vetado PEP_IDLE_VETO_NONE y completa la transición inactiva. Si la transición inactiva no se puede completar por algún motivo, el PEP rellena un código de vetado distinto de cero.
Los códigos importantes de Vet en el intervalo 0x80000000 a 0xffffffff están reservados para uso del sistema operativo y es posible que no se usen.
Cuando se envía esta notificación, el sistema operativo ya ha validado que se han cumplido todas las restricciones asociadas al estado inactivo del procesador o la plataforma seleccionados, incluidas las restricciones de dispositivo y procesador para una transición inactiva de la plataforma.
Esta notificación se enviará antes de que el sistema operativo intente entrar en cualquier estado de inactividad de procesador o plataforma, excepto para el estado de inactividad del procesador con el índice 0, que siempre debe poder escribirse. Completar esta notificación con PEP_IDLE_VETO_NONE no garantiza que el sistema operativo entre en el estado de inactividad indicado. Esta notificación se envía con interrupciones deshabilitadas. Esta notificación siempre se ejecuta en el procesador de destino.
Para una notificación de PEP_NOTIFY_PPM_TEST_IDLE_STATE, se llama a la rutina AcceptProcessorNotification con interrupciones deshabilitadas.
PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.
Data
Puntero a una estructura de PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.
Comentarios:
Se envía al PEP para preparar el sistema para realizar la transición al estado de inactividad especificado.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para preparar el sistema para realizar la transición al estado de inactividad especificado. Después de completar correctamente esta notificación, el sistema operativo realizará la transición del procesador a inactivo escribiendo el estado C asociado. Si el PEP no puede preparar el sistema para entrar en el estado inactivo del procesador (y la plataforma), debe devolver un estado de error.
Cuando el hipervisor está habilitado, el PEP solo recibirá esta notificación tras la entrada a un estado de inactividad de la plataforma y con el campo ProcessorState establecido en PEP_PROCESSOR_IDLE_STATE_UNKNOWN.
Cuando se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura de PEP_PPM_IDLE_EXECUTE_V2 que incluye los campos CoordinatedStateCount y CoordinatedState con la lista de estados inactivos coordinados que la transición inactiva especificará. El campo PlatformState especificará el estado inactivo coordinado de la plataforma más profundo que se está especificando, si existe.
Cuando no se usa la interfaz de estado inactivo coordinada, el sistema operativo usa la estructura PEP_PPM_IDLE_EXECUTE.
Para una notificación de PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, se llama a la rutina AcceptProcessorNotification con interrupciones deshabilitadas y siempre se ejecuta en el procesador de destino.
PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.
Data
Puntero a una estructura PEP_PPM_QUERY_PLATFORM_STATE.
Comentarios:
Informa al PEP de que un procesador ha recibido Notify(0x81) para actualizar las características de un estado inactivo de la plataforma.
El marco de administración de energía de Windows (PoFx) envía esta notificación cuando un procesador ha recibido Notify(0x81) para actualizar las características de un estado de inactividad de la plataforma. Esta notificación se envía una vez para cada estado de inactividad de la plataforma. Si el PEP no acepta la notificación (es decir, devuelve FALSE de su devolución de llamada AcceptProcessorNotification), se conserva la definición anterior del estado de inactividad de la plataforma, a partir de la notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE o PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE más recientemente aceptada.
Esta notificación usa el mismo búfer de datos que la notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.
Para una notificación de PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.
Data
Puntero a una estructura de PEP_PPM_PLATFORM_STATE_RESIDENCIES.
Comentarios:
Informa al PEP de que debe capturar el tiempo acumulado real empleado en cada estado inactivo de la plataforma desde el arranque.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP para capturar el tiempo acumulado real empleado en cada estado inactivo de la plataforma desde el arranque. Por lo tanto, esta consulta solo se aplica a las plataformas en las que el hardware subyacente puede decidir de forma autónoma especificar un estado de inactividad de la plataforma diferente del solicitado por el sistema operativo. Los valores devueltos se usan con fines de diagnóstico e identifican cuándo la vista del sistema operativo de la residencia de estado de inactividad de la plataforma difiere significativamente de lo que la plataforma realmente ha logrado.
Count especifica el número de elementos de la matriz States, donde el índice de elementos corresponde al índice de estado inactivo de la plataforma. El PEP rellenará cada elemento con el recuento real de residencia y transición del estado coincidente.
Nota Los valores acumulados capturados por esta consulta solo deben corresponder a los períodos en los que el PEP (o controlador del procesador) realmente ejecutó una transición de estado inactivo de la plataforma. Esto garantizará que la comparación entre la residencia calculada del sistema operativo y la residencia real sea significativa.
Para una notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, se puede llamar a la rutina AcceptProcessorNotification en cualquier IRQL.
PEP_NOTIFY_PPM_QUERY_VETO_REASONS
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_VETO_REASONS.
Data
Puntero a una estructura de PEP_PPM_QUERY_VETO_REASONS.
Comentarios:
Se usa para consultar el número de motivos únicos de vetación que usa el PEP en las devoluciones de llamada ProcessorIdleVeto y PlatformIdleVeto.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar el número de motivos únicos de vetación que usa el PEP en las devoluciones de llamada ProcessorIdleVeto y PlatformIdleVeto. Esta notificación es opcional y el PEP puede omitirla.
Si se acepta, el PEP puede usar los motivos de vetado entre 1 y VetReasonCount, inclusive, para vetar cualquier procesador, plataforma o estado inactivo coordinado. El PEP no puede usar motivos de vetado mayores que El valor de VetReasonCount. El sistema operativo asignará previamente estructuras de seguimiento de vetado y, cuando se use con PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, garantiza que todas las devoluciones de llamada de vetador de estado coordinado, plataforma y procesador se realizarán correctamente.
Si el PEP no acepta esta notificación, el PEP puede usar las devoluciones de llamada ProcessorIdleVeto y PlatformIdleVeto con cualquier motivo legal de vetar. El sistema operativo no garantiza que las devoluciones de llamada no produzcan errores debido a errores de asignación u otros problemas.
Para una notificación de PEP_NOTIFY_PPM_QUERY_VETO_REASONS, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_VETO_REASON
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_VETO_REASON.
Data
Puntero a una estructura de PEP_PPM_QUERY_VETO_REASON.
Comentarios:
Se envía al PEP para consultar información sobre un motivo específico del vetó.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar información sobre un motivo específico del vetar. Esta notificación se envía dos veces por cada motivo de vetar, una vez con un búfer NULLName para recuperar el tamaño de asignación necesario para Name y una vez con un búfer que no es NULLName para rellenar el contenido de Name. El nombre debe ser una cadena legible que indique qué condición representa este motivo de vetación. Las herramientas de depuración como WPA y el depurador de kernel mostrarán Name al diagnosticar por qué no se especificó un estado inactivo.
Para una notificación de PEP_NOTIFY_PPM_QUERY_VETO_REASON, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES
Handle
Estructura PEPHANDLE que contiene el identificador de dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.
Data
Valor de puntero NULL.
Comentarios:
Informa al PEP de que el sistema operativo está listo para aceptar llamadas a ProcessorIdleVeto o PlatformIdleVeto.
El marco de administración de energía de Windows (PoFx) envía esta notificación después de la inicialización del procesador, pero antes de la primera entrada inactiva para indicar que el sistema operativo está listo para aceptar llamadas a ProcessorIdleVeto o PlatformIdleVeto. El PEP puede enumerar cualquier veta de tiempo de arranque en el contexto de esta notificación, y el sistema operativo garantiza que surtan efecto antes del primer intento de seleccionar un procesador, plataforma o estado de inactividad coordinado. Esta notificación no tiene ningún parámetro Data asociado.
Para una notificación de PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_PARK_MASK
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PARK_MASK.
Data
Puntero a una estructura PEP_PPM_PARK_MASK.
Comentarios:
Informa al PEP de la máscara de estacionamiento principal actual.
El marco de administración de energía de Windows (PoFx) envía esta notificación en tiempo de ejecución para informar al PEP de la máscara de estacionamiento principal actual.
Para una notificación de PEP_NOTIFY_PPM_PARK_MASK, se llama a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL y se puede enviar mientras se ejecuta en cualquier procesador.
PEP_NOTIFY_PPM_PARK_SELECTION_V2
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PARK_SELECTION_V2.
Data
Puntero a una estructura de PEP_PPM_PARK_SELECTION_V2.
Comentarios:
Informa al PEP de que el sistema operativo desea que seleccione un conjunto preferido de núcleos para estacionar o dirigir interrupciones fuera de él. Si no se acepta esta notificación, el sistema operativo revertirá al envío de la notificación de PEP_NOTIFY_PPM_PARK_SELECTION.
Al ejecutar su algoritmo de comprobación de rendimiento, el sistema operativo puede enviar la notificación de PEP_NOTIFY_PPM_PARK_SELECTION_V2 varias veces: cero o más veces para cada clase de eficiencia principal dentro de cada dominio de parque y cero o más veces para la dirección de interrupción. Para ayudar al PEP a proporcionar una respuesta coherente al sistema operativo para una comprobación de rendimiento, el sistema operativo proporcionará la marca de tiempo basada en el tiempo de interrupción de la evaluación de comprobación de rendimiento que ha pedido la notificación. Todas las notificaciones de selección de parque resultantes de una evaluación de comprobación de rendimiento tendrán la misma marca de tiempo. Tenga en cuenta que los campos restantes (Count, AdditionalUnparkedProcessors, EvaluationType y Processors) pueden variar para las notificaciones que se envían durante la misma evaluación de comprobación de rendimiento, el PEP no puede suponer que seguirán siendo los mismos.
Para una notificación de PEP_NOTIFY_PPM_PARK_SELECTION, siempre se llama a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL.
PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.
Data
Puntero a una estructura PEP_PPM_PERF_CHECK_COMPLETE.
Comentarios:
Informa al PEP de que se ha completado la evaluación periódica de la comprobación de rendimiento.
El marco de administración de energía de Windows (PoFx) envía esta notificación en tiempo de ejecución para notificar al PEP que se ha completado la evaluación periódica por comprobación.
Para una notificación de PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, se llama a la rutina AcceptProcessorNotification en IRQL = DISPATCH_LEVEL y se puede enviar mientras se ejecuta en cualquier procesador.
PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.
Data
Puntero a una estructura de PEP_PPM_QUERY_COORDINATED_DEPENDENCY.
Comentarios:
Se envía al PEP para consultar las dependencias de cada estado inactivo coordinado.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar el PEP de las dependencias de cada estado inactivo coordinado. El sistema operativo asignará los elementos MaximumDependencySize para la matriz Dependencies. El PEP debe rellenar el número de elementos de la matriz que se usaron en DependencySizeUsed.
Si la dependencia que se expresa está en un procesador, PEP rellena el campo TargetProcessor con el POHANDLE del procesador de destino. A continuación, el campo ExpectedState hace referencia al índice de un estado de inactividad del procesador de destino.
Si la dependencia que se expresa se encuentra en otros estados inactivos coordinados, PEP rellena NULL para TargetProcessor. A continuación, el campo ExpectedState hace referencia al índice de un estado inactivo coordinado.
Cada dependencia enumera un menú de opciones que el sistema operativo puede usar para satisfacer la dependencia. Al estar inactivo, el sistema operativo intentará satisfacer la dependencia comprobando las condiciones de cada uno, desde el índice más alto hasta el índice más bajo. Si se cumplen las condiciones de una dependencia, el sistema operativo considerará que se cumple la dependencia. Si no se puede cumplir ninguna de las condiciones, no se cumple la dependencia y no se puede especificar el estado de inactividad coordinado.
Para una notificación de PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.
Data
Puntero a una estructura de PEP_PPM_QUERY_STATE_NAME.
Comentarios:
Se envía al PEP para consultar información sobre un estado de inactividad coordinado o de plataforma específico.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar el PEP para obtener información sobre un estado de inactividad coordinado o de plataforma específico. Esta notificación se envía dos veces para cada estado, una vez con un búfer de nombres NULL para recuperar el tamaño de asignación necesario para Name y una vez con un búfer de nombre no NULL para rellenar el contenido de Name. El nombre debe ser una cadena legible que indique el nombre del estado inactivo coordinado. Los estados inactivos coordinados deben tener nombres únicos, excepto en los sistemas de varios clústeres, donde los nombres de estados equivalentes en clústeres diferentes pueden ser los mismos. Las herramientas de depuración como WPA y el depurador de kernel mostrarán El nombre en los diagnósticos que hacen referencia a este estado de inactividad coordinado o de plataforma.
Para una notificación de PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.
Data
Puntero a una estructura PEP_PPM_QUERY_COORDINATED_STATES.
Comentarios:
Se usa en la inicialización del procesador para consultar las propiedades de todos los estados inactivos coordinados.
El marco de administración de energía de Windows (PoFx) envía esta notificación al PEP en la inicialización del procesador para consultar las propiedades de todos los estados inactivos coordinados. Esta notificación se envía justo antes de que el PEP hubiera enviado la notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Si se acepta, el PEP usa la interfaz de estado inactivo coordinado y no recibirá ninguna PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE notificaciones. Si no se acepta, el PEP usa la interfaz de estado inactivo de la plataforma y el sistema operativo revertirá al uso de la notificación de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE para consultar los estados inactivos coordinados.
El sistema operativo esperará a enviar esta notificación hasta que todos los procesadores se hayan registrado con el PEP.
El PEP rellena la estructura State con información sobre los estados inactivos coordinados.
El orden de los estados inactivos coordinados debe seguir las reglas siguientes:
Dos estados coordinados que representan diferentes estados de energía para la misma unidad funcional deben aparecer en orden de menor tamaño (la mayoría del consumo de energía/menor costo de transición) al más profundo (menor consumo de energía/mayor costo de transición). Los estados inactivos coordinados solo pueden depender de otros estados inactivos coordinados con un índice inferior. No se requiere el orden entre dos estados inactivos coordinados separados (es decir, dos estados inactivos coordinados que dependen de conjuntos separados de procesadores).
Para una notificación de PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.
Data
Puntero a una estructura de PEP_PPM_QUERY_STATE_NAME.
Comentarios:
Se envía al PEP para consultar información sobre un estado de inactividad específico del procesador.
El marco de administración de energía de Windows (PoFx) envía esta notificación en la inicialización del procesador para consultar el PEP para obtener información sobre un estado de inactividad específico del procesador. Esta notificación se envía dos veces para cada estado, una vez con un búfer de nombres NULL para recuperar el tamaño de asignación necesario para Name y una vez con un búfer de nombre no NULL para rellenar el contenido de Name. El nombre debe ser una cadena legible que indique el nombre del estado inactivo coordinado. Los estados inactivos coordinados deben tener nombres únicos, excepto en los sistemas de varios clústeres, donde los nombres de estados equivalentes en clústeres diferentes pueden ser los mismos. Las herramientas de depuración como WPA y el depurador de kernel mostrarán El nombre en los diagnósticos que hacen referencia a este estado de inactividad coordinado o de plataforma.
Para una notificación de PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, siempre se llama a la rutina AcceptProcessorNotification en IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.
Data
Puntero a una estructura de PEP_PPM_ENTER_SYSTEM_STATE.
Comentarios:
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE es una notificación opcional que notifica al PEP que el sistema está a punto de entrar en un estado de alimentación del sistema. Esta notificación se envía a todos los procesadores simultáneamente después de que el sistema haya completado todo el trabajo de nivel pasivo que realiza la transición del procesador al estado de alimentación del sistema.
Esta notificación se envía en DISPATCH_LEVEL, con todos los procesadores en el envío. Esta notificación siempre se ejecuta en el procesador de destino.
Nota El PEP no debe poner en cola ningún trabajo de esta notificación. Los procesadores no procesarán elementos de trabajo, DPC, etc. después de que se haya enviado esta notificación.
DISPATCH_LEVEL
PEP_NOTIFY_PPM_PERF_SET_STATE
A continuación se describen los parámetros para AcceptProcessorNotification.
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_PERF_SET_STATE.
Data
Puntero a una estructura PEP_PPM_PERF_SET_STATE .
Comentarios:
Se usa en tiempo de ejecución para establecer el estado de rendimiento operativo actual del procesador. Si el PEP tiene hardware autónomo capaz de aumentar o reducir el rendimiento sin una solicitud de conjunto de rendimiento, debe limitar las solicitudes del hardware autónomo en función del estado de rendimiento mínimo o el estado máximo de rendimiento, y tener como destino el estado de rendimiento deseado. De lo contrario, debe ejecutarse exactamente en el estado de rendimiento deseado.
Esta notificación se envía en DISPATCH_LEVEL. Si los estados de rendimiento dirigidos por el programador están en uso, el PEP debe cumplir las restricciones de la sección 3.3.6 al procesar esta notificación. Se puede enviar mientras se ejecuta en cualquier procesador.
PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.
Data
Puntero a una estructura de PEP_PPM_QUERY_DISCRETE_PERF_STATES. Se usa en la inicialización del procesador para consultar la lista de estados de rendimiento discretos que admite el PEP, si la notificación de PEP_NOTIFY_PPM_QUERY_CAPABILITIES indica compatibilidad con estados de rendimiento discretos.
La lista de estados de rendimiento debe ordenarse de la más rápida a la más lenta, con cada asignación de estado de rendimiento a un valor de rendimiento distinto. La lista de estados de rendimiento también debe incluir una entrada que coincida con cada valor de rendimiento que aparezca en la notificación PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Esta notificación se envía en PASSIVE_LEVEL. Se puede enviar mientras se ejecuta en cualquier procesador.
PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.
Data
Puntero a una estructura de PEP_PPM_QUERY_DOMAIN_INFO.
Comentarios:
Notificación opcional que consulta información sobre un dominio de rendimiento. Esta notificación se envía en PASSIVE_LEVEL. Se puede enviar mientras se ejecuta en cualquier procesador.
PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE
Handle
Estructura PEPHANDLE que contiene el identificador del dispositivo del PEP para el procesador de destino. Si la notificación no tiene como destino un procesador específico, será NULL.
Notificación
Valor PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.
Data
Puntero a una estructura de PEP_PPM_RESUME_FROM_SYSTEM_STATE.
Comentarios:
Una notificación opcional que notifica al PEP que el sistema acaba de reanudarse desde un estado de alimentación del sistema. Esta notificación se envía a todos los procesadores simultáneamente justo antes de que los procesadores se liberen para reanudar el trabajo de nivel pasivo. Esta notificación se envía en DISPATCH_LEVEL, con todos los procesadores en el envío. Esta notificación siempre se ejecuta en el procesador de destino.