Share via


EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION コールバック関数 (acxelements.h)

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION コールバックはドライバーによって実装され、オーディオ エンジン ノードにループバック保護の状態が設定されると呼び出されます。

構文

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION EvtAcxStreamaudioengineAssignLoopbackProtection;

NTSTATUS EvtAcxStreamaudioengineAssignLoopbackProtection(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  ACX_CONSTRICTOR_OPTION ConstrictorOption
)
{...}

パラメーター

StreamAudioEngine

既存の初期化された ACXSTREAMAUDIOENGINE オブジェクト。 ACX オブジェクトの詳細については、「 ACX オブジェクトの概要」を参照してください。

ConstrictorOption

ストリーム オーディオ エンジンのループバック保護状態を指定する ACX_CONSTRICTOR_OPTION 。 状態は、AcxConstrictorOptionNone または AcxConstrictorOptionMute に設定できます。 AcxConstrictorOptionMute が有効なアクティブ なストリームがある場合、このオーディオ出力のループバック タップは無音を出力します。 すべてのアクティブ ストリームに AcxConstrictorOptionNone が有効な場合、ループバック タップには意味のあるデータが含まれます。

戻り値

STATUS_SUCCESS呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。

解説

使用例を次に示します。

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LOOPBACK_PROTECTION        CodecR_EvtAcxStreamAudioEngineAssignLoopbackProtection;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignLoopbackProtection(
    _In_    ACXSTREAMAUDIOENGINE    StreamAudioEngine,
    _In_    ACX_CONSTRICTOR_OPTION  ConstrictorOption
)
{
    NTSTATUS status = STATUS_INVALID_PARAMETER;
    ACXSTREAM stream;
    PCODEC_STREAM_CONTEXT ctx;
    CRenderStreamEngine * streamEngine = NULL;

    PAGED_CODE();

    stream = AcxStreamAudioEngineGetStream(StreamAudioEngine);
    if (stream)
    {
        ctx = GetCodecStreamContext(stream);

        streamEngine = static_cast<CRenderStreamEngine*>(ctx->StreamEngine);

        status = streamEngine->SetLoopbackProtection(ConstrictorOption);
    }

    return status;
}

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。

要件

要件
Header acxelements.h
IRQL PASSIVE_LEVEL

こちらもご覧ください