Интерфейс IGraphConfig (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Диспетчер фильтров графов предоставляет поддержку динамического построения графов IGraphConfig
. Этот интерфейс позволяет приложениям и фильтрам перенастроить граф фильтров, пока граф находится в запущенном состоянии, не теряя данные из потока.
Самый простой способ динамического перестроения графа — вызвать метод IGraphConfig::Reconnect . Этот метод обрабатывает большинство сведений о динамическом перестроении графа. Если возникает ситуация, когда вы хотите реализовать собственный метод, IGraphConfig
также предоставляет метод IGraphConfig::Reconfigure . Этот метод получает блокировку на графе фильтра, а затем вызывает функцию обратного вызова в приложении, которая перенастраивает граф. При использовании этого метода большая часть работы переносится на приложение. Дополнительные сведения см. в разделе Dynamic Graph Building.
Чтобы оптимизировать процесс добавления и удаления фильтров, граф фильтров поддерживает кэш фильтров. Во время вызова метода Reconnect можно указать, что все фильтры, удаленные из графа, добавляются в кэш. Вы также можете добавить фильтр непосредственно в кэш, если вы знаете, что он может потребоваться, вызвав IGraphConfig::AddFilterToCache. Методы IGraphBuilder::Render, IGraphBuilder::RenderFile и IGraphBuilder::Connect автоматически пытаются использовать фильтры в кэше перед использованием других фильтров. Кроме того, в методе Reconnect можно указать, что для повторного подключения будут использоваться только кэшированные фильтры. Обратите внимание, что фильтры, хранящиеся в кэше, на самом деле не являются частью графа. Они отключены от любых контактов и находятся в остановленном состоянии.
Наследование
Интерфейс IGraphConfig наследуется от интерфейса IUnknown . IGraphConfig также содержит следующие типы членов:
Методы
Интерфейс IGraphConfig содержит следующие методы.
IGraphConfig::AddFilterToCache Метод AddFilterToCache добавляет фильтр в кэш фильтра. |
IGraphConfig::EnumCacheFilter Метод EnumCacheFilter перечисляет фильтры в кэше фильтров. |
IGraphConfig::GetFilterFlags Метод GetFilterFlags извлекает сведения о конфигурации фильтра. |
IGraphConfig::GetStartTime Метод GetStartTime извлекает время отсчета, которое использовалось при последнем переводе графа фильтра в запущенное состояние. |
IGraphConfig::P ushThroughData Метод PushThroughData передает данные через граф фильтра в указанный контакт. |
IGraphConfig::Reconfigure Метод Reconfigure блокирует граф фильтра и вызывает функцию обратного вызова в приложении или фильтре для выполнения динамической перенастройки. |
IGraphConfig::Reconnect Метод Reconnect выполняет динамическое повторное подключение между двумя контактами. |
IGraphConfig::RemoveFilterEx Метод RemoveFilterEx удаляет фильтр из графа фильтра. |
IGraphConfig::RemoveFilterFromCache Метод RemoveFilterFromCache удаляет фильтр из кэша фильтров. |
IGraphConfig::SetFilterFlags Метод SetFilterFlags задает сведения о конфигурации фильтра. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |