Обзор уведомления о событии

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

Фильтр уведомляет диспетчер графов фильтров о событии, публикуя уведомление о событии. Событие может быть ожидаемым, например, конец потока, или может представлять ошибку, такую как сбой при отрисовке потока. Диспетчер графов фильтров обрабатывает некоторые события фильтра самостоятельно, и он оставляет другие для обработки приложения. Если диспетчер графов фильтров не обрабатывает событие фильтра, он помещает уведомление о событии в очередь. Граф фильтров также может ставить в очередь собственные уведомления о событиях для приложения.

Приложение извлекает события из очереди и реагирует на них на основе типа события. Таким образом, уведомление о событиях в DirectShow похоже на схему очереди сообщений Microsoft Windows. Приложение также может отменить поведение диспетчера фильтров по умолчанию для заданного типа события. Затем диспетчер графов фильтров помещает эти события непосредственно в очередь для обработки приложения.

Этот механизм позволяет

  • Диспетчер графов фильтров для взаимодействия с приложением.
  • Фильтры для взаимодействия как с приложением, так и с диспетчером графов фильтров.
  • Приложение для определения степени вовлеченности в управление событиями.