Freigeben über


ISupportFilteredSync::AddFilter

Legt bei der Implementierung durch eine abgeleitete Klasse den Filter fest, der vom Quellenanbieter für Änderungsenumerationen verwendet wird.

HRESULT AddFilter(
  IUnknown * pFilter,
  FILTERING_TYPE filteringType);

Parameter

Ausdruck

Definition

pFilter

[in] Der Filter, der vom Quellenanbieter für Änderungsenumerationen verwendet wird.

filteringType

[in] Gibt den Typ von Informationen an, die während der gefilterten Synchronisierung in einem Änderungsbatch berücksichtigt werden.

Rückgabewert

  • S_OK.

  • SYNC_E_FILTER_NOT_SUPPORTED, wenn der von pFilter angegebene Filtertyp nicht unterstützt wird.

  • Anbieterspezifische Fehlercodes.

Hinweise

Die Filteraushandlung wird mit den folgenden Schritten durchgeführt:

  1. Bevor der Quellenanbieter mit der Auflistung der Änderungen beginnt, startet Sync Framework die Filteraushandlung, indem IRequestFilteredSync::SpecifyFilter auf dem Zielanbieter aufgerufen wird.

  2. Während der Verarbeitung von IRequestFilteredSync::SpecifyFilter übergibt der Zielanbieter Filter an IFilterRequestCallback::RequestFilter.

  3. Während der Verarbeitung von IFilterRequestCallback::RequestFilter ruft Sync Framework auf dem Quellenanbieter ISupportFilteredSync::AddFilter auf. Wenn der Quellenanbieter den angeforderten Filter nicht unterstützt, kann der Zielanbieter weiterhin Filter anfordern, bis ein unterstützter Filter gefunden wird.

Wenn ein Filter erfolgreich ausgehandelt wurde, wird er vom Quellenanbieter zur Festlegung der während der Änderungsenumeration einzuschließenden Elemente verwendet.

Hinweise für Implementierer

Eine Implementierung dieser Methode kann den von pFilter und filteringType angegebenen Filter untersuchen und SYNC_E_FILTER_NOT_SUPPORTED zurückgeben, um anzugeben, dass der Filter nicht unterstützt wird. Der Zielanbieter kann dann andere Filter anfordern, bis einer gefunden ist, der unterstützt wird.

Der Zielanbieter beendet die Synchronisierungssitzung in der Regel, wenn ein anderer Fehler als SYNC_E_FILTER_NOT_SUPPORTED von ISupportFilteredSync::AddFilter zurückgegeben wird.

Siehe auch

Verweis

ISupportFilteredSync-Schnittstelle