IReplicaMetadata2::GetProviderVersion
Obtém a versão do provedor que opera nesses metadados.
HRESULT GetProviderVersion(
ULONG * pulProviderVersion);
Parâmetros
- pulProviderVersion
[out, retval] Retorna a versão do provedor que opera nesses metadados.
Valor de retorno
S_OK
E_POINTER
Comentários
A versão do 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 IReplicaMetadata2::SetProviderVersion. Um provedor v2 ou v3 pode então verificar a versão do provedor necessária para operar nos metadados usando 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 da v2 para o parâmetro dwExpectedProviderCompatibilityVersion de ISyncMetadataStoreSerializer::DeserializeReplicaMetadata. O provedor v1 esperaria um valor de v1 e a desserialização falharia intencionalmente 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.