IEventSystem::Query 方法 (eventsys.h)

從事件數據存放區擷取訂閱或事件物件的集合。

語法

HRESULT Query(
  [in]          BSTR     progID,
  [in]          BSTR     queryCriteria,
  [out]         int      *errorIndex,
  [out, retval] IUnknown **ppInterface
);

參數

[in] progID

要查詢之物件類別的 ProgID。 這必須是有效的事件對象類別標識碼。 此參數可以是下列其中一個值:

  • PROGID_EventClass
  • PROGID_EventClassCollection
  • PROGID_EventSubscription
  • PROGID_EventSubscriptionCollection

[in] queryCriteria

查詢準則。 如需為此參數形成有效表達式的詳細資訊,請參閱下面的一節。

[out] errorIndex

queryCriteria 參數中錯誤的位置,以位移表示。

[out, retval] ppInterface

當做查詢結果取得之物件的指標位址。 此參數不可為 NULL。 視 progID 參數指定的物件而定,這是下列其中一個介面的指標:

傳回值

這個方法可以傳回標準傳回值E_INVALIDARG、E_POINTER、E_OUTOFMEMORY、E_UNEXPECTED和E_FAIL,以及下列值。

傳回碼 描述
S_OK
已成功完成命令。
EVENT_E_QUERYSYNTAX
嘗試評估查詢字串時發生語法錯誤。
EVENT_E_QUERYFIELD
查詢字串中使用了無效的功能變數名稱。

備註

呼叫端負責釋放透過 ppInterface 參數配置的記憶體。

queryCriteria 參數所指定的查詢準則可以是 “ALL”,以指定所有訂閱物件的要求,或是表示訂閱對象必須符合的一或多個條件的布爾表達式,才能包含在查詢結果中。 有效表示式的格式如下:

[NOT] propertynamerelationalOperator。 有效的關係運算符如下所示:

==、=、!=、 <>~=。 有效值為 “string”、“string'、{GUID}、 TRUEFALSENULL

個別布爾表達式可以與 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