EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION fonction de rappel (acxelements.h)
La fonction de rappel EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION est implémentée par le pilote et appelée pour récupérer la position actuelle dans les données audio rendues au nœud du moteur audio de flux.
Syntaxe
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;
NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
PULONGLONG PositionInBlocks,
PULONGLONG QPCPosition
)
{...}
Paramètres
StreamAudioEngine
Objet ACXSTREAMAUDIOENGINE initialisé existant. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.
PositionInBlocks
Spécifie le décalage de bloc entre le début du flux et la position post-décodée et non compressée actuelle dans le flux. Pour plus d’informations sur cette valeur, consultez structure KSAUDIO_PRESENTATION_POSITION .
QPCPosition
Spécifie la valeur du compteur de performances au moment où le pilote audio lit la position de présentation en réponse au rappel. Pour plus d’informations sur cette valeur, consultez structure KSAUDIO_PRESENTATION_POSITION .
Valeur retournée
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.
Remarques
Exemple
L’exemple d’utilisation est illustré ci-dessous.
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;
}
Configuration requise pour ACX
Version ACX minimale : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxelements.h |
IRQL | PASSIVE_LEVEL |