Clases de dispositivo TAPI
Una clase de dispositivo es un grupo de dispositivos físicos o controladores de dispositivos relacionados a través de los cuales las aplicaciones envían y reciben la información o los datos que componen una llamada. Cada clase de dispositivo tiene un nombre de clase de dispositivo que identifica de forma única la clase y proporciona información sobre la interfaz de programación y los comandos que se pueden usar para abrir y comunicarse con los dispositivos de la clase .
La interfaz de programación de aplicaciones de telefonía (TAPI) asocia dispositivos de una o varias clases de dispositivo a cada línea o dispositivo telefónico. Para acceder a uno de estos dispositivos, recupere el identificador del dispositivo mediante la función lineGetID o phoneGetID . Proporcione el nombre de la clase de dispositivo y la función devuelve el nombre de puerto específico, el nombre del dispositivo, el identificador del dispositivo o el identificador de dispositivo que necesita para abrir y acceder al dispositivo. El formato de la información devuelta depende de la clase de dispositivo y se describe en temas posteriores de esta sección.
También se usan nombres de clase de dispositivo con las funciones lineConfigDialog y phoneConfigDialog para permitir al usuario establecer opciones de configuración para el dispositivo determinado, con las funciones lineGetIcon y phoneGetIcon para recuperar un icono para representar el dispositivo determinado y con las funciones lineGetDevConfig y lineSetDevConfig para recuperar y establecer directamente las opciones de configuración del dispositivo determinado.
En la lista siguiente se muestran los nombres de clase de dispositivo.
Nombre de clase de dispositivo | Descripción |
---|---|
Comm | Puerto de comunicaciones. |
comm/datamodem | Módem a través de un puerto de comunicaciones. |
comm/datamodem/portname | Nombre del dispositivo al que está conectado un módem. |
wave/in | Dispositivo de audio de onda (solo entrada). |
wave/out | Dispositivo de audio de onda (solo salida). |
wave/in/out | Dispositivo de audio de onda, dúplex completo. |
midi/in | Secuenciador MIDI (solo entrada). |
midi/out | Secuenciador MIDI (solo salida). |
tapi/line | Dispositivo de línea. |
tapi/phone | Dispositivo telefónico. |
Ndis | Dispositivo de red. |
tapi/terminal | Dispositivo de terminal. |
Nota
Estos nombres no distinguen mayúsculas de minúsculas; Puede usar cualquier combinación de letras mayúsculas y minúsculas.
Es posible que haya clases de dispositivo adicionales y nombres de clase de dispositivo disponibles en un sistema determinado. En general, si un dispositivo no pertenece a una de las clases de dispositivo predeterminadas, el fabricante suele definir una nueva clase de dispositivo y asigna un nombre de clase de dispositivo único. Compruebe la documentación del dispositivo para determinar qué clases de dispositivo adicionales están disponibles para él. Sin embargo, tenga en cuenta que, aunque la clase de dispositivo y el tipo de medio están relacionados, no son iguales. Un tipo de medio describe el formato de información de llamada y una clase de dispositivo define la interfaz de programación utilizada para administrar esa información. Por lo tanto, incluso si un fabricante define un nuevo tipo de medio, no es necesariamente cierto que el fabricante también necesita definir una nueva clase de dispositivo para admitir el modo.
El formato de los datos de configuración usados con las funciones lineSetDevConfig y lineGetDevConfig también depende de la clase de dispositivo. En general, se usa lineGetDevConfig para guardar una copia de los datos de configuración del dispositivo actuales y, después, usar lineSetDevConfig con los datos de configuración guardados para restaurar la configuración del dispositivo en el estado anterior. Esta es una manera cómoda de cambiar temporalmente la configuración sin necesidad de que el usuario lo restaure manualmente al estado anterior. Dado que el formato exacto de los datos de configuración del dispositivo puede ser diferente con cada proveedor de servicios, no debe usar lineSetDevConfig y lineGetDevConfig para manipular directamente los datos de configuración del dispositivo. Algunos formatos solo se proporcionan para obtener información.