Freigeben über


EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE Rückruffunktion (udecxusbdevice.h)

Die ERWEITERUNG der USB-Geräteemulationsklasse (UdeCx) ruft diese Rückruffunktion auf, wenn eine Anforderung zum Ändern des Funktionszustands der angegebenen Schnittstelle des virtuellen USB 3.0-Geräts aufgerufen wird.

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

Dieser Wert ist die bInterfaceNumber- der Schnittstelle, die aufwacht.

[in] FunctionPower

Ein UDECX_USB_DEVICE_FUNCTION_POWER-type-Wert, der angibt, ob die Schnittstelle das Wakesignal an den Hostcontroller anhalten und senden kann.

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 in den Arbeitszustand zu gelangen.

Diese Ereignisrückruffunktion gilt für USB 3.0+-Geräte. UdeCx ruft diese Funktion auf, um den Clienttreiber einer Anforderung zu benachrichtigen, um den Leistungsstatus einer bestimmten Funktion zu ändern. Darüber hinaus informiert er den Treiber darüber, ob die Funktion aus dem neuen Zustand aktiviert werden kann.

Die Energieanforderung kann asynchron abgeschlossen werden, indem STATUS_PENDING zurückgegeben und später durch Aufrufen von UdecxUsbDeviceSetFunctionSuspendAndWakeComplete mit dem tatsächlichen Abschlusscode abgeschlossen 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)

Schreiben eines UDE-Clienttreibers