最終更新:2025-10-03 (金) 12:08:21 (287d)
UAC 1.0/ディスクリプタ
構造
IADを使う場合
デバイスディスクリプタ └コンフィグレーションディスクリプタ └インターフェイスアソシエーションディスクリプタ (bFunctionClass: 0x01 (Audio) / bFunctionSubclass:0x02 (Audio Streaming)) └インターフェイスディスクリプタ (bInterfaceClass: 0x01 (Audio) / bInterfaceSubclass:0x01 (Audio Control)) └AudioControlインターフェイスヘッダーディスクリプタ └AudioControlアウトプットターミナルディスクリプタ └AudioControlフィーチャーユニットディスクリプタ └インターフェイスディスクリプタ (bInterfaceClass: 0x01 (Audio) / bInterfaceSubclass:0x02 (Audio Streaming)) └AudioStreamingインターフェイスディスクリプタ └AudioStreamingフォーマットタイプディスクリプタ └エンドポイントディスクリプタ └オーディオデータエンドポイントディスクリプタ
USB/クラス
- クラス
AUDIO 0x01 - サブクラス
SUBCLASS_UNDEFINED 0x00 AUDIOCONTROL 0x01 AUDIOSTREAMING 0x02 MIDISTREAMING 0x03
メモ
- IADを使ってない場合:インターフェイスディスクリプタ
bInterfaceClass 0x01 (Audio) bInterfaceSubClass 0x02 Streaming - IADを使ってる場合: IAD
bFunctionClass 0x01 (Audio) bFunctionSubClass 0x02 Streaming
UAC周りのディスクリプタ
- コンフィグレーションディスクリプタを取得するとついてくる
インターフェイスアソシエーションディスクリプタ (IAD)
bInterfaceCount 0x02 (2 Interfaces) bFunctionClass 1 Audio bFunctionSubClass 2 Streaming
インターフェイス0 (AudioControl?)
- AudioControlインターフェイスディスクリプタ (標準)
bInterfaceClass 1 Audio bInterfaceSubClass 0x01 Audio Control
- AudioControlインターフェイスヘッダーディスクリプタ (クラス固有)
bDescriptorType 0x24 (CS_INTERFACE、クラス独自) bDescriptorSubtype 1 (Header) bcdADC 0x100 bInCollection 0x01 baInterfaceNr 0x01 - 後続のディスクリプタ
- 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 AudioControlフィーチャーユニットディスクリプタ? PROCESSING_UNIT 0x07 EXTENSION_UNIT 0x08
- Audio Class-Specific AC Interface Descriptor Subtypes
インターフェイス1 (AudioStreaming?)
- AudioStreamingインターフェイスディスクリプタ? (標準)
bDescriptorType 0x04 (Interface Descriptor) bInterfaceClass 1 Audio bInterfaceSubClass 1 Streaming
- AudioStreamingインターフェイスディスクリプタ? (クラス独自、AS_GENERAL)
bDescriptorType 0x24 (CS_INTERFACE、クラス独自) bDescriptorSubtype 1 (AS_GENERAL)
- AudioStreamingフォーマットタイプディスクリプタ? (クラス独自、FORMAT_TYPE)
bDescriptorType 0x24 (CS_INTERFACE、クラス独自) bDescriptorSubtype 2 (FORMAT_TYPE)

