Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Титов О.Работа с коммуникационными портами (COM и LPT) в программах для Win32.doc
Скачиваний:
305
Добавлен:
22.08.2013
Размер:
282.62 Кб
Скачать

Функция CommConfigDialog

Теперь, имея заполненую корректной информацией структуру COMMCONFIG, можно позволить пользователю выполнить настройку параметров с помощью функции CommConfigDialog:

BOOL CommConfigDialog(

LPTSTR lpszName,

HWND hWnd,

LPCOMMCONFIG lpCC

);

Вызов этой функции приводит к отображению примерно такого диалогового окна:

Вид окна может отличаться от приведенного. Это зависит от операционной системы и динамической библиотеки, предоставленной производителем порта.

Познакомимся с параметрами функции CommConfigDialog:

LpszName

Указатель на строку с именем порта, для которого отображается диалоговое окно. К реальному имени порта эта строка не имеет никакого отношения, она просто выводится в заголовке окна.

hWnd

Описатель окна, которое владеет данным диалоговым окном. Должен быть передан корректный описатель окна-владельца или NULL, если у диалогового окна нет владельца.

lpCC

Указатель на структуру COMMCONFIG. Эта структура содержит начальные установки, используемые для отображения в диалоговом окне, и установленные пользователем изменения, при завершении диалога.

Как и большинство других функций Win32 API, функция CommConfigDialogвозвращает отличное от нуля значение, в случае успешного завершения, и нуль, если возникла ошибочная ситуация.

Функция CommConfigDialogне выполняет настройки порта. Она все лишь позволяет пользователю изменить некоторые поля в блоке DCB, содержащемся в структуре COMMCONFIG. Разумеется, Вы можете изменить установленные пользователем некорректные значения или выполнить дополнительные настройки после вызова функцииGetCommConfig.

Функция SetCommConfig

Фактическая настройка порта выполняется функцией SetCommConfig:

BOOL SetCommConfig(

HANDLE hCommDev,

LPCOMMCONFIG lpCC,

DWORD dwSize

);

Параметры имеют то же самое значение, как и в функции GetCommConfig. Следует заметить, что описанные три функции позволяют настраивать и некоторые параметры модема, если он подключен к порту и опознан системой. Впрочем, эта возможность может отсутствовать, если она не предусмотрена производителем оборудования.

Функции GetDefaultCommConfig и SetDegaultCommConfig

Обратите внимание на кнопку "Restore Defaults". Вы в состоянии управлять ее поведением, правда опосредовано, с помощью функций GetDefaultCommConfigиSetDegaultCommConfig. Вот их прототипы:

BOOL GetDefaultCommConfig(

LPCSTR lpszName,

LPCOMMCONFIG lpCC,

LPDWORD lpdwSize

);

BOOL SetDefaultCommConfig(

LPCSTR lpszName,

LPCOMMCONFIG lpCC,

DWORD dwSize

);

Эти функции очень похожи на GetCommConfigиSetCommConfig, но предназначены совсем для другой цели. Предположим, что Ваше устройство, по умолчанию, работает на скорости 175 бит в секунду и обменивается пятибитными символами. Системные же умолчания - 9600 бит в секунду и 8 бит в символе. Что бы пользователь, при нажатии на кнопку "Restore Defaults", получал не системные, а Ваши умолчания, воспользуйтесь функциямиGetDefaultCommConfigиSetDefaultCommConfig.SetDefaultCommConfigне настраивает порт, это выполняется функцией SetCommConfig, а изменяет параметры во внутренней области коммуникационного драйвера.

Соседние файлы в предмете Проектирование электроприборов
  • #
    22.08.20133.39 Mб28Сворень Р. - Шаг за шагом. Усилители и радиоузлы (1965).djvu
  • #
    22.08.201312.78 Mб20Скляр Б.Цифровая связь.Теоретические основы и практическое применение.2003.djvu
  • #
    22.08.20135.15 Mб38Соклоф С. Аналоговые интегральные схемы; 1988.djvu
  • #
    22.08.2013975.61 Кб20Соколов С.Н. - Задачи для радиолюбителей (1970).djvu
  • #
    22.08.201312.6 Mб21Соколовский М.И. и др. - Управляемые энергетические установки на твердом ракетном топливе (2003).djvu
  • #
  • #
    23.08.20133.13 Mб37Фернер В.Пневмоавтоматические приборы низкого давления.1964.djvu
  • #
    23.08.20135.39 Mб52Хаммел Р.Л.Последовательная передача данных.1996.djvu
  • #
    22.08.20133.78 Mб18Хаушильд В., Мош В. (Hauschild W., Mosch W.) - Статистика для электротехников в приложении к технике высоких напряжений (Эн.djv
  • #
    23.08.20133.32 Mб28Холуянов Ф.И.Трансформаторы однофазного и трёхфазного тока.1934.djvu
  • #
    23.08.20136.79 Mб31Хоровиц П.Искусство схемотехники.т1.1986.djvu