У меня есть модем на COM44, и когда я пытаюсь получить к нему доступ через C ++, я получаю сообщение ERROR_SHARING_VIOLATION. Код, который я использую, и m_hFile заканчивается -1:
void* m_hFile;
m_hFile = ::CreateFile( "\\\\.\\COM44",
GENERIC_READ | GENERIC_WRITE,
NULL,
NULL,
OPEN_EXISTING,
NULL,
NULL );
Я проверил доступ к модему через Putty и смог без проблем открыть его компорт и отправить ему AT-команды, поэтому я знаю, что он работает.
Проблема заканчивается не с кодом CreateFile, а с кодом реестра, который у меня есть над ним, который определяет номер com-порта для использования, который я не добавил, потому что я не думал, что это актуально.
Других решений пока нет …