ISyncMetadataStoreSerializer::SerializeReplicaMetadata
Sérialise, pour le réplica spécifié, le contenu d'un magasin du service de stockage des métadonnées vers un flux de destination au format canonique.
HRESULT SerializeReplicaMetadata(
const BYTE * pbReplicaId,
const ID_PARAMETERS * pIdParameters,
IStream * pStream,
SYNC_SERIALIZATION_VERSION serializationVersion);
Paramètres
Paramètre |
Description |
pbReplicaId |
[in] ID du réplica pour lequel les métadonnées doivent être sérialisées. Si l'ID de réplica est spécifié comme ayant une longueur fixe dans le paramètre pIdParameters, spécifiez uniquement la valeur d'ID pour pbReplicaId, sans taille de mémoire tampon. Toutefois, si l'ID de réplica est de longueur variable, les deux premiers octets de la mémoire tampon doivent inclure la longueur de mémoire tampon transmise. Par exemple, si la longueur de l'ID du réplica est 16 octets dans un cas particulier, la valeur des deux premiers octets dans la mémoire tampon doit être 18. |
pIdParameters |
[in] Structure ID_PARAMETERS qui spécifie les paramètres de format, tels que le format d'ID de réplica, pour le fournisseur dont les métadonnées sont sérialisées. |
pStream |
[in] Le flux de destination auquel les métadonnées sont sérialisées. Cette méthode écrit dans le flux en mode avant uniquement à partir de l'emplacement du flux actuel. L'appelant doit positionner le flux de données au démarrage d'un fichier tronqué ou d'une autre position de départ appropriée. |
serializationVersion |
[in] Valeur SYNC_SERIALIZATION_VERSION Enumeration qui spécifie pour quelle version de Sync Framework les métadonnées sérialisées sont valides. Par exemple, si le format de sérialisation natif de la connaissance est Sync Framework 2.0, mais que la valeur fournie pour ce paramètre est Sync Framework 1.0, les valeurs de connaissance sont sérialisées au format 1.0. Si les valeurs de connaissance utilisent des fonctionnalités 2.0 qui ne peuvent pas être sérialisées dans un format 1.0, la sérialisation échoue avec un code d'erreur SYNC_E_INCOMPATIBLE_SERIALIZATION_VERSION. |
Valeur de retour
S_OK.
E_POINTER.
E_OUTOFMEMORY.
E_INVALIDARG si l'ID de réplica spécifié n'existe pas dans le magasin des métadonnées associé ou si l'ID_PARAMETERS spécifié ne correspond pas aux formats utilisés pour le réplica.
SYNC_E_INVALIDOPERATION si la méthode est appelée sans un magasin des métadonnées ouvert.
SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED si une transaction dans laquelle sérialiser les métadonnées n'est pas disponible.
Notes
Deux conditions doivent être remplies avant l'appel de cette méthode :
Le magasin des métadonnées doit être ouvert. Ouvrez un magasin en appelant ISqlSyncMetadataStore::OpenStore ou ISqlSyncMetadataStore::CreateStore.
Une transaction active doit être disponible sur l'objet ISqlSyncMetadataStore. Démarrez une transaction en appelant ISyncMetadataStore::BeginTransaction.
L'appel de cette méthode lorsqu'une de ces conditions n'est pas remplie entraîne une valeur de retour d'erreur.