Freigeben über


EVT_UDECX_USB_DEVICE_D0_EXIT Rückruffunktion (udecxusbdevice.h)

Die ERWEITERUNG der USB-Geräteemulationsklasse (UdeCx) ruft diese Rückruffunktion auf, wenn eine Anforderung zum Senden des virtuellen USB-Geräts an einen Zustand mit geringem Stromverbrauch erhalten wird.

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 Framework-Geräteobjekt, das den Controller darstellt, an den das USB-Gerät angeschlossen ist. Der Clienttreiber initialisierte dieses Objekt in einem vorherigen Aufruf von UdecxWdfDeviceAddUsbDeviceEmulation.

[in] UdecxUsbDevice

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

[in] WakeSetting

Ein UDECX_USB_DEVICE_WAKE_SETTING-type-Wert, der die Remote-Wake-Funktion des USB-Geräts angibt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion STATUS_SUCCESS oder einen anderen Statuswert zurückgeben, für den NT_SUCCESS(Status) WAHR ist.

Bemerkungen

Der Clienttreiber hat die Funktion in einem vorherigen Aufruf von UdecxUsbDeviceInitSetStateChangeCallbacks registriert, indem ein Funktionszeiger auf seine Implementierung bereitgestellt wird.

In der Rückrufimplementierung wird erwartet, dass der Clienttreiber für das USB-Gerät Schritte ausführt, um das Gerät an einen Energiesparzustand zu senden. In dieser Funktion kann der Treiber das Aufwachen aus einem Energiesparmodus, funktionsaufgehalten 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 UdecxUsbDeviceSignalFunctionWakeverwenden.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Zielplattform- Fenster
Minimale KMDF-Version 1.15
Header- udecxusbdevice.h (include Udecx.h)
IRQL- <=DISPATCH_LEVEL

Siehe auch

Architektur: USB Device Emulation (UDE)

EVT_UDECX_USB_DEVICE_D0_ENTRY

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

Schreiben eines UDE-Clienttreibers