Freigeben über


Initialisierung und Herunterfahren

Damit eine Anwendung eine der 30 zusätzlichen Telefonfunktionen von TAPI verwenden kann, benötigt sie eine Verbindung mit TAPI, über die sie Nachrichten empfangen kann. Die Anwendung stellt diese Verbindung mithilfe der phoneInitializeEx-Funktion her. In dieser Funktion gibt die Anwendung den Benachrichtigungsmechanismus an, mit dem TAPI die Anwendung über Änderungen im Zustand des Telefons und über die asynchrone Vervollständigung von Telefonfunktionen informiert.

Die phoneInitializeEx-Funktion gibt zwei Informationen an die Anwendung zurück: ein Anwendungshandle und die Anzahl der Telefongeräte. Das Anwendungshandle stellt die Verwendung von TAPI durch die Anwendung dar. Die TAPI-Funktionen, die Telefonhandles verwenden, benötigen das Anwendungshandle nicht, da dieses Handle vom angegebenen Telefonhandle abgeleitet wird.

Die zweite information, die von phoneInitializeEx zurückgegeben wird, ist die Anzahl der für TAPI verfügbaren Telefongeräte. Telefongeräte werden durch ihre Geräte-ID (Geräte-ID) identifiziert. Gültige Gerätebezeichner reichen von null bis zur Anzahl der Telefongeräte minus eins. Wenn phoneInitializeEx beispielsweise meldet, dass zwei Telefongeräte in einem System vorhanden sind, sind die gültigen Gerätebezeichner 0 und 1. Nachdem eine Anwendung die Telefonfunktionen von TAPI verwendet hat, ruft sie phoneShutdown auf und übergibt ihr Anwendungshandle, um die Verwendung von TAPI herunterzufahren. Dadurch kann TAPI alle Ressourcen freigeben, die der Anwendung zugewiesen sind.

Anwendungen sollten phoneInitializeEx nicht aufrufen, ohne anschließend ein Telefon zu öffnen (zumindest zur Überwachung). Wenn die Anwendung keine Geräte überwacht und keine Geräte verwendet, sollte sie phoneShutdown aufrufen, damit speicherbezogene Ressourcen, die von der TAPI-Dynamic-Link-Bibliothek zugewiesen werden, freigegeben werden können, wenn sie nicht benötigt werden, und die Bibliothek selbst aus dem Arbeitsspeicher entladen werden kann, wenn sie nicht benötigt wird.

Sowohl phoneInitializeEx als auch phoneShutdown arbeiten synchron. Das heißt, diese Funktionen geben entweder eine Erfolgs- oder Fehleranzeige zurück und geben niemals einen asynchronen Anforderungsbezeichner zurück.