Classes d’appareils TSPI
Une classe d’appareils est un groupe de périphériques physiques ou de pilotes de périphérique associés par le biais desquels les applications envoient et reçoivent les informations ou les données qui constituent un appel. Chaque classe d’appareil a un nom de classe d’appareil qui identifie de façon unique la classe et fournit des informations sur l’interface de programmation et les commandes qui peuvent être utilisées pour ouvrir et communiquer avec les appareils de la classe.
L’interface de programmation d’applications de téléphonie (TAPI) associe des appareils d’une ou plusieurs classes d’appareils à chaque périphérique téléphonique ou ligne. Pour accéder à l’un de ces appareils, récupérez l’identificateur de l’appareil pour l’appareil à l’aide de la fonction lineGetID ou phoneGetID . Vous fournissez le nom de classe de l’appareil et la fonction retourne le nom de port, le nom de périphérique, le descripteur d’appareil ou l’identificateur de périphérique spécifique que vous devez ouvrir et accéder à l’appareil. Le format des informations retournées dépend de la classe de l’appareil et est décrit dans cette section.
Vous utilisez également des noms de classes d’appareils avec les fonctions lineConfigDialog et phoneConfigDialog pour permettre à l’utilisateur de définir des options de configuration pour l’appareil donné. avec les fonctions lineGetIcon et phoneGetIcon pour récupérer une icône représentant l’appareil donné ; et avec les fonctions lineGetDevConfig et lineSetDevConfig pour récupérer et définir directement les options de configuration pour l’appareil donné.
Voici les noms de classes d’appareil par défaut.
| Nom de classe de l’appareil | Description |
|---|---|
| comm | Port de communication |
| comm/datamodem | Modem via un port de communication |
| comm/datamodem/PortName | Nom de l’appareil auquel un modem est connecté |
| Wave/entrée | Périphérique Wave Audio (entrée uniquement) |
| Wave/sortie | Périphérique Wave Audio (sortie uniquement) |
| Wave/entrée/sortie | Périphérique audio Wave, Full duplex |
| midi/in | Séquenceur MIDI (entrée uniquement) |
| midi/out | Séquenceur MIDI (sortie uniquement) |
| TAPI/ligne | Périphérique de ligne |
| TAPI/téléphone | appareil Téléphone |
| NDIS | Appareil réseau |
| TAPI/terminal | Appareil terminal |
Ces noms ne respectant pas la casse, vous pouvez utiliser n’importe quelle combinaison de lettres majuscules et minuscules.
Des classes d’appareils et des noms de classes d’appareils supplémentaires peuvent être disponibles sur un système donné. En général, si un appareil n’appartient pas à l’une des classes de périphérique par défaut, le fabricant définit généralement une nouvelle classe de périphérique et attribue un nom de classe d’appareil unique. Vous devez vérifier la documentation de l’appareil pour déterminer quelles classes d’appareils supplémentaires sont disponibles pour celui-ci. Notez, cependant, que même si la classe d’appareil et le type de média sont associés, ils ne sont pas identiques. Un type de média décrit un format d’informations sur un appel, et une classe d’appareil définit l’interface de programmation utilisée pour gérer ces informations. Ainsi, même si un fabricant définit un nouveau type de média, il peut ne pas être vrai que le fabricant doit également définir une nouvelle classe d’appareil pour prendre en charge le mode.
Le format des données de configuration utilisées avec les fonctions lineSetDevConfig et lineGetDevConfig dépend également de la classe de l’appareil. En général, vous utilisez lineGetDevConfig pour enregistrer une copie des données de configuration d’appareil actuelles, puis vous utilisez ensuite lineSetDevConfig avec les données de configuration enregistrées pour restaurer la configuration de l’appareil à l’état précédent. Il s’agit d’un moyen pratique de modifier temporairement la configuration sans demander à l’utilisateur de la restaurer manuellement à l’état précédent. Étant donné que le format exact des données de configuration de l’appareil peut être différent avec chaque fournisseur de services, n’utilisez pas lineSetDevConfig et lineGetDevConfig pour manipuler les données de configuration de l’appareil directement. Certains formats sont fournis à titre d’information uniquement.