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 |