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,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
嘗試評估查詢字串時發生語法錯誤。 |
|
查詢字串中使用了無效的功能變數名稱。 |
備註
呼叫端負責釋放透過 ppInterface 參數配置的記憶體。
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 |