Странно работает CreateFile для COM10
От: Were  
Дата: 17.06.08 08:36
Оценка:
#Имя: FAQ.winapi.createfile.com10
Здравствуйте, Master-Win, Вы писали:

MW>Использую CreateFile для открытия последовательных портов. При этом она очень странно себя ведет. При открытии портов COM1 ... COM9 ведет себя нормально, а при попытке открыть порты COM10 и выше все время возвращает ошибку и устанавливает код 2 — типа не может найти указанный порт. Хотя этот порт точно есть! В чем может быть причина??


LD>>Попробуй открыть COM порт c именем вида: \\.\COM10


MW>Все заработало!! Большое спасибо. Не могли бы объяснить почему без дополнительных символов в начале не работает. Почитал в MSDN — ничего об этом не нашел


Дык в MSDN англицким по белому написано:

To specify a COM port number greater than 9, use the following syntax: "\\.\COM10". This syntax works for all port numbers and hardware that allows COM port numbers to be specified.

http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx

А не работает потому, что COM1...COM9 это зарезервированные виндой ссылки на порты, по которым их можно открыть. Полный список таких имен:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9

http://msdn.microsoft.com/en-us/library/aa365247.aspx

Как видите COM10 в этом списке нет )
com порт createfile
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.