다음을 통해 공유


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를 대상으로 합니다. 이 IOCTL은 IRQL = PASSIVE_LEVEL 보내야 합니다.

주 코드

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