IFilterRequestCallback::RequestFilter

请求由目标提供程序提供的筛选器在变更枚举期间由源提供程序使用。

HRESULT RequestFilter(
  IUnknown * pFilter,
  FILTERING_TYPE filteringType);

参数

术语

定义

pFilter

[in] 由目标提供程序指定的筛选器。此筛选器被传递给源提供程序以在枚举变更期间使用。

filteringType

[in] 指示筛选同步过程中变更批中包含的信息的类型。

返回值

  • S_OK。

  • E_POINTER。

  • 如果源提供程序不支持 pFilter 指定的筛选器,则返回值为 SYNC_E_FILTER_NOT_SUPPORTED。当源提供程序没有实现 ISupportFilteredSync 时,也返回此值。

备注

筛选器协商的实现步骤如下:

  1. 在源提供程序开始枚举变更之前,Sync Framework 会通过对目标提供程序调用 IRequestFilteredSync::SpecifyFilter 来启动筛选器协商。

  2. IRequestFilteredSync::SpecifyFilter 的处理过程中,目标提供程序会将筛选器传递给 IFilterRequestCallback::RequestFilter

  3. IFilterRequestCallback::RequestFilter 的处理过程中,Sync Framework 将对源提供程序调用 ISupportFilteredSync::AddFilter。如果源提供程序不支持请求的筛选器,则目标提供程序会继续请求筛选器,直到找到一个受支持的筛选器。

成功协商筛选器后,源提供程序使用该筛选器来确定在变更枚举的过程中要包含哪些项。

请参阅

参考

IFilterRequestCallback 接口
IRequestFilteredSync 接口
ISupportFilteredSync 接口