共用方式為


EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION回呼函式 (acxelements.h)

驅動程式會實 作EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION 回呼函式,並呼叫 以擷取轉譯至串流音訊引擎節點之音訊數據中的目前位置。

語法

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;

NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  PULONGLONG PositionInBlocks,
  PULONGLONG QPCPosition
)
{...}

參數

StreamAudioEngine

現有、初始化的 ACXSTREAMAUDIOENGINE 物件。 如需 ACX 對象的詳細資訊,請參閱 ACX 物件的摘要

PositionInBlocks

指定從數據流開頭到數據流中目前譯碼后未壓縮位置的區塊位移。 如需此值的詳細資訊,請參閱 KSAUDIO_PRESENTATION_POSITION結構

QPCPosition

指定音訊驅動程式讀取呈現位置以回應回呼時的性能計數器值。 如需此值的詳細資訊,請參閱 KSAUDIO_PRESENTATION_POSITION結構

傳回值

如果呼叫成功,則傳 STATUS_SUCCESS 回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值

備註

範例

範例使用方式如下所示。

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION    CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition(
    _In_    ACXSTREAMAUDIOENGINE    StreamAudioEngine,
    _Out_   PULONGLONG              PositionInBlocks,
    _Out_   PULONGLONG              QPCPosition
)
{
    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->GetPresentationPosition(PositionInBlocks, QPCPosition);
    }

    return status;
}

ACX 需求

最小 ACX 版本: 1.0

如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀

規格需求

需求
標頭 acxelements.h
IRQL PASSIVE_LEVEL

另請參閱