Функция AcxStreamBridgeCreate (acxstreams.h)
Функция acxStreamBridgeCreate использует ACX_STREAM_BRIDGE_CONFIG для создания StreamBridge для канала.
ACXSTREAMBRIDGE используется каналом для распространения создания потока, перехода состояний потока и параметров DRM между сегментами потока цепи конечной точки. Этот объект используется только в сценарии с несколькими каналами (составной звук).
Синтаксис
NTSTATUS AcxStreamBridgeCreate(
ACXCIRCUIT AcxCircuit,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACX_STREAM_BRIDGE_CONFIG Config,
ACXSTREAMBRIDGE *StreamBridge
);
Параметры
AcxCircuit
Указатель на расположение, которое получает дескриптор связанному объекту ACXCIRCUIT. Дополнительные сведения о объектах ACX см. в ACX — сводка по объектам ACX.
Attributes
Дополнительные атрибуты, определенные с помощью WDF_OBJECT_ATTRIBUTES, которые используются для задания значений различных объектов: очистки и уничтожения обратных вызовов, типа контекста и указания родительского объекта. Дополнительные сведения см. в разделе WDF_OBJECT_ATTRIBUTES структура и разделы примечаний этой статьи.
Config
Структура ACX_STREAM_BRIDGE_CONFIG, которая определяет конфигурацию.
StreamBridge
Указатель на расположение, которое получает дескриптор к новому объекту ACXSTREAMBRIDGE.
Возвращаемое значение
Возвращает STATUS_SUCCESS
, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в использовании значений NTSTATUS.
Замечания
Конечная точка звука — это коллекция одного или нескольких звуковых каналов (объектов ACXCIRCUIT), которые собираются для создания полного звукового пути. Драйвер ACX обычно создает звуковые каналы для разных конечных точек звука, хотя ACX не запрещает каналы, созданные тем же драйвером, быть частью коллекции одной и той же аудиоконечной точки, если они принадлежат другому стеку устройств. Конечная точка звука — это коллекция звуковых каналов, созданных одинаковыми или различными звуковыми драйверами.
По умолчанию родительский объект ACXSTREAMBRIDGE является указанным ACXCIRCUIT. Элемент ParentObject структуры WDF_OBJECT_ATTRIBUTES можно использовать для указания другого родителя с ACXCIRCUIT в качестве предка. Платформа удаляет объект ACXSTREAMBRIDGE при удалении родительского объекта.
Драйвер может удалить объект ACXSTREAMBRIDGE после завершения работы с объектом; в противном случае объект останется до удаления родительского объекта, что является случаем, когда он создается во время инициализации и создания ACXCIRCUIT.
Закрепление может быть связано с нулем, одним или несколькими ACXSTREAMBRIDGEs. ACX выполняет поиск связанного списка режима обработки сигналов ACXPIN для соответствия режима обработки потокового сигнала. Поиск останавливается в первом матче.
ACX создает мост ACXSTREAMBRIDGE по умолчанию для ACXCIRCUIT для моста ACXCIRCUIT, если драйвер не создает его, и драйвер не отключает обработку моста потока по умолчанию с помощью функции AcxCircuitInitDisableDefaultStreamBridgeHandling.
Пример
Ниже показан пример использования.
ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
ACXSTREAMBRIDGE bridge = NULL;
ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
bridgeCfg.InModesCount = 1;
bridgeCfg.InModes = inModes;
bridgeCfg.OutMode = &AUDIO_SIGNALPROCESSINGMODE_DEFAULT;
status = AcxStreamBridgeCreate(circuit, &attributes, &bridgeCfg, &bridge);
Требования к ACX
минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в обзоре версий ACX.
Требования
Требование | Ценность |
---|---|
заголовка | acxstreams.h |
IRQL | PASSIVE_LEVEL |