ISupportFilteredSync::AddFilter method (winsync.h)
Sets the filter that is used for change enumeration by the source provider, when implemented by a derived class.
Syntax
HRESULT AddFilter(
[in] IUnknown *pFilter,
[in] FILTERING_TYPE filteringType
);
Parameters
[in] pFilter
The filter that is used for change enumeration by the source provider.
[in] filteringType
A FILTERING_TYPE enumeration value that indicates the type of information that is included in a change batch during filtered synchronization.
Return value
The possible return codes include, but are not limited to, the values shown in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
|
When the type of filter that is specified by pFilter is not supported. |
|
Remarks
Filter negotiation is achieved by using the following steps:
- Before the source provider begins enumerating changes, a synchronization session typically starts filter negotiation by calling IRequestFilteredSync::SpecifyFilter on the destination provider.
- During processing of IRequestFilteredSync::SpecifyFilter, the destination provider passes filters to IFilterRequestCallback::RequestFilter.
- During processing of IFilterRequestCallback::RequestFilter, a synchronization session typically calls ISupportFilteredSync::AddFilter on the source provider. If the source provider does not support the requested filter, the destination provider can continue to request filters until it finds one that is supported.
Typically the destination provider will end the synchronization session when an error other than SYNC_E_FILTER_NOT_SUPPORTED is returned from ISupportFilteredSync::AddFilter.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | winsync.h |
See also
IFilterRequestCallback Interface