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


IReplicaMetadata2::SetProviderVersion

Задает версию поставщика, управляющего этими метаданными.

HRESULT SetProviderVersion(
  ULONG ulProviderVersion);

Параметры

  • ulProviderVersion
    [in] Версия поставщика, которая работает с этими метаданными.

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

  • S_OK

  • E_OUTOFMEMORY

Замечания

Версия поставщика используется для достижения совместимости с другими версиями поставщика. Рассмотрим следующий сценарий.

  • Существует три версии поставщика (v1, v2 и v3).

  • В версии v2 в пользовательской схеме поставщика сделано несовместимое изменение.

  • Версии v2 и v3 несовместимы между собой.

Поставщик версии v3 может указать в свойстве SetProviderVersion значение v2. Версию поставщика, необходимую для работы с метаданными, поставщик версии v2 или v3 может проверить через свойство IReplicaMetadata2::GetProviderVersion. Поскольку это значение сериализуется в каноническом формате хранилища метаданных, версию поставщика можно также проверить после десериализации метаданных, указав значение v2 в качестве параметра dwExpectedProviderCompatibilityVersion метода ISyncMetadataStoreSerializer::DeserializeReplicaMetadata. Поставщик версии v1 ожидает значения v1 и завершает десериализацию по ошибке, если метаданные несовместимы с версией v1.

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

См. также

Справочник

Интерфейс IReplicaMetadata2