Поделиться через


Описания Джека для динамических аудиоподделений

В Windows Vista и более поздних версиях свойство KSPROPERTY_JACK_DESCRIPTION предоставляет сведения о разъеме или коллекции разъемов на дочернем устройстве в звуковом адаптере. (В этом контексте термин subdevice является синонимом фильтра KS.) Значение свойства представляет собой массив из одной или нескольких KSJACK_DESCRIPTION структур. Каждая структура описывает цвет, тип соединителя и физическое расположение разъема. Кроме того, структура содержит элемент IsConnected , имеющий значение TRUE , если устройство конечной точки аудио, например микрофон или наушники, подключено к разъему, и значение FALSE , если разъем пуст. Чтобы предоставить актуальное значение для IsConnected, драйвер адаптера для динамического подчиненного устройства использует возможности обнаружения подключения разъема звукового оборудования. Для статического подчиненного устройства (без обнаружения присутствия в разъеме) элемент IsConnected всегда должен иметь значение TRUE. Дополнительные сведения см. в разделе Jack Description Property.

Когда пользователь вставляет подключаемый модуль в разъем на динамическом подчиненном устройстве, драйвер адаптера должен вызвать функцию PcRegisterSubdevice для регистрации вложенного устройства. Пока вложенное устройство остается зарегистрированным, если драйвер адаптера получает IOCTL, содержащий запрос KSPROPERTY_JACK_DESCRIPTION для вложенного устройства, драйвер должен задать для члена Свойства IsConnected значение TRUE.

Когда пользователь удаляет подключаемый модуль из разъема на динамическом дочернем устройстве, драйвер адаптера должен вызвать метод IUnregisterSubdevice::UnregisterSubdevice , чтобы удалить регистрацию дочернего устройства. Если вложенное устройство не зарегистрировано, если драйвер адаптера получает IOCTL, содержащий запрос KSPROPERTY_JACK_DESCRIPTION для вложенного устройства, драйвер должен задать для элемента Свойства IsConnected значение FALSE.