Partager via


fonction de rappel EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION (acxelements.h)

La fonction de rappel EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION est implémentée par le pilote et est appelée lorsque la position du dernier octet valide dans la mémoire tampon audio est définie pour le moteur audio de flux spécifié.

Syntaxe

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION EvtAcxStreamaudioengineAssignLastBufferPosition;

NTSTATUS EvtAcxStreamaudioengineAssignLastBufferPosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  ULONG Position
)
{...}

Paramètres

StreamAudioEngine

Objet ACXSTREAMAUDIOENGINE existant, initialisé. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.

Position

Indique la position du dernier octet valide dans la mémoire tampon audio du moteur audio de flux spécifié. Pour plus d’informations sur la valeur de position, consultez KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION.

Valeur de retour

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.

Remarques

Exemple

L’exemple d’utilisation est illustré ci-dessous.

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION       CodecR_EvtAcxStreamAudioEngineAssignLastBufferPosition;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignLastBufferPosition(
    _In_    ACXSTREAMAUDIOENGINE    StreamAudioEngine,
    _In_    ULONG                   Position
)
{
    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->SetLastBufferPosition(Position);
    }

    return status;
}

Configuration requise pour ACX

version minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxelements.h
IRQL PASSIVE_LEVEL

Voir aussi