Compartir a través de


EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION función de devolución de llamada (acxelements.h)

El controlador implementa la función de devolución de llamada EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION y se llama a para recuperar la posición actual dentro de los datos de audio que se representan en el nodo del motor de audio de secuencia.

Sintaxis

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;

NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  PULONGLONG PositionInBlocks,
  PULONGLONG QPCPosition
)
{...}

Parámetros

StreamAudioEngine

Objeto ACXSTREAMAUDIOENGINE existente, inicializado. Para obtener más información sobre los objetos ACX, vea Resumen de objetos ACX.

PositionInBlocks

Especifica el desplazamiento de bloque desde el principio de la secuencia hasta la posición postcodificada actual sin comprimir en la secuencia. Consulte KSAUDIO_PRESENTATION_POSITION estructura para obtener más información sobre este valor.

QPCPosition

Especifica el valor del contador de rendimiento en el momento en que el controlador de audio lee la posición de presentación en respuesta a la devolución de llamada. Consulte KSAUDIO_PRESENTATION_POSITION estructura para obtener más información sobre este valor.

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

Ejemplo

A continuación se muestra un ejemplo de uso.

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;
}

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxelements.h
IRQL PASSIVE_LEVEL

Consulte también