IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)

客户端驱动程序发送此请求以检索传输特征。

主要代码

IRP_MJ_DEVICE_CONTROL

输入/输出缓冲区

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 请求来完成所有这些任务。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1709
支持的最低服务器 Windows Server 2016
标头 usbioctl.h
IRQL <=DISPATCH_LEVEL

另请参阅

在驱动程序中创建 IOCTL 请求

适用于 Media-Agnostic 的 USB 客户端驱动程序 (MA-USB)

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously