IMediaEventEx::SetNotifyWindow 方法 (control.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 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

另请参阅

错误和成功代码

IMediaEventEx 接口