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

Функция lineGetDevConfig возвращает объект структуры данных "непрозрачный", содержимое которого относится к строке (поставщику услуг) и классу устройства. Объект структуры данных сохраняет текущую конфигурацию устройства мультимедиа-потока, связанного с устройством линии.

Синтаксис

LONG lineGetDevConfigW(
  DWORD       dwDeviceID,
  LPVARSTRING lpDeviceConfig,
  LPCWSTR     lpszDeviceClass
);

Параметры

dwDeviceID

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

lpDeviceConfig

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

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

lpszDeviceClass

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

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

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

LINEERR_BADDEVICEID, LINEERR_NODRIVER, LINEERR_INVALDEVICECLASS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALPOINTER, LINEERR_RESOURCEUNAVAIL, LINEERR_STRUCTURETOOSMALL, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_UNINITIALIZED, LINEERR_NODEVICE.

Замечания

Состояния вызова зависят от устройства.

Функцию lineGetDevConfig можно использовать для получения структуры данных из TAPI, которая указывает конфигурацию устройства потока мультимедиа, связанного с определенным устройством линии. Например, содержимое этой структуры может указывать частоту данных, формат символов, схемы модуляции и параметры протокола управления ошибками для устройства мультимедиа datamodem, связанного с строкой.

Как правило, приложение вызывает lineGetID для идентификации устройства потока мультимедиа, связанного с строкой, а затем вызывает lineConfigDialog, чтобы разрешить пользователю настроить конфигурацию устройства. Затем он может вызвать lineGetDevConfigи сохранить сведения о конфигурации в телефонной книге (или другой базе данных), связанной с определенным назначением звонка. Когда пользователь позже хочет снова вызвать то же назначение, lineSetDevConfig можно использовать для восстановления параметров конфигурации, выбранных пользователем. Функции lineSetDevConfig, lineConfigDialogи lineGetDevConfig можно использовать, чтобы разрешить пользователю просматривать и обновлять параметры.

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

Заметка

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

Требования

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

См. также

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

Обзор TAPI 2.2

VARSTRING

lineConfigDialog

lineGetID

lineSetDevConfig