Condividi tramite


ISyncFilter::Serialize

Quando sottoposto a override da una classe derivata, serializza il filtro in una matrice di byte.

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

Parametri

  • pbSyncFilter
    [in, out, unique, size_is(*pcbSyncFilter)] Matrice di byte che riceve i dati del filtro.
  • pcbSyncFilter
    [in, out] Specifica il numero di byte in pbSyncFilter. Restituisce il numero di byte necessari per pbSyncFilter se pbSyncFilter è troppo piccolo oppure restituisce il numero di byte scritti in pbSyncFilter al momento della scrittura dei dati.

Valore restituito

  • S_OK.

  • HRESULT_FROM_WIN32 (ERROR_MORE_DATA) se pbChangeBatch è troppo piccolo. In questo caso, il numero di byte necessari viene archiviato in pcbChangeBatch.

  • Codici di errore determinati dal provider.

Osservazioni

La prima volta che Sync Framework chiama questo metodo, specifica NULL per pbSyncFilter e 0 per pcbSyncFilter. In questo caso, l'implementazione deve restituire la dimensione corretta per l'ID elemento in pcbSyncFilter e un codice di errore di HRESULT_FROM_WIN32 (ERROR_MORE_DATA).

Quando viene implementato questo metodo, lo sviluppatore deve inoltre implementare ISyncFilterDeserializer::DeserializeSyncFilter per deserializzare i dati serializzati.

Se non è necessario serializzare il filtro, questo metodo può restituire E_NOTIMPL.

Vedere anche

Riferimento

Interfaccia ISyncFilter