Freigeben über


WDF_DEVICE_POWER_CAPABILITIES Struktur (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WDF_DEVICE_POWER_CAPABILITIES Struktur beschreibt die Leistungsfähigkeit 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;

Elemente

Size

Die Größe dieser Struktur in Byte.

DeviceD1

Ein WDF_TRI_STATE-typd-Wert, der angibt, ob auf WdfTrue-festgelegt ist, dass das Gerät den Ruhezustand des Geräts D1 unterstützt. Weitere Informationen zum wert "WDF_TRI_STATE" finden Sie im folgenden Abschnitt "Hinweise".

DeviceD2

Ein WDF_TRI_STATE-typed-Wert, der angibt, ob auf WdfTrue-festgelegt ist, dass das Gerät den Ruhezustand des Geräts D2 unterstützt.

WakeFromD0

Ein WDF_TRI_STATE-typd-Wert, der angibt, ob er auf WdfTrue-festgelegt ist, dass das Gerät auf ein Wakesignal reagieren kann, während er im D0-Zustand ist.

WakeFromD1

Ein WDF_TRI_STATE-typd-Wert, der angibt, ob auf WdfTruefestgelegt ist, dass das Gerät auf ein Wake-Signal reagieren kann, während er im D1-Zustand ist.

WakeFromD2

Ein WDF_TRI_STATE-typd-Wert, der angibt, ob auf WdfTruefestgelegt ist, dass das Gerät im D2-Zustand auf ein Wakesignal reagieren kann.

WakeFromD3

Ein WDF_TRI_STATE-typd-Wert, der angibt, ob er auf WdfTrue-festgelegt ist, dass das Gerät auf ein Wakesignal reagieren kann, während er sich im D3-Zustand befindet.

DeviceState[PowerSystemMaximum]

Ein Array von DEVICE_POWER_STATE typisierten Werten, die den zustandsstärksten Gerät angibt, den das Gerät für jeden Systemstromzustand unterstützt. Dieses Array verwendet die SYSTEM_POWER_STATE Enumeration als Indexwerte. Wenn der Wert eines Arrayelements PowerDeviceMaximumist, verwendet das Framework den für dieses Element gespeicherten Wert. Die enumerationen DEVICE_POWER_STATE und SYSTEM_POWER_STATE werden in wdm.hdefiniert. Weitere Informationen zum mitglied DeviceState finden Sie unter DeviceState.

DeviceWake

Ein DEVICE_POWER_STATE typisierter Wert, der den niedrigsten Energiezustand des Geräts angibt, aus dem das Gerät ein Wakesignal an das System senden kann. Wenn dieser Wert PowerDeviceMaximumist, verwendet das Framework den wert, der derzeit im System für dieses Element gespeichert ist.

SystemWake

Ein SYSTEM_POWER_STATE typisierter Wert, der den niedrigsten Systemleistungszustand angibt, aus dem das Gerät ein Wakesignal an das System senden kann. Wenn dieser Wert PowerSystemMaximumist, verwendet das Framework den wert, der derzeit im System für dieses Element gespeichert ist. SYSTEM_POWER_STATE Werte werden in wdm.hdefiniert.

D1Latency

Die ungefähre Zeit in 100 Nanosekundeneinheiten, die das Gerät aus dem D1-Zustand zurückgibt. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für dieses Element gespeichert ist.

D2Latency

Die ungefähre Zeit in 100 Nanosekundeneinheiten, die das Gerät aus dem D2-Zustand zurückgibt. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für dieses Element gespeichert ist.

D3Latency

Die ungefähre Zeit in 100 Nanosekundeneinheiten, die das Gerät aus dem D3-Zustand zurückgibt. Wenn dieser Wert -1 ist, verwendet das Framework den wert, der derzeit im System für dieses Element gespeichert ist.

IdealDxStateForSx

Ein DEVICE_POWER_STATE typisierter Wert, der angibt, dass der Gerät im Ruhezustand, den das Gerät eingeben soll, wenn das System in einen Ruhezustand des Systems wechselt, und das Gerät nicht aktiviert ist, das System zu reaktivieren. Wenn dieser Wert null ist, verwendet das Framework PowerDeviceD3-. Dieser Wert kann nicht PowerDeviceD0werden.

Wenn ein Treiber einen IdealDxStateForSx-Wert angibt, der einen hochbetriebenen Ruhezustand darstellt, als der Stapel des Geräts im DeviceState-Array des Geräts angegeben wurde, verwendet das Framework den niedrigeren Zustand, der sich im Array befindet. Wenn der Treiber beispielsweise einen IdealDxStateForSx Wert von D1 angibt und das DeviceState Array des Geräts D2 angibt, verwendet das Framework D2.

Bemerkungen

Die WDF_DEVICE_POWER_CAPABILITIES-Struktur wird als Eingabe für WdfDeviceSetPowerCapabilitiesverwendet.

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

  • Ein Wert von WdfTrue gibt an, dass das Gerät die Funktion unterstützt, und ein Wert von WdfFalse angibt, dass dies nicht der Fall ist.
  • Funktionstreiber und Filtertreiber können WdfTrue- oder WdfFalse-oder einen Wert von WdfUseDefault- angeben, um anzugeben, dass das Framework den Wert verwenden soll, 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 es ein Geräteobjekt für ein untergeordnetes Gerät erstellt hat, sollte WdfTrue- oder WdfFalse-angegeben werden. Ein Bustreiber kann WdfUseDefault- für ein untergeordnetes Gerät angeben, in diesem Fall ist jedoch WdfUseDefault- mit WdfFalse-identisch.
Um eine WDF_DEVICE_POWER_CAPABILITIES-Struktur zu initialisieren, sollte ein Treiber WDF_DEVICE_POWER_CAPABILITIES_INITaufrufen.

Anforderungen

Anforderung Wert
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Kopfzeile wdfdevice.h (einschließen Wdf.h)

Siehe auch

WDF_DEVICE_PNP_CAPABILITIES