IGraphConfig 接口 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
筛选器图形管理器公开 IGraphConfig
以支持动态图形生成。 此接口使应用程序和筛选器能够在图形处于运行状态且不会从流中丢失数据的情况下重新配置筛选器图。
动态重新生成图形的最简单方法是调用 IGraphConfig::Reconnect 方法。 此方法处理动态重新生成图形的大部分详细信息。 如果出现想要实现自己的技术的情况, IGraphConfig
请提供 IGraphConfig::Reconfigure 方法。 此方法获取筛选器图上的锁,然后在应用程序中调用回调函数,该函数将重新配置图形。 使用此方法时,大部分工作将转移到应用程序。 有关详细信息,请参阅 动态图形生成。
为了优化添加和删除筛选器的过程,筛选器图维护筛选器缓存。 在调用 Connection 方法期间,可以指定从图形中删除的任何筛选器都添加到缓存中。 如果知道可能需要筛选器,还可以通过调用 IGraphConfig::AddFilterToCache 直接将筛选器添加到缓存。 使用其他筛选器之前, IGraphBuilder::Render、 IGraphBuilder::RenderFile 和 IGraphBuilder::Connect 方法会自动尝试使用缓存中的筛选器。 此外,在 重新连接 方法中,可以指定仅将缓存的筛选器用于重新连接。 请注意,缓存中保存的筛选器实际上不是图形的一部分。 它们与任何引脚断开连接,并一直处于停止状态。
继承
IGraphConfig 接口继承自 IUnknown 接口。 IGraphConfig 还具有以下类型的成员:
方法
IGraphConfig 接口具有这些方法。
IGraphConfig::AddFilterToCache AddFilterToCache 方法将筛选器添加到筛选器缓存。 |
IGraphConfig::EnumCacheFilter EnumCacheFilter 方法枚举筛选器缓存中的筛选器。 |
IGraphConfig::GetFilterFlags GetFilterFlags 方法检索筛选器的配置信息。 |
IGraphConfig::GetStartTime GetStartTime 方法检索上次将筛选器图置于运行状态时使用的引用时间。 |
IGraphConfig::P ushThroughData PushThroughData 方法将数据通过筛选器图推送到指定的引脚。 |
IGraphConfig::Reconfigure Reconfigure 方法锁定筛选器图,并在应用程序或筛选器中调用回调函数以执行动态重新配置。 |
IGraphConfig::重新连接 重新连接方法在两个引脚之间执行动态重新连接。 |
IGraphConfig::RemoveFilterEx RemoveFilterEx 方法从筛选器图中删除筛选器。 |
IGraphConfig::RemoveFilterFromCache RemoveFilterFromCache 方法从筛选器缓存中删除筛选器。 |
IGraphConfig::SetFilterFlags SetFilterFlags 方法设置筛选器的配置信息。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |