다음을 통해 공유


IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL(genericusbfnioctl.h)

이 IOCTL(I/O 제어 코드)은 사용자 모드 서비스 또는 애플리케이션에서 전송되어 디바이스의 함수에 대해 설정된 전체 USB(유니버설 직렬 버스) 인터페이스 설명자를 가져옵니다.

참고 이 IOCTL 요청은 전체 디바이스에 대해 설정된 인터페이스 설명자를 검색하지 않습니다.

 

입력 버퍼

USBFN_INTERFACE_INFO 구조체에 대한 포인터입니다.

입력 버퍼 길이

USBFN_INTERFACE_INFO 구조체의 크기입니다.

출력 버퍼

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

출력 버퍼 길이

USBFN_INTERFACE_INFO 크기입니다.

설명

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

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

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

이 IOCTL(I/O 제어 코드)이 동기적으로 호출되는 경우 lpOverlapped 매개 변수를 NULL로 설정합니다. 이 IOCTL이 비동기적으로 호출되는 경우 lpOverlapped 매개 변수를 이벤트 개체에 대한 핸들이 포함된 OVERLAPPED 구조체에 대한 포인터에 할당합니다. 작업이 완료되면 이벤트 개체가 신호를 보냅니다.

반환 값은 작업의 성공 또는 실패를 나타내는 BOOL 값입니다. TRUE는 성공을 나타내고, 그렇지 않으면 FALSE를 나타냅니다.

요구 사항

요구 사항
헤더 genericusbfnioctl.h(GenericUsbFnIoctl.h 포함)

추가 정보

DeviceIoControl