EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE Rückruffunktion (udecxusbdevice.h)

Die USB-Geräteemulationsklassenerweiterung (UdeCx) ruft diese Rückruffunktion auf, wenn sie eine Anforderung erhält, den Funktionsstatus der angegebenen Schnittstelle des virtuellen USB 3.0-Geräts zu ändern.

Syntax

EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;

NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] ULONG Interface,
  [in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}

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] Interface

Dieser Wert ist die bInterfaceNumber der Schnittstelle, die aufwacht.

[in] FunctionPower

Ein wert vom typ UDECX_USB_DEVICE_FUNCTION_POWER, der angibt, ob die Schnittstelle das Aktivierungssignal anhalten und an den Hostcontroller senden kann.

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) true entspricht.

Hinweise

Der Clienttreiber registrierte die Funktion in einem vorherigen Aufruf von UdecxUsbDeviceInitSetStateChangeCallbacks , indem er einen Funktionszeiger auf die Implementierung bereitgestellt hat.

In der Rückrufimplementierung wird erwartet, dass der Clienttreiber für das USB-Gerät Schritte ausführt, um in den Arbeitszustand zu gelangen.

Diese Ereignisrückruffunktion gilt für USB 3.0+ Geräte. UdeCx ruft diese Funktion auf, um den Clienttreiber über eine Anforderung zum Ändern des Energiezustands einer bestimmten Funktion zu benachrichtigen. Außerdem wird der Treiber darüber informiert, ob die Funktion aus dem neuen Zustand reaktiviert werden kann oder nicht.

Die Energieanforderung kann asynchron abgeschlossen werden, indem STATUS_PENDING zurückgegeben und später durch Aufrufen von UdecxUsbDeviceSetFunctionSuspendAndWakeComplete mit dem eigentlichen Vervollständigungscode abgeschlossen 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 (einschließlich Udecx.h)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

Architektur: USB-Geräteemulation (UDE)

Schreiben eines UDE-Clienttreibers