Share via


EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION fonction de rappel (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 initialisé existant. 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 retournée

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il 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_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 d’ACX

Version minimale d’ACX : 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

Voir aussi