IProviderSyncServices::DeserializeSyncKnowledge
创建 ISyncKnowledge 对象并使用序列化数据初始化该对象。
HRESULT DeserializeSyncKnowledge(
const BYTE *pbKnowledge,
DWORD cbKnowledge,
IReplicaKeyMap *pReplicaKeyMap,
ISyncKnowledge **ppKnowledge);
参数
- pbKnowledge
[in, size_is(cbKnowledge)] 序列化的知识数据。
- cbKnowledge
[in] pbKnowledge 中的字节数。
- pReplicaKeyMap
[in, unique] 用于初始化新创建的知识对象的副本键映射。如果此值为 NULL,则 pbKnowledge 必须包含序列化副本键映射。如果此值不为 NULL,则 pbKnowledge 不得包含序列化副本键映射。
- ppKnowledge
[out] 返回新创建的知识对象。
返回值
S_OK
E_OUTOFMEMORY
E_POINTER
如果未初始化此对象,则返回值为 SYNC_E_INVALID_OPERATION。
如果序列化数据无效,则返回值为 SYNC_E_DESERIALIZATION。
如果包含在 pbKnowledge 中的 ID 格式架构与用于初始化此对象的 ID 格式架构不同,则返回值为 SYNC_E_ID_FORMAT_MISMATCH。
备注
必须利用适当的 IReplicaKeyMap 接口 对象才能反序列化知识对象。如果 IReplicaKeyMap 对象与知识数据一起进行序列化,则该对象应与知识数据一起进行反序列化并且必须为 pReplicaKeyMap 指定 NULL。如果 IReplicaKeyMap 对象未与知识数据一起进行序列化,则必须以某些其他方法创建该对象并为 pReplicaKeyMap 指定该对象。
请参阅
参考
IProviderSyncServices 接口
ISyncKnowledge::Serialize
ISyncKnowledge2::SerializeWithOptions