Поделиться через


функция обратного вызова EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION (acxelements.h)

Обратный вызов EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION реализуется драйвером и вызывается при запросе положения линейного буфера для указанного обработчика потокового звука.

Синтаксис

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION EvtAcxStreamaudioengineRetrieveLinearBufferPosition;

NTSTATUS EvtAcxStreamaudioengineRetrieveLinearBufferPosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  PULONGLONG Position
)
{...}

Параметры

StreamAudioEngine

Существующий инициализированный объект ACXSTREAMAUDIOENGINE. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.

Position

Значение ULONGLONG, представляющее количество байтов, полученных DMA из звукового буфера указанного обработчика потоковой передачи с момента начала потока.

Возвращаемое значение

Возвращает значение STATUS_SUCCESS , если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.

Remarks

Пример

Ниже приведен пример использования.

EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION   CodecR_EvtAcxStreamAudioEngineRetrieveLinearBufferPosition;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineRetrieveLinearBufferPosition(
    _In_    ACXSTREAMAUDIOENGINE    StreamAudioEngine,
    _Out_   PULONGLONG              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->GetLinearBufferPosition(Position);
    }

    return status;
}

Требования к ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxelements.h
IRQL PASSIVE_LEVEL

См. также раздел