IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES IOCTL (usbioctl.h)
IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES I/O 控制请求检索特定端口的 Microsoft 扩展端口属性。
IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES 是用户模式 I/O 控制请求。 此请求面向 USB 集线器设备 (GUID_DEVINTERFACE_USB_HUB) 。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员指向用户分配USB_NODE_CONNECTION_ATTRIBUTES结构。 输入时,调用方指定USB_NODE_CONNECTION_ATTRIBUTES结构的 ConnectionIndex 成员中的端口号。
输入缓冲区长度
USB_NODE_CONNECTION_ATTRIBUTES 结构的大小。
输出缓冲区
在输出时,AssociatedIrp.SystemBuffer 中的USB_NODE_CONNECTION_ATTRIBUTES结构描述了端口的 Microsoft 扩展端口属性。 注意 对于 Windows Vista、Windows Server 2008 和 Windows 7,Microsoft 扩展端口属性字段设置为零。
对于 Windows XP 和 Windows Server 2003,Microsoft 扩展端口属性可能设置为 USB_PORTATTR_NO_OVERCURRENT_UI。 此值指示在端口上发生过流时,用户界面将被隐藏。
输出缓冲区长度
Parameters.DeviceIoControl.OutputBufferLength 指示 SystemBuffer 返回的数据的大小(以字节为单位)。
状态块
如果请求成功,USB 堆栈会将 Irp-IoStatus.Status> 设置为STATUS_SUCCESS。 否则,USB 堆栈会将 “状态” 设置为适当的错误条件,例如STATUS_INVALID_PARAMETER或STATUS_INSUFFICIENT_RESOURCES。 如果中心尚未启动或无法正常工作,则请求将返回STATUS_UNSUCCESSFUL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows Server 2003 及更高版本。 |
标头 | usbioctl.h (包括 Usbioctl.h) |