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 を呼び出します。最初にストアを開かずにこのメソッドを呼び出すと、戻り値がエラーになります。