Freigeben über


PO_FX_DEVICE_V1-Struktur (wdm.h)

Die PO_FX_DEVICE-Struktur beschreibt die Energieattribute eines Geräts für das Power Management Framework (PoFx).

Syntax

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;

Member

Version

Die Versionsnummer dieser Struktur. Wenn sich der Treiber für die Unterstützung des Leistungszustands mit PoFx registriert, legen Sie diesen Member auf PO_FX_VERSION_V2 fest. Legen Sie andernfalls diesen Member auf PO_FX_VERSION_V1 fest.

ComponentCount

Die Anzahl der Elemente im Array Components . Darüber hinaus gibt dieses Element die Anzahl der Komponenten im Gerät an.

ComponentActiveConditionCallback

Ein Zeiger auf die Rückrufroutine ComponentActiveConditionCallback , die vom Gerätetreiber implementiert wird.

ComponentIdleConditionCallback

Ein Zeiger auf die Rückrufroutine ComponentIdleConditionCallback , die vom Gerätetreiber implementiert wird.

ComponentIdleStateCallback

Ein Zeiger auf die Rückrufroutine ComponentIdleStateCallback , die vom Gerätetreiber implementiert wird.

DevicePowerRequiredCallback

Ein Zeiger auf die Rückrufroutine DevicePowerRequiredCallback , die vom Gerätetreiber implementiert wird.

DevicePowerNotRequiredCallback

Ein Zeiger auf die Rückrufroutine DevicePowerNotRequiredCallback , die vom Gerätetreiber implementiert wird.

PowerControlCallback

Ein Zeiger auf die PowerControlCallback-Rückrufroutine , die vom Gerätetreiber implementiert wird.

DeviceContext

Ein Zeiger auf einen vom Anrufer zugewiesenen Gerätekontext. Dieser Zeiger wird als Parameter an jede vom Treiber implementierte Rückruffunktion übergeben, auf die von dieser Struktur verwiesen wird. Der Gerätetreiber verwendet diesen Kontext, um Informationen zum aktuellen Energiezustand des Geräts zu speichern. Dieser Kontext ist für PoFx undurchsichtig.

Components[ANYSIZE_ARRAY]

Dieses Element ist das erste Element in einem Array aus mindestens einem PO_FX_COMPONENT-Elementen . Wenn das Array mehr als ein Element enthält, folgen die zusätzlichen Elemente sofort der PO_FX_DEVICE-Struktur . Das Array enthält ein Element für jede Komponente im Gerät. Der Fx-Leistungszustand jeder Komponente kann unabhängig von den Fx-Leistungszuständen der anderen Komponenten im Gerät gesteuert werden. Die ANYSIZE_ARRAY Konstante ist in der Headerdatei Ntdef.h als 1 definiert.

Hinweise

Um ein Gerät bei PoFx zu registrieren, ruft ein Treiber die PoFxRegisterDevice-Routine auf und stellt als Parameter einen Zeiger auf eine PO_FX_DEVICE Struktur bereit, die das Gerät beschreibt.

Jedes Element im Array Components beschreibt die Energiezustandsattribute einer Komponente im Gerät. Jede Komponente im Gerät wird durch ihren Komponentenarrayindex identifiziert. Routinen wie PoFxActivateComponent und PoFxCompleteIdleCondition verwenden den Arrayindex einer Komponente, um die Komponente zu identifizieren.

Ein Gerätetreiber ist nicht erforderlich, um alle sechs Rückrufroutinen zu implementieren. Der Treiber kann einen Funktionszeiger in der PO_FX_DEVICE-Struktur auf NULL festlegen, wenn der Treiber die entsprechende Rückrufroutine nicht implementiert. Bestimmte Rückrufroutinen müssen jedoch implementiert werden. Insbesondere wenn eine oder mehrere Komponenten in einem Gerät mehr als einen Fx-Status aufweisen, muss der Treiber die Routinen ComponentIdleStateCallback, ComponentActiveConditionCallback und ComponentIdleConditionCallback implementieren. Andernfalls schlägt die Geräteregistrierung fehl, und PoFxRegisterDevice gibt STATUS_INVALID_PARAMETER zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Wird ab Windows 8 unterstützt.
Kopfzeile wdm.h (include Wudfwdm.h)

Weitere Informationen

ComponentActiveConditionCallback

ComponentIdleConditionCallback

ComponentIdleStateCallback

DevicePowerNotRequiredCallback

DevicePowerRequiredCallback

PO_FX_COMPONENT

PoFxActivateComponent

PoFxCompleteIdleCondition

PoFxRegisterDevice

PowerControlCallback