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 |