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


функция обратного вызова EVT_ACX_AUDIOENGINE_RETRIEVE_ENGINE_FORMAT (acxelements.h)

Обратный вызов EVT_ACX_AUDIOENGINE_RETRIEVE_ENGINE_FORMAT реализуется драйвером и вызывается при запросе внутреннего формата микса для указанного звукового модуля.

Синтаксис

EVT_ACX_AUDIOENGINE_RETRIEVE_ENGINE_FORMAT EvtAcxAudioengineRetrieveEngineFormat;

NTSTATUS EvtAcxAudioengineRetrieveEngineFormat(
  ACXAUDIOENGINE AudioEngine,
  ACXDATAFORMAT *Format
)
{...}

Параметры

AudioEngine

Объект ACXAUDIOENGINE, для которого был запрошен формат смеси. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.

Format

Объект ACXDATAFORMAT, описывающий формат микс звукового модуля.

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

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

Remarks

Пример

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

typedef struct _CODEC_ENGINE_CONTEXT {
    ACXDATAFORMAT   MixFormat;
    BOOLEAN         GFxEnabled;
} CODEC_ENGINE_CONTEXT, *PCODEC_ENGINE_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CODEC_ENGINE_CONTEXT, GetCodecEngineContext)

EVT_ACX_AUDIOENGINE_RETRIEVE_ENGINE_FORMAT      CodecR_EvtAcxAudioEngineRetrieveEngineMixFormat;

NTSTATUS
NTAPI
CodecR_EvtAcxAudioEngineRetrieveEngineMixFormat(
    _In_    ACXAUDIOENGINE  AudioEngine,
    _Out_   ACXDATAFORMAT * Format
    )
{
    PCODEC_ENGINE_CONTEXT   audioEngineCtx;
    PAGED_CODE();

    audioEngineCtx = GetCodecEngineContext(AudioEngine);

    if (!audioEngineCtx->MixFormat)
    {
        return STATUS_INVALID_DEVICE_STATE;
    }

    *Format = audioEngineCtx->MixFormat;

    return STATUS_SUCCESS;
}

Требования ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxelements.h
IRQL PASSIVE_LEVEL

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