Compartilhar via


IFilterRequestCallback::RequestFilter

Solicita que o filtro fornecido pelo provedor de destino seja usado pelo provedor de origem durante a enumeração de alteração.

HRESULT RequestFilter(
  IUnknown * pFilter,
  FILTERING_TYPE filteringType);

Parâmetros

Termo

Definição

pFilter

[in] O filtro que é especificado pelo provedor de destino. Esse filtro é transferido para o provedor de origem para ser usado durante a enumeração de alteração.

filteringType

[in] Indica o tipo de informações incluídas em um lote de alterações durante a sincronização filtrada.

Valor de retorno

  • S_OK.

  • E_POINTER.

  • SYNC_E_FILTER_NOT_SUPPORTED quando o filtro que é especificado por pFilter não tiver suporte do provedor de origem. Também é retornado quando o provedor de origem não implementa ISupportFilteredSync.

Comentários

A negociação de filtro é obtida por meio das seguintes etapas:

  1. Antes de o provedor de origem começar a enumerar alterações, o Sync Framework inicia a negociação de filtro chamando IRequestFilteredSync::SpecifyFilter no provedor de destino.

  2. Durante o processamento de IRequestFilteredSync::SpecifyFilter, o provedor de destino transmite filtros a IFilterRequestCallback::RequestFilter.

  3. Durante o processamento de IFilterRequestCallback::RequestFilter, o Sync Framework chama ISupportFilteredSync::AddFilter no provedor de origem. Se o provedor de origem não oferecer suporte ao filtro solicitado, o provedor de destino poderá continuar solicitando filtros até encontrar um que tenha suporte.

Quando um filtro tiver sido negociado com êxito, o provedor de origem o usará para determinar quais itens incluir durante a enumeração de alteração.

Consulte também

Referência

Interface IFilterRequestCallback
Interface IRequestFilteredSync
Interface ISupportFilteredSync