Compartir a través de


ISyncMetadataStoreSerializer::SerializeReplicaMetadata

Serializa, para la réplica especificada, el contenido de un almacén de Metadata Storage Service en una secuencia de destino con un formato canónico.

HRESULT SerializeReplicaMetadata(
  const BYTE * pbReplicaId,
  const ID_PARAMETERS * pIdParameters,
  IStream * pStream, 
  SYNC_SERIALIZATION_VERSION serializationVersion);

Parámetros

Parámetro

Descripción

pbReplicaId

[in] Identificador de la réplica para la que se deben serializar metadatos. Si el identificador de réplica se especifica como elemento de longitud fija en el parámetro pIdParameters, especifique únicamente el valor de identificador en pbReplicaId, sin tamaño de búfer. Sin embargo, si el identificador de réplica es de longitud variable, los dos primeros bytes del búfer deben incluir la longitud del búfer que se pasa. Por ejemplo, si la longitud del identificador de réplica es de 16 bytes en un caso determinado, el valor de los dos primeros bytes del búfer debe ser 18.

pIdParameters

[in] Estructura ID_PARAMETERS que especifica la configuración de formato, como el formato del identificador de réplica, para el proveedor cuyos metadatos se serializan.

pStream

[in] Secuencia de destino en la que se serializan los metadatos. Este método escribe en la secuencia en modo de solo avance a partir de la ubicación actual de la secuencia. El autor de las llamadas debe colocar la secuencia al inicio de un archivo truncado o en otra posición inicial adecuada.

serializationVersion

[in] Valor de SYNC_SERIALIZATION_VERSION Enumeration que especifica la versión de Sync Framework para la que son válidos los metadatos serializados. Por ejemplo, si el formato de serialización de conocimiento nativo es Sync Framework 2.0, pero el valor proporcionado por este parámetro es Sync Framework 1.0, los valores de conocimiento se serializan en el formato de 1.0. Si los valores del conocimiento utilizan características de la versión 2.0 que no se pueden serializar con el formato de la versión 1.0, se produce un error en la serialización con un código de error SYNC_E_INCOMPATIBLE_SERIALIZATION_VERSION.

Valor devuelto

  • S_OK

  • E_POINTER

  • E_OUTOFMEMORY

  • E_INVALIDARG si el identificador de réplica especificado no existe en el almacén de metadatos asociado o si el valor de ID_PARAMETERS especificado no coincide con los formatos utilizados en la réplica.

  • SYNC_E_INVALIDOPERATION si se llama al método sin un almacén de metadatos abierto.

  • SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED si no está disponible una transacción desde la que serializar los metadatos.

Notas

Se deben cumplir dos condiciones antes de llamar a este método:

Si se llama a este método cuando no se cumple una de estas condiciones, el valor devuelto es un error.

Vea también

Referencia

Interfaz ISyncMetadataStoreSerializer