Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Не открываются COM-порты выше COM9   Найти похожие ветки 

 
Добежал   (2008-12-17 11:57) [0]

Работа идет по-стандартному:

Handle := CreateFile(PChar(Port), GENERIC_READ or GENERIC_WRITE,
 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);


Протокол RS-485, плата Moxa, система Vista.

Заметил, что при указывании Port выше COM9 (то есть, например, COM10) - получаю ошибку код 2: "Не удается найти указанный файл"

Порты меняю в менеджере устройств у платы Moxa. Выставляю видиться как COM4 - работает. Выставляю как COM10 - не работает.

В интернете нашел только вот это - http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1126 :

"lpFileName — указатель на строку нуль-терминированную. Обращаю внимание, что при вызове корректнее писать вот так "\\.\COM1", иначе в W2k столкнулся с проблемой открытия порта с номером выше 4, например, при указании "COM9"; "

Только у меня работает вплоть до COM9, а начиная с COM10 уже нет.

Если указывать в формате \\.\COMx - действительно, работает. Но я не понимаю - почему? Очень похоже на костыль какой-то. Можно ли как-то объяснить такое поведение и как правильно работать нужно?


 
wal ©   (2008-12-17 12:01) [1]

Потомучто COMx - зарезервированные имена, а COMyy - вполне нормальное имя файла а не устройства, и CreateFile с флагом OPEN_EXISTING ищет этот файл, которого, наверное, в текущей папке нету


 
Добежал   (2008-12-17 12:03) [2]

ясно. Насчет почему так происходит - понял.

Остался вопрос - и как тогда правильно использовать CreateFile для COM-портов, начиная с COM10?


 
Skyle ©   (2008-12-17 12:05) [3]


> Добежал   (17.12.08 12:03) [2]

С указанием \\.\

В MSDN всё это написано.


 
wal ©   (2008-12-17 12:06) [4]

When using CreateFile to open a handle directly to a device, an application must use the special characters " \\ .\" to identify the device.


 
Добежал   (2008-12-17 12:47) [5]

Спасибо всем!


 
Anatoly Podgoretsky ©   (2008-12-17 13:28) [6]

> Добежал  (17.12.2008 11:57:00)  [0]

Ограничение АПИ.



Страницы: 1 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
10-1152721470
TStas
2006-07-12 20:24
2009.02.15
Как узнать число листов в экселевской книге?


15-1229778455
Knight
2008-12-20 16:07
2009.02.15
Turbo Delphi... что за шляпа...


15-1229603470
XentaAbsenta
2008-12-18 15:31
2009.02.15
Задача с элементами последовательностей


15-1229711796
Кто б сомневался
2008-12-19 21:36
2009.02.15
Регистрация частного предпринимателя для продажи программ


2-1231410906
EastGod
2009-01-08 13:35
2009.02.15
Альтернативные потоки файлов