IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES IOCTL(usbioctl.h)

IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 제어 요청은 USB 허브의 특정 포트에 대한 정보를 검색하기 위해 애플리케이션에서 전송됩니다.

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

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

AssociatedIrp.SystemBuffer는 호출자가 할당한 USB_PORT_CONNECTOR_PROPERTIES 구조를 가리킵니다. 호출자는 다음과 같이 구조체 멤버를 설정해야 합니다.

  • 호출자는 ConnectionIndex 멤버에서 쿼리되는 포트의 포트 번호를 지정해야 합니다. ConnectionIndex 는 1에서 n까지의 범위의 값이어야 합니다. 여기서 n 은 이전 IOCTL_USB_GET_HUB_INFORMATION_EX I/O 컨트롤 요청에서 검색된 가장 높은 포트 번호입니다.
  • 호출자는 CompanionIndex 멤버를 지정해야 합니다. SuperSpeed 허브의 경우 호출자는 CompanionIndex 멤버를 0으로 설정해야 합니다.

    호출자는 CompanionIndex 를 사용하여 쿼리되는 포트와 연결된 포트 번호를 가져올 수 있습니다. 둘 이상의 도우미 포트가 포트와 연결된 경우 모든 포트 번호를 가져오기 위해 애플리케이션은 루프에서 요청을 보낼 수 있습니다. CompanionIndex를 0으로 설정하고, CompanionPortNumber가 0으로 설정되고 CompanionHubSymbolicLinkName이 NULL인 요청이 완료될 때까지 각 반복에서 CompanionIndex 값을 증가합니다.

입력 버퍼 길이

Parameters.DeviceIoControl.InputBufferLength 멤버는 AssociatedIrp.SystemBuffer가 가리키는 호출자 할당 버퍼의 크기(바이트)를 나타냅니다. 자세한 내용은 비고를 참조하세요.

출력 버퍼

출력에서 AssociatedIrp.SystemBuffer가 가리키는 USB_PORT_CONNECTOR_PROPERTIES 포트와 연결된 물리적 커넥터에 대한 정보로 채워집니다.

출력 버퍼 길이

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

상태 블록

USB 스택은 요청이 성공하면 Irp-IoStatus.Status>를 STATUS_SUCCESS 설정합니다. 그렇지 않으면 USB 스택이 상태를 STATUS_INVALID_PARAMETER 또는 STATUS_INSUFFICIENT_RESOURCES 같은 적절한 오류 조건으로 설정합니다. 허브가 시작되지 않았거나 작동하지 않는 경우 요청은 STATUS_UNSUCCESSFUL 반환합니다.

설명

호출자는 해당 허브가 지정된 포트와 연결된 경우 USB_PORT_CONNECTOR_PROPERTIES 구조체와 도우미 허브의 기호 링크 이름을 보유할 수 있을 만큼 큰 버퍼를 제공해야 합니다. 할당할 버퍼의 크기를 가져오려면 호출자가 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 요청을 보내야 합니다. 요청에서 AssociatedIrp.SystemBuffer 는 호출자가 할당한 USB_PORT_CONNECTOR_PROPERTIES 구조체여야 하며 Parameters.DeviceIoControl.InputBufferLengthsizeof(USB_PORT_CONNECTOR_PROPERTIES)이어야 합니다. 성공적으로 완료되면 USB_PORT_CONNECTOR_PROPERTIESActualLength 멤버는 버퍼의 실제 크기를 나타냅니다. 기호 링크 이름이 있는 경우 수신된 값에는 링크 이름을 저장하는 문자열의 크기가 포함됩니다.

ActualLength 값에 따라 호출자는 버퍼를 할당하고 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 요청을 다시 보낼 수 있습니다. 요청이 완료되면 버퍼는 포트 정보로 채워지고 CompanionHubSymbolicLinkName 멤버는 도우미 허브의 기호 링크 이름을 포함하는 유니코드 문자열입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 지원되는 버전 없음
머리글 usbioctl.h(Usbioctl.h 포함)

추가 정보

IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES

USB_HUB_INFORMATION_EX

USB_PORT_CONNECTOR_PROPERTIES