다음을 통해 공유


USB_PORT_CONNECTOR_PROPERTIES 구조체(usbioctl.h)

USB_PORT_CONNECTOR_PROPERTIES 구조체는 특정 SuperSpeed 허브의 포트에 대한 정보를 검색하기 위해 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 제어 요청과 함께 사용됩니다.

통사론

typedef struct _USB_PORT_CONNECTOR_PROPERTIES {
  ULONG               ConnectionIndex;
  ULONG               ActualLength;
  USB_PORT_PROPERTIES UsbPortProperties;
  USHORT              CompanionIndex;
  USHORT              CompanionPortNumber;
  WCHAR               CompanionHubSymbolicLinkName[1];
} USB_PORT_CONNECTOR_PROPERTIES, *PUSB_PORT_CONNECTOR_PROPERTIES;

회원

ConnectionIndex

요청에서 쿼리되는 포트 번호입니다. ConnectionIndex 호출자가 지정합니다. SuperSpeed 허브에 n개의 포트가 있는 경우 포트 번호는 1에서 n. 포트 수를 가져오기 위해 호출자는 먼저 IOCTL_USB_GET_HUB_INFORMATION_EX I/O 제어 요청을 보냅니다. 요청은 허브에서 가장 높은 포트 번호를 검색합니다.

ActualLength

도우미 허브의 기호 링크 이름을 포함하는 문자열을 포함하여 전체 USB_PORT_CONNECTOR_PROPERTIES 구조를 유지하는 데 필요한 바이트 수입니다. 이 문자열은 CompanionHubSymbolicLinkName 멤버에 저장됩니다. ActualLength 값은 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 요청에 의해 반환되고 호출자가 수신된 정보를 보관할 버퍼를 할당하는 데 사용됩니다. 자세한 내용은 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES참조하세요.

UsbPortProperties

포트 속성입니다. IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 요청이 완료되면 UsbPortProperties 포트의 속성과 기능을 나타내는 하나 이상의 플래그의 비트 OR 포함합니다. 플래그는 USB_PORT_PROPERTIES정의됩니다.

CompanionIndex

쿼리되는 포트와 연결된 도우미 포트의 인덱스입니다(ConnectionIndex지정됨). n개의 도우미 포트가 있는 경우 해당 포트는 0에서 n–1로 인덱싱됩니다.

포트가 둘 이상의 도우미 포트에 매핑되는 경우 모든 도우미 포트를 열거하기 위해 여러 쿼리에서 CompanionIndex 증가합니다.

SuperSpeed 허브 및 xHCI 컨트롤러의 경우 CompanionIndex 항상 0입니다. 자세한 내용은 비고를 참조하세요.

CompanionPortNumber

CompanionIndex제공된 도우미 포트의 포트 번호입니다. 쿼리되는 포트가 다른 허브의 포트와 USB 커넥터를 공유하는 경우 CompanionPortNumber 다른 허브의 포트 번호를 나타냅니다.

참고 xHCI 컨트롤러의 루트 허브의 경우 공유 포트가 동일한 허브에 있을 수 있습니다.
 

CompanionHubSymbolicLinkName[1]

USB 커넥터를 공유하는 도우미 허브의 기호 링크를 포함하는 유니코드 문자열입니다. 도우미 허브가 있는 경우 companionPortNumber 0이 아닌 것입니다. 그렇지 않으면 CompanionHubSymbolicLinkName [0] NULL .

발언

SuperSpeed 3.0 허브에는 두 개의 독립적인 허브 구현이 포함되어 있습니다. 하나는 USB 2.0 디바이스용이며 허브 구현은 기존 2.0 허브와 유사합니다. 다른 허브는 SuperSpeed 디바이스에만 해당합니다. USB 2.0 및 3.0 버스 신호는 전기적으로 독립적이므로 두 허브가 동시에 작동합니다. 따라서 SuperSpeed 허브가 호스트에 연결되면 Windows는 두 허브를 독립적으로 열거합니다. 한 허브는 USB 2.0 포트와 연결되고 다른 허브는 USB 3.0 포트와 연결됩니다. 각 허브에는 다운스트림 및 업스트림 포트가 있습니다. USB 물리적 커넥터는 이러한 두 허브 구현과 연결된 포트 간에 공유됩니다.

마찬가지로 xHCI 컨트롤러는 SuperSpeed, 고속, 전속 및 저속 디바이스를 처리할 수 있어야 합니다. USB 3.0 사양을 사용하려면 xHCI 컨트롤러에 각각 USB 3.0 및 USB 2.0 버스 속도에 대한 두 개의 독립 실행 단위가 포함되어야 합니다. USB 3.0 실행 장치는 버스의 슈퍼스피드 트래픽을 처리합니다. USB 2.0 실행 장치는 낮음, 전체 및 고속 트래픽을 처리해야 합니다. 이러한 요구 사항은 여러 가지 방법으로 충족될 수 있습니다. 예를 들어 한 구현에서 USB 2.0 실행 단위에는 다운스트림 USB 1.1 실행 단위 또는 다운스트림 USB 2.0 허브가 있을 수 있습니다. 다른 실행 단위는 버스의 SuperSpeed 트래픽을 처리합니다. 예를 들어 한 구현에서 xHCI 컨트롤러는 전속 및 저속 트래픽을 처리하는 트랜잭션 변환기와 함께 다운스트림 USB 2.0 허브(USB 2.0 호스트 컨트롤러 대신)를 가질 수 있습니다. 해당 다운스트림 허브는 SuperSpeed 루트 허브의 포트와 커넥터를 공유합니다.

USB 커넥터가 공유되는 경우 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 제어 요청을 통해 쿼리되는 포트는 ConnectionIndex지정되며 커넥터를 공유하는 포트를 도우미 포트. 요청이 완료되면 CompanionIndex, CompanionPortNumberCompanionHubSymbolicLinkName 멤버를 사용하여 USB_PORT_CONNECTOR_PROPERTIES 이러한 경우 포트 라우팅을 확인할 수 있습니다.

둘 이상의 도우미 포트가 쿼리되는 포트와 연결된 경우 애플리케이션은 루프에서 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 컨트롤 요청을 보내고 각 반복에서 CompanionIndex 값을 증가시켜 모든 도우미 포트에 대한 정보를 가져올 수 있습니다. 모든 포트가 열거되고 CompanionIndex지정된 인덱스와 연결된 포트가 없으면 요청이 성공적으로 완료되고 CompanionPortNumber 0으로 설정되고 CompanionHubSymbolicLinkName NULL이 됩니다.

특정 포트에 연결된 디바이스의 작동 속도에 대한 정보를 가져오기 위해 애플리케이션은 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O 제어 요청을 보낼 수 있습니다.

요구 사항

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

참고 항목

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2

IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES

USB_HUB_INFORMATION_EX

USB_PORT_CONNECTOR_PROPERTIES

USB_PORT_PROPERTIES