IEventControl::GetSubscriptions 方法 (eventsys.h)
检索与事件方法关联的订阅的集合。
语法
HRESULT GetSubscriptions(
[in] BSTR methodName,
[in] BSTR optionalCriteria,
[in] int *optionalErrorIndex,
[out, retval] IEventObjectCollection **ppCollection
);
参数
[in] methodName
与订阅集合关联的事件方法。
[in] optionalCriteria
查询条件。 如果此参数为 NULL,则使用 SetDefaultQuery 方法指定的默认查询。 有关为此参数构成有效表达式的详细信息,请参阅下面的“备注”部分。
[in] optionalErrorIndex
OptionalCriteria 参数中错误的位置(以偏移量表示)。 此参数不能为 NULL。
[out, retval] ppCollection
指向集合对象上 IEventObjectCollection 接口的指针的地址,该集合对象枚举与事件对象关联的订阅。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此方法是 IEventSystem::Query 方法的一种更专用的形式。 除了仅获取订阅对象外,每当订阅集合发生更改时,通过调用 GetSubscriptions 获取的集合都会自动更新。
optionalCriteria 参数指定的查询条件可以是“ALL”,用于指定所有订阅对象的请求,也可以是一个布尔表达式,表示订阅对象必须满足一个或多个条件才能包含在查询结果中。 有效表达式的形式如下:
[NOT] propertynamerelationalOperator值。 有效的关系运算符如下所示:
==、=、!=、 <>、~=。 有效值为“string”、“string”、{GUID}、 TRUE、 FALSE、 NULL。
单个布尔表达式可与 AND 或 OR 联接。 表达式可以嵌套在括号中,以强制实施特定计算顺序。
下面是一些有效查询条件的示例:
“EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF}”
“EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF} AND MethodName = 'StockPriceChange'”
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | eventsys.h |