AcxAudioEngineCreate 函数 (acxelements.h)

AcxAudioEngineCreate 函数用于创建将与线路 WDFDEVICE 设备对象父项关联的音频引擎。

语法

NTSTATUS AcxAudioEngineCreate(
  ACXCIRCUIT              Object,
  PWDF_OBJECT_ATTRIBUTES  Attributes,
  PACX_AUDIOENGINE_CONFIG Config,
  ACXAUDIOENGINE          *AudioEngine
);

参数

Object

(将与线路关联的 框架对象) 摘要中所述的 WDFDEVICE 对象。

Attributes

一个 WDF_OBJECT_ATTRIBUTES 结构,用于将 AcxAudioEngine 与父线路对象相关联。 请注意,不应使用 Attributes 参数设置其他 WDF 属性(如 WDF_EXECUTION_LEVEL 或 WDF_SYNCHRONIZATION_SCOPE),因为它们是由 ACX 管理的。

Config

描述音频引擎配置的初始化 ACX_AUDIOENGINE_CONFIG结构

AudioEngine

指向一个位置的指针,该位置接收呈现线路中使用的新 ACXAUDIOENGINE 对象的句柄,表示一个 DSP。 有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要

返回值

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

备注

示例

示例用法如下所示。

    NTSTATUS                        status;
    WDF_OBJECT_ATTRIBUTES           attributes;
    ACX_AUDIOENGINE_CONFIG          audioEngineCfg;

    ACX_AUDIOENGINE_CONFIG_INIT(&audioEngineCfg);

    audioEngineCfg.HostPin = Pins[HostPin];
    audioEngineCfg.OffloadPin = Pins[OffloadPin];
    audioEngineCfg.LoopbackPin = Pins[LoopbackPin];
    audioEngineCfg.VolumeElement = volumeElement;
    audioEngineCfg.MuteElement = muteElement;
    audioEngineCfg.PeakMeterElement = peakmeterElement;
    audioEngineCfg.Callbacks = &audioEngineCallbacks;

    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, CODEC_ENGINE_CONTEXT);
    attributes.ParentObject = Circuit;

    status = AcxAudioEngineCreate(Circuit, &attributes, &audioEngineCfg, AudioEngine);

ACX 要求

最低 ACX 版本: 1.0

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

要求

要求
Header acxelements.h
IRQL PASSIVE_LEVEL

另请参阅