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 时,也会返回此错误。
如果尚未通过调用 IProviderSyncServices::Initialize 来初始化此对象,则返回值为 SYNC_E_INVALID_OPERATION。
注释
筛选键映射由一个提供程序使用,该提供程序表示对筛选器进行跟踪的副本。筛选键映射会将 DWORD 筛选键映射到 ISyncFilter 对象。
为了反序列化包含在序列化数据中的自定义筛选器,此方法将为序列化数据中的每个筛选器调用一次 ISyncFilterDeserializer::DeserializeSyncFilter。