IEventSystem::Remove 方法 (eventsys.h)

从事件数据存储中删除一个或多个订阅或事件对象。

语法

HRESULT Remove(
  [in]  BSTR progID,
  [in]  BSTR queryCriteria,
  [out] int  *errorIndex
);

参数

[in] progID

要删除的对象类的 ProgID。 这必须是有效的事件对象类标识符。 此参数可能是以下值之一:

  • PROGID_EventClass
  • PROGID_EventClassCollection
  • PROGID_EventSubscription
  • PROGID_EventSubscriptionCollection

[in] queryCriteria

查询条件。 有关为此参数形成有效表达式的详细信息,请参阅下面的“备注”部分。

[out] errorIndex

queryCriteria 参数中错误的位置(以偏移量表示)。

返回值

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

返回代码 说明
S_OK
该方法已成功完成。
EVENT_E_QUERYSYNTAX
尝试计算查询字符串时出现语法错误。
EVENT_E_QUERYFIELD
在查询字符串中使用了无效的字段名称。
EVENT_E_NOT_ALL_REMOVED
并非所有请求的对象都可以删除。

备注

queryCriteria 参数指定的查询条件可以是“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

请参阅

IEventSystem