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