Messaggi TSPI

Questa sezione contiene un elenco dei messaggi nell'interfaccia del provider di servizi di telefonia (TSPI). Questi messaggi vengono usati per notificare a TAPI l'occorrenza di eventi asincroni che si verificano spontaneamente all'interno del provider di servizi. Il provider di servizi passa questi eventi a TAPI chiamando una funzione di callback LINEEVENT o PHONEEVENT , a seconda che il provider di servizi stia segnalando un evento su una riga, una chiamata o un dispositivo telefonico. La procedura LINEEVENT per segnalare gli eventi in una riga o una chiamata viene fornita al provider di servizi al momento dell'apertura della riga con la funzione TSPI_lineOpen . La procedura PHONEEVENT per segnalare gli eventi che si verificano su un telefono viene fornita con la funzione di TSPI_phoneOpen .

Questi eventi spontanei non sono richiesti da TAPI nel senso che non sono una risposta diretta a qualsiasi richiesta. Questi eventi sono in contrasto con quelli che segnalano il completamento delle richieste effettuate da TAPI. Tali eventi di completamento vengono segnalati tramite la funzione di callback ASYNC_COMPLETION .

I profili dei parametri per le procedure di evento spontanee includono parametri che identificano l'oggetto pertinente per il quale viene segnalato l'evento (telefono, riga o chiamata). L'identificazione è sotto forma di handle opaco la cui interpretazione esatta non è pubblicata da TSPI. TAPI determina internamente la relazione tra questi handle opachi e qualsiasi struttura di dati usata per rappresentare i dispositivi.

Il profilo dei parametri per le procedure eventi spontanee include anche un parametro di messaggio che identifica il tipo del messaggio. Ogni tipo di messaggio ha una definizione corrispondente che determina gli handle inclusi, insieme ad altri parametri e ai relativi significati. C'è una corrispondenza molto forte tra i messaggi che appaiono a livello TSPI e quelli che appaiono a livello TAPI. Queste sono le regole generali della corrispondenza:

  • Il set di messaggi è quasi identico. Dove i messaggi corrispondono, lo stesso nome del messaggio e il valore vengono usati a livello TSPI.
  • Gli handle visualizzati a livello TSPI sono i tipi opachi definiti dalla specifica TSPI. Questi tipi (e la loro interpretazione) differiscono da quelli a livello TAPI, anche se fanno riferimento alla stessa classe di dispositivo. Ad esempio, dove un messaggio TAPI include un handle HLINE, il messaggio TSPI corrispondente in genere include un handle HTAPILINE .
  • Non sono presenti dati dwCallbackInstance passati al callback.
  • I parametri dwParam1, dwParam2 e dwParam3 sono in genere identici ai parametri corrispondenti per il messaggio TAPI.
  • I messaggi orientati alla riga e orientati alle chiamate vengono passati a una procedura di callback diversa rispetto ai messaggi orientati al telefono.

Per ogni messaggio, questa sezione elenca gli elementi seguenti:

  • Scopo del messaggio
  • Procedura di callback a cui viene passato il messaggio
  • Descrizione dei parametri del messaggio
  • Commenti facoltativi sull'uso del messaggio
  • Riferimenti facoltativi ad altre funzioni, messaggi e strutture di dati
  • Commenti facoltativi che confrontano questo messaggio con l'interfaccia TAPI

Alcuni messaggi vengono usati per notificare a TAPI una modifica dello stato di un oggetto. Questi messaggi forniscono l'handle dell'oggetto opaco TAPI e un'indicazione di quale elemento di stato è stato modificato. TAPI può successivamente chiamare una funzione "get status" appropriata dell'oggetto per ottenere lo stato completo dell'oggetto.

Quando si verifica un evento, un messaggio può o meno essere inviato a TAPI. Per alcuni tipi di evento, ad esempio le modifiche allo stato, TAPI specifica un set di modifiche di stato in cui è interessato. Il provider di servizi è consigliabile limitare gli eventi di messaggio di modifica dello stato a quelli inclusi in questo set. Il provider di servizi non è necessario per rispettare questo limite. In altre parole, può segnalare più modifiche rispetto a quelle strettamente necessarie. Tuttavia, dovrebbe provare a osservare il limite per motivi di prestazioni.

Il messaggio LINE_REPLY non viene usato a livello TSPI. Il completamento di una richiesta asincrona viene segnalato usando il callback ASYNC_COMPLETION .

Il messaggio di PHONE_REPLY non viene usato a livello TSPI. Il completamento di una richiesta asincrona viene segnalato usando il callback ASYNC_COMPLETION .

Per altre informazioni, vedere gli argomenti seguenti: