Функция lineGetIDA (tapi.h)

Функция lineGetID возвращает идентификатор устройства для указанного класса устройства, связанного с выбранной строкой, адресом или вызовом.

Синтаксис

LONG lineGetIDA(
  HLINE       hLine,
  DWORD       dwAddressID,
  HCALL       hCall,
  DWORD       dwSelect,
  LPVARSTRING lpDeviceID,
  LPCSTR      lpszDeviceClass
);

Параметры

hLine

Дескриптор на открытое устройство строки.

dwAddressID

Адрес на заданном устройстве открытой строки. Идентификатор адреса постоянно связан с адресом; Идентификатор остается постоянным в обновлениях операционной системы.

hCall

Обработка вызова.

dwSelect

Указывает, связан ли запрошенный идентификатор устройства со строкой, адресом или одним вызовом. Этот параметр использует только одну из LINECALLSELECT_ констант.

lpDeviceID

Указатель на расположение памяти типа VARSTRING, где возвращается идентификатор устройства. После успешного завершения запроса это расположение заполняется идентификатором устройства. Формат возвращаемой информации зависит от метода, используемого API класса устройства для именования устройств. Перед вызовом lineGetIDприложение должно задать dwTotalSize элемент этой структуры, чтобы указать объем памяти, доступной TAPI для возврата сведений.

Примечание Если параметры размера в структуре неверны, существует вероятность того, что данные могут быть перезаписаны. Дополнительные сведения о настройке размеров структуры см. в разделе выделение памяти.
 

lpszDeviceClass

Указатель на строку, завершающуюся значением NULL, которая указывает класс устройства устройства, идентификатор которого запрашивается. Допустимые строки класса устройства — это те, которые используются в SYSTEM. Раздел INI для идентификации классов устройств.

Возвращаемое значение

Возвращает ноль, если запрос выполнен успешно или отрицательный номер ошибки, если возникает ошибка. Возможные возвращаемые значения:

LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSELECT, LINEERR_INVALDEVICECLASS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NODEVICE, LINEERR_UNINITIALIZED.

Замечания

Функцию lineGetID можно использовать для получения идентификатора устройства строки при указании дескриптора строки. Это полезно после открытия lineOpen с помощью LINEMAPPER в качестве идентификатора устройства для определения реального идентификатора устройства открытой строки. Эту функцию также можно использовать для получения идентификатора устройства телефона или устройства мультимедиа (для таких классов устройств, как COM, волна, MIDI, телефон, линия или NDIS), связанные с вызовом, адресом или строкой. Затем этот идентификатор можно использовать с соответствующим API (например, телефоном, MIDI, волной), чтобы выбрать соответствующее устройство мультимедиа, связанное с указанным вызовом.

См. классы устройств TAPI для имен классов устройств.

Поставщик, определяющий режим мультимедиа для конкретного устройства, также должен определить соответствующий API для конкретного устройства (частного) для управления устройствами в режиме мультимедиа. Чтобы избежать конфликтов в именах классов устройств, назначенных независимо от разных поставщиков, поставщик должен выбрать имя, которое однозначно идентифицирует поставщика и, следуя за ним, тип носителя. Например: intel/video.

Заметка

Заголовок tapi.h определяет lineGetID как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка tapi.h
библиотеки Tapi32.lib
DLL Tapi32.dll

См. также

Справочник по службам базовой телефонии

Обзор TAPI 2.2

VARSTRING

lineOpen