SqlSyncMetadataStoreSerializer::SerializeReplicaMetadata Method
Serializes, for the specified replica, the contents of a metadata storage service store to a destination file in a canonical format.
Assembly: Microsoft.Synchronization.MetadataStorage (in Microsoft.Synchronization.MetadataStorage.dll)
public: virtual void SerializeReplicaMetadata( SyncIdFormatGroup^ idFormats, SyncId^ replicaId, String^ serializedFilePath, CompatibilityLevel compatibilityLevel ) override
Parameters
- idFormats
- Type: Microsoft.Synchronization::SyncIdFormatGroup
The ID format schema of the provider.
- replicaId
- Type: Microsoft.Synchronization::SyncId
The ID of the replica for which metadata should be serialized.
- serializedFilePath
- Type: System::String
The destination file to which metadata is serialized.
- compatibilityLevel
- Type: Microsoft.Synchronization::CompatibilityLevel
A CompatibilityLevel value that specifies for which version of Sync Framework the serialized metadata is valid. For example, if the native knowledge serialization format is Sync Framework 2.x, but the value provided for this parameter is Sync Framework 1.0, knowledge values are serialized in the 1.0 format. If knowledge values use any 2.x features that cannot be serialized in the 1.0 format, serialization throws an InvalidSerializationVersionException exception.
| Exception | Condition |
|---|---|
| ArgumentNullException | A required parameter is a nullptr. |
| ArgumentException | serializedFilePath is an empty string; serializationVersion is a value other than SyncFrameworkVersion1 or WindowsSync. |
| SyncIdFormatMismatchException | The format of replicaId is not of the format specified by idFormats. |
| SyncInvalidOperationException | The metadata store is not open. |
| ExplicitTransactionRequiredException | A transaction is not available within which to serialize metadata. |
Two conditions must be met before this method is called:
The metadata store must be opened. Open a store by calling OpenStore or CreateStore.
An active transaction must be available on the SqlMetadataStore object. Start a transaction by calling BeginTransaction.
Calling this method when either of these conditions is not met results in an exception.