Поделиться через


Классы устройств TSPI

Класс устройств — это группа связанных физических устройств или драйверов устройств, через которые приложения отправляют и получают сведения или данные, составляющие вызов. Каждый класс устройств имеет имя класса устройств , которое однозначно идентифицирует класс и предоставляет сведения об интерфейсе программирования и командах, которые можно использовать для открытия устройств в классе и взаимодействия с ними.

Интерфейс TAPI связывает устройства из одного или нескольких классов устройств с каждой линией или телефоном. Чтобы получить доступ к одному из этих устройств, получите идентификатор устройства с помощью функции lineGetID или phoneGetID . Вы указываете имя класса устройства, а функция возвращает конкретное имя порта, имя устройства, дескриптор устройства или идентификатор устройства, необходимые для открытия устройства и доступа к устройству. Формат возвращаемых сведений зависит от класса устройства и описан в этом разделе.

Имена классов устройств также используются с функциями lineConfigDialog и phoneConfigDialog , чтобы пользователь мог задать параметры конфигурации для данного устройства; с функциями lineGetIcon и phoneGetIcon для получения значка для представления данного устройства; и с функциями lineGetDevConfig и lineSetDevConfig для прямого извлечения и задания параметров конфигурации для данного устройства.

Ниже приведены имена классов устройств по умолчанию.

Имя класса устройства Описание
Comm Порт связи
comm/datamodem Модем через порт связи
comm/datamodem/portname Имя устройства, к которому подключен модем
волна/в Звуковое устройство Wave (только для ввода)
волна/выход Звуковое устройство Wave (только для вывода)
волна,вход/выход Звуковое устройство Wave, полнодуплексное
midi/in MidI Sequencer (только входные данные)
midi/out MidI Sequencer (только выходные данные)
tapi/line Линейное устройство
tapi/phone Телефонное устройство
Ndis Сетевое устройство
tapi/terminal Устройство терминала

 

В этих именах регистр не учитывается, поэтому можно использовать любое сочетание прописных и строчных букв.

В данной системе могут быть доступны дополнительные классы устройств и имена классов устройств. Как правило, если устройство не принадлежит к одному из классов устройств по умолчанию, производитель обычно определяет новый класс устройства и назначает уникальное имя класса устройства. Необходимо проверка документацию по устройству, чтобы определить, какие дополнительные классы устройств доступны для него. Однако обратите внимание, что, хотя класс устройства и тип носителя связаны, они не совпадают. Тип мультимедиа описывает формат сведений о вызове, а класс устройства определяет программный интерфейс, используемый для управления этой информацией. Таким образом, даже если производитель определяет новый тип носителя, это может быть неверно, что производитель также должен определить новый класс устройства для поддержки режима.

Формат данных конфигурации, используемых с функциями lineSetDevConfig и lineGetDevConfig , также зависит от класса устройства. Как правило, lineGetDevConfig используется для сохранения копии данных текущей конфигурации устройства, а затем используется lineSetDevConfig с сохраненными данными конфигурации для восстановления конфигурации устройства до предыдущего состояния. Это удобный способ временного изменения конфигурации без необходимости вручную восстанавливать ее до предыдущего состояния. Так как точный формат данных конфигурации устройства может отличаться для каждого поставщика служб, не используйте lineSetDevConfig и lineGetDevConfig для непосредственного управления данными конфигурации устройства. Некоторые форматы предоставляются только для сведений.