IFilterRequestCallback::RequestFilter
Требует, чтобы фильтр, предоставленный поставщиком назначения, использовался поставщиком источника в процессе перечисления изменений.
Синтаксис
HRESULT RequestFilter(
IUnknown * pFilter,
FILTERING_TYPE filteringType);
Параметры
Аргумент |
Определение |
pFilter |
[in] Фильтр, который задается поставщиком назначения. Этот фильтр передается поставщику источника для использования в ходе перечисления изменений. |
filteringType |
[in] Указывает тип данных, которые включаются в пакет изменений в ходе фильтруемой синхронизации. |
Возвращаемое значение
S_OK.
E_POINTER.
SYNC_E_FILTER_NOT_SUPPORTED, если тип фильтра, заданный параметром pFilter, не поддерживается поставщиком источника. Это значение также возвращается, если поставщик источника не предоставляет интерфейс ISupportFilteredSync.
Замечания
Согласование фильтров достигается выполнением следующих действий.
Перед тем как поставщик источника начинает перечисление изменений, Sync Framework запускает согласование фильтров, вызывая метод IRequestFilteredSync::SpecifyFilter в поставщике назначения.
В ходе обработки IRequestFilteredSync::SpecifyFilter поставщик назначения передает фильтры в метод IFilterRequestCallback::RequestFilter.
В ходе обработки IFilterRequestCallback::RequestFilterSync Framework вызывает ISupportFilteredSync::AddFilter в поставщике источника. Если поставщик источника не поддерживает запрошенный фильтр, то поставщик назначения может продолжить запрашивать фильтры до тех пор, пока не найдет поддерживаемый.
Как только согласование фильтра успешно завершено, поставщик источника пользуется им для определения элементов, которые необходимо включить в процесс перечисления изменений.
См. также
Другие ресурсы
Интерфейс IFilterRequestCallback