事件通知概述

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

筛选器通过发布事件通知来通知 Filter Graph 管理器有关事件。 该事件可能是预期事件(例如流的末尾),也可能表示错误,例如无法呈现流。 Filter Graph 管理器自行处理某些筛选器事件,而其他筛选器事件则留给应用程序处理。 如果 Filter Graph 管理器不处理筛选器事件,则会将事件通知放入队列中。 筛选器图还可以为应用程序将自己的事件通知排队。

应用程序从队列中检索事件,并根据事件类型对其进行响应。 因此,DirectShow 中的事件通知类似于 Microsoft Windows 消息队列方案。 应用程序还可以取消筛选器关系图管理器对给定事件类型的默认行为。 然后,Filter Graph 管理器将这些事件直接放入队列中供应用程序处理。

此机制启用

  • 用于与应用程序通信的 Filter Graph 管理器。
  • 用于与应用程序和筛选器关系图管理器通信的筛选器。
  • 应用程序,以确定其在处理事件中的参与程度。