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。
要求
要求 | 价值 |
---|---|
标头 | usbioctl.h (包括 Usbioctl.h) |