Главная страница
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.016 c
2-1230921661
New77
2009-01-02 21:41
2009.02.15
Как ограничить выбор в ComboBox - a, b, с и "Пусто"?


2-1230900561
Tatb9na
2009-01-02 15:49
2009.02.15
Ошибка запуска


6-1198832452
LeoGig
2007-12-28 12:00
2009.02.15
Запрос скрипту CGI


2-1231418330
bioss
2009-01-08 15:38
2009.02.15
Как перевести каретку в начало текстового файла?


4-1205326964
AndreyRus
2008-03-12 16:02
2009.02.15
Немецкие буквы в MessageBox