Hans Dietrich
CreateFile()
может использоваться для доступа к последовательным портам с помощью "COM1" через "COM9" для имени файла; однако сообщение INVALID_HANDLE_VALUE
возвращается, если вы используете "COM10" или выше.
Для портов > 9, правильный способ указать последовательный порт в вызове CreateFile()
заключается в следующем:
CreateFile(
"\\\\.\\COM10", // address of name of the communications device
fdwAccess, // access (read-write) mode
0, // share mode
NULL, // address of security descriptor
OPEN_EXISTING, // how to create
0, // file attributes
NULL); // handle of file with attributes to copy
Кроме того, убедитесь, что устройство COM, к которому вы пытаетесь получить доступ, действительно установлено. Вы можете использовать бесплатную программу SIW для проверки этого:
http://www.gtopala.com/[
^]
Peter_in_2780
Я не могу найти его прямо сейчас, но была предыдущая тема на эту тему, где я указал, что под Vista, по какой-то причине #$%^ M$, вам нужно "запустить от имени администратора", чтобы получить доступ к \\.\COMxx XP работает нормально, не знаю о Weven.