Поделиться через


ISyncFilter::Serialize

При переопределении в производном классе сериализует фильтр в массив байтов.

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

Параметры

  • pbSyncFilter
    [in, out, unique, size_is(*pcbSyncFilter)] Массив байтов, получающий данные фильтра.
  • pcbSyncFilter
    [in, out] Указывает число байтов в объекте pbSyncFilter. Возвращает размер (в байтах), необходимый для pbSyncFilter, если значение pbSyncFilter слишком мало, либо число байтов, записанных в pbSyncFilter.

Возвращаемое значение

  • S_OK.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), если размер pbChangeBatch слишком мал. В этом случае необходимый размер в байтах сохраняется в pcbChangeBatch.

  • Коды ошибок, определяемые поставщиком.

Замечания

При первом вызове этого метода Sync Framework указывает значение NULL для параметра pbSyncFilter и значение 0 для параметра pcbSyncFilter. В этом случае реализация должна вернуть правильный размер идентификатора элемента в параметре pcbSyncFilter и код ошибки HRESULT_FROM_WIN32(ERROR_MORE_DATA).

При реализации этого метода разработчик также должен реализовать ISyncFilterDeserializer::DeserializeSyncFilter для десериализации сериализованных данных.

Если нет необходимости в сериализации фильтра, то данный метод может вернуть значение E_NOTIMPL.

См. также

Справочник

Интерфейс ISyncFilter