共用方式為


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,以及下列值。

傳回碼 描述
S_OK
已成功完成命令。
EVENT_E_QUERYSYNTAX
嘗試評估查詢字串時發生語法錯誤。
EVENT_E_QUERYFIELD
查詢字串中使用了不正確功能變數名稱。
EVENT_E_INTERNALEXCEPTION
引發未預期的例外狀況。
EVENT_E_INTERNALERROR
偵測到非預期的內部錯誤。

備註

這個方法是 IEventSystem::Query 方法的更特製化形式。 除了只取得訂閱物件之外,每當訂閱集合變更時,呼叫 GetSubscriptions 取得的集合也會自動更新。

optionalCriteria參數所指定的查詢準則可以是 「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

另請參閱

IMultiInterfaceEventControl