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,ACXXSTREAMBRIDGE 将为 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 版本概述

要求

要求 价值
标头 acxstreams.h
IRQL PASSIVE_LEVEL

另请参阅