IReplicaMetadata2::SetProviderVersion
Define a versão do provedor que opera nesses metadados.
HRESULT SetProviderVersion(
ULONG ulProviderVersion);
Parâmetros
- ulProviderVersion
[in] A versão do provedor que opera nesses metadados.
Valor de retorno
S_OK
E_OUTOFMEMORY
Comentários
A versão de provedor é usada para negociar a compatibilidade com outras versões de um provedor. Considere o seguinte cenário:
Há três versões de um provedor (v1, v2 e v3).
Na v2, uma alteração incompatível foi feita no esquema personalizado do provedor.
A v2 e a v3 são compatíveis.
Um provedor v3 pode especificar um valor v2 como SetProviderVersion. Um provedor v2 ou v3 pode então verificar a versão do provedor necessária para operar nos metadados usando IReplicaMetadata2::GetProviderVersion. Como esse valor é serializado como parte do formato canônico do repositório de metadados, a versão do provedor também pode ser verificada quando os metadados são desserializados, especificando um valor v2 para o parâmetro dwExpectedProviderCompatibilityVersion de ISyncMetadataStoreSerializer::DeserializeReplicaMetadata. O provedor v1 esperaria um valor v1 e a desserialização falharia por design porque os metadados são incompatíveis com a v1.
Use a versão mais baixa possível para assegurar o nível mais alto de compatibilidade com outras versões do mesmo provedor.