Метод 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 гарантирует, что сообщения об изменении палитры отправляются до изменения состояния. Это позволяет избежать потенциальной взаимоблокировки.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|