EVT_UDECX_USB_DEVICE_D0_EXIT Rückruffunktion (udecxusbdevice.h)

Die USB-Geräteemulationsklassenerweiterung (UdeCx) ruft diese Rückruffunktion auf, wenn sie eine Anforderung erhält, das virtuelle USB-Gerät in einen Energiesparzustand zu senden.

Syntax

EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;

NTSTATUS EvtUdecxUsbDeviceD0Exit(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}

Parameter

[in] UdecxWdfDevice

Ein Handle für ein Frameworkgeräteobjekt, das den Controller darstellt, an den das USB-Gerät angeschlossen ist. Der Clienttreiber hat dieses Objekt in einem vorherigen Aufruf von UdecxWdfDeviceAddUsbDeviceEmulation initialisiert.

[in] UdecxUsbDevice

Ein Handle für das UDE-Geräteobjekt. Der Clienttreiber hat dieses Objekt in einem vorherigen Aufruf von UdecxUsbDeviceCreate erstellt.

[in] WakeSetting

Ein UDECX_USB_DEVICE_WAKE_SETTING-Wert, der die Remotereaktivierungsfunktion des USB-Geräts angibt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion STATUS_SUCCESS oder einen anderen status Wert zurückgeben, für den NT_SUCCESS(status) gleich TRUE ist.

Hinweise

Der Clienttreiber hat die Funktion in einem vorherigen Aufruf von UdecxUsbDeviceInitSetStateChangeCallbacks registriert, indem er einen Funktionszeiger auf seine Implementierung angibt.

In der Rückrufimplementierung wird erwartet, dass der Clienttreiber für das USB-Gerät Schritte ausführt, um das Gerät in einen Energiesparzustand zu senden. In dieser Funktion kann der Treiber seine Aktivierung über einen Low-Link-Power-Zustand, eine Angehaltene Funktion oder beides initiieren. Dazu muss der Treiber für ein USB 2.0-Gerät die UdecxUsbDeviceSignalWake-Methode aufrufen. USB 3.0-Geräte müssen UdecxUsbDeviceSignalFunctionWake verwenden.

Die Energieanforderung kann asynchron abgeschlossen werden, indem STATUS_PENDING zurückgegeben und später UdecxUsbDeviceLinkPowerExitComplete mit dem eigentlichen Abschlusscode aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Windows
KMDF-Mindestversion 1.15
Kopfzeile udecxusbdevice.h (include Udecx.h)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

Architektur: USB-Geräteemulation (UDE)

EVT_UDECX_USB_DEVICE_D0_ENTRY

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

Schreiben eines UDE-Clienttreibers