Ошибка доступа к COM порту. Как устранить?
Ситуация такая: При откратии (VCP) COM порта в ХР
Код:
CreateFile("COM4", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
получаю ошибку с кодом 5 т.е. ERROR_ACCESS_DENIED.
Но если открываю тот же порт на ноутбуке все происходит без проблем и порт открывается на ура.
На ноуте нет физических COM портов и стоит SP2, на PC есть и установлены SP1. Может это влиять на доступ к порту?
4й параметер функции ( security attributes ) должен быть NULL или другое значение? Если другое, то что именно?
Спасибо.
ты случам работаешь не через переходник COM-USB?
Цитата: krist
Привет!
получаю ошибку с кодом 5 т.е. ERROR_ACCESS_DENIED.
получаю ошибку с кодом 5 т.е. ERROR_ACCESS_DENIED.
А порт не может кем-нибудь занят? Советую также посмотреть в сторону DeviceIOControl.
обычно COM1 и COM2 только
Цитата: krist
4й параметер функции ( security attributes ) должен быть NULL или другое значение? Если другое, то что именно?
Отрывок из Рихтера
Цитата:
Почти все функции, создающие объекты ядра, принимают указатель на структуру SECURITY_ATTRIBUTES как аргумент.
Большинство приложений вместо этого аргумента передает NULL и создает объект с защитой по умолчанию. Такая защита подразумевает, что создатель объекта и любой член группы администраторов получают к нему полный доступ, а все прочие к объекту не допускаются.