Compartilhar via


ISyncFilter::Serialize

Quando substituído por uma classe derivada, serializa o filtro para uma matriz de bytes.

HRESULT Serialize(
  BYTE * pbSyncFilter,
  DWORD * pcbSyncFilter);

Parâmetros

  • pbSyncFilter
    [in, out, unique, size_is(*pcbSyncFilter)] A matriz de bytes que recebe os dados do filtro.
  • pcbSyncFilter
    [in, out] Especifica o número de bytes em pbSyncFilter. Retorna o número de bytes necessários para pbSyncFilter quando pbSyncFilter é muito pequeno, ou o número de bytes gravados para pbSyncFilter quando os dados estão gravados.

Valor de retorno

  • S_OK.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pbChangeBatch é muito pequeno. Nesse caso, o número necessário de bytes é armazenado em pcbChangeBatch.

  • Códigos de erro determinados pelo provedor.

Comentários

Na primeira vez que o Sync Framework chama esse método, ele especifica NULL para pbSyncFilter e 0 para pcbSyncFilter. Nesse caso, a implementação deve retornar o tamanho correto para a ID de item em pcbSyncFilter e um código de erro de HRESULT_FROM_WIN32 (ERROR_MORE_DATA).

Quando esse método é implementado, o desenvolvedor também deve implementar ISyncFilterDeserializer::DeserializeSyncFilter para desserializar os dados serializados.

Se não for necessário serializar o filtro, esse método poderá retornar E_NOTIMPL.

Consulte também

Referência

Interface ISyncFilter