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 值

备注

示例

示例用法如下所示。

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 版本概述

要求

要求
Header acxelements.h
IRQL PASSIVE_LEVEL

另请参阅