Главная страница
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
2-1230900561
Tatb9na
2009-01-02 15:49
2009.02.15
Ошибка запуска


11-1197220362
Elec3C
2007-12-09 20:12
2009.02.15
Drag n Drop в ListBox


2-1231224543
Igor'
2009-01-06 09:49
2009.02.15
Как узнать название поля DBGridEh -где изменилось значение?


4-1205397361
Костик
2008-03-13 11:36
2009.02.15
Как запретить мышке перемещаться в определенную позицию.


15-1229492749
девушка
2008-12-17 08:45
2009.02.15
почему не вылетало AV ???