Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Звуковые драйверы модели Microsoft Windows Driver Model (WDM) для USB-аудио устройств, аудиоустройств IEEE 1394 и аудиоустройств на внутренних шинах представляют свои устройства как фильтры KS с выводами. Звуковой драйвер WDM поддерживает одну KSPIN_DESCRIPTOR структуру для каждого типа пин-кода, который он поддерживает. В этой структуре драйвер сохраняет свойства KSPROPSETID_Pin типа пина. Среди этих свойств является свойство KSPROPERTY_PIN_CATEGORY . Запрос на это свойство извлекает GUID категории пин-кода KS из элемента категорииKSPIN_DESCRIPTOR структуры. Этот GUID указывает общую категорию функциональных возможностей, которые предоставляет пин-код. Например, идентификатор GUID определенной категории контактов, KSNODETYPE_HEADPHONES, обозначает контакт как выходной разъем для наушников.
В случае звукового устройства с поддержкой формата WAV на внутренней шине (например, PCI), драйвер минипорта PortCls содержит массив дескрипторов штырей, каждый из которых описывает тип штыря в фильтре, представляющем устройство. Каждый дескриптор контакта — это структура PCPIN_DESCRIPTOR, содержащая внедренную структуру KSPIN_DESCRIPTOR с GUID категории контакта. При получении клиентского запроса свойства KSPROPERTY_PIN_CATEGORY драйвер порта извлекает GUID категории контакта из дескриптора пина драйвера минипорта для указанного типа контакта. Дополнительные сведения о дескрипторах пин-кода см. в разделе "Фабрики пин-кода".
USB-звуковое устройство имеет некоторое количество терминалов, через которые цифровые потоки и аналоговые сигналы могут входить и выйти из устройства. При создании фильтра KS для представления USB-звукового устройства системный драйвер класса USBAudio преобразует терминалы устройства в контакты фильтра. Файл заголовка Ksmedia.h определяет сопоставление для каждого идентификатора типа терминала USB с GUID категории пин-кода KS. В следующих шести таблицах показаны идентификаторы типов терминала и соответствующие идентификаторы guid категории пин-кода.
Типы входных терминалов
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов KS |
|---|---|
0x0201 |
KSNODETYPE_МИКРОФОН |
0x0202 |
KSNODETYPE_DESKTOP_MICROPHONE (микрофон для настольного использования) |
0x0203 |
KSNODETYPE_PERSONAL_MICROPHONE |
0x0204 |
KSNODETYPE_МИКРОФОН_ОМНИДИРЕКЦИОНАЛЬНЫЙ |
0x0205 |
KSNODETYPE_MICROPHONE_ARRAY |
0x0206 |
KSNODETYPE_PROCESSING_MICROPHONE_ARRAY |
Типы выходного терминала
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов KS |
|---|---|
0x0301 |
KSNODETYPE_SPEAKER |
0x0302 |
KSNODETYPE_HEADPHONES |
0x0303 |
KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO |
0x0304 |
KSNODETYPE_DESKTOP_SPEAKER |
0x0305 |
KSNODETYPE_ROOM_SPEAKER |
0x0306 |
KSNODETYPE_COMMUNICATION_SPEAKER |
0x0307 |
Динамик низкочастотных эффектов KSNODETYPE |
Двунаправленные типы терминалов
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов KS |
|---|---|
0x0401 |
KSNODETYPE_HANDSET |
0x0402 |
KSNODETYPE_HEADSET |
0x0403 |
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION (спикерфон без уменьшения эха) |
0x0404 |
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE (Спикерфон с эхоподавлением) |
0x0405 |
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE |
Типы терминалов телефонии
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов KS |
|---|---|
0x0501 |
KSNODETYPE_PHONE_LINE |
0x0502 |
KSNODETYPE_TELEPHONE |
0x0503 |
KSNODETYPE_DOWN_LINE_PHONE |
Типы внешних терминалов
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов Pin KS |
|---|---|
0x0601 |
KSNODETYPE_ANALOG_CONNECTOR |
0x0602 |
KSNODETYPE_ЦИФРОВОЙ_АУДИО_ИНТЕРФЕЙС |
0x0603 |
KSNODETYPE_LINE_CONNECTOR |
0x0604 |
KSNODETYPE_LEGACY_AUDIO_CONNECTOR |
0x0605 |
KSNODETYPE_SPDIF_INTERFACE |
0x0606 |
KSNODETYPE_1394_DA_STREAM |
0x0607 |
KSNODETYPE_1394_DV_STREAM_SOUNDTRACK |
Типы встроенных терминалов функций
| ИДЕНТИФИКАТОР USB-терминала | GUID категории контактов KS |
|---|---|
0x0701 |
KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE |
0x0702 |
KSNODETYPE_EQUALIZATION_NOISE |
0x0703 |
KSNODETYPE_CD_PLAYER |
0x0704 |
KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE |
0x0705 |
KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE |
0x0706 |
KSNODETYPE_MINIDISK |
0x0707 |
KSNODETYPE_ANALOG_TAPE |
0x0708 |
KSNODETYPE_PHONOGRAPH |
0x0709 |
KSNODETYPE_VCR_AUDIO |
0x070A |
KSNODETYPE_VIDEO_DISC_AUDIO |
0x070B |
KSNODETYPE_DVD_AUDIO |
0x070C |
KSNODETYPE_TV_TUNER_AUDIO |
0x070D |
KSNODETYPE_SATELLITE_RECEIVER_AUDIO |
0x070E |
KSNODETYPE_CABLE_TUNER_AUDIO |
0x070F |
KSNODETYPE_DSS_AUDIO |
0x0710 |
KSNODETYPE_RADIO_RECEIVER |
0x0711 |
KSNODETYPE_RADIO_TRANSMITTER |
0x0712 |
KSNODETYPE_MULTITRACK_RECORDER |
0x0713 |
KSNODETYPE_SYNTHESIZER |
Дополнительные сведения об идентификаторах типа терминала USB см. в определении класса устройства универсальной шины для типов терминалов (выпуск 1.0), который доступен на веб-сайте форума разработчиков USB .
Все GUID категории контактов в предыдущих таблицах имеют имена параметров вида KSNODETYPE_XXX. Обратите внимание, что идентификаторы GUID типа KS узлов также имеют имена параметров KSNODETYPE_XXX. Это соглашение об именовании создает потенциальную возможность путаницы между GUID'ами категорий выводов и GUID'ами типов узлов. К счастью, почти каждый параметр KSNODETYPE_XXX определяет либо категорию контакта, либо тип узла, но не оба. Одним из исключений правила является KSNODETYPE_SYNTHESIZER, которое может определять или категорию вывода, или тип узла в зависимости от контекста. Список идентификаторов GUID типа узла смотрите в разделе «Узлы аудио топологии».
При создании экземпляра USB-звукового устройства системный драйвер класса USBAudio запрашивает у устройства его внутреннюю топологию, включая терминалы. С помощью этой информации драйвер USBAudio строит фильтр для представления устройства и преобразует каждый терминал в соответствующий контакт фильтра. В ходе этого процесса драйвер преобразует каждый идентификатор типа терминала USB в соответствующий GUID категории подключения KS, который является одним из GUID в предыдущих таблицах. Драйвер создает структуру KSPIN_DESCRIPTOR для описания пин-кода и записывает GUID категории пин-кода в структуру.
Минипорт-драйвер PortCls не обязательно использует только GUID категорий, указанные в предыдущих шести таблицах. Например, драйвер может определить и использовать идентификатор GUID пользовательской категории пин-кода для описания типа пин-кода, функциональная категория которого выходит за рамки категорий в таблицах. Естественно, настраиваемый GUID категории пин-кода полезен только для клиентов, которые распознают GUID.
Звуковая подсистема поддерживает список GUID идентификаторов категорий контактов и связанных с ними удобочитаемых имен в системном реестре. Установщик класса мультимедиа копирует пары GUID-name в реестр из файла Ks.inf, расположенного в подпапке Inf основной папки Windows (например, C:\Windows\Inf\Ks.inf).
Операционная система использует категории контактов для связывания понятных имен с устройствами конечной точки аудио. Дополнительные сведения о связывании понятных имен с устройствами конечной точки аудио см. в разделе "Понятные имена" для устройств конечной точки аудио.