当 USB 设备仿真类扩展(UdeCx)获取将虚拟 USB 设备发送到低功率状态的请求时,它将调用此回调函数。
语法
EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;
NTSTATUS EvtUdecxUsbDeviceD0Exit(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}
参数
[in] UdecxWdfDevice
框架设备对象的句柄,表示 USB 设备连接到的控制器。 客户端驱动程序在上一次调用 UdecxWdfDeviceAddUsbDeviceEmulation中初始化了此对象。
[in] UdecxUsbDevice
UDE 设备对象的句柄。 客户端驱动程序在上一次调用 UdecxUsbDeviceCreate中创建此对象。
[in] WakeSetting
指示 USB 设备的远程唤醒功能的 UDECX_USB_DEVICE_WAKE_SETTING类型值。
返回值
如果作成功,回调函数必须返回STATUS_SUCCESS,或NT_SUCCESS(status) 等于 TRUE 的另一个状态值。
言论
客户端驱动程序在上一次调用 UdecxUsbDeviceInitSetStateChangeCallbacks 中注册了函数,方法是提供指向其实现的函数指针。
在回调实现中,USB 设备的客户端驱动程序应执行将设备发送到低功率状态的步骤。 在此函数中,驱动程序可以从低链路电源状态、函数挂起或同时启动其唤醒。 为此,USB 2.0 设备的驱动程序必须调用 UdecxUsbDeviceSignalWake 方法。 USB 3.0 设备必须使用 UdecxUsbDeviceSignalFunctionWake。
通过返回STATUS_PENDING,然后通过实际完成代码调用 UdecxUsbDeviceLinkPowerExitComplete,可以异步完成电源请求。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
目标平台 | 窗户 |
最低 KMDF 版本 | 1.15 |
标头 | udecxusbdevice.h (包括 Udecx.h) |
IRQL | <=DISPATCH_LEVEL |