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


Функция AcxStreamBridgeAddStream (acxstreams.h)

Функция AcxStreamBridgeAddStream добавляет существующий ACXSTREAM в существующий ACXSTREAMBRIDGE. Дополнительные сведения об объектах ACX см. в разделе ACX — сводка по объектам ACX.

Синтаксис

NTSTATUS AcxStreamBridgeAddStream(
  ACXSTREAMBRIDGE Bridge,
  ACXSTREAM       Stream
);

Параметры

Bridge

Объект ACXSTREAMBRIDGE используется каналом для распространения создания потока, переходов состояний потока и параметров DRM между сегментами потока канала конечной точки. Этот объект используется только в сценарии с несколькими каналами (составными аудио).

Stream

Объект ACXSTREAM представляет звуковой поток, созданный каналом. Поток состоит из списка элементов, созданных на основе элементов родительского канала.

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

Возвращает значение STATUS_SUCCESS , если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.

Комментарии

Драйверы вызывают AcxStreamBridgeAddStream в следующих сценариях:

(a) Драйверы хотят вручную выбрать ACXSTREAMBRIDGE, который будет использоваться для текущего ACXSTREAM.

(b) драйверы (и их требования к оборудованию) должны иметь более нижнего уровня ACXCIRCUITs, т. е. цепи ближе к контакту моста устройства, чтобы принять меры перед выполнением действий ACXCIRCUITs верхнего уровня.

(c) драйверы должны принимать меры до и после acXCIRCUITs нижнего уровня.

Для типа AcxStreamBridgeMux создается только один ACXSTREAM нижнего уровня независимо от количества входных acXSTREAM, добавленных в этот мост. Это означает, что выходной ACXSTREAM (который для локального канала представляет поток с помощью ACXTARGETSTREAM) создается только для первого ACXSTREAM, добавленного в ACXSTREAMBRIDGE. Все дополнительные входные данные ACXSTREAM, просто возьмите ссылку на этот существующий ACXTARGETSTREAM.

Для типа AcxSTreamBridgeMux выходные данные ACXTARGETSTREAM удаляются при удалении последнего входного ACXSTREAMBRIDGE с acxStreamBridgeRemoveStream.

Пример

Ниже приведен пример использования. Код обработки ошибок не отображается.

        status = AcxStreamBridgeCreate(Circuit, &attributes, &bridgeCfg, &bridge);

        // Pin ID 1 is the bridge pin in this example.
        bridgePin = AcxCircuitGetPinById(Circuit, 1);
        
        status = AcxPinAddStreamBridges(bridgePin, &bridge, 1);

        status = AcxStreamBridgeAddStream(bridge, stream);

Требования ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxstreams.h
IRQL PASSIVE_LEVEL

См. также раздел