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 (シリアル化されたデータが無効な場合)

  • SYNC_E_ID_FORMAT_MISMATCH (pbKnowledge に含まれた ID 形式スキーマが、このオブジェクトの初期化に使用する ID 形式スキーマと一致しない場合)

説明

ナレッジ オブジェクトのシリアル化を解除するには、適切な IReplicaKeyMap インターフェイス オブジェクトが必要です。IReplicaKeyMap オブジェクトがナレッジ データと共にシリアル化されていた場合、このオブジェクトはナレッジ データと共にシリアル化が解除されるため、pReplicaKeyMap に NULL を指定する必要があります。IReplicaKeyMap オブジェクトがナレッジ データと共にシリアル化されていない場合は、他の方法でこのオブジェクトを作成して、pReplicaKeyMap に指定する必要があります。

関連項目

その他の技術情報

IProviderSyncServices インターフェイス

ISyncKnowledge::Serialize

ISyncKnowledge2::SerializeWithOptions