estrutura PO_FX_DEVICE_V2 (wdm.h)

A estrutura PO_FX_DEVICE descreve os atributos de energia de um dispositivo para a PoFx (estrutura de gerenciamento de energia).

Sintaxe

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;

Membros

Version

O número de versão dessa estrutura. Se o driver se registrar para obter suporte de estado de desempenho com PoFx, defina esse membro como PO_FX_VERSION_V2. Caso contrário, defina esse membro como PO_FX_VERSION_V1.

Flags

Defina como 0. Atualmente, nenhum sinalizador é definido para esse membro.

ComponentActiveConditionCallback

Um ponteiro para a rotina de retorno de chamada ComponentActiveConditionCallback implementada pelo driver de dispositivo.

ComponentIdleConditionCallback

Um ponteiro para a rotina de retorno de chamada ComponentIdleConditionCallback implementada pelo driver de dispositivo.

ComponentIdleStateCallback

Um ponteiro para a rotina de retorno de chamada ComponentIdleStateCallback implementada pelo driver de dispositivo.

DevicePowerRequiredCallback

Um ponteiro para a rotina de retorno de chamada DevicePowerRequiredCallback implementada pelo driver de dispositivo.

DevicePowerNotRequiredCallback

Um ponteiro para a rotina de retorno de chamada DevicePowerNotRequiredCallback implementada pelo driver de dispositivo.

PowerControlCallback

Um ponteiro para a rotina de retorno de chamada PowerControlCallback implementada pelo driver de dispositivo.

DeviceContext

Um ponteiro para um contexto de dispositivo alocado pelo chamador. Esse ponteiro é passado como um parâmetro para cada função de retorno de chamada implementada pelo driver que é apontada por essa estrutura. O driver de dispositivo usa esse contexto para armazenar informações sobre o estado de energia atual do dispositivo. Esse contexto é opaco para PoFx.

ComponentCount

O número de elementos na matriz Components . Além disso, esse membro especifica o número de componentes no dispositivo.

Components[ANYSIZE_ARRAY]

Esse membro é o primeiro elemento em uma matriz de um ou mais elementos PO_FX_COMPONENT . Se a matriz contiver mais de um elemento, os elementos adicionais seguirão imediatamente a estrutura PO_FX_DEVICE . A matriz contém um elemento para cada componente no dispositivo. O estado de energia fx de cada componente pode ser controlado independentemente dos estados de energia fx dos outros componentes no dispositivo. A constante ANYSIZE_ARRAY é definida como 1 no arquivo de cabeçalho Ntdef.h.

Comentários

Para registrar um dispositivo com PoFx, um driver chama a rotina PoFxRegisterDevice e fornece, como parâmetro, um ponteiro para uma estrutura PO_FX_DEVICE que descreve o dispositivo.

Cada elemento na matriz Components descreve os atributos de estado de energia de um componente no dispositivo. Cada componente no dispositivo é identificado pelo índice da matriz Components . Rotinas como PoFxActivateComponent e PoFxCompleteIdleCondition usam o índice de matriz de um componente para identificar o componente.

Um driver de dispositivo não é necessário para implementar todas as seis rotinas de retorno de chamada. O driver poderá definir um ponteiro de função na estrutura PO_FX_DEVICE como NULL se o driver não implementar a rotina de retorno de chamada correspondente. No entanto, determinadas rotinas de retorno de chamada devem ser implementadas. Especificamente, se um ou mais componentes em um dispositivo tiverem mais de um estado Fx, o driver deverá implementar as rotinas ComponentIdleStateCallback, ComponentActiveConditionCallback e ComponentIdleConditionCallback . Caso contrário, o registro do dispositivo falhará e PoFxRegisterDevice retornará STATUS_INVALID_PARAMETER.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte a partir do Windows 8.
Cabeçalho wdm.h (include Wudfwdm.h)

Confira também

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback