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 仕様のバージョンを識別します。 この値は、2 進コードの 10 進数です。

bDeviceClass

USB 仕様グループによって割り当てられたデバイスのクラス コードを指定します。

bDeviceSubClass

USB 仕様グループによって割り当てられたデバイスのサブクラス コードを指定します。

bDeviceProtocol

USB 仕様グループによって割り当てられたデバイスのプロトコル コードを指定します。

bMaxPacketSize0

デバイスのエンドポイント 0 の最大パケット サイズをバイト単位で指定します。 値は、8、16、32、または 64 に設定する必要があります。

idVendor

USB 仕様委員会によって割り当てられたデバイスのベンダー識別子を指定します。

idProduct

製品識別子を指定します。 この値は製造元によって割り当てられ、デバイス固有です。

bcdDevice

デバイスのバージョンを識別します。 この値は、2 進コードの 10 進数です。

iManufacturer

このデバイスの製造元の名前を含む文字列を提供する文字列記述子のデバイス定義インデックスを指定します。

iProduct

デバイスの説明を含む文字列を提供する文字列記述子のデバイス定義インデックスを指定します。

iSerialNumber

デバイスの製造元が決定したシリアル番号を含む文字列を提供する文字列記述子のデバイス定義インデックスを指定します。

bNumConfigurations

デバイスで使用可能な構成の合計数を指定します。

注釈

この構造体は、取得した USB で定義されたデバイス記述子を保持するために使用されます。 この情報を使用して、デバイスに関する情報をさらに構成または取得できます。 デバイス記述子は、get-descriptor URB を送信することによって取得されます。

ホスト コントローラー ドライバーから返される iManufactureriProductおよび iSerialNumber の値には、デバイスによって維持される文字列記述子の配列にインデックス値が含まれます。 これらの文字列を取得するには、これらのインデックス値を使用して、文字列記述子要求をデバイスに送信できます。

要件

要件
Header usbspec.h (Usb100.h を含む)

こちらもご覧ください

USB 構造体

UsbBuildGetDescriptorRequest

_URB_CONTROL_DESCRIPTOR_REQUEST