Erweiterungen

Es werden Vorkehrungen getroffen, um Konstanten und Strukturen sowohl geräteunabhängig als auch gerätespezifisch (herstellerspezifisch) zu erweitern. Bei Konstanten, die skalare Enumerationen sind, ist ein Wertebereich für zukünftige allgemeine Erweiterungen reserviert. Die restlichen Werte werden als gerätespezifisch identifiziert. Ein Anbieter kann Bedeutungen für diese Werte in beliebiger Weise definieren. Ihre Interpretation wird auf den Erweiterungsbezeichner in der LINEDEVCAPS-Datenstruktur festgelegt. Für Konstanten, die als Bitflags definiert sind, ist ein Bereich von Bits niedriger Ordnung reserviert, wobei die Bits mit hoher Ordnung erweiterungsspezifisch sein können. Es wird empfohlen, dass erweiterte Werte und Bitarrays Bits vom höchsten Wert oder von bit down in hoher Reihenfolge verwenden. Dadurch bleibt die Option, den Rahmen zwischen dem gemeinsamen Teil und dem Erweiterungsteil zu verschieben, wenn dies in Zukunft erforderlich ist. Erweiterungen von Datenstrukturen werden einem feld mit unterschiedlicher Größe zugewiesen, wobei Größe/Offset Teil des festen Teils ist. TAPI beschreibt für jede Datenstruktur, welche gerätespezifischen Erweiterungen zulässig sind.

Zusätzlich zum Erkennen eines bestimmten Erweiterungsbezeichners muss die Anwendung die Versionsnummer der Erweiterung aushandeln, unter der die Anwendung und der Dienstanbieter arbeiten. Dies erfolgt in der zweiten Version der Aushandlungsphase der lineGetDevCaps-Funktion .

Ein Erweiterungsbezeichner ist ein global eindeutiger Bezeichner. Es gibt keine zentrale Registrierung für Erweiterungsbezeichner. Stattdessen werden sie vom Hersteller lokal von einem Hilfsprogramm generiert, das mit dem Toolkit verfügbar ist. Die Zahl besteht aus Teilen wie einer eindeutigen LAN-Adresse, Tageszeit und Zufallszahl, um die globale Eindeutigkeit zu gewährleisten. Globally Unique Identifiers sind so konzipiert, dass sie von universell eindeutigen HP/DEC-Bezeichnern unterschieden werden können und damit vollständig kompatibel sind.