USB_CONFIGURATION_DESCRIPTOR 구조체(usbspec.h)

USB_CONFIGURATION_DESCRIPTOR 구조는 USB 클라이언트 드라이버에서 USB 정의 구성 설명자를 보관하는 데 사용됩니다. 이 구조의 멤버는 USB 문서 라이브러리에서 사용할 수 있는 유니버설 직렬 버스 3.1 사양에 설명되어 있습니다. 섹션 9.6.3을 참조하세요.

구문

typedef struct _USB_CONFIGURATION_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT wTotalLength;
  UCHAR  bNumInterfaces;
  UCHAR  bConfigurationValue;
  UCHAR  iConfiguration;
  UCHAR  bmAttributes;
  UCHAR  MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;

멤버

bLength

이 구조체의 길이(바이트)를 지정합니다.

bDescriptorType

설명자 형식을 지정합니다. USB_CONFIGURATION_DESCRIPTOR_TYPE 설정해야 합니다.

wTotalLength

구성에 대한 모든 데이터의 총 길이(바이트)를 지정합니다. 길이에는 구성 설명자와 함께 반환되는 모든 인터페이스, 엔드포인트, 클래스 또는 공급업체별 설명자가 포함됩니다.

bNumInterfaces

이 구성에서 지원하는 인터페이스의 총 수를 지정합니다.

bConfigurationValue

구성을 선택하는 데 사용되는 값을 포함합니다. 이 값은 유니버설 직렬 버스 사양 버전 1.1에 설명된 대로 USB SetConfiguration 요청에 전달됩니다. 포트 드라이버는 현재 상위 수준 드라이버가 구성을 설정할 수 있는 서비스를 노출하지 않습니다.

iConfiguration

이 구성에 대한 문자열 설명자의 디바이스 정의 인덱스를 지정합니다.

bmAttributes

이 구성의 동작을 설명하는 비트맵을 지정합니다. 비트가 설명되고 little-endian 순서로 설정됩니다.

bit 의미
0 - 4 예약되어 있습니다.
5 구성은 원격 절전 모드 해제를 지원합니다.
6 구성은 자체 전원이 공급되며 버스의 전원을 사용하지 않습니다.
7 구성은 버스에서 구동됩니다.

MaxPower

이 디바이스의 전원 요구 사항을 2밀리암페어 단위로 지정합니다. 이 멤버는 bmAttributes에서 비트 7이 설정된 경우에만 유효합니다.

설명

wTotalLength가 검색된 모든 설명자(인터페이스, 엔드포인트, 클래스 및 공급업체 정의)를 보관하기 위해 URB에 제공된 버퍼 크기보다 크면 불완전한 데이터가 반환됩니다. 전체 설명자를 검색하려면 더 큰 버퍼를 사용하여 요청을 다시 보내야 합니다.

bmAttributes 비트 6과 7이 모두 설정된 경우 디바이스는 버스와 버스 외부의 원본에서 모두 구동됩니다.

이 구조의 일부이지만 여기에 설명되지 않은 다른 멤버는 불투명으로 처리되고 시스템 사용을 위해 예약된 것으로 간주되어야 합니다.

요구 사항

   
헤더 usbspec.h(Usb100.h 포함)

참고 항목

USB 구조체

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest