Поделиться через


ISyncMetadataStoreSerializer::DeserializeReplicaMetadata

Выполняет десериализацию содержимого канонического файла метаданных в хранилище службы хранилища метаданных. Может обновлять формат хранилища метаданных при изменении версии поставщика.

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

Параметры

  • pStream
    [in] Поток, содержащий сериализованные метаданные для определенной реплики.
  • pProviderUpgradeCallback
    [in] Методы обратного вызова, которые вызываются при необходимости обновления формата хранилища метаданных, поскольку версия поставщика, указанная в сериализованных метаданных, не совпадает со значением dwExpectedProviderCompatibilityVersion.

Возвращаемое значение

  • S_OK.

  • S_FALSE, если наибольшее значение счетчика тактов в сериализованном потоке меньше или равно наибольшему значению счетчика тактов в хранилище метаданных. В этом случае дополнительные метаданные для десериализации отсутствуют.

  • E_OUTOFMEMORY

  • E_POINTER

  • SYNC_E_INVALIDOPERATION, если метод вызван без открытого хранилища метаданных.

  • SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED, если недоступна транзакция, в рамках которой можно произвести десериализацию метаданных.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR, если в процессе десериализации были обнаружены ошибки формата файла, либо если содержимое файла несовместимо со схемой целевой реплики.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_PROVIDER_VERSION_MISMATCH, если версия совместимости поставщика, указанная для параметра dwExpectedProviderCompatibilityVersion, не соответствует версии, указанной в файле канонических метаданных, а значение pProviderUpgradeCallback равно NULL.

Замечания

Вызов этого метода возможен при соблюдении трех условий.

В результате вызова этого метода, когда не выполняется какое-либо из этих условий, возвращается значение, сигнализирующее об ошибке.

Этот метод может быть использован в составе процедуры обновления схемы метаданных при изменении версии поставщика. Дополнительные сведения см. в разделе Обновление версии хранилища метаданных.

См. также

Справочник

Интерфейс ISyncMetadataStoreSerializer