Handle di chiamata

Come indicato nella panoramica dell'identificatore di sessione , un handle di chiamata è il mezzo con cui un'applicazione TAPI 2.2 identifica una sessione di comunicazione specifica. Quando un'applicazione avvia una sessione, TAPI restituisce un handle di chiamata da usare in altre operazioni o query. Quando un'applicazione riceve una notifica di una sessione in ingresso, TAPI passa anche un handle di chiamata.

Al termine di una sessione e lo stato della sessione è inattivo, l'handle di chiamata rimane valido fino a quando l'applicazione non dealloca l'handle o la riga viene chiusa. La riga potrebbe essere chiusa dall'applicazione oppure potrebbe ricevere un messaggio di LINE_CLOSE . Se una riga viene chiusa, tutti gli handle di chiamata alle chiamate sulla riga diventano immediatamente non validi.

Dopo il ripristino dello stato di inattività di una chiamata, l'applicazione può comunque leggere la struttura e lo stato delle informazioni della chiamata. Ciò consente alle applicazioni di usare operazioni come lineGetCallInfo per recuperare le informazioni sulle chiamate a scopo di registrazione.

Quando l'applicazione non usa più per l'handle di una chiamata inattiva, deve chiamare lineDeallocateCall per liberare la memoria allocata dal sistema correlata alla chiamata. TAPI alloca la memoria per ogni chiamata per ogni applicazione che ha un handle per la chiamata. È probabile che anche i provider di servizi allocano memoria per contenere le informazioni sulle chiamate. La deallocazione dell'handle di chiamata di un'applicazione consente alla libreria e al provider di servizi di recuperare queste risorse di memoria. L'handle di un'applicazione per una chiamata diventa void dopo una deallocazione riuscita.

L'applicazione deve liberare memoria correlata alla chiamata allocata per scopi specifici.