Función PoFxRegisterComponentPerfStates (wdm.h)
La rutina PoFxRegisterComponentPerfStates registra un componente de dispositivo para la administración del estado de rendimiento por parte del marco de administración de energía (PoFx).
Sintaxis
NTSTATUS PoFxRegisterComponentPerfStates(
[in] POHANDLE Handle,
[in] ULONG Component,
[in] ULONGLONG Flags,
[in] PPO_FX_COMPONENT_PERF_STATE_CALLBACK ComponentPerfStateCallback,
[in] PPO_FX_COMPONENT_PERF_INFO InputStateInfo,
[out] PPO_FX_COMPONENT_PERF_INFO *OutputStateInfo
);
Parámetros
[in] Handle
Identificador que representa el registro del dispositivo con PoFx. El controlador de dispositivo recibió previamente este identificador de la rutina PoFxRegisterDevice .
[in] Component
Índice que identifica el componente cuyos estados de rendimiento se administrarán. Este parámetro es un índice en la matriz Components de la estructura PO_FX_DEVICE que el controlador de dispositivo usó para registrar el dispositivo con PoFx. Si la matriz Components contiene N elementos, los índices de componente van de 0 a N-1.
[in] Flags
Marcas que modifican el comportamiento del registro de estado de rendimiento. Establezca este miembro en cero o en uno de los siguientes bits de marca PO_FX_FLAG_PERF_XXX :
[in] ComponentPerfStateCallback
Puntero a una rutina ComponentPerfStateCallback . Se llama a esta rutina cuando PoFx ha completado el registro y notifica al PEP sobre una transición de estado de rendimiento iniciada por la llamada del controlador a PoFxIssueComponentPerfStateChange o PoFxIssueComponentPerfStateChangeMultiple. Esta devolución de llamada puede ser la misma para todos los componentes y todos los dispositivos; PoFx proporciona el identificador de dispositivo y el índice de componentes en cada llamada de finalización.
[in] InputStateInfo
Si el controlador proporciona información de estado de rendimiento, este parámetro contiene un puntero a un controlador asignado PO_FX_COMPONENT_PERF_INFO estructura que proporciona información de estado de rendimiento a PoFx. Si el controlador requiere información de estado de rendimiento del PEP, este parámetro debe establecerse en NULL.
[out] OutputStateInfo
Si el controlador requiere información de estado de rendimiento del PEP, después de un registro correcto, este parámetro contiene un puntero a una estructura de PO_FX_COMPONENT_PERF_INFO que proporciona información de estado de rendimiento definida por el PEP. Si el controlador proporciona información de estado de rendimiento, este parámetro debe establecerse en NULL.
PoFx administra la memoria asignada para este parámetro y el controlador no debe liberar esta memoria cuando se quita el dispositivo. Se garantiza que la duración de esta memoria supere la duración del componente de PoFx que contiene estos conjuntos de estados de rendimiento.
Valor devuelto
PoFxRegisterComponentPerfStates devuelve STATUS_SUCCESS si PoFx acepta el registro del dispositivo de los estados de rendimiento. Si alguna de las informaciones necesarias no se proporciona o no es correcta, se producirá un error en el registro con un código de retorno distinto de STATUS_SUCCESS. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.
Código devuelto | Descripción |
---|---|
|
El parámetro Flags no incluye la marca PO_FX_FLAG_PERF_PEP_OPTIONAL y el PEP no puede proporcionar administración del estado de rendimiento para este dispositivo. |
|
InputStateInfo y OutputStateInfo son NULL o ambos parámetros no son NULL o no hay ningún conjunto de estados de rendimiento en la estructura PO_FX_COMPONENT_PERF_INFO que se asignó al parámetro InputStateInfo. |
Comentarios
Tenga en cuenta que PoFx realiza una copia profunda de las estructuras del dispositivo en su memoria.
El controlador o el complemento de extensión de plataforma (PEP) pueden proporcionar información sobre los estados de rendimiento admitidos por cada componente:
- Si el controlador proporciona información de estado de rendimiento, el controlador debe establecer el parámetro InputStateInfo en un puntero a una estructura PO_FX_COMPONENT_PERF_INFO que contenga la información de estado de rendimiento. De lo contrario, el controlador debe establecer este parámetro en NULL.
- Si el PEP proporciona información de estado de rendimiento, el controlador debe establecer el parámetro OutputStateInfo en un puntero válido en una estructura de PO_FX_COMPONENT_PERF_INFO que recibe la información de estado de rendimiento. De lo contrario, el controlador debe establecer este parámetro en NULL.
Si el controlador se registra para admitir el estado de rendimiento solo con fines de registro, o si el controlador puede funcionar correctamente con o sin compatibilidad con PEP para la administración del estado de rendimiento, el controlador debe establecer la marca PO_FX_FLAG_PERF_PEP_OPTIONAL en el parámetro Flags . Si se establece la marca, la llamada de registro se realizará correctamente incluso si el PEP no proporciona compatibilidad con los estados de rendimiento.
Si el controlador requiere que el PEP proporcione información de estado de rendimiento, el controlador no puede establecer la marca PO_FX_FLAG_PERF_PEP_OPTIONAL en el parámetro Flags .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 10. |
Plataforma de destino | Universal |
Encabezado | wdm.h |
Library | Ntoskrnl.lib |
Archivo DLL | Ntoskrnl.exe |
IRQL | <= APC_LEVEL |