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을 사용하여 메타데이터에서 동작하는 데 필요한 공급자 버전을 확인할 수 있습니다. 이 값은 메타데이터 저장소의 정식 형식 중 일부로 직렬화되므로 메타데이터를 역직렬화할 때 ISyncMetadataStoreSerializer::DeserializeReplicaMetadata의 dwExpectedProviderCompatibilityVersion 매개 변수에 v2의 값을 지정하여 공급자 버전을 확인할 수도 있습니다. v1 공급자는 v1의 값을 기대하지만 메타데이터가 v1과 호환되지 않으므로 역직렬화 작업은 실패하게 됩니다.
같은 공급자에 대해 다른 버전과의 호환성 수준을 최대로 높이려면 가장 낮은 버전을 사용하십시오.