Поделиться через


Функция 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 с родительским объектом канала. Обратите внимание, что дополнительные атрибуты 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.

Требования

Требование Ценность
заголовка acxelements.h
IRQL PASSIVE_LEVEL

См. также