Lire en anglais

Partager via


structure PO_FX_DEVICE_V2 (wdm.h)

La structure PO_FX_DEVICE décrit les attributs d’alimentation d’un appareil à l’infrastructure de gestion de l’alimentation (PoFx).

Syntaxe

C++
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;

Membres

Version

Numéro de version de cette structure. Si le pilote s’inscrit à la prise en charge de l’état des performances avec PoFx, définissez ce membre sur PO_FX_VERSION_V2. Sinon, définissez ce membre sur PO_FX_VERSION_V1.

Flags

Défini sur 0. Actuellement, aucun indicateur n’est défini pour ce membre.

ComponentActiveConditionCallback

Pointeur vers la routine de rappel ComponentActiveConditionCallback implémentée par le pilote de périphérique.

ComponentIdleConditionCallback

Pointeur vers la routine de rappel ComponentIdleConditionCallback implémentée par le pilote de périphérique.

ComponentIdleStateCallback

Pointeur vers la routine de rappel ComponentIdleStateCallback implémentée par le pilote de périphérique.

DevicePowerRequiredCallback

Pointeur vers la routine de rappel DevicePowerRequiredCallback implémentée par le pilote de périphérique.

DevicePowerNotRequiredCallback

Pointeur vers la routine de rappel DevicePowerNotRequiredCallback implémentée par le pilote de périphérique.

PowerControlCallback

Pointeur vers la routine de rappel PowerControlCallback implémentée par le pilote de périphérique.

DeviceContext

Pointeur vers un contexte d’appareil alloué par l’appelant. Ce pointeur est passé en tant que paramètre à chaque fonction de rappel implémentée par le pilote qui est pointée par cette structure. Le pilote de périphérique utilise ce contexte pour stocker des informations sur l’état actuel de l’alimentation de l’appareil. Ce contexte est opaque pour PoFx.

ComponentCount

Nombre d’éléments dans le tableau Components. De plus, ce membre spécifie le nombre de composants dans l’appareil.

Components[ANYSIZE_ARRAY]

Ce membre est le premier élément d’un tableau d’un ou plusieurs éléments PO_FX_COMPONENT. Si le tableau contient plusieurs éléments, les éléments supplémentaires suivent immédiatement la structure PO_FX_DEVICE. Le tableau contient un élément pour chaque composant de l’appareil. L’état de puissance Fx de chaque composant peut être contrôlé indépendamment des états d’alimentation Fx des autres composants de l’appareil. La constante ANYSIZE_ARRAY est définie sur 1 dans le fichier d’en-tête Ntdef.h.

Remarques

Pour inscrire un appareil auprès de PoFx, un pilote appelle la PoFxRegisterDevice routine et fournit, en tant que paramètre, un pointeur vers une structure PO_FX_DEVICE qui décrit l’appareil.

Chaque élément du tableau Components décrit les attributs d’état d’alimentation d’un composant de l’appareil. Chaque composant de l’appareil est identifié par son index de tableau Components. Les routines telles que PoFxActivateComponent et PoFxCompleteIdleCondition utiliser l’index de tableau d’un composant pour identifier le composant.

Un pilote de périphérique n’est pas nécessaire pour implémenter les six routines de rappel. Le pilote peut définir un pointeur de fonction dans la structure PO_FX_DEVICE sur NULL si le pilote n’implémente pas la routine de rappel correspondante. Toutefois, certaines routines de rappel doivent être implémentées. Plus précisément, si un ou plusieurs composants d’un appareil ont plusieurs états Fx, le pilote doit implémenter ComponentIdleStateCallback, ComponentActiveConditionCallbacket ComponentIdleConditionCallback routines. Sinon, l’inscription de l’appareil échoue et PoFxRegisterDevice retourne STATUS_INVALID_PARAMETER.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge à partir de Windows 8.
d’en-tête wdm.h (include Wudfwdm.h)

Voir aussi

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback