AcxStreamBridgeRemoveStream 函数 (acxstreams.h)

AcxStreamBridgeRemoveStream 函数从 ACXSTREAMBRIDGE 对象 中删除指定的 ACXSTREAM。 有关 ACX 对象的详细信息,请参阅 ACX - ACX 对象的摘要

语法

NTSTATUS AcxStreamBridgeRemoveStream(
  ACXSTREAMBRIDGE Bridge,
  ACXSTREAM       Stream
);

参数

Bridge

ACXSTREAMBRIDGE 对象由线路用于传播流创建、流的状态转换和终结点的线路流段之间的 DRM 设置。 此对象仅在多线路 (音频复合) 方案中使用。

Stream

要从 ACXSTREAMBRIDGE 中删除的 ACXSTREAM 对象的句柄。

返回值

STATUS_SUCCESS如果调用成功,则返回 。 否则,它将返回相应的错误代码。 有关详细信息,请参阅 使用 NTSTATUS 值

注解

只能从驱动程序的流清理处理程序上下文调用此 DDI。 调用方调用此 DDI 以手动取消输入 ACXSTREAM 与指定的 ACXSTREAMBRIDGE 对象的关联。

驱动程序在以下情况下调用 AcxStreamBridgeRemoveStream:

() 驱动程序想要从 ACXSTREAMBRIDGE 手动删除 ACXSTREAM。

(b) 驱动程序 (及其 h/w 要求,) 需要上层 ACXSTREAMs,即线路流离流式网桥引脚更近,以便在下层 ACXSTREAMs 之前执行操作。

(c) 驱动程序需要在下层 ACXSTREAM 消失之前和之后采取措施。

对于 AcxStreamBridgeMux 类型,仅创建一个下层 ACXSTREAM,独立于添加到此网桥的输入 ACXSTREAM 数。 这意味着,仅为添加到 ACXSTREAMBRIDGE 的第一个 ACXSTREAM 创建输出 ACXSTREAM (对于本地线路,该输出流用 ACXTARGETSTREAM) 表示。 任何其他输入 ACXSTREAM 仅引用此现有 ACXTARGETSTREAM。

对于 AcxStreamBridgeMux 类型,使用 AcxStreamBridgeRemoveStream 从 ACXSTREAMBRIDGE 中删除最后一个输入 ACXSTREAM 时,将删除输出 ACXTARGETSTREAM。

示例

示例用法如下所示。

    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 版本概述

要求

要求
Header acxstreams.h
IRQL PASSIVE_LEVEL

另请参阅