EVT_ACX_PEAKMETER_RETRIEVE_LEVEL 콜백 함수(acxelements.h)

EVT_ACX_PEAKMETER_RETRIEVE_LEVEL 콜백 함수는 드라이버에 의해 구현되며 피크미터 노드에서 지정된 채널의 수준이 요청될 때 호출됩니다.

구문

EVT_ACX_PEAKMETER_RETRIEVE_LEVEL EvtAcxPeakmeterRetrieveLevel;

NTSTATUS EvtAcxPeakmeterRetrieveLevel(
  ACXPEAKMETER PeakMeter,
  ULONG Channel,
  LONG *Level
)
{...}

매개 변수

PeakMeter

초기화된 기존 ACXPEAKMETER 개체입니다. ACX 개체에 대한 자세한 내용은 ACX 개체 요약을 참조하세요.

Channel

지정된 피크미터 노드의 채널을 참조하는 ULONG입니다. 이 값이 -1이면 피크미터 노드의 모든 채널에 대한 수준을 설정하는 master 채널을 참조합니다.

Level

peakmeter 노드가 마지막으로 재설정된 이후 피크미터 노드에서 지정된 채널에 대해 발생한 최대 오디오 신호 수준을 나타내는 LONG 값입니다.

반환 값

호출에 성공하면 를 반환합니다 STATUS_SUCCESS . 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용을 참조하세요.

설명

예제

예제 사용법은 다음과 같습니다.

typedef struct _CODEC_PEAKMETER_ELEMENT_CONTEXT {
    LONG            PeakMeterLevel[MAX_CHANNELS];
} CODEC_PEAKMETER_ELEMENT_CONTEXT, *PCODEC_PEAKMETER_ELEMENT_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CODEC_PEAKMETER_ELEMENT_CONTEXT, GetCodecPeakMeterElementContext)

EVT_ACX_PEAKMETER_RETRIEVE_LEVEL    CodecR_EvtPeakMeterRetrieveLevelCallback;

NTSTATUS
NTAPI
CodecR_EvtPeakMeterRetrieveLevelCallback(
    _In_    ACXPEAKMETER    PeakMeter,
    _In_    ULONG           Channel,
    _Out_   LONG *          PeakMeterLevel
    )
{
    PAGED_CODE();

    ASSERT(PeakMeter);
    PCODEC_PEAKMETER_ELEMENT_CONTEXT peakmeterCtx = GetCodecPeakMeterElementContext(PeakMeter);
    ASSERT(peakmeterCtx);

    if (Channel == ALL_CHANNELS_ID)
    {
        Channel = 0;
    }

    *PeakMeterLevel = peakmeterCtx->PeakMeterLevel[Channel];

    return STATUS_SUCCESS;
}

ACX 요구 사항

최소 ACX 버전: 1.0

ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.

요구 사항

요구 사항
헤더 acxelements.h
IRQL PASSIVE_LEVEL

추가 정보