IFilterRequestCallback::RequestFilter

同期先プロバイダーで提供されるフィルターを、変更の列挙時に同期元プロバイダーで使用するように要求します。

HRESULT RequestFilter(
  IUnknown * pFilter,
  FILTERING_TYPE filteringType);

パラメーター

項目

定義

pFilter

[in] 同期先プロバイダーで指定されているフィルターです。このフィルターは、同期元プロバイダーに渡され、変更の列挙時に使用されます。

filteringType

[in] フィルター設定された同期時に変更バッチに含める情報の種類を示します。

戻り値

  • S_OK

  • E_POINTER

  • SYNC_E_FILTER_NOT_SUPPORTED (pFilter で指定されたフィルターが同期元プロバイダーでサポートされていない場合。これは、同期元プロバイダーが ISupportFilteredSync を実装しない場合にも返されます。)

解説

フィルターのネゴシエーションは、次の手順で行われます。

  1. 同期元プロバイダーが変更の列挙を開始する前に、Sync Framework は、同期先プロバイダーの IRequestFilteredSync::SpecifyFilter を呼び出して、フィルターのネゴシエーションを開始します。

  2. IRequestFilteredSync::SpecifyFilter の処理中、同期先プロバイダーはフィルターを IFilterRequestCallback::RequestFilter に渡します。

  3. IFilterRequestCallback::RequestFilter の処理中、Sync Framework は、同期元プロバイダーの ISupportFilteredSync::AddFilter を呼び出します。要求されたフィルターが同期元プロバイダーでサポートされていない場合、同期先プロバイダーは、サポートされているフィルターが見つかるまで、フィルターを要求し続けることができます。

フィルターのネゴシエーションが正常に終了すると、同期元プロバイダーは、このフィルターを使用して、変更の列挙時に含める項目を決定します。

参照

リファレンス

IFilterRequestCallback インターフェイス
IRequestFilteredSync インターフェイス
ISupportFilteredSync インターフェイス