IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)

IOCTL_INTERNAL_USB_GET_PORT_STATUS I/O 请求查询 PDO 的状态。

IOCTL_INTERNAL_USB_GET_PORT_STATUS 是内核模式 I/O 控制请求。 此请求面向 USB 中心 PDO。 必须在 IRQL = PASSIVE_LEVEL 发送此 IOCTL。

主要代码

IRP_MJ_INTERNAL_DEVICE_CONTROL

输入缓冲区

Parameters.Others.Argument1 应该是指向使用端口状态标志填充的 ULONG 的指针。

输入缓冲区长度

ULONG 的大小。

输出缓冲区

Parameters.Others.Argument1 指向填充了端口状态标志的 ULONG。 标志可以是一个或两个USBD_PORT_ENABLED(位 0)或USBD_PORT_CONNECTED(位 1)。 设置USB_PORT_ENABLED位后,重置连接到端口的设备后,已启用端口。 当USB_PORT_ENABLED位清楚时,软件已禁用端口或硬件由于硬件条件异常而禁用它。 设置USB_PORT_CONNECTED位后,主机控制器根中心或外部中心检测到设备已连接到端口。 当USB_PORT_CONNECTED位清除时,主机控制器根中心或外部中心检测到设备未连接到端口。

输出缓冲区长度

ULONG 的大小。

状态块

总线或端口驱动程序 Irp->IoStatus.Status 设置为STATUS_SUCCESS或适当的错误状态。

要求

要求 价值
标头 usbioctl.h (包括 Usbioctl.h)