Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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.
Anforderungen
Anforderung | Wert |
---|---|
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Kopfzeile | wdfdevice.h (einschließen Wdf.h) |