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 |