AcxStreamBridgecreate 函数 (acxstreams.h)

AcxStreamBridgeCreate 函数使用 ACX_STREAM_BRIDGE_CONFIG 为线路创建 StreamBridge。

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

语法

NTSTATUS AcxStreamBridgeCreate(
  ACXCIRCUIT                AcxCircuit,
  PWDF_OBJECT_ATTRIBUTES    Attributes,
  PACX_STREAM_BRIDGE_CONFIG Config,
  ACXSTREAMBRIDGE           *StreamBridge
);

参数

AcxCircuit

指向接收关联 ACXCIRCUIT 对象的句柄的位置的指针。 有关 ACX 对象的详细信息,请参阅 ACX - ACX 对象的摘要

Attributes

使用 WDF_OBJECT_ATTRIBUTES 定义的其他属性,用于设置各种对象的值:清理和销毁回调、上下文类型以及指定其父对象。 有关详细信息,请参阅 本主题WDF_OBJECT_ATTRIBUTES 结构和备注部分。

Config

定义 配置的ACX_STREAM_BRIDGE_CONFIG 结构。

StreamBridge

指向接收新 ACXSTREAMBRIDGE 对象的句柄的位置的指针。

返回值

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

注解

音频终结点是一个或多个音频线路的集合, (ACXCIRCUIT 对象) 这些线路组合在一起以创建完整的音频路径。 ACX 驱动程序通常会为不同的音频终结点创建音频线路,但 ACX 不会禁止同一驱动程序创建的线路属于同一音频终结点的集合,只要这些线路属于不同的设备堆栈。 音频终结点是由相同或不同的音频驱动程序创建的音频线路的集合。

默认情况下,新的 ACXSTREAMBRIDGE 对象的父对象是指定的 ACXCIRCUIT。 可以使用 WDF_OBJECT_ATTRIBUTES 结构的 ParentObject 成员将 ACXCIRCUIT 作为上级来指定不同的父级。 框架在删除父对象时删除 ACXSTREAMBRIDGE 对象。

驱动程序可以在使用完 ACXSTREAMBRIDGE 对象后删除该对象;否则,对象将一直保留,直到删除父级,即在 ACXCIRCUIT 初始化/创建期间创建该对象。

一个引脚可以与零个、一个或多个 ACXSTREAMBRIDGE 相关联。 ACX 在关联的 ACXPIN 信号处理模式列表中搜索流信号处理模式匹配项。 搜索在第一次匹配时停止。

如果驱动程序未创建 ACXCIRCUIT 桥,ACX 会为 ACXCIRCUIT 桥创建默认 ACXSTREAMBRIDGE,并且驱动程序未使用 AcxCircuitInitDisableDefaultStreamBridgeHandling 函数禁用默认流桥处理。

示例

示例用法如下所示。

    ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
    ACXSTREAMBRIDGE          bridge = NULL;
    
    ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
    bridgeCfg.InModesCount = 1;
    bridgeCfg.InModes      = inModes; 
    bridgeCfg.OutMode      = &AUDIO_SIGNALPROCESSINGMODE_DEFAULT;

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

ACX 要求

最低 ACX 版本: 1.0

有关 ACX 版本的详细信息,请参阅 ACX 版本概述

要求

要求
Header acxstreams.h
IRQL PASSIVE_LEVEL

另请参阅