estructura PO_FX_DEVICE_V2 (wdm.h)
La estructura PO_FX_DEVICE describe los atributos de potencia de un dispositivo al marco de administración de energía (PoFx).
Sintaxis
typedef struct _PO_FX_DEVICE_V2 {
ULONG Version;
ULONGLONG Flags;
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback;
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback;
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback;
PPO_FX_DEVICE_POWER_REQUIRED_CALLBACK DevicePowerRequiredCallback;
PPO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK DevicePowerNotRequiredCallback;
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback;
PVOID DeviceContext;
ULONG ComponentCount;
PO_FX_COMPONENT_V2 Components[ANYSIZE_ARRAY];
} PO_FX_DEVICE_V2, *PPO_FX_DEVICE_V2;
Miembros
Version
Número de versión de esta estructura. Si el controlador se registrará para obtener compatibilidad con el estado de rendimiento con PoFx, establezca este miembro en PO_FX_VERSION_V2. De lo contrario, establezca este miembro en PO_FX_VERSION_V1.
Flags
Establecer en 0. Actualmente, no se definen marcas para este miembro.
ComponentActiveConditionCallback
Puntero a la rutina de devolución de llamada ComponentActiveConditionCallback implementada por el controlador de dispositivo.
ComponentIdleConditionCallback
Puntero a la rutina de devolución de llamada ComponentIdleConditionCallback implementada por el controlador de dispositivo.
ComponentIdleStateCallback
Puntero a la rutina de devolución de llamada ComponentIdleStateCallback implementada por el controlador de dispositivo.
DevicePowerRequiredCallback
Puntero a la rutina de devolución de llamada DevicePowerRequiredCallback implementada por el controlador de dispositivo.
DevicePowerNotRequiredCallback
Puntero a la rutina de devolución de llamada DevicePowerNotRequiredCallback implementada por el controlador de dispositivo.
PowerControlCallback
Puntero a la rutina de devolución de llamada PowerControlCallback implementada por el controlador de dispositivo.
DeviceContext
Puntero a un contexto de dispositivo asignado por el autor de la llamada. Este puntero se pasa como parámetro a cada función de devolución de llamada implementada por el controlador a la que apunta esta estructura. El controlador de dispositivo usa este contexto para almacenar información sobre el estado de energía actual del dispositivo. Este contexto es opaco para PoFx.
ComponentCount
Número de elementos de la matriz Components . Además, este miembro especifica el número de componentes del dispositivo.
Components[ANYSIZE_ARRAY]
Este miembro es el primer elemento de una matriz de uno o varios elementos PO_FX_COMPONENT . Si la matriz contiene más de un elemento, los elementos adicionales siguen inmediatamente la estructura PO_FX_DEVICE . La matriz contiene un elemento para cada componente del dispositivo. El estado de energía Fx de cada componente se puede controlar independientemente de los estados de potencia fx de los demás componentes del dispositivo. La constante ANYSIZE_ARRAY se define como 1 en el archivo de encabezado Ntdef.h.
Comentarios
Para registrar un dispositivo con PoFx, un controlador llama a la rutina PoFxRegisterDevice y proporciona, como parámetro, un puntero a una estructura PO_FX_DEVICE que describe el dispositivo.
Cada elemento de la matriz Components describe los atributos de estado de energía de un componente del dispositivo. Cada componente del dispositivo se identifica mediante su índice de matriz Components . Las rutinas como PoFxActivateComponent y PoFxCompleIdleCondition usan el índice de matriz de un componente para identificar el componente.
No es necesario un controlador de dispositivo para implementar las seis rutinas de devolución de llamada. El controlador puede establecer un puntero de función en la estructura PO_FX_DEVICE en NULL si el controlador no implementa la rutina de devolución de llamada correspondiente. Sin embargo, se deben implementar ciertas rutinas de devolución de llamada. En concreto, si uno o varios componentes de un dispositivo tienen más de un estado Fx, el controlador debe implementar rutinas ComponentIdleStateCallback, ComponentActiveConditionCallback y ComponentIdleConditionCallback . De lo contrario, se produce un error en el registro del dispositivo y PoFxRegisterDevice devuelve STATUS_INVALID_PARAMETER.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite a partir de Windows 8. |
Encabezado | wdm.h (incluya Wudfwdm.h) |
Consulte también
ComponentActiveConditionCallback
ComponentIdleConditionCallback