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


Функция 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.

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

(a) драйверы хотят вручную удалить ACXSTREAM из ACXSTREAMBRIDGE.

(b) драйверы (и их требования h/w) требуются для интерфейсов ACXSTREAM верхнего уровня, т. е. потоков цепи ближе к закреплению моста потоковой передачи, чтобы принять меры перед уменьшением уровня ACXSTREAMs.

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

Для типа AcxStreamBridgeMux создается только один нисходящий ACXSTREAM независимо от количества входных ACXSTREAMs, добавленных в этот мост. Это означает, что выходной ACXSTREAM (который для локального канала представлен потоком с ACXTARGETSTREAM), создается только для первого добавленного в ACXSTREAMBRIDGE. Любые дополнительные входные данные ACXSTREAMs просто принимают ссылку на этот существующий 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

См. также

  • заголовка acxstreams.h