IMediaEventEx::SetNotifyWindow 方法 (control.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 SetNotifyWindow
注册一个窗口来处理事件通知。
语法
HRESULT SetNotifyWindow(
[in] OAHWND hwnd,
[in] long lMsg,
[in] LONG_PTR lInstanceData
);
参数
[in] hwnd
窗口句柄,或 NULL 表示停止接收事件消息。
[in] lMsg
要作为通知传递的窗口消息。
[in] lInstanceData
要作为 lMsg 消息的 lParam 参数传递的值。
返回值
如果成功,则返回S_OK;如果 hwnd 参数不是窗口的有效句柄,则返回E_INVALIDARG。
备注
此方法指定将处理事件通知的窗口。 每当 Filter Graph 管理器将事件放入事件队列时,它还会将消息发布到指定的窗口。 hwnd 参数指定窗口,lMsg 参数指定消息。 应用程序应为此定义专用窗口消息。 消息的 lParam 参数设置为 lInstanceData 的值, wParam 参数设置为零。
当窗口收到消息时,它应调用 IMediaEvent::GetEvent 方法来检索事件。 事件是异步的,因此队列可能包含多个 (事件,或者不包含) 。 重复调用 GetEvent ,直到返回错误代码。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | control.h (包括 Dshow.h) |
Library | Strmiids.lib |