다음을 통해 공유


USB_DEVICE_DESCRIPTOR 구조체(usbspec.h)

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

구문

typedef struct _USB_DEVICE_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT bcdUSB;
  UCHAR  bDeviceClass;
  UCHAR  bDeviceSubClass;
  UCHAR  bDeviceProtocol;
  UCHAR  bMaxPacketSize0;
  USHORT idVendor;
  USHORT idProduct;
  USHORT bcdDevice;
  UCHAR  iManufacturer;
  UCHAR  iProduct;
  UCHAR  iSerialNumber;
  UCHAR  bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;

멤버

bLength

이 설명자의 길이(바이트)를 지정합니다.

bDescriptorType

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

bcdUSB

이 설명자 구조가 준수하는 USB 사양의 버전을 식별합니다. 이 값은 이진으로 구분된 10진수입니다.

bDeviceClass

USB 사양 그룹에서 할당한 디바이스의 클래스 코드를 지정합니다.

bDeviceSubClass

USB 사양 그룹에서 할당한 디바이스의 하위 클래스 코드를 지정합니다.

bDeviceProtocol

USB 사양 그룹에서 할당한 디바이스의 프로토콜 코드를 지정합니다.

bMaxPacketSize0

디바이스의 엔드포인트 0에 대한 최대 패킷 크기(바이트)를 지정합니다. 값은 8, 16, 32 또는 64로 설정해야 합니다.

idVendor

USB 사양 위원회에서 할당한 디바이스의 공급업체 식별자를 지정합니다.

idProduct

제품 식별자를 지정합니다. 이 값은 제조업체에서 할당하며 디바이스에 따라 다릅니다.

bcdDevice

디바이스의 버전을 식별합니다. 이 값은 이진으로 구분된 10진수입니다.

iManufacturer

이 디바이스의 제조업체 이름을 포함하는 문자열을 제공하는 문자열 설명자의 디바이스 정의 인덱스를 지정합니다.

iProduct

디바이스에 대한 설명을 포함하는 문자열을 제공하는 문자열 설명자의 디바이스 정의 인덱스를 지정합니다.

iSerialNumber

디바이스에 대해 제조업체에서 결정한 일련 번호를 포함하는 문자열을 제공하는 문자열 설명자의 디바이스 정의 인덱스를 지정합니다.

bNumConfigurations

디바이스에 대해 가능한 구성의 총 수를 지정합니다.

설명

이 구조체는 검색된 USB 정의 디바이스 설명자를 보관하는 데 사용됩니다. 그런 다음 이 정보를 사용하여 디바이스에 대한 정보를 추가로 구성하거나 검색할 수 있습니다. 디바이스 설명자는 get-descriptor URB를 제출하여 검색됩니다.

호스트 컨트롤러 드라이버에서 반환될 때 iManufacturer, iProductiSerialNumber 값은 디바이스에서 유지 관리하는 문자열 설명자 배열에 인덱스 값을 포함합니다. 이러한 문자열을 검색하기 위해 이러한 인덱스 값을 사용하여 문자열 설명자 요청을 디바이스로 보낼 수 있습니다.

요구 사항

요구 사항
헤더 usbspec.h(Usb100.h 포함)

추가 정보

USB 구조체

UsbBuildGetDescriptorRequest

_URB_CONTROL_DESCRIPTOR_REQUEST