IMultiInterfaceEventControl::GetSubscriptions 方法 (eventsys.h)
擷取與事件方法相關聯的訂閱物件集合。
語法
HRESULT GetSubscriptions(
[in] REFIID eventIID,
[in] BSTR bstrMethodName,
[in] BSTR optionalCriteria,
[in] int *optionalErrorIndex,
[out, retval] IEventObjectCollection **ppCollection
);
參數
[in] eventIID
引發介面的介面識別碼。
[in] bstrMethodName
與訂閱集合相關聯的事件方法。
[in] optionalCriteria
指定查詢準則的字串。 如果此參數為 Null,則會使用 SetDefaultQuery 方法所指定的預設查詢。 如需為此參數形成有效運算式的詳細資訊,請參閱下面的一節。
[in] optionalErrorIndex
optionalCriteria參數中錯誤的位置,以位移表示。 此參數不可為 Null。
[out, retval] ppCollection
集合物件上 IEventObjectCollection 介面的指標位址,列舉與事件物件相關聯的訂閱。
傳回值
這個方法可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED和E_FAIL,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
嘗試評估查詢字串時發生語法錯誤。 |
|
查詢字串中使用了不正確功能變數名稱。 |
|
引發未預期的例外狀況。 |
|
偵測到非預期的內部錯誤。 |
備註
這個方法是 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 |