EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION funzione di callback (acxelements.h)
La funzione di callback EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION viene implementata dal driver e viene chiamata per recuperare la posizione corrente all'interno dei dati audio sottoposti a rendering nel nodo del motore audio di flusso.
Sintassi
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;
NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
PULONGLONG PositionInBlocks,
PULONGLONG QPCPosition
)
{...}
Parametri
StreamAudioEngine
Oggetto ACXSTREAMAUDIOENGINE esistente, inizializzato. Per altre informazioni sugli oggetti ACX, vedere Riepilogo degli oggetti ACX.
PositionInBlocks
Specifica l'offset del blocco dall'inizio del flusso alla posizione post-decodificata corrente, non compressa nel flusso. Per altre informazioni su questo valore, vedere KSAUDIO_PRESENTATION_POSITION struttura .
QPCPosition
Specifica il valore del contatore delle prestazioni al momento in cui il driver audio legge la posizione della presentazione in risposta al callback. Per altre informazioni su questo valore, vedere KSAUDIO_PRESENTATION_POSITION struttura .
Valore restituito
Restituisce STATUS_SUCCESS
se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.
Commenti
Esempio
Di seguito è riportato l'esempio di utilizzo.
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;
}
Requisiti ACX
Versione minima DI ACX: 1.0
Per altre informazioni sulle versioni ACX, vedere Panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxelements.h |
IRQL | PASSIVE_LEVEL |