Classi di dispositivi TSPI
Una classe di dispositivi è un gruppo di dispositivi fisici o driver di dispositivo correlati tramite cui le applicazioni inviano e ricevono le informazioni o i dati che costituiscono una chiamata. Ogni classe del dispositivo ha un nome di classe di dispositivo che identifica in modo univoco la classe e fornisce informazioni sull'interfaccia di programmazione e sui comandi che possono essere usati per aprire e comunicare con i dispositivi nella classe .
Il TAPI (Telephony Application Programming Interface) associa i dispositivi da una o più classi di dispositivi a ogni linea o dispositivo telefonico. È possibile accedere a uno di questi dispositivi recuperando l'identificatore del dispositivo per il dispositivo usando la funzione lineGetID o phoneGetID . Specificare il nome della classe del dispositivo e la funzione restituisce il nome della porta, il nome del dispositivo, l'handle del dispositivo o l'identificatore del dispositivo che è necessario aprire e accedere al dispositivo. Il formato delle informazioni restituite dipende dalla classe del dispositivo ed è descritto in questa sezione.
È anche possibile usare i nomi delle classi di dispositivo con le funzioni lineConfigDialog e phoneConfigDialog per consentire all'utente di impostare le opzioni di configurazione per il dispositivo specificato; con le funzioni lineGetIcon e phoneGetIcon per recuperare un'icona per rappresentare il dispositivo specificato; e con le funzioni lineGetDevConfig e lineSetDevConfig per recuperare e impostare direttamente le opzioni di configurazione per il dispositivo specificato.
Di seguito sono riportati i nomi predefiniti della classe di dispositivo.
Nome classe dispositivo | Descrizione |
---|---|
Comm | Porta di comunicazione |
comm/datamodem | Modem tramite una porta di comunicazione |
comm/datamodem/portname | Nome del dispositivo a cui è connesso un modem |
onda/in | Dispositivo audio wave (solo input) |
onda/uscita | Dispositivo audio wave (solo output) |
onda/in/uscita | Dispositivo audio wave, duplex completo |
midi/in | Sequencer MIDI (solo input) |
midi/out | MIDI Sequencer (solo output) |
tapi/line | Dispositivo linea |
tapi/telefono | Dispositivo telefonico |
Ndis | Dispositivo di rete |
tapi/terminale | Dispositivo terminale |
Questi nomi non fanno distinzione tra maiuscole e minuscole, quindi è possibile usare qualsiasi combinazione di lettere maiuscole e minuscole.
È possibile che in un sistema specifico siano disponibili classi di dispositivi e nomi di classi di dispositivi aggiuntivi. In generale, se un dispositivo non appartiene a una delle classi di dispositivo predefinite, il produttore definisce in genere una nuova classe di dispositivo e assegna un nome univoco della classe di dispositivo. È necessario controllare la documentazione relativa al dispositivo per determinare quali classi di dispositivi aggiuntive sono disponibili. Si noti, tuttavia, che anche se la classe del dispositivo e il tipo di supporto sono correlati, non sono uguali. Un tipo di supporto descrive un formato di informazioni su una chiamata e una classe di dispositivo definisce l'interfaccia di programmazione usata per gestire tali informazioni. Pertanto, anche se un produttore definisce un nuovo tipo di supporto, potrebbe non essere vero che il produttore deve anche definire una nuova classe di dispositivi per supportare la modalità.
Il formato dei dati di configurazione usati con le funzioni lineSetDevConfig e lineGetDevConfig dipende anche dalla classe del dispositivo. In generale, si usa lineGetDevConfig per salvare una copia dei dati di configurazione del dispositivo corrente e quindi usare lineSetDevConfig con i dati di configurazione salvati per ripristinare la configurazione del dispositivo allo stato precedente. Si tratta di un modo pratico per modificare temporaneamente la configurazione senza richiedere all'utente di ripristinarla manualmente nello stato precedente. Poiché il formato esatto dei dati di configurazione del dispositivo può essere diverso con ogni provider di servizi, non usare lineSetDevConfig e lineGetDevConfig per modificare direttamente i dati di configurazione del dispositivo. Alcuni formati vengono forniti solo per informazioni.