我已经成功地在64位的Windows7机器上安装了com0com v2.2.2.0。
我运行命令实用程序,如下所示:
command> install PortName=COM9 PortName=COM8
CNCA0 PortName=COM9
CNCB0 PortName=COM8
ComDB: COM8 - logged as "in use"
ComDB: COM9 - logged as "in use"
command> busynames COM?*
COM3
COM4
COM5
COM6
COM8
COM9
COMPOSITEBATTERY注意:记录为“使用中”不是错误消息吗?
然后我试着像这样打开COM8
m_hIDComDev = CreateFileA( szCodedPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );
if( m_hIDComDev == NULL || m_hIDComDev == INVALID_HANDLE_VALUE ) {
wchar_t * lpMsgBuf;
DWORD dw = ::GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
myErrorMsg = (char*)malloc( 200 );
sprintf(myErrorMsg,"Error creating connection %s ( %s ) %S",
szPort,szCodedPort,lpMsgBuf);这不符合
Error creating connection COM8 ( COM8 ) The system cannot find the file specified.我试过"COM8“和"\\.\COM8"。
请注意,对CreateFileA的完全相同的调用完全可以在“real”COM端口上工作。
问:有人能告诉我问题出在哪里吗?
答:在windows 7 64位上,您必须启用未签名驱动程序的测试。
bcdedit -set TESTSIGNING ON对于Windows 8,此方法不能令人满意或容易地工作。这里是一些讨论的问题和解决办法。
或者,您可能想尝试一个签名版本 -我自己还没有试过这个。
发布于 2012-01-09 04:40:20
以下是我的观点:
64-bit drivers成为signed。com0com.sys (64位)是一个简单的无符号内核模式驱动程序。SoftWx编写了一个关于在64位Windows 7计算机上安装它的有趣教程。你可以去取这里。
发布于 2013-01-08 11:43:29
如果有人引用这一点,并对此主题感兴趣,2.2.2.0版本的com0com将为64位Windows进行签名。这消除了跳过将Windows置于“测试”模式的循环的需要。
发布于 2021-10-22 15:52:55
这是一个非常古老的帖子,但只是为了增加一些帮助,如果有人偶然发现它像我一样。
在Windows 10版本2004之后,您可能需要禁用BIOS中的安全启动。
我从SourceForge获得了一个经过签名的3.0版本的应用程序,这在我的一台PC (Windows10Pro 2004版)上工作得很好。我刚刚安装了这个应用程序,并立即创建了两对链接端口。
在我的笔记本电脑(Windows 10 Pro版本20H2)上,我没有得到相同的结果。未创建COM端口,并且无法在设备管理器中配置设备。更改BIOS设置后,我重新安装,一切顺利。
参考链接:
https://sourceforge.net/projects/com0com/
https://sourceforge.net/projects/signed-drivers/files/com0com/v3.0/
要回答上面的@DaAwesomeP (我没有代表将它放在评论中),在GitHub https://github.com/paulakg4/com0com上有一个回购程序,在这里我可以看到一个changes.txt。如果我比较一下日期,它看起来就像那里的3.0版本一样。
https://stackoverflow.com/questions/8772858
复制相似问题