USB_DESCRIPTOR_REQUEST 구조체(usbioctl.h)

USB_DESCRIPTOR_REQUEST 구조는 표시된 연결 인덱스와 연결된 디바이스에 대한 하나 이상의 설명자를 검색하기 위해 IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 제어 요청과 함께 사용됩니다. 이 구조의 필드는 USB 문서 라이브러리에서 사용할 수 있는 유니버설 직렬 버스 3.1 사양에 설명되어 있습니다.

구문

typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

멤버

ConnectionIndex

설명자가 검색되는 포트입니다.

SetupPacket

공식 사양에 따라 정의된 SetupPacket 구조체의 멤버입니다. 섹션 9.3을 참조하세요.

SetupPacket.bmRequest

USB 디바이스 요청 유형(표준, 클래스 또는 공급업체), 데이터 전송 방향 및 데이터 수신자 유형(디바이스, 인터페이스 또는 엔드포인트)입니다. IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 컨트롤 요청에 대한 입력에서 USB 스택은 bmRequest 값을 무시하고 0x80 값을 삽입합니다. 이 값은 표준 USB 디바이스 요청 및 디바이스-호스트 데이터 전송을 나타냅니다.

SetupPacket.bRequest

요청 번호입니다. IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 컨트롤 요청에 대한 입력에서 USB 스택은 bRequest 값을 무시하고 0x06 값을 삽입합니다. 이 값은 GET_DESCRIPTOR 요청을 나타냅니다.

SetupPacket.wValue

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 컨트롤 요청에 대한 입력에서 호출자는 wValue의 상위 바이트에서 검색할 설명자 형식과 낮은 바이트의 설명자 인덱스 형식을 지정해야 합니다. 다음 표에서는 가능한 설명자 형식을 나열합니다. 이러한 상수 형식은 Windows 드라이버 키트에 포함된 Usbspec.h 헤더에 정의됩니다.

설명자 유형 의미
USB_DEVICE_DESCRIPTOR_TYPE USB 스택에 디바이스 설명자를 반환하도록 지시합니다.
USB_CONFIGURATION_DESCRIPTOR_TYPE 현재 구성과 연결된 구성 설명자 및 모든 인터페이스, 엔드포인트, 클래스별 및 공급업체별 설명자를 반환하도록 USB 스택에 지시합니다.
USB_STRING_DESCRIPTOR_TYPE 표시된 문자열 설명자를 반환하도록 USB 스택에 지시합니다.
USB_INTERFACE_DESCRIPTOR_TYPE 표시된 인터페이스 설명자를 반환하도록 USB 스택에 지시합니다.
USB_ENDPOINT_DESCRIPTOR_TYPE 표시된 엔드포인트 설명자를 반환하도록 USB 스택에 지시합니다.

SetupPacket.wIndex

검색할 설명자의 디바이스별 인덱스입니다.

SetupPacket.wLength

제어 전송의 두 번째 단계에서 전송되는 데이터의 길이입니다.

Data[0]

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O 컨트롤 요청의 출력에서 이 멤버는 검색된 설명자를 포함합니다.

설명

호출자가 wValue 멤버에서 USB_CONFIGURATION_DESCRIPTOR_TYPE 값을 지정하는 경우 출력 버퍼는 현재 구성과 연결된 모든 설명자를 저장할 수 있을 만큼 커야 합니다. 그렇지 않으면 요청이 실패합니다.

요구 사항

요구 사항
헤더 usbioctl.h(Usbioctl.h 포함)

추가 정보

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

USB 구조체