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


Функция 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, не следует задавать с помощью параметра Attributes , так как они управляются ACX.

Config

Инициализированная структура ACX_AUDIOENGINE_CONFIG , описывающая конфигурацию звукового модуля.

AudioEngine

Указатель на расположение, которое получает дескриптор нового объекта ACXAUDIOENGINE, используемого в цепи отрисовки, для представления DSP. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.

Возвращаемое значение

Возвращает значение STATUS_SUCCESS , если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.

Remarks

Пример

Ниже приведен пример использования.

    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

См. также раздел