IProviderCustomFilteredSyncServices::DeserializeFilterKeyMap
Создает объект IFilterKeyMap и инициализирует его с использованием сериализованных данных.
HRESULT DeserializeFilterKeyMap(
ISyncFilterDeserializer * pISyncFilterDeserializer,
const BYTE * pbFilterKeyMap,
DWORD dwCbFilterKeyMap,
IFilterKeyMap ** ppFilterKeyMap);
Параметры
- pISyncFilterDeserializer
[in] Объект, используемый для десериализации пользовательских фильтров, содержащихся в сериализованных данных схемы ключей фильтра.
- pbFilterKeyMap
[in, size_is(dwCbFilterKeyMap)] Сериализованные данные карты ключей фильтра.
- dwCbFilterKeyMap
[in] Размер pbFilterKeyMap в байтах.
- ppFilterKeyMap
[out] Возвращает объект схемы ключей фильтра, инициализируемый с использованием сериализованных данных, содержащихся в pbFilterKeyMap.
Возвращаемое значение
S_OK.
E_OUTOFMEMORY.
E_POINTER.
Значение SYNC_E_DESERIALIZATION, если во время сериализации возникла проблема. Эта ошибка также возвращается, если версия сериализации, содержащаяся в сериализованных данных, меньше, чем SYNC_SERIALIZATION_VERSION_V3.
SYNC_E_INVALID_OPERATION, если этот объект не был инициализирован с помощью метода IProviderSyncServices::Initialize.
Замечания
Схема ключей фильтра используется поставщиком, который представляет реплику, отслеживающую фильтры. Схема ключей фильтра сопоставляет ключи фильтра DWORD объектам ISyncFilter.
Для десериализации пользовательских фильтров этот метод вызывает метод ISyncFilterDeserializer::DeserializeSyncFilter по одному разу для каждого фильтра, содержащегося в сериализованных данных.