IPublisherFilter::Initialize 方法 (eventsys.h)

将事件方法与订阅对象的集合相关联。

仅出于向后兼容性而支持此方法。 否则,应使用 IMultiInterfacePublisherFilter 接口的方法。

语法

HRESULT Initialize(
  [in] BSTR      methodName,
  [in] IDispatch *dispUserDefined
);

参数

[in] methodName

与发布者筛选器关联的事件方法的名称。

[in] dispUserDefined

指向事件系统对象上的 IEventSystem 接口或事件类对象上的 IEventControl 接口的指针。

返回值

此方法可以返回标准返回值E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED和E_FAIL,以及以下值。

返回代码 说明
S_OK
已成功初始化发布者筛选器。
EVENT_S_SOME_SUBSCRIBERS_FAILED
事件能够调用部分(但不是全部)订阅者。
EVENT_E_ALL_SUBSCRIBERS_FAILED
事件无法调用任何订阅者。
EVENT_S_NOSUBSCRIBERS
已发布事件,但没有订阅者。
EVENT_E_QUERYSYNTAX
尝试计算查询字符串时出现语法错误。
EVENT_E_QUERYFIELD
在查询字符串中使用了无效的字段名称。
EVENT_E_INTERNALEXCEPTION
引发意外异常。
EVENT_E_INTERNALERROR
检测到意外的内部错误。
EVENT_E_INVALID_PER_USER_SID
每个用户订阅上的所有者 SID 不存在。
EVENT_E_USER_EXCEPTION
用户提供的组件或订阅服务器引发异常。
EVENT_E_TOO_MANY_METHODS
接口具有太多要从中触发事件的方法。
EVENT_E_MISSING_EVENTCLASS
除非订阅的事件类已存在,否则无法存储订阅。
EVENT_E_NOT_ALL_REMOVED
并非所有请求的对象都可以删除。
EVENT_E_COMPLUS_NOT_INSTALLED
此操作需要 COM+,但未安装。

备注

发布者筛选器使用在 dispUserDefined 中传递的指针,通过调用 IEventSystem::QueryIEventControl::GetSubscriptions 来获取订阅者列表。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 eventsys.h

请参阅

IMultiInterfacePublisherFilter

IPublisherFilter