Partilhar via


Atributo de Versão

O atributo interface [versão] identifica uma versão particular entre múltiplas versões de uma interface RPC. Com o atributo versão, assegura-se que apenas versões compatíveis do software cliente e servidor podem ser vinculadas.

version ( major-value[[. minor-value]] )

Parâmetros

Valor maior

Especifica um número inteiro curto sem sinal entre zero e 65.535, inclusive, que representa o número principal da versão.

Valor menor

Especifica um número inteiro curto sem sinal entre zero e 65.535, inclusive, que representa o número de versão menor. O valor da versão menor é opcional. Se presente, o valor da versão menor está separado do número da versão principal por um carácter de ponto (.). Se não for especificado, o valor da versão menor é zero.

Observações

O compilador MIDL não suporta múltiplas versões de uma interface COM. Como resultado, uma lista de atributos de interface que inclui o atributo [object] não pode incluir o atributo [version ]. Para criar uma nova versão de uma interface COM existente, use a herança de interface. Uma interface COM derivada tem um UUID diferente, mas herda as funções membros da interface, códigos de estado e atributos da interface base.

Em combinação com o valor[uuid], o valor [versão] identifica unicamente a interface. A biblioteca de tempo de execução passa os valores [versão] e [uuid] ao servidor quando o cliente chama uma função remota. Um cliente pode ligar-se a um servidor para uma dada interface se:

  • O valor [uuid] é o mesmo.
  • O número de versão principal é o mesmo.
  • O número de versão menor do cliente é menor ou igual ao número de versão menor do servidor.

É vantajoso para si e para os utilizadores manter a compatibilidade ascendente entre versões, ou seja, modificar a interface para que apenas o número de versão menor mude. Pode manter a compatibilidade ascendente quando adiciona novos tipos de dados que não são usados por funções existentes e quando adiciona novas funções sem alterar a especificação da interface para funções existentes.

Alterar o número de versão principal se aplicar qualquer uma das seguintes condições:

  • Se mudares um tipo de dado que é usado por uma função existente.
  • Se alterar a especificação da interface de uma função existente (como adicionar ou remover um parâmetro).
  • Se adicionares callbacks que são chamados por funções existentes.

Mude o número de versão menor se todas as seguintes condições se aplicarem:

  • Se adicionares definições de tipo ou constantes que não são usadas por quaisquer funções ou callbacks existentes.
  • Se não alterares nenhuma função existente e adicionares novas funções à interface.
  • Se adicionar callbacks que não são chamados por nenhuma função existente e os novos callbacks seguirem quaisquer funções existentes.

Se as suas modificações qualificarem-se como uma alteração compatível para cima na interface, utilize o seguinte procedimento.

Para modificar o ficheiro de interface (IDL)

  1. Adicionar novas definições de constante e tipo ao ficheiro de interface.
  2. Adicionar funções de callback ao final do ficheiro de interface.
  3. Adicionar novas funções ao final do ficheiro de interface.

O atributo [versão] pode ocorrer no máximo uma vez no cabeçalho da interface.

Quando o atributo de versão não está presente, a interface tem uma versão padrão de 0.0.

O carácter de ponto entre os números maior e menor é um delimitador e não representa uma vírgula decimal. O número menor é tratado como um inteiro. Zeros à esquerda não são significativos. Zeros finais são significativos.

Por exemplo, a definição de versão 1.11 representa um valor maior de um e um valor menor de onze. A versão 1.11 não representa um valor entre 1.1 e 1.2.

Consulte também

Ficheiro de Definição de Interface (IDL)

Interface

Objeto

UUID