KSPROPERTY_JACK_DESCRIPTION3

Свойство KSPROPERTY_JACK_DESCRIPTION3 реализуется в виде пин-мудрого свойства, доступ к которому осуществляется с помощью дескриптора фильтра.

В операционных системах Windows версии 22H2 и более поздних версий связанная KSJACK_DESCRIPTION3 структура может использоваться для указания и изменения текущей конфигурации джека.

Сводная таблица по использованию

Получить Установить Цель Тип дескриптора свойства Тип значения свойства

Да

нет

Фабрика закреплений (с помощью дескриптора фильтра)

KSP_PIN

KSMULTIPLE_ITEM за массивом KSJACK_DESCRIPTION3 структур

Значение свойства (данные экземпляра) — это KSMULTIPLE_ITEM, за которым следует массив KSJACK_DESCRIPTION3 структур.

возвращаемое значение

Запрос свойства KSPROPERTY_JACK_DESCRIPTION3 возвращает KSMULTIPLE_ITEM за массивом структур N KSJACK_DESCRIPTION3, где N = количество гнезд, связанных с указанным закреплением моста. В следующем списке показаны элементы, возвращаемые запросом свойства.

KSMULTIPLE_ITEM. Size = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)

KSMULTIPLE_ITEM. Count = N

KSJACK_DESCRIPTION3[0]

...

KSJACK_DESCRIPTION3[N-1]

Замечания

Обмен данными об изменениях звукового устройства с помощью KSJACK_DESCRIPTION3 и KSPROPERTY_JACK_DESCRIPTION3

Система аудиозаписи Windows кэширует возможности аудиоустройств во время создания конечной точки звука. Эти кэшированные значения предназначены для таких возможностей, как наличие звукового модуля HW, поддержка формата, идентификатор контейнера, характеристики размера буфера и т. д. Эти кэшированные значения сохраняются в течение срока установки Windows. Они обновляются только при обновлении звукового драйвера или во время обновления ОС.

С помощью KSJACK_DESCRIPTION3 аудиосистема Windows предоставляет механизм для звукового драйвера для запроса отмены и обновления всех кэшированных значений. Запрос можно активировать с помощью изменений в возможностях звукового устройства, таких как ограничения ресурсов.

Когда драйвер изменяет содержимое KSJACK_DESCRIPTION3 во время выполнения, драйвер активирует существующее событие KSEVENT_PINCAPS_JACKINFOCHANGE .

Звуковая система Windows сохраняет последнее указанное значение ConfigId , кэшированное в конечной точке звука. Значение ConfigId извлекается в ответ на событие KSEVENT_PINCAPS_JACKINFOCHANGE и во время нормальной обработки конечной точки звука при загрузке системы, перезапуске службы Audio Endpoint Builder, обновлении драйвера аудио или изменении состояния интерфейса для конечной точки.

Если полученное значение ConfigId отличается от ранее сохраненного значения, звуковая система Windows отменит все возможности ранее кэшированных конечных точек и обновят их.

Рекомендуемое использование — определить несколько конфигураций конечных точек звука в драйвере, управляемом значением ConfigId (bitmask или перечисление). Например, ConfigId 1 может указывать на наличие узла звукового модуля, в то время как ConfigId 2 не будет сообщать о узле подсистемы аудио. ConfigId, используемый драйвером, предоставляется совместно с звуковой системой Windows через KSPROPERTY_JACK_DESCRIPTION3 и действует для синхронизации конечной точки с возможностями, кэшируемыми звуковой системой Windows.

Значение ConfigId непрозрачно для Windows. Звуковой драйвер может использовать метку времени или добавочное значение, выбранное во время выполнения вместо битовой маски или перечисления, как показано выше. Эта стратегия не рекомендуется, так как это может привести к ненужным обновлениям конечных точек во время загрузки или изменения интерфейса для синхронизации последнего сохраненного значения ConfigId с новым значением, даже если возможности конечной точки не изменяются. Этот подход также может увеличить вероятность того, что драйвер и Windows становятся не синхронизированными, что может привести к сбоям воспроизведения звука.

Механизм, используемый для обновления кэшированных значений в конечной точке при изменении ConfigId , совпадает с используемым для обновлений операционной системы и обновлений драйверов. Создается новая конечная точка с другим идентификатором, которая будет содержать обновленные кэшированные значения, соответствующие новым параметрам ConfigId для конечной точки, затем параметры пользователя копируются из старой конечной точки в новую конечную точку, и, наконец, старая конечная точка удаляется. Дополнительные сведения о процессе миграции звуковых конечных точек в обновлениях ОС см. в разделе "Обновления операционной системы".

Требования

Минимальный поддерживаемый клиент

Доступно в операционных системах Windows версии 22H2 и более поздних версий.

Заголовок

Ksmedia.h

См. также

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

Обновления операционной системы