com0com 虚拟端口未找到

问题描述 投票:0回答:3

我已经在 64 位 Windows 7 计算机上成功安装了 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 的完全相同的调用在“真实”COM 端口上完美运行。

问:有人能告诉我问题是什么吗?

A:在 Windows 7 64 位上,您必须启用未签名驱动程序的测试。

  • 以管理员身份运行命令提示符。 (仅从具有管理员权限的帐户运行是不够的。有关如何执行此操作的详细信息,请参阅此处。)

  • 输入命令

    bcdedit -set TESTSIGNING ON

  • 重新启动。 (Windows会在桌面右下角放置“测试模式”注释)

对于 Windows 8,此方法效果不佳或不轻松。 以下是有关问题和解决方法的一些讨论

或者,您可能想尝试签名版本 - 我自己还没有尝试过。

winapi com0com
3个回答
19
投票

如果有人引用此内容并对本主题感兴趣,2.2.2.0 版本的 com0com 已针对 64 位 Windows 进行签名。这样就无需再经历将 Windows 置于“测试”模式的麻烦了。


10
投票

以下是我的观点:

  • Microsoft 要求
    64-bit drivers
    signed
  • com0com.sys
    (64位)只是一个无符号内核模式驱动程序。

SoftWx 编写了一个关于在 64 位 Windows 7 计算机上安装它的有趣教程。您可以在这里获取它。

更新:

签名版本自2017年7月13日起可用。


2
投票

这是一篇非常旧的帖子,但只是为了在有人像我一样偶然发现它时添加一些帮助。

Windows 10 Version 2004 之后,您可能需要在 BIOS 中禁用安全启动。

我从 SourceForge 获得了该应用程序的签名版本 3.0,它在我的一台 PC(Windows 10 专业版 2004)上完美运行。我刚刚安装了该应用程序,立即创建了两对链接端口。

在我的笔记本电脑(Windows 10 Pro Version 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 版本。

© www.soinside.com 2019 - 2024. All rights reserved.