EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE回调函数 (udecxusbdevice.h)

当 USB 设备仿真类扩展 (UdeCx) 获取更改虚拟 USB 3.0 设备的指定接口的函数状态的请求时,它将调用此回调函数。

语法

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
)
{...}

参数

[in] UdecxWdfDevice

框架设备对象的句柄,表示 USB 设备连接到的控制器。 客户端驱动程序在上一次调用 UdecxWdfDeviceAddUsbDeviceEmulation中初始化了此对象。

[in] UdecxUsbDevice

UDE 设备对象的句柄。 客户端驱动程序在上一次调用 UdecxUsbDeviceCreate中创建此对象。

[in] Interface

此值是正在唤醒的接口的 bInterfaceNumber

[in] FunctionPower

一个 UDECX_USB_DEVICE_FUNCTION_POWER类型值,该值指示接口是否可以挂起并向主机控制器发送唤醒信号。

返回值

如果作成功,回调函数必须返回STATUS_SUCCESS,或NT_SUCCESS(status) 等于 TRUE 的另一个状态值。

言论

客户端驱动程序在上一次调用 UdecxUsbDeviceInitSetStateChangeCallbacks 中注册了函数,方法是提供指向其实现的函数指针。

在回调实现中,USB 设备的客户端驱动程序应执行进入工作状态的步骤。

此事件回调函数适用于 USB 3.0+ 设备。 UdeCx 调用此函数以通知客户端驱动程序更改特定函数的电源状态的请求。 它还会通知驱动程序函数是否可以从新状态唤醒。

通过返回STATUS_PENDING,然后通过调用 UdecxUsbDeviceSetFunctionSuspendAndWakeComplete,以异步方式完成电源请求。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 窗户
最低 KMDF 版本 1.15
标头 udecxusbdevice.h (包括 Udecx.h)
IRQL <=DISPATCH_LEVEL

另请参阅

体系结构:USB 设备仿真(UDE)

编写 UDE 客户端驱动程序