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


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

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

Синтаксис

LONG lineGetID(
  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, wave, MIDI, телефон, линия или NDIS), связанных с вызовом, адресом или строкой. Затем этот идентификатор можно использовать с соответствующим API (например, телефон, MIDI, wave) для выбора соответствующего устройства мультимедиа, связанного с указанным вызовом.

Имена классов устройств см. в разделе Классы устройств TAPI .

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

Требования

Требование Значение
Целевая платформа Windows
Header tapi.h
Библиотека Tapi32.lib
DLL Tapi32.dll

См. также раздел

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

Обзор справочника по TAPI 2.2

VARSTRING

LineОткрыть