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