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.
Anforderungen
Anforderung | Wert |
---|---|
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |