Расширенные функции
Некоторые коммуникационные функции могут вызваться устройством, используя функцию EscapeCommFunction. Эта функция отправляет код, который предписывает устройству исполнить расширенную функцию. Например, прикладная программа может приостановить символьную передачу кодом SETBREAK и возобновить передачу кодом CLRBREAK. Такие конкретные операции могут также быть запущены при помощи вызова функции SetCommBreak и ClearCommBreak. Функция EscapeCommFunction может также использоваться, чтобы осуществлять ручное управление модемом. Например, коды CLRDTR и SETDTR могут использоваться, чтобы реализовать в ручную управление потоком данных DTR (устройства ввода данных цифрового терминала).
| Обратите внимание! однако на то, что происходит ошибка, если процесс использует EscapeCommFunction, чтобы обрабатывать линию DTR, когда устройство было сконфигурировано, чтобы включить процедуру подтверждения связи DTR, или линию RTS ( запрос на передачу), если включена процедура подтверждения связи RTS. |
Функция DeviceIoControl дает возможность процессу отправлять код расширенной функции непосредственно указанному драйверу устройства, заставляя это устройство выполнить данную операцию. DeviceIoControl передает устройство, связанное с характеристиками коммуникационного ресурса, не поддерживаемыми стандартными обычными коммуникационными функциями. Это дает возможность приложению конфигурировать устройство, используя параметры, уникальные для этого устройства, такие как вызов специальных для устройства функций.