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.