функция lineGetDevCapsA (tapi.h)

Функция lineGetDevCaps запрашивает указанное устройство строки для определения возможностей телефонии. Возвращаемые сведения допустимы для всех адресов на устройстве строки.

Синтаксис

LONG lineGetDevCapsA(
  HLINEAPP      hLineApp,
  DWORD         dwDeviceID,
  DWORD         dwAPIVersion,
  DWORD         dwExtVersion,
  LPLINEDEVCAPS lpLineDevCaps
);

Параметры

hLineApp

Обработка регистрации приложения с помощью TAPI.

dwDeviceID

Идентификатор устройства строки, запрашиваемого.

dwAPIVersion

Номер версии используемого API телефонии. Слово высокого порядка содержит основной номер версии; Слово с низким порядком содержит дополнительный номер версии. Это число получается lineNegotiateAPIVersion.

dwExtVersion

Номер версии используемых расширений поставщика услуг. Это число получено lineNegotiateExtVersion. Его можно оставить нулевой, если не используются расширения, относящиеся к устройству. В противном случае слово высокого порядка содержит основной номер версии; Слово с низким порядком содержит дополнительный номер версии.

lpLineDevCaps

Указатель на изменяемую структуру типа LINEDEVCAPS. После успешного завершения запроса эта структура заполняется сведениями о возможностях устройства строки. Перед вызовом lineGetDevCapsприложение должно задать dwTotalSize элемент этой структуры, чтобы указать объем памяти, доступной TAPI для возврата сведений.

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

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

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

LINEERR_BADDEVICEID, LINEERR_NOMEM, LINEERR_INCOMPATIBLEAPIVERSION, LINEERR_OPERATIONFAILED, LINEERR_INCOMPATIBLEEXTVERSION, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALAPPHANDLE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NODRIVER, LINEERR_OPERATIONUNAVAIL, LINEERR_NODEVICE.

Замечания

Прежде чем использовать lineGetDevCaps, приложение должно согласовать номер версии API для использования, а при необходимости — версию расширения.

Номера API и расширения — это номера версий, в которых должны работать TAPI и поставщик услуг. Если диапазоны версий не перекрываются, версии приложения, API или поставщика услуг несовместимы и возвращается ошибка.

Один из членов в структуре LINEDEVCAPS, возвращаемой этой функцией, содержит количество адресов, назначенных указанному устройству строки. Фактические идентификаторы адресов, используемые для ссылки на отдельные адреса, варьируются от нуля до одного меньше возвращаемого числа. Возможности каждого адреса могут отличаться. Используйте lineGetAddressCapsCaps для каждого доступного <dwDeviceID, dwAddressID> сочетания, чтобы определить точные возможности каждого адреса. Обратите внимание, что идентификатор адреса постоянно связан с адресом; Идентификатор остается постоянным в обновлениях операционной системы.

Заметка

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

Требования

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

См. также

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

LINEDEVCAPS

Обзор TAPI 2.2

lineGetAddressCaps

lineNegotiateAPIVersion

lineNegotiateExtVersion