共用方式為


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 中包含的識別碼格式結構描述與用來初始化此物件的識別碼格式結構描述不同,則為 SYNC_E_ID_FORMAT_MISMATCH。

備註

若要還原序列化知識物件,需要適當的 IReplicaKeyMap 介面 物件。當 IReplicaKeyMap 物件與知識資料一起序列化時,也會與知識物件一起還原序列化,而且必須指定 pReplicaKeyMap 的 NULL。當 IReplicaKeyMap 物件不是與知識物件一起序列化時,則必須以其他特定方式建立該物件,而且必須針對 pReplicaKeyMap 指定該物件。

請參閱

參考

IProviderSyncServices 介面
ISyncKnowledge::Serialize
ISyncKnowledge2::SerializeWithOptions