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


Метод CBaseRenderer.WaitForReceiveToComplete

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод WaitForReceiveToComplete ожидает завершения метода CBaseRenderer::Receive .

Синтаксис

void WaitForReceiveToComplete();

Параметры

Этот метод не имеет параметров.

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

Этот метод не возвращает значение.

Комментарии

Методы CBaseRenderer::Stop и CBaseRenderer::BeginFlush вызывают этот метод для синхронизации изменения состояния с методом Receive .

В частности, этот метод отправляет сообщения, ожидая, пока флаг CBaseRenderer::m_bInReceive станет FALSE. Флаг становится TRUE в методе CBaseRenderer::P repareReceive и переключается обратно на FALSE после того, как метод Receive вызывает метод CBaseRenderer::P repareRender . Производный класс может использовать PrepareRender для задания палитры. Ожидание завершения PrepareRender гарантирует, что сообщения об изменении палитры отправляются до изменения состояния. Это позволяет избежать потенциальной взаимоблокировки.

Требования

Требование Значение
Заголовок
Renbase.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CBaseRenderer