Compartir a través de


ISyncMetadataStoreSerializer::DeserializeReplicaMetadata

Deserializa el contenido de un archivo de metadatos canónico en un almacén de Metadata Storage Service. Opcionalmente, actualiza el formato del almacén de metadatos cuando cambia la versión del proveedor.

Sintaxis

HRESULT DeserializeReplicaMetadata(
  IStream * pStream,
  DWORD dwExpectedProviderCompatibilityVersion,
  IProviderMetadataUpgradeCallback * pProviderUpgradeCallback);

Parámetros

  • pStream
    [in] Secuencia que contiene los metadatos serializados para una réplica determinada.

  • dwExpectedProviderCompatibilityVersion
    [in] Versión de compatibilidad de proveedor que se espera que esté incluida en el archivo de metadatos canónico. Si la versión esperada no coincide con la versión real, se produce un error de diseño en la deserialización si pProviderUpgradeCallback es NULL, o bien se llama a los métodos de pProviderUpgradeCallback cuando pProviderUpgradeCallback no es NULL. Para obtener más información, vea Obtener acceso a los metadatos desde componentes con versiones diferentes y Actualizar la versión del almacén de metadatos.

  • pProviderUpgradeCallback
    [in] Métodos de devolución de llamada a los que se llama cuando se debe actualizar el formato del almacén de metadatos porque la versión del proveedor contenido en los metadatos serializados no es igual que la de dwExpectedProviderCompatibilityVersion.

Valor devuelto

  • S_OK

  • S_FALSE si el valor de contador superior de la secuencia serializada es menor o igual que el valor de contador superior del almacén de metadatos. En este caso, no hay metadatos adicionales para deserializar.

  • E_OUTOFMEMORY

  • E_POINTER

  • 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 deserializar los metadatos.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR, si se produce un error de formato de archivo durante la deserialización o si el contenido del archivo es incompatible con el esquema de la réplica de destino.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_PROVIDER_VERSION_MISMATCH, si la versión de compatibilidad del proveedor especificada para dwExpectedProviderCompatibilityVersion no coincide con la versión especificada en el archivo de metadatos canónico y pProviderUpgradeCallback es NULL.

Notas

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

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

Este método se puede utilizar como parte del procedimiento para actualizar el esquema de los metadatos cuando cambia la versión del proveedor. Para obtener más información, vea Actualizar la versión del almacén de metadatos.

Vea también

Otros recursos

Interfaz ISyncMetadataStoreSerializer