Condividi tramite


IFilterRequestCallback::RequestFilter

Richiede che il filtro fornito dal provider di destinazione venga utilizzato dal provider di origine durante l'enumerazione delle modifiche.

HRESULT RequestFilter(
  IUnknown * pFilter,
  FILTERING_TYPE filteringType);

Parametri

Termine

Definizione

pFilter

[in] Filtro specificato dal provider di destinazione. Questo filtro viene passato al provider di origine affinché venga utilizzato durante l'enumerazione delle modifiche.

filteringType

[in] Indica il tipo di informazioni incluso in un batch di modifiche durante la sincronizzazione filtrata.

Valore restituito

  • S_OK.

  • E_POINTER.

  • SYNC_E_FILTER_NOT_SUPPORTED se il filtro specificato da pFilter non è supportato dal provider di origine. Viene restituito anche quando il provider di origine non implementa ISupportFilteredSync.

Osservazioni

La negoziazione del filtro viene eseguita tramite i passaggi seguenti:

  1. Prima che il provider di origine cominci a enumerare le modifiche, Sync Framework inizia la negoziazione del filtro chiamando IRequestFilteredSync::SpecifyFilter sul provider di destinazione.

  2. Durante l'elaborazione di IRequestFilteredSync::SpecifyFilter, il provider di destinazione passa i filtri a IFilterRequestCallback::RequestFilter.

  3. Durante l'elaborazione di IFilterRequestCallback::RequestFilter, Sync Framework chiama ISupportFilteredSync::AddFilter sul provider di origine. Se il provider di origine non supporta il filtro richiesto, il provider di destinazione può continuare a richiedere i filtri finché non ne trova uno supportato.

Quando un filtro è stato negoziato correttamente, il provider di origine lo utilizza per determinare quali elementi includere durante l'enumerazione delle modifiche.

Vedere anche

Riferimento

Interfaccia IFilterRequestCallback
Interfaccia IRequestFilteredSync
Interfaccia ISupportFilteredSync