Функция AcxStreamBridgeRemoveStream (acxstreams.h)
Функция AcxStreamBridgeRemoveStream удаляет указанный ACXSTREAM из объекта ACXSTREAMBRIDGE . Дополнительные сведения об объектах ACX см. в разделе ACX — сводка по объектам ACX.
Синтаксис
NTSTATUS AcxStreamBridgeRemoveStream(
ACXSTREAMBRIDGE Bridge,
ACXSTREAM Stream
);
Параметры
Bridge
Объект ACXSTREAMBRIDGE используется каналом для распространения создания потока, переходов состояний потока и параметров DRM между сегментами потока конечной точки. Этот объект используется только в сценарии с несколькими каналами (составной аудио).
Stream
Дескриптор объекта ACXSTREAM, удаляемый из ACXSTREAMBRIDGE.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Комментарии
Этот DDI можно вызывать только из контекста обработчика очистки потока драйвера. Вызывающий объект вызывает этот DDI, чтобы вручную отменить связь входного ACXSTREAM с указанным объектом ACXSTREAMBRIDGE.
Драйверы вызывают AcxStreamBridgeRemoveStream в следующих сценариях:
(a) Драйверы хотят вручную удалить ACXSTREAM из ACXSTREAMBRIDGE.
(b) драйверам (и их требованиям ч/w) требуется ACXSTREAM верхнего уровня, т. е. канал выполняет потоки ближе к контакту моста потоковой передачи, чтобы выполнить действия перед acXSTREAM нижнего уровня.
(в) Драйверы должны выполнять действия до и после того, как acXSTREAM нижнего уровня исчезает.
Для типа AcxStreamBridgeMux создается только один ACXSTREAM нижнего уровня независимо от количества входных acXSTREAM, добавленных в этот мост. Это означает, что выходной ACXSTREAM (который для локального канала представляет поток с помощью ACXTARGETSTREAM) создается только для первого ACXSTREAM, добавленного в ACXSTREAMBRIDGE. Все дополнительные входные данные ACXSTREAM просто принимают ссылку на существующий ACXTARGETSTREAM.
Для типа AcxStreamBridgeMux выходные данные ACXTARGETSTREAM удаляются при удалении последнего входного ACXSTREAM из ACXSTREAMBRIDGE с помощью AcxStreamBridgeRemoveStream.
Пример
Ниже приведен пример использования.
status = AcxStreamBridgeAddStream(bridge, stream);
// Get I/O target to send I/O to the target stream.
targetStream = AcxStreamBridgeGetTargetStream(bridge, stream);
// Target stream is closed if this was last input ACXSTREAM removed.
status = AcxStreamBridgeRemoveStream(bridge, stream);
Требования к ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxstreams.h |
IRQL | PASSIVE_LEVEL |