客户端驱动程序发送此请求以检索传输特征。
主要代码
输入/输出缓冲区
AssociatedIrp.SystemBuffer 成员是指向调用方分配 USB_TRANSPORT_CHARACTERISTICS 结构的指针。 在输入时,将 版本 设置为USB_TRANSPORT_CHARACTERISTICS_VERSION_1。 在输出 版本 重置为小于或等于 USB_TRANSPORT_CHARACTERISTICS_VERSION_1;他剩余的结构成员充满了传输信息。
输入/输出缓冲区长度
USB_TRANSPORT_CHARACTERISTICS 结构的大小。
状态块
Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,状态 相应的错误条件作为 NTSTATUS 代码。
言论
此请求检索传输特征,以决定用于流式传输的算法。 例如,显示驱动程序可以使用延迟和带宽信息来确定其编解码器选择。
此信息可能并非始终可用。 USB 驱动程序堆栈依赖于基础传输来公开这些值。 因此,客户端驱动程序必须具有针对请求的此类情况的备份机制。
如果客户端驱动程序希望随时了解最新信息,驱动程序必须在传输特征发生更改时注册通知,使请求与 USB 驱动程序堆栈保持挂起状态,并在不再需要通知时注销。 驱动程序可以通过发送这些 IOCTL 请求来完成所有这些任务。
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 版本 1709 |
| 支持的最低服务器 | Windows Server 2016 |
| 标头 | usbioctl.h |
| IRQL | <=DISPATCH_LEVEL |
另请参阅
适用于 Media-Agnostic 的 USB 客户端驱动程序 (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously