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 멤버는 포트에서 지원하는 프로토콜을 나타냅니다. instance 경우 포트가 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 포함)