Partager via


WDF_DEVICE_POWER_CAPABILITIES structure (wdfdevice.h)

[S’applique à KMDF et UMDF]

La structure WDF_DEVICE_POWER_CAPABILITIES décrit les capacités d’alimentation d’un appareil.

Syntaxe

typedef struct _WDF_DEVICE_POWER_CAPABILITIES {
  ULONG              Size;
  WDF_TRI_STATE      DeviceD1;
  WDF_TRI_STATE      DeviceD2;
  WDF_TRI_STATE      WakeFromD0;
  WDF_TRI_STATE      WakeFromD1;
  WDF_TRI_STATE      WakeFromD2;
  WDF_TRI_STATE      WakeFromD3;
  DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
  DEVICE_POWER_STATE DeviceWake;
  SYSTEM_POWER_STATE SystemWake;
  ULONG              D1Latency;
  ULONG              D2Latency;
  ULONG              D3Latency;
  DEVICE_POWER_STATE IdealDxStateForSx;
} WDF_DEVICE_POWER_CAPABILITIES, *PWDF_DEVICE_POWER_CAPABILITIES;

Membres

Size

Taille, en octets, de cette structure.

DeviceD1

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil prend en charge l’état de veille de l’appareil D1. Pour plus d’informations sur la valeur WDF_TRI_STATE , consultez la section Remarques suivante.

DeviceD2

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil prend en charge l’état de veille de l’appareil D2.

WakeFromD0

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut répondre à un signal de veille alors qu’il est dans son état D0.

WakeFromD1

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut répondre à un signal de veille alors qu’il est dans son état D1.

WakeFromD2

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut répondre à un signal de veille alors qu’il est dans son état D2.

WakeFromD3

Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut répondre à un signal de veille alors qu’il est dans son état D3.

DeviceState[PowerSystemMaximum]

Tableau de valeurs de type DEVICE_POWER_STATE qui indique l’état de l’appareil le plus alimenté pris en charge par l’appareil pour chaque état d’alimentation du système. Ce tableau utilise l’énumération SYSTEM_POWER_STATE comme valeurs d’index. Si la valeur d’un élément de tableau est PowerDeviceMaximum, l’infrastructure utilise la valeur que le système d’exploitation a stockée pour cet élément. Les énumérations DEVICE_POWER_STATE et SYSTEM_POWER_STATE sont définies dans wdm.h. Pour plus d’informations sur le membre DeviceState , consultez DeviceState.

DeviceWake

Valeur de type DEVICE_POWER_STATE qui indique l’état d’alimentation le plus faible de l’appareil à partir duquel l’appareil peut envoyer un signal de sortie de veille au système. Si cette valeur est PowerDeviceMaximum, le framework utilise la valeur actuellement stockée dans le système pour ce membre.

SystemWake

Valeur de type SYSTEM_POWER_STATE qui indique l’état d’alimentation du système le plus bas à partir duquel l’appareil peut envoyer un signal de sortie de veille au système. Si cette valeur est PowerSystemMaximum, l’infrastructure utilise la valeur actuellement stockée dans le système pour ce membre. SYSTEM_POWER_STATE valeurs sont définies dans wdm.h.

D1Latency

Durée approximative, en unités de 100 nanosecondes, dont l’appareil a besoin pour revenir à son état D0 à partir de son état D1. Si cette valeur est -1, l’infrastructure utilise la valeur actuellement stockée dans le système pour ce membre.

D2Latency

Durée approximative, en unités de 100 nanosecondes, dont l’appareil a besoin pour revenir à son état D0 à partir de son état D2. Si cette valeur est -1, l’infrastructure utilise la valeur actuellement stockée dans le système pour ce membre.

D3Latency

Durée approximative, en unités de 100 nanosecondes, dont l’appareil a besoin pour revenir à son état D0 à partir de son état D3. Si cette valeur est -1, l’infrastructure utilise la valeur actuellement stockée dans le système pour ce membre.

IdealDxStateForSx

Valeur de type DEVICE_POWER_STATE qui indique l’état de veille de l’appareil que l’appareil doit entrer lorsque le système passe à l’état de veille du système et que l’appareil n’est pas activé pour sortir le système. Si cette valeur est égale à zéro, l’infrastructure utilise PowerDeviceD3. Cette valeur ne peut pas être PowerDeviceD0.

Si un pilote spécifie une valeur IdealDxStateForSx qui représente un état de veille d’appareil plus puissant que celui spécifié par la pile de l’appareil dans le tableau DeviceState de l’appareil, le framework utilise l’état de faible puissance qui se trouve dans le tableau. Par exemple, si le pilote spécifie une valeur IdealDxStateForSx de D1 et que le tableau DeviceState de l’appareil spécifie D2, l’infrastructure utilise D2.

Remarques

La structure WDF_DEVICE_POWER_CAPABILITIES est utilisée comme entrée dans WdfDeviceSetPowerCapabilities.

Plusieurs membres utilisent le type WDF_TRI_STATE . Pour ces membres, les règles suivantes s’appliquent :

  • Une valeur de WdfTrue indique que l’appareil prend en charge la fonctionnalité, et une valeur de WdfFalse indique que ce n’est pas le cas.
  • Les pilotes de fonction et les pilotes de filtre peuvent spécifier WdfTrue ou WdfFalse, ou une valeur de WdfUseDefault pour indiquer que l’infrastructure doit utiliser la valeur fournie par un pilote inférieur dans la pile. Par exemple, si un pilote de bus spécifie WdfTrue pour DeviceD1 et que le pilote de fonction de l’appareil spécifie WdfUseDefault, l’infrastructure utilise WdfTrue pour la fonctionnalité.
  • Lorsqu’un pilote de bus appelle WdfDeviceSetPowerCapabilities après avoir créé un objet d’appareil pour un appareil enfant, il doit spécifier WdfTrue ou WdfFalse. Un pilote de bus peut spécifier WdfUseDefault pour un appareil enfant, mais dans ce cas , WdfUseDefault est identique à WdfFalse.
Pour initialiser une structure WDF_DEVICE_POWER_CAPABILITIES, un pilote doit appeler WDF_DEVICE_POWER_CAPABILITIES_INIT.

Configuration requise

Condition requise Valeur
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (inclure Wdf.h)

Voir aussi

WDF_DEVICE_PNP_CAPABILITIES