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或相应的错误状态。

要求

要求
Header usbioctl.h (包括 Usbioctl.h)