versiekenmerk

Het interfacekenmerk [version] identificeert een bepaalde versie tussen meerdere versies van een RPC-interface. Met het versiekenmerk zorgt u ervoor dat alleen compatibele versies van client- en serversoftware verbinding mogen maken.

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

Parameterwaarden

primaire waarde

Hiermee geeft u een kort niet-ondertekend geheel getal tussen nul en 65.535, inclusief, dat het primaire versienummer vertegenwoordigt.

secundaire waarde

Hiermee geeft u een kort niet-ondertekend geheel getal tussen nul en 65.535, inclusief, dat het secundaire versienummer vertegenwoordigt. De waarde van de secundaire versie is optioneel. Indien aanwezig, wordt de secundaire versiewaarde gescheiden van het primaire versienummer door een puntteken (.). Als dit niet is opgegeven, is de secundaire versiewaarde nul.

Opmerkingen

De MIDL-compiler biedt geen ondersteuning voor meerdere versies van een COM-interface. Als gevolg hiervan kan een interfacekenmerklijst met het kenmerk [object] het kenmerk [version] niet bevatten. Als u een nieuwe versie van een bestaande COM-interface wilt maken, gebruikt u interfaceovername. Een afgeleide COM-interface heeft een andere UUID, maar neemt de interfacelidfuncties, statuscodes en interfacekenmerken van de basisinterface over.

In combinatie met de waarde [uuid] identificeert de [ versie] -waarde de interface uniek. De runtimebibliotheek geeft de waarden [version] en [uuid] door aan de server wanneer de client een externe functie aanroept. Een client kan verbinding maken met een server voor een bepaalde interface als:

  • De waarde [uuid] is hetzelfde.
  • Het primaire versienummer is hetzelfde.
  • Het secundaire versienummer van de client is kleiner dan of gelijk aan het secundaire versienummer van de server.

Het is uw voordeel en het voordeel van uw gebruikers om opwaartse compatibiliteit te behouden tussen versies die dat wil, om de interface te wijzigen zodat alleen het secundaire versienummer verandert. U kunt opwaartse compatibiliteit behouden wanneer u nieuwe gegevenstypen toevoegt die niet worden gebruikt door bestaande functies en wanneer u nieuwe functies toevoegt zonder de interfacespecificatie voor bestaande functies te wijzigen.

Wijzig het primaire versienummer als een van de volgende voorwaarden van toepassing is:

  • Als u een gegevenstype wijzigt dat wordt gebruikt door een bestaande functie.
  • Als u de interfacespecificatie voor een bestaande functie wijzigt (zoals het toevoegen of verwijderen van een parameter).
  • Als u callbacks toevoegt die worden aangeroepen door bestaande functies.

Wijzig het secundaire versienummer als alle volgende voorwaarden van toepassing zijn:

  • Als u typedefinities of constanten toevoegt die niet worden gebruikt door bestaande functies of callbacks.
  • Als u geen bestaande functies wijzigt en u nieuwe functies toevoegt aan de interface.
  • Als u callbacks toevoegt die niet door bestaande functies worden aangeroepen en de nieuwe callbacks eventuele bestaande functies volgen.

Als uw wijzigingen in aanmerking komen als een opwaarts compatibele wijziging in de interface, gebruikt u de volgende procedure.

Het interfacebestand (IDL) wijzigen

  1. Voeg nieuwe constante en typedefinities toe aan het interfacebestand.
  2. Voeg callbackfuncties toe aan het einde van het interfacebestand.
  3. Voeg nieuwe functies toe aan het einde van het interfacebestand.

Het kenmerk [versie] kan maximaal één keer voorkomen in de interfaceheader.

Wanneer het versiekenmerk niet aanwezig is, heeft de interface een standaardversie van 0.0.

Het puntteken tussen de primaire en secundaire getallen is een scheidingsteken en vertegenwoordigt geen decimaalteken. Het secundaire getal wordt behandeld als een geheel getal. Voorloopnullen zijn niet significant. Volgnullen zijn significant.

De versie-instelling 1.11 vertegenwoordigt bijvoorbeeld een belangrijke waarde van één en een secundaire waarde van elf. Versie 1.11 vertegenwoordigt geen waarde tussen 1.1 en 1.2.

Zie ook

IdL-bestand (Interface Definition)

Interface

Object

Uuid