IOCTL_INTERNAL_USB_SUBMIT_URB IOCTL (usbioctl.h)
驱动程序使用IOCTL_INTERNAL_USB_SUBMIT_URB I/O 控制请求向总线驱动程序提交 URB。
IOCTL_INTERNAL_USB_SUBMIT_URB 是内核模式 I/O 控制请求。 此请求面向 USB 集线器 PDO。
主要代码
IRP_MJ_INTERNAL_DEVICE_CONTROL
输入缓冲区
Parameters.Others.Argument1 指向 URB,一个可变长度结构。 URB 的 UrbHeader.Function 成员指定 URB 类型。 URB 的长度以及任何附加成员的含义取决于 UrbHeader.Function 的值。 有关详细信息 ,请参阅 URB 。
输入缓冲区长度
UrbHeader.Length 成员指定 URB 的大小(以字节为单位)。
输出缓冲区
Parameters.Others.Argument1 指向 URB 结构。 UrbHeader.Status 包含所请求操作的 USB 状态代码。 任何其他输出取决于提交的 URB 的 UrbHeader.Function 成员。 有关详细信息 ,请参阅 URB 。
输出缓冲区长度
UrbHeader.Length 成员指定 URB 的大小(以字节为单位)。
状态块
如果 URB 可以成功处理,较低级别的驱动程序会将 Irp-IoStatus.Status> 设置为 STATUS_SUCCESS。 否则,总线驱动程序会将其设置为适当的错误条件,例如STATUS_INVALID_PARAMETER或STATUS_INSUFFICIENT_RESOURCES。
要求
要求 | 值 |
---|---|
Header | usbioctl.h (包括 Usbioctl.h) |