Compartir a través de


estructura PO_FX_DEVICE_V2 (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_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 admitir 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

Establezca en 0. Actualmente, no se definen marcas para este miembro.

ComponentActiveConditionCallback

Puntero a la rutina de devolución de llamada ComponentActiveConditionCallback que implementa el controlador de dispositivo.

ComponentIdleConditionCallback

Puntero al ComponentIdleConditionCallback rutina de devolución de llamada implementada por el controlador de dispositivo.

ComponentIdleStateCallback

Puntero a la ComponentIdleStateCallback rutina de devolución de llamada implementada por el controlador de dispositivo.

DevicePowerRequiredCallback

Puntero a la DevicePowerRequiredCallback rutina de devolución de llamada implementada por el controlador del dispositivo.

DevicePowerNotRequiredCallback

Puntero al DevicePowerNotRequiredCallback rutina de devolución de llamada implementada por el controlador de dispositivo.

PowerControlCallback

Puntero a la PowerControlCallback rutina de devolución de llamada 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 Componentes de. 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 potencia 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.

Observaciones

Para registrar un dispositivo con PoFx, un controlador llama al PoFxRegisterDevice rutina y proporciona, como parámetro, un puntero a una estructura de PO_FX_DEVICE que describe el dispositivo.

Cada elemento de Components matriz describe los atributos de estado de energía de un componente del dispositivo. Cada componente del dispositivo se identifica mediante su Componentes índice de matriz. Rutinas como poFxActivateComponent y PoFxCompleIdleCondition usar 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 ComponentIdleStateCallback, ComponentActiveConditionCallbacky ComponentIdleConditionCallback rutinas. De lo contrario, se produce un error en el registro del dispositivo y poFxRegisterDevice devuelve STATUS_INVALID_PARAMETER.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite a partir de Windows 8.
encabezado de wdm.h (incluya Wudfwdm.h)

Consulte también

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

poFxActivateComponent

PoFxCompleIdleCondition

poFxRegisterDevice

PowerControlCallback