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 auf dem Knoten der Streamaudio-Engine 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 Zusammenfassung der ACX-Objekte.

PositionInBlocks

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

QPCPosition

Gibt den Wert des Leistungsindikators zu dem 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 zurück STATUS_SUCCESS , wenn der Aufruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Beispiel

Die Verwendungsbeispiele finden Sie unten.

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

AcX-Mindestversion: 1.0

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

Anforderungen

Anforderung Wert
Header acxelements.h
IRQL PASSIVE_LEVEL

Weitere Informationen