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 (状态) 等于 TRUE 的另一个状态值。

注解

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

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

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

可以通过返回STATUS_PENDING异步完成电源请求,然后通过调用 UdecxUsbDeviceSetFunctionSuspendAndWakeComplete 和实际完成代码来完成它。

要求

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

另请参阅

体系结构:USB 设备模拟 (UDE)

编写 UDE 客户端驱动程序