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


Метод CBaseRenderer.SendRepaint

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

Метод SendRepaint отправляет событие repaint в диспетчер графов фильтров.

Синтаксис

void SendRepaint();

Параметры

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

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

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

Комментарии

Этот метод отправляет событие EC_REPAINT диспетчеру графов фильтров, если выполняются следующие условия:

  • Входной контакт подключен.
  • Фильтр не очищает данные.
  • Конец потока не достигнут.
  • Флаг CBaseRenderer::m_bAbort имеет значение FALSE.
  • Флаг CBaseRenderer::m_bRepaintStatus имеет значение TRUE.

В зависимости от состояния графа событие EC_REPAINT может привести к повторной отправке образца фильтром вышестоящий, поиском графа фильтра в его текущем расположении или временной приостановкой диспетчера графов фильтров. (См . EC_REPAINT.) Это событие потенциально неэффективно, поэтому его следует использовать экономно. Однако отрисовщики видео иногда нуждаются в обновлении дисплея.

Требования

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

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

Класс CBaseRenderer