IVideoWindow::p ut_MessageDrain 方法 (control.h)

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

方法 put_MessageDrain 指定从视频窗口接收鼠标和键盘消息的窗口。

语法

HRESULT put_MessageDrain(
  [in] OAHWND Drain
);

参数

[in] Drain

窗口的句柄,作为 OAHWND 值。

返回值

可能的返回值包括:

返回代码 说明
S_OK
成功。
VFW_E_NOT_CONNECTED
视频呈现器筛选器未连接。

备注

此方法使应用程序能够响应视频窗口中生成的鼠标和键盘事件。

如果 Drain 为非 NULL,则视频呈现器使用 PostMessage 函数将某些消息转发到指定窗口。 转发的消息可能取决于所使用的视频呈现器。 视频呈现器和视频混合呈现器 (VMR) 筛选器转发以下消息:

  • WM_CHAR
  • WM_DEADCHAR
  • WM_KEYDOWN
  • WM_KEYUP
  • WM_LBUTTONDBLCLK
  • WM_LBUTTONDOWN
  • WM_LBUTTONUP
  • WM_MBUTTONDBLCLK
  • WM_MBUTTONDOWN
  • WM_MBUTTONUP
  • WM_MOUSEACTIVATE
  • WM_MOUSEMOVE
  • WM_NCLBUTTONDBLCLK
  • WM_NCLBUTTONDOWN
  • WM_NCLBUTTONUP
  • WM_NCMBUTTONDBLCLK
  • WM_NCMBUTTONDOWN
  • WM_NCMBUTTONUP
  • WM_NCMOUSEMOVE
  • WM_NCRBUTTONDBLCLK
  • WM_NCRBUTTONDOWN
  • WM_NCRBUTTONUP
  • WM_RBUTTONDBLCLK
  • WM_RBUTTONDOWN
  • WM_RBUTTONUP
  • WM_SYSCHAR
  • WM_SYSDEADCHAR
  • WM_SYSKEYDOWN
  • WM_SYSKEYUP
消息排出窗口不需要是视频窗口的父级,因此全屏应用程序可以使用此方法。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 control.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IVideoWindow 接口

IVideoWindow::get_MessageDrain