다음을 통해 공유


IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL(usbioctl.h)

클라이언트 드라이버는 전송 특성을 검색하기 위해 이 요청을 보냅니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력/출력 버퍼

AssociatedIrp.SystemBuffer 멤버는 호출자가 할당한 USB_TRANSPORT_CHARACTERISTICS 구조체에 대한 포인터입니다. 입력 시 버전 USB_TRANSPORT_CHARACTERISTICS_VERSION_1 설정합니다. 출력 버전 USB_TRANSPORT_CHARACTERISTICS_VERSION_1;보다 작거나 같은 버전으로 다시 설정됩니다. 그는 구조의 나머지 구성원은 전송 정보로 채워집니다.

입력/출력 버퍼 길이

USB_TRANSPORT_CHARACTERISTICS 구조체의 크기입니다.

상태 블록

Irp->IoStatus.Status 요청이 성공하면 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 상태가 NTSTATUS 코드로 적절한 오류 조건으로.

발언

이 요청은 스트리밍 알고리즘을 결정하는 전송 특성을 검색합니다. 예를 들어 디스플레이 드라이버는 대기 시간 및 대역폭 정보를 사용하여 코덱 선택을 결정할 수 있습니다.

이 정보를 항상 사용할 수 있는 것은 아닙니다. USB 드라이버 스택은 이러한 값을 노출하는 기본 전송에 따라 달라집니다. 따라서 클라이언트 드라이버에는 요청이 있는 경우 백업 메커니즘이 있어야 합니다.

클라이언트 드라이버가 항상 최신 정보를 알고자 하는 경우 드라이버는 전송 특성이 변경되면 알림을 등록하고, USB 드라이버 스택에 보류 중인 요청을 유지하고, 알림이 더 이상 필요하지 않을 때 등록을 취소해야 합니다. 드라이버는 이러한 IOCTL 요청을 전송하여 이러한 모든 작업을 수행할 수 있습니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10 버전 1709
지원되는 최소 서버 Windows Server 2016
헤더 usbioctl.h
IRQL <=DISPATCH_LEVEL

참고 항목

드라이버 IOCTL 요청 만들기

Media-Agnostic(MA-USB) USB 클라이언트 드라이버

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously