Freigeben über


EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION Rückruffunktion (acxelements.h)

Die EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION Rückruffunktion wird vom Treiber implementiert und aufgerufen, um die aktuelle Position innerhalb der Audiodaten abzurufen, die im Knoten des Stream-Audiomoduls gerendert werden.

Syntax

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;

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

Parameter

StreamAudioEngine

Ein vorhandenes, initialisiertes ACXSTREAMAUDIOENGINE-Objekt. Weitere Informationen zu ACX-Objekten finden Sie unter Summary of ACX Objects.

PositionInBlocks

Gibt den Blockoffset vom Anfang des Datenstroms bis zur aktuellen postcodierten, nicht komprimierten Position im Datenstrom an. Weitere Informationen zu diesem Wert finden Sie unter KSAUDIO_PRESENTATION_POSITION Struktur.

QPCPosition

Gibt den Wert des Leistungsindikators zum Zeitpunkt an, zu dem der Audiotreiber die Präsentationsposition als Reaktion auf den Rückruf liest. Weitere Informationen zu diesem Wert finden Sie unter KSAUDIO_PRESENTATION_POSITION Struktur.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Beispiel

Die Beispielverwendung wird unten gezeigt.

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-Anforderungen

Mindestens ACX-Version: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header- acxelements.h
IRQL- PASSIVE_LEVEL

Siehe auch