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" にできます。すべてのサブスクリプション オブジェクトに対する要求を指定するか、サブスクリプション オブジェクトが満たす必要がある 1 つ以上の条件を示すブール式をクエリ結果に含める必要があります。 有効な式の形式は次のとおりです。
[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 |