Condividi tramite


struttura PO_FX_DEVICE_V1 (wdm.h)

La struttura PO_FX_DEVICE descrive gli attributi di alimentazione di un dispositivo al framework di risparmio energia (PoFx).

Sintassi

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;

Members

Version

Numero di versione di questa struttura. Se il driver eseguirà la registrazione per il supporto dello stato delle prestazioni con PoFx, impostare questo membro su PO_FX_VERSION_V2. In caso contrario, impostare questo membro su PO_FX_VERSION_V1.

ComponentCount

Numero di elementi nella matrice Components . Inoltre, questo membro specifica il numero di componenti nel dispositivo.

ComponentActiveConditionCallback

Puntatore alla routine di callback ComponentActiveConditionCallback implementata dal driver di dispositivo.

ComponentIdleConditionCallback

Puntatore alla routine di callback ComponentIdleConditionCallback implementata dal driver di dispositivo.

ComponentIdleStateCallback

Puntatore alla routine di callback ComponentIdleStateCallback implementata dal driver di dispositivo.

DevicePowerRequiredCallback

Puntatore alla routine di callback DevicePowerRequiredCallback implementata dal driver di dispositivo.

DevicePowerNotRequiredCallback

Puntatore alla routine di callback DevicePowerNotRequiredCallback implementata dal driver di dispositivo.

PowerControlCallback

Puntatore alla routine di callback PowerControlCallback implementata dal driver di dispositivo.

DeviceContext

Puntatore a un contesto di dispositivo allocato dal chiamante. Questo puntatore viene passato come parametro a ogni funzione di callback implementata dal driver a cui punta questa struttura. Il driver di dispositivo usa questo contesto per archiviare informazioni sullo stato di alimentazione corrente del dispositivo. Questo contesto è opaco a PoFx.

Components[ANYSIZE_ARRAY]

Questo membro è il primo elemento in una matrice di uno o più elementi PO_FX_COMPONENT . Se la matrice contiene più elementi, gli elementi aggiuntivi seguono immediatamente la struttura PO_FX_DEVICE . La matrice contiene un elemento per ogni componente nel dispositivo. Lo stato di alimentazione Fx di ogni componente può essere controllato indipendentemente dagli stati di alimentazione Fx degli altri componenti nel dispositivo. La costante ANYSIZE_ARRAY è definita come 1 nel file di intestazione Ntdef.h.

Commenti

Per registrare un dispositivo con PoFx, un driver chiama la routine PoFxRegisterDevice e fornisce, come parametro, un puntatore a una struttura PO_FX_DEVICE che descrive il dispositivo.

Ogni elemento nella matrice Components descrive gli attributi dello stato di alimentazione di un componente nel dispositivo. Ogni componente nel dispositivo è identificato dall'indice della matrice Components . Le routine, ad esempio PoFxActivateComponent e PoFxCompleteIdleCondition , usano l'indice matrice di un componente per identificare il componente.

Non è necessario un driver di dispositivo per implementare tutte e sei le routine di callback. Il driver può impostare un puntatore a funzione nella struttura PO_FX_DEVICE su NULL se il driver non implementa la routine di callback corrispondente. Tuttavia, è necessario implementare alcune routine di callback. In particolare, se uno o più componenti in un dispositivo hanno più di uno stato Fx, il driver deve implementare le routine ComponentIdleStateCallback, ComponentActiveConditionCallback e ComponentIdleConditionCallback . In caso contrario, la registrazione del dispositivo ha esito negativo e PoFxRegisterDevice restituisce STATUS_INVALID_PARAMETER.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Intestazione wdm.h (include Wudfwdm.h)

Vedi anche

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback