Share via


ISyncMetadataStoreSerializer::GetSerializedReplicaId

指定された同期先ストリームにメタデータがシリアル化されたレプリカのレプリカ ID を返します。

HRESULT GetSerializedReplicaId(
  IStream * pStream,
  BYTE * pbReplicaId,
  DWORD * pcbReplicaId,
  ID_PARAMETERS * pIdParameters);

パラメーター

  • pStream
    [in] 特定のレプリカのシリアル化されたメタデータを含むストリームです。
  • pbReplicaId
    [in, out, unique, size_is(*pcbReplicaId)] このメタデータに関連付けられているレプリカの ID を返します。
  • pcbReplicaId
    [in, out] pbReplicaId のバイト数を指定します。pbReplicaId が小さすぎる場合は、pbReplicaId に必要なバイト数を返します。データが書き込まれている場合は、pbReplicaId に書き込まれたバイト数を返します。
  • pIdParameters
    [out] メタデータがシリアル化されるプロバイダーの形式設定 (レプリカ ID の形式など) を指定する ID_PARAMETERS 構造体 です。

戻り値

  • S_OK

  • E_OUTOFMEMORY

  • E_POINTER

  • SYNC_E_INVALIDOPERATION (開かれたメタデータ ストアなしでメソッドが呼び出された場合)

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR (シリアル化解除中にファイル形式のエラーが発生した場合)

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) (pbReplicaId が小さすぎる場合。この場合、必要なバイト数が pcbReplicaId に返されます。)

解説

このメソッドを呼び出す前に、メタデータ ストアを開いておく必要があります。ストアを開くには、ISqlSyncMetadataStore::OpenStore または ISqlSyncMetadataStore::CreateStore を呼び出します。最初にストアを開かずにこのメソッドを呼び出すと、戻り値がエラーになります。

参照

リファレンス

ISyncMetadataStoreSerializer インターフェイス