次の方法で共有


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 バージョンの概要 参照してください。

必要条件

要件 価値
ヘッダー acxelements.h
IRQL PASSIVE_LEVEL

関連項目