Inicjowanie i zamykanie
Aby aplikacja korzystała z 30 dodatkowych funkcji telefonu interfejsu TAPI, wymaga połączenia z interfejsem TAPI, za pośrednictwem którego może odbierać komunikaty. Aplikacja ustanawia to połączenie przy użyciu funkcji phoneInitializeEx. W tej funkcji aplikacja określa mechanizm powiadomień, za pomocą którego interfejs TAPI informuje o zastosowaniu zmian w stanie telefonu i asynchronicznego uzupełniania funkcji telefonu.
Funkcja phoneInitializeEx zwraca dwie informacje do aplikacji: aplikacja obsługujei liczbę urządzeń telefonicznych. Dojście aplikacji reprezentuje użycie interfejsu TAPI przez aplikację. Funkcje TAPI korzystające z uchwytów na telefon nie wymagają uchwytu aplikacji, ponieważ ta obsługa pochodzi z określonego uchwytu telefonu.
Druga informacja zwrócona przez phoneInitializeEx to liczba urządzeń telefonicznych dostępnych dla interfejsu TAPI. Urządzenia telefoniczne są identyfikowane przez identyfikator urządzenia (identyfikator urządzenia). Prawidłowe identyfikatory urządzeń wahają się od zera do liczby urządzeń telefonicznych minus jeden. Jeśli na przykład phoneInitializeEx zgłasza, że w systemie istnieją dwa urządzenia telefoniczne, prawidłowe identyfikatory urządzeń telefonicznych to 0 i 1. Po zakończeniu korzystania z funkcji telefonicznych interfejsu TAPI aplikacja wywołuje phoneShutdown, przekazując uchwyt aplikacji, aby zamknąć użycie interfejsu TAPI. Dzięki temu interfejs TAPI może zwolnić wszystkie zasoby przypisane do aplikacji.
Aplikacje nie powinny wywoływać phoneInitializeEx bez późniejszego otwierania telefonu (przynajmniej do monitorowania). Jeśli aplikacja nie monitoruje i nie korzysta z żadnych urządzeń, powinna wywołać phoneShutdown, aby zasoby pamięci przydzielone przez bibliotekę linku dynamicznego TAPI mogły zostać zwolnione, jeśli nie są potrzebne, a sama biblioteka może zostać zwolniona z pamięci, mimo że nie jest to konieczne.
Zarówno phoneInitializeEx, jak i phoneShutdown działają synchronicznie. Oznacza to, że te funkcje zwracają wskazanie powodzenia lub niepowodzenia i nigdy nie zwracają identyfikatora żądania asynchronicznego.