最終更新:2023-05-10 (水) 09:54:46 (685d)
bDescriptorType
Top / bDescriptorType
GET_DESCRIPTOR(bDescriptorType)
USB/標準ディスクリプタ
種類 bDescriptorType サイズ 備考 DEVICE (デバイスディスクリプタ) 0x01 18バイト 必要。 CONFIGURATION (コンフィグレーションディスクリプタ) 0x02 9バイト 必要 STRING (ストリングディスクリプタ) 0x03 可変 指定があれば INTERFACE (インターフェイスディスクリプタ) 0x04 9バイト 必要 ENDPOINT (エンドポイントディスクリプタ) 0x05 7バイト エンドポイント0 以外は必要 DEVICE_QUALIFIER (デバイスクオリファイアディスクリプタ) 0x06 Hi-Speed USB をサポートする場合、必要 OTHER_SPEED_CONFIGURATION (アザースピードコンフィグレーションディスクリプタ) 0x07 Hi-Speed USB をサポートする場合、必要 INTERFACE_POWER (インターフェイスパワーディスクリプタ) 0x08 Microsoft の拡張仕様
USB 2.0で追加
名前 英語 bDescriptorType メモ デバイスクオリファイアディスクリプタ DEVICE_QUALIFIER? 6 Hi-Speed USB をサポートする場合、必要 アザースピードコンフィグレーションディスクリプタ OTHER_SPEED_CONFIGURATION? 7 Hi-Speed USB をサポートする場合、必要
標準以外のディスクリプタ
USB 2.0のECNとかで追加
インターフェイスパワーディスクリプタ INTERFACE_POWER? 8 Microsoft の拡張仕様 OTG 9 OTGの仕様で定義 DEBUG 10(0x0A) インターフェイスアソシエーションディスクリプタ 11(0x0B) 複合デバイス設定,UVCで定義 BOSディスクリプタ BOS? (Binary Device Object Store) 15(0x0F) デバイスキャパビリティディスクリプタ?指定,LPMサーポートに必要,USB 2.0のECNで定義 デバイスキャパビリティディスクリプタ? DEVICE_CAPABILITY? 16(0x10) Super Speed/High Speed時のLink Message対応通知,LPMサーポトに必要,USB 2.0のECNで定義
USB 3.0で追加
SUPERSPEED_USB_ENDPOINT_COMPANION? 0x30 Burst転送最大長
Wireless USB
USB/クラスディスクリプタ
クラス 種類 bDescriptorType HID HIDディスクリプタ 0x21(33) レポートディスクリプタ 0x22(34) フィジカルディスクリプタ 0x23(35) USBハブ USBハブ 0x29(41) クラス独自 未定義 0x20(32) CS_UNDEFINED? UAC, UVC クラス独自 デバイス 0x21(33) CS_DEVICE? UAC, UVC クラス独自 コンフィグレーション 0x22(34) CS_CONFIGURATION? UAC, UVC クラス独自 ストリング 0x23(35) CS_STRING? UAC, UVC クラス独自 インターフェイス 0x24(36) CS_INTERFACE UAC, UVC クラス独自 エンドポイント 0x25(37) CS_ENDPOINT? UAC, UVC
クラス独自
UAC/ディスクリプタ
- bDescriptorType
- bDescriptorSubtype
- Audio Class-Specific AC Interface Descriptor Subtypes
bDescriptorSubtype AC_DESCRIPTOR_UNDEFINED 0x00 HEADER 0x01 AudioControlインターフェイスヘッダーディスクリプタ INPUT_TERMINAL 0x02 AudioControlインプットターミナルディスクリプタ OUTPUT_TERMINAL 0x03 AudioControlアウトプットターミナルディスクリプタ? MIXER_UNIT 0x04 SELECTOR_UNIT 0x05 FEATURE_UNIT 0x06 PROCESSING_UNIT 0x07 EXTENSION_UNIT 0x08
UVC/ディスクリプタ
- bDescriptorType
クラス 種類 bDescriptorType UVC 未定義 0x20(32) CS_UNDEFINED? UVC/デバイスディスクリプタ? 0x21(33) CS_DEVICE? UVC/コンフィグレーションディスクリプタ? 0x22(34) CS_CONFIGURATION? UVC/ストリングディスクリプタ? 0x23(35) CS_STRING? UVC/インターフェイスディスクリプタ 0x24(36) CS_INTERFACE UVC/エンドポイントディスクリプタ 0x25(37) CS_ENDPOINT?