EC_DISPLAY_CHANGED

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

显示模式已更改。

参数

lParam1

(IUnknown*) 指向视频呈现器输入引脚的 IPin 接口数组的指针。 如果 lParam2 为零,则此参数可以为 NULL

lParam2

如果 lParam2 为零, 则 lParam1 包含单个 IPin 指针或等于 NULL。 如果 lParam2 大于零, 则 lParam1 包含 IPin 指针数组,并且数组中的元素数由 lParam2 提供。

默认操作

筛选器图管理器暂时停止图形,然后断开并重新连接视频呈现器。 它不会将事件传递给应用程序。

备注

视频呈现器可以发送此事件以响应 WM_DISPLAYCHANGE 消息。 WM_DISPLAYCHANGE消息指示用户已更改显示分辨率。

在固定连接期间,大多数视频呈现器根据当前显示模式选择格式。 如果显示模式发生更改,视频呈现器可能需要选择其他格式。 通过发送此消息,呈现器会向筛选器图管理器发出信号,告知它需要重新连接。 在重新连接期间,呈现器可以选择新格式。 如果重新连接失败,筛选器图管理器会将 EC_ERRORABORT 事件发送到应用程序。

增强的视频呈现器

如果演示者的 Direct3D 设备发生更改, 则增强视频呈现器 (EVR) 的自定义演示者应将此事件发送到 EVR。 将 lParam1lParam2 设置为零;EVR 忽略事件参数。

要求

要求
标头
Dshow.h

另请参阅

事件通知代码

DirectShow 中的事件通知