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 |