IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL(usbfnioctl.h)

클래스 드라이버는 디바이스의 함수에 대해 전체 USB 인터페이스 설명자를 설정하기 위해 이 요청을 보냅니다.

참고 이 요청을 사용하여 전체 디바이스에 대해 설정된 인터페이스 설명자를 검색하지 마세요.
 

주 코드

IRP_MJ_INTERNAL_DEVICE_CONTROL

입력 버퍼

USBFN_INTERFACE_INFO 구조를 포함하는 버퍼에 대한 포인터입니다.

입력 버퍼 길이

입력 버퍼의 길이는 적어도 sizeof(USBFN_INTERFACE_INFO)이어야 합니다.

출력 버퍼

USBFN_INTERFACE_INFO 구조를 포함하는 버퍼에 대한 포인터입니다. UFX(USB 함수 클래스 확장)는 해당 엔드포인트 설명자를 포함하여 전체 인터페이스 설명자 집합으로 구조를 채웁니다.

출력 버퍼 길이

출력 버퍼의 길이는 적어도 sizeof(USBFN_INTERFACE_INFO)이어야 합니다.

상태 블록

요청이 성공하면 UFX(USB 함수 클래스 확장)는 STATUS_SUCCESS 반환하거나 NT_SUCCESS(상태)이 TRUE인 다른 상태 값을 반환합니다. 그렇지 않으면 NT_SUCCESS(상태)이 FALSE와 같은 상태 값을 반환합니다.

설명

이 요청은 IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS 요청을 보낸 후에 보내야 합니다.

전체 인터페이스 설명자의 길이가 가변입니다. 클래스 드라이버는 전체 설명자 집합을 가져오기 위해 이 IOCTL 요청을 두 번 보내야 할 수 있습니다.

전체 설명자 집합의 길이가 지정된 출력 버퍼 길이보다 크면 UFX는 USBFN_INTERFACE_INFOSize 멤버를 실제 버퍼 길이로 설정하고 STATUS_BUFFER_TOO_SMALL 요청을 실패합니다. 그런 다음 드라이버는 Size 로 지정된 길이의 출력 버퍼를 할당하고 요청을 다시 전송해야 합니다.

요구 사항

요구 사항
헤더 usbfnioctl.h

추가 정보

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO