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 以手动取消与指定的 ACXSTREAMBRIDGE 对象的输入 ACXSTREAM 的关联。
驱动程序在以下方案中调用 AcxStreamBridgeRemoveStream:
(a) 驱动程序希望从 ACXSTREAMBRIDGE 手动删除 ACXSTREAM。
(b) 驱动程序(及其 h/w 要求)需要上层 ACXSTREAM,即线路流靠近流式桥引脚,以便在下层 ACXSTREAM 之前采取措施。
(c) 驱动程序需要在下层 ACXSTREAM 消失前后采取措施。
对于 AcxStreamBridgeMux 类型,仅创建一个下层 ACXSTREAM,而与添加到此桥的输入 ACXSTREAM 的数量无关。 这意味着,输出 ACXSTREAM(对于本地线路,该流使用 ACXTARGETSTREAM 表示),仅为添加到 ACXSTREAMBRIDGE 的第一个 ACXSTREAM 创建。 任何其他输入 ACXSTREAM 只需引用此现有的 ACXTARGETSTREAM。
对于 AcxStreamBridgeMux 类型,当最后一个输入 ACXSTREAM 与 AcxStreamBridgeRemoveStream 从 ACXSTREAMBRIDGE 中删除时,将删除输出 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 版本概述。
要求
要求 | 价值 |
---|---|
标头 | acxstreams.h |
IRQL | PASSIVE_LEVEL |