estructura PO_FX_DEVICE_V1 (wdm.h)

La estructura PO_FX_DEVICE describe los atributos de energía de un dispositivo en el marco de administración de energía (PoFx).

Sintaxis

typedef struct _PO_FX_DEVICE_V1 {
  ULONG                                      Version;
  ULONG                                      ComponentCount;
  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;
  PO_FX_COMPONENT_V1                         Components[ANYSIZE_ARRAY];
} PO_FX_DEVICE_V1, *PPO_FX_DEVICE_V1;

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.

ComponentCount

Número de elementos de la matriz Components . Además, este miembro especifica el número de componentes del dispositivo.

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 alimentación actual del dispositivo. Este contexto es opaco para PoFx.

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 se requiere 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

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback