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) |