функция обратного вызова EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION (acxelements.h)
Функция обратного вызова EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION реализуется драйвером и вызывается при установке текущей позиции записи для указанного обработчика потокового звука.
Синтаксис
EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION EvtAcxStreamaudioengineAssignCurrentWritePosition;
NTSTATUS EvtAcxStreamaudioengineAssignCurrentWritePosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
ULONG Position
)
{...}
Параметры
StreamAudioEngine
Существующий инициализированный объект ACXSTREAMAUDIOENGINE. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.
Position
Текущая позиция записи для объекта ACXSTREAMAUDIOENGINE в байтах. Дополнительные сведения о значении позиции см. в разделе KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Remarks
Пример
Ниже приведен пример использования.
EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition;
NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition(
_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->SetCurrentWritePosition(Position);
}
return status;
}
Требования к ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxelements.h |
IRQL | PASSIVE_LEVEL |