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)

另请参阅

URB