Freigeben über


ISyncFilter::Serialize

Serialisiert, wenn durch eine abgeleitete Klasse überschrieben, den Filter in ein Bytearray.

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

Parameter

  • pbSyncFilter
    [in, out, unique, size_is(*pcbSyncFilter)] Das Bytearray, das die Filterdaten empfängt.
  • pcbSyncFilter
    [in, out] Gibt die Anzahl der Bytes in pbSyncFilter an. Gibt die Anzahl der für pbSyncFilter erforderlichen Bytes zurück, wenn pbSyncFilter zu klein ist, oder die Anzahl der in pbSyncFilter geschriebenen Bytes, wenn Daten geschrieben wurden.

Rückgabewert

  • S_OK.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), wenn pbChangeBatch zu klein ist. In diesem Fall wird die erforderliche Anzahl von Bytes in pcbChangeBatch gespeichert.

  • Anbieterspezifische Fehlercodes.

Hinweise

Wenn Sync Framework erstmals diese Methode aufruft, gibt es NULL für pbSyncFilter und 0 für pcbSyncFilter an. In dieser Situation muss die Implementierung die richtige Größe für die Element-ID in pcbSyncFilter und einen Fehlercode HRESULT_FROM_WIN32(ERROR_MORE_DATA) zurückgeben.

Wenn diese Methode implementiert wird, muss der Entwickler außerdem auch ISyncFilterDeserializer::DeserializeSyncFilter implementieren, um die serialisierten Daten zu deserialisieren.

Wenn der Filter nicht serialisiert werden muss, kann diese Methode E_NOTIMPL zurückgeben.

Siehe auch

Verweis

ISyncFilter-Schnittstelle