次の方法で共有


IMultiInterfaceEventControl::SetDefaultQuery メソッド (eventsys.h)

パブリッシャー フィルターがイベント メソッドに関連付けられていない場合に使用する既定のクエリを確立します。

構文

HRESULT SetDefaultQuery(
  [in]          REFIID eventIID,
  [in]          BSTR   bstrMethodName,
  [in]          BSTR   bstrCriteria,
  [out, retval] int    *errorIndex
);

パラメーター

[in] eventIID

起動インターフェイスのインターフェイス識別子。

[in] bstrMethodName

既定のクエリが割り当てられるメソッドの名前。

[in] bstrCriteria

クエリ条件を指定する文字列。 このパラメーターを NULL にすることはできません。 このパラメーターの有効な式の形成の詳細については、以下の「解説」セクションを参照してください。

[out, retval] errorIndex

bstrCriteria パラメーターのエラーのオフセットとして表される場所。

戻り値

このメソッドは、標準の戻り値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 を 呼び出すことによって取得されたコレクションは、サブスクリプション コレクションが変更されるたびに自動的に更新されます。

bstrCriteria パラメーターで指定されるクエリ条件は、"ALL" にできます。すべてのサブスクリプション オブジェクトに対する要求を指定するか、サブスクリプション オブジェクトが満たす必要がある 1 つ以上の条件を示すブール式をクエリ結果に含める必要があります。 有効な式の形式は次のとおりです。

[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