comm/datamodem
Класс устройств comm/datamodem состоит из устройств datamodem. Доступ к этим устройствам можно получить с помощью функций файлов и коммуникаций. Устройства в этом классе связаны с линейными устройствами, поддерживающими тип мультимедиа LINEMEDIAMODE_DATAMODEM, который указан в элементе dwMediaModes структуры LINEDEVCAPS для линейного устройства.
Функция lineGetID заполняет структуру VARSTRING , задав dwStringFormat значением STRINGFORMAT_BINARY и добавляя следующие дополнительные элементы:
HANDLE hComm; // file handle to data modem
CHAR szDeviceName[1]; // name of data modem
Член hComm — это дескриптор открытого порта связи. Этот член имеет значение NULL , если порт еще не открыт или параметр dwSelectlineGetID не является LINECALLSELECT_CALL значением. Если вызов активен, поставщик услуг обычно открывает сам порт, чтобы получить прямой контроль над оборудованием связи, но требуется только для возврата допустимого дескриптора, если линия подключена. Поставщик услуг открывает порт, используя значение FILE_FLAG_OVERLAPPED, а затем настраивает порт с помощью параметров, заданных функцией lineSetDevConfig . Вы можете задать дополнительные параметры конфигурации для устройства с помощью функций связи с возвращенным дескриптором.
Член szDeviceName является строкой, завершающейся null, которая указывает имя порта связи, связанного с линией, адресом или вызовом.
Если hComm является допустимым дескриптором, его можно использовать в последующих вызовах функций файлов, таких как ReadFile и WriteFile, для отправки и получения данных при вызове. Завершив использование порта связи и предпочтительно перед использованием функции lineDeallocateCall для отмены выделения вызова, необходимо закрыть порт с помощью функции CloseHandle .
При использовании функций lineGetDevConfig и lineSetDevConfig некоторые поставщики услуг требуют, чтобы данные конфигурации для этого класса устройств имели следующий формат:
typedef struct tagDEVCFG {
DEVCFGHDR dfgHdr;
COMMCONFIG commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;
// Device setting information
typedef struct tagDEVCFGDR {
DWORD dwSize;
DWORD dwVersion;
WORD fwOptions;
WORD wWaitBong;
} DEVCFGHDR;
Ниже приведены сведения о конфигурации устройства для использования с функциями lineGetDevConfig и lineSetDevConfig .
-
dwSize
-
Сумма размера структуры DEVCFGHDR и фактического размера структуры COMMCONFIG .
-
dwVersion
-
Номер версии структуры Unimodem DevConfig . Этот элемент может быть MDMCFG_VERSION (0x00010003).
-
fwOptions
-
Флаги параметров, отображаемые на странице "Unimodem Option". Этот элемент может быть сочетанием следующих значений:
-
TERMINAL_PRE (1)
-
Отображает экран предварительного терминала.
-
TERMINAL_POST (2)
-
Отображает экран после завершения терминала.
-
MANUAL_DIAL (4)
-
Набирает телефон вручную, если это возможно.
-
LAUNCH_LIGHTS (8)
-
Отображает значок модема в области состояния панели задач.
По умолчанию задано только значение LAUNCH_LIGHTS
-
-
wWaitBong
-
Количество секунд (степень детализации за две секунды) для замены ожидания тона кредита ($).
-
Commconfig
-
Структура COMMCONFIG, которая может использоваться с функциями конфигурации связи и модема.