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.
Чтобы обеспечить наибольшую совместимость с другими версиями поставщиков, пользуйтесь наименьшей возможной версией формата.