CoRegisterMessageFilter 函数 (objbase.h)

向 OLE 注册 IMessageFilter 接口的实例,该接口用于处理当前线程上的并发问题。 每个线程只能注册一个消息筛选器。 多线程单元中的线程不能有消息筛选器。

语法

HRESULT CoRegisterMessageFilter(
  [in, optional]  LPMESSAGEFILTER lpMessageFilter,
  [out, optional] LPMESSAGEFILTER *lplpMessageFilter
);

参数

[in, optional] lpMessageFilter

指向消息筛选器上的 IMessageFilter 接口的指针。 此消息筛选器应在当前线程上注册,如果有任何) ,请替换以前的消息筛选器 (。 此参数可以为 NULL,表示不应在当前线程上注册任何消息筛选器。

请注意,此函数在指向消息筛选器的接口指针上调用 AddRef

[out, optional] lplpMessageFilter

接收指向以前注册的消息筛选器的接口指针的 IMessageFilter* 指针变量的地址。 如果当前线程没有以前注册的消息筛选器,则 *lpMessageFilter 的值为 NULL

返回值

如果成功注册或撤销实例,则返回值S_OK;否则,S_FALSE。

注解

若要撤销已注册的消息筛选器,请将以前的消息筛选器 (可能为 NULL) 作为 lpMessageFilter 参数传递给 CoRegisterMessageFilter

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objbase.h
Library Ole32.lib
DLL Ole32.dll

另请参阅

IMessageFilter