파생 클래스에서 구현되면 원본 공급자가 변경 내용 열거에 사용하는 필터를 설정합니다.
HRESULT AddFilter(
IUnknown * pFilter,
FILTERING_TYPE filteringType);
매개 변수
항목 |
정의 |
pFilter |
[in] 원본 공급자가 변경 내용 열거에 사용하는 필터입니다. |
filteringType |
[in] 필터링된 동기화 중에 일괄 변경 내용에 포함되는 정보의 유형을 나타냅니다. |
반환 값
S_OK
pFilter로 지정된 필터의 유형이 지원되지 않으면 SYNC_E_FILTER_NOT_SUPPORTED입니다.
공급자 고유의 오류 코드입니다.
주의
다음 단계를 통해 필터가 결정됩니다.
원본 공급자가 변경 내용 열거 작업을 시작하기 전에 Sync Framework에서 대상 공급자에 대해 IRequestFilteredSync::SpecifyFilter를 호출하여 필터 결정을 시작합니다.
IRequestFilteredSync::SpecifyFilter를 처리하는 동안 대상 공급자가 IFilterRequestCallback::RequestFilter에 필터를 전달합니다.
IFilterRequestCallback::RequestFilter를 처리하는 동안 Sync Framework에서 원본 공급자에 대해 ISupportFilteredSync::AddFilter를 호출합니다. 원본 공급자에 지원되지 않는 필터를 요청한 경우 대상 공급자는 지원되는 필터를 찾을 때까지 계속 필터를 요청할 수 있습니다.
필터가 결정되면 원본 공급자에서 이 필터를 사용하여 변경 내용 열거 작업에 포함할 항목을 지정합니다.
구현자를 위한 정보
이 메서드를 구현하면 pFilter 및 filteringType으로 지정된 필터를 검사하고 SYNC_E_FILTER_NOT_SUPPORTED를 반환하여 필터가 지원되지 않음을 나타낼 수 있습니다. 대상 공급자는 지원되는 필터를 찾을 때까지 다른 필터를 요청할 수 있습니다.
일반적으로 대상 공급자는 SYNC_E_FILTER_NOT_SUPPORTED 이외의 오류가 ISupportFilteredSync::AddFilter에서 반환되는 경우 동기화 세션을 종료합니다.