Compartilhar via


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.

Consulte também

Referência

Interface IReplicaMetadata2