다음을 통해 공유


IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 IOCTL(usbioctl.h)

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O 컨트롤은 허브의 특정 USB 포트에서 지원하는 프로토콜에 대한 정보를 검색하기 위해 애플리케이션에서 전송됩니다. 요청은 포트의 속도 기능도 검색합니다.

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 사용자 모드 I/O 제어 요청입니다. 이 요청은 USB(유니버설 직렬 버스) 허브 디바이스(GUID_DEVINTERFACE_USB_HUB)를 대상으로 합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

AssociatedIrp.SystemBuffer 호출자가 할당한 USB_NODE_CONNECTION_INFORMATION_EX_V2 구조를 가리킵니다.

입력 시 호출자는 구조체 멤버를 다음과 같이 설정해야 합니다.

  • 호출자는 ConnectionIndex 멤버에 포트 번호를 지정해야 합니다. ConnectionIndex 1에서 n범위의 값이어야 합니다. 여기서 n 이전 IOCTL_USB_GET_HUB_INFORMATION_EX I/O 컨트롤 요청에서 검색된 가장 높은 포트 번호입니다.
  • 호출자는 SupportedUsbProtocols 멤버에서 프로토콜 플래그를 설정해야 합니다(USB_PROTOCOLS참조). Windows 8에서는 SupportedUsbProtocols.Usb300 1로 설정해야 합니다. 그렇지 않으면 STATUS_INVALID_PARAMETER 오류 코드로 요청이 실패합니다.
  • 호출자는 Length 멤버를 AssociatedIrp.SystemBuffer가리키는 호출자 할당 버퍼의 크기(바이트)로 설정해야 합니다. 버퍼의 크기는 sizeof (USB_NODE_CONNECTION_INFORMATION_EX_V2)합니다.

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 멤버는 크기가 sizeof(USB_NODE_CONNECTION_INFORMATION_EX_V2)같은 호출자 할당 버퍼의 크기를 바이트 단위로 나타냅니다.

출력 버퍼

출력에서 AssociatedIrp.SystemBuffer 가리키는 USB_NODE_CONNECTION_INFORMATION_EX_V2 구조체는 연결된 디바이스에 대한 정보로 채워집니다.

출력 버퍼 길이

Parameters.DeviceIoControl.OutputBufferLength 멤버는 SystemBuffer 출력 버퍼의 크기를 바이트 단위로 나타냅니다.

상태 블록

USB 스택은 요청이 성공하면 Irp->IoStatus.Status STATUS_SUCCESS 설정합니다. 그렇지 않으면 USB 드라이버 스택은 상태 STATUS_INVALID_PARAMETER 또는 STATUS_INSUFFICIENT_RESOURCES 같은 적절한 오류 조건으로 설정합니다.

발언

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 요청은 지정된 포트의 허브를 쿼리하여 디바이스가 포트에 연결된 경우 포트에서 지원하는 프로토콜 및 작동 속도 기능에 대한 정보를 가져옵니다.

요청이 성공적으로 완료되면 USB_NODE_CONNECTION_INFORMATION_EX_V2SupportedUsbProtocols.Usb200 멤버는 포트에서 지원하는 프로토콜을 나타냅니다. 예를 들어 포트가 USB 2.0 사양으로 정의된 신호 프로토콜을 지원하는 경우 SupportedUsbProtocols.Usb200 1로 설정됩니다.

SupportedUsbProtocols.Usb110 고속 및 전속 허브의 경우 항상 1로 설정됩니다. 고속 지원 허브는 분할 트랜잭션 및 트랜잭션 변환기를 통해 USB 1.1 프로토콜을 지원하기 때문입니다. SupportedUsbProtocols.Usb110 USB 3.0 포트에 대해 1로 설정되지 않습니다.

또한 요청은 포트와 연결된 디바이스가 SuperSpeed에서 작동할 수 있는지 여부도 결정합니다. 이 경우 Flags.DeviceIsSuperSpeedCapableOrHigher 멤버가 1로 설정됩니다. 포트에 연결된 디바이스가 현재 SuperSpeed에서 작동하는 경우 deviceIsOperatingAtSuperSpeedOrHigher 1로 설정됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 지원되지 않는 항목
헤더 usbioctl.h(Usbioctl.h 포함)