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.