WDF_DEVICE_POWER_CAPABILITIES-Struktur (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WDF_DEVICE_POWER_CAPABILITIES-Struktur beschreibt die Leistungsfunktionen eines Geräts.

Syntax

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;

Member

Size

Die Größe (in Bytes) dieser Struktur.

DeviceD1

Ein WDF_TRI_STATE typisierter Wert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät den Ruhezustand D1 unterstützt. Weitere Informationen zum WDF_TRI_STATE-Werts finden Sie im folgenden Abschnitt hinweise.

DeviceD2

Ein WDF_TRI_STATE typisierter Wert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät den Ruhezustand D2 unterstützt.

WakeFromD0

Ein WDF_TRI_STATE typisierter Wert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät im D0-Zustand auf ein Aktivierungssignal reagieren kann.

WakeFromD1

Ein WDF_TRI_STATE typisierter Wert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät im D1-Zustand auf ein Aktivierungssignal reagieren kann.

WakeFromD2

Ein WDF_TRI_STATE typisierter Wert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät im D2-Zustand auf ein Aktivierungssignal reagieren kann.

WakeFromD3

Ein WDF_TRI_STATE Typwert, der angibt, wenn er auf WdfTrue festgelegt ist, dass das Gerät im D3-Zustand auf ein Aktivierungssignal reagieren kann.

DeviceState[PowerSystemMaximum]

Ein Array von DEVICE_POWER_STATE typisierten Werten, das den leistungsstärksten Gerätezustand angibt, den das Gerät für jeden Systemenergiezustand unterstützt. Dieses Array verwendet die SYSTEM_POWER_STATE-Enumeration als Indexwerte. Wenn der Wert eines Arrayelements PowerDeviceMaximum ist, verwendet das Framework den Wert, den das Betriebssystem für dieses Element gespeichert hat. Die DEVICE_POWER_STATE- und SYSTEM_POWER_STATE-Enumerationen sind in wdm.h definiert. Weitere Informationen zum DeviceState-Element finden Sie unter DeviceState.

DeviceWake

Ein DEVICE_POWER_STATE typisierter Wert, der den niedrigsten Geräteleistungszustand angibt, aus dem das Gerät ein Aktivierungssignal an das System senden kann. Wenn dieser Wert PowerDeviceMaximum ist, verwendet das Framework den wert, der derzeit im System für diesen Member gespeichert ist.

SystemWake

Ein SYSTEM_POWER_STATE typisierter Wert, der den niedrigsten Systemleistungszustand angibt, aus dem das Gerät ein Aktivierungssignal an das System senden kann. Wenn dieser Wert PowerSystemMaximum ist, verwendet das Framework den wert, der derzeit im System für diesen Member gespeichert ist. SYSTEM_POWER_STATE Werte werden in wdm.h definiert.

D1Latency

Die ungefähre Zeit in 100 Nanosekundeneinheiten, die das Gerät benötigt, um aus dem D1-Zustand in seinen D0-Zustand zurückzukehren. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für diesen Member gespeichert ist.

D2Latency

Die ungefähre Zeit in 100-Nanosekunden-Einheiten, die das Gerät benötigt, um von seinem D2-Zustand in seinen D0-Zustand zurückzukehren. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für diesen Member gespeichert ist.

D3Latency

Die ungefähre Zeit in 100-Nanosekunden-Einheiten, die das Gerät benötigt, um vom D3-Zustand in seinen D0-Zustand zurückzukehren. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für diesen Member gespeichert ist.

IdealDxStateForSx

Ein DEVICE_POWER_STATE typisierter Wert, der den Ruhezustand des Geräts angibt, den das Gerät eingeben soll, wenn das System in den Ruhezustand des Systems wechselt und das Gerät nicht aktiviert ist, um das System zu reaktivieren. Wenn dieser Wert null ist, verwendet das Framework PowerDeviceD3. Dieser Wert darf nicht PowerDeviceD0 sein.

Wenn ein Treiber einen IdealDxStateForSx-Wert angibt, der einen zustandsstärkeren Zustand des Geräts im Ruhezustand darstellt, als der Gerätestapel im DeviceState-Array des Geräts angegeben wurde, verwendet das Framework den zustand mit niedrigerer Leistung, der sich im Array befindet. Wenn der Treiber beispielsweise den IdealDxStateForSx-Wert D1 und das DeviceState-Array des Geräts D2 angibt, verwendet das Framework D2.

Hinweise

Die WDF_DEVICE_POWER_CAPABILITIES-Struktur wird als Eingabe für WdfDeviceSetPowerCapabilities verwendet.

Mehrere Member verwenden den typ WDF_TRI_STATE . Für diese Member gelten die folgenden Regeln:

  • Der Wert WdfTrue gibt an, dass das Gerät die Funktion unterstützt, und der Wert WdfFalse gibt an, dass dies nicht der Fall ist.
  • Funktionstreiber und Filtertreiber können WdfTrue oder WdfFalse oder den Wert WdfUseDefault angeben, um anzugeben, dass das Framework den Wert verwenden sollte, der von einem niedrigeren Treiber im Stapel bereitgestellt wurde. Wenn beispielsweise ein Bustreiber WdfTrue für DeviceD1 angibt und der Funktionstreiber des Geräts WdfUseDefault angibt, verwendet das Framework WdfTrue für die Funktion.
  • Wenn ein Bustreiber WdfDeviceSetPowerCapabilities aufruft, nachdem er ein Geräteobjekt für ein untergeordnetes Gerät erstellt hat, sollte er WdfTrue oder WdfFalse angeben. Ein Bustreiber kann WdfUseDefault für ein untergeordnetes Gerät angeben, aber in diesem Fall ist WdfUseDefault identisch mit WdfFalse.
Um eine WDF_DEVICE_POWER_CAPABILITIES-Struktur zu initialisieren, sollte ein Treiber WDF_DEVICE_POWER_CAPABILITIES_INIT aufrufen.

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)

Weitere Informationen

WDF_DEVICE_PNP_CAPABILITIES