设备管理器中所有 LSP 和 COM 端口的代码为 39

设备管理器中所有 LSP 和 COM 端口的代码为 39

在 Windows 7 x64 企业版下,使用 HP Z600 工作站,带有两个不同的 COM 端口适配器,一个 USB 和一个 PCI-E。我遇到了以下问题。

这些设备已经可靠地运行了一年左右。现在,在设备管理器中,所有 COM 端口都会显示黄色感叹号警告标志。在属性下进一步检查后,每个 COM 端口设备都会显示:

Windows 无法加载此硬件的设备驱动程序。驱动程序可能已损坏或丢失代码 39

我尝试了以下方法但没有成功:

  • 重启多次
  • 重新安装两个 COM 端口适配器
  • 重新安装与第二个 COM 端口适配器交互的软件

答案1

解决方案与解决 USB 设备代码 39 类似。最终有效的解决方案是删除以下键下的 UpperFilters 多字符串值(类型:REG_MULTI_SZ):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E978-E325-11CE-BFC1-08002BE10318}\

如果您的注册表项名称略有不同,您可以查看类下的所有注册表项,并检查它们的用途。我只是滚动查看类下的所有键,直到找到正确的键。在 REG_SZ 默认值下(如您在屏幕截图顶部所见),您将找到注册表项所指的设备类型。

注册表截图 请注意,在我的屏幕截图中,这是一个空的 UpperFilters:实际上它将包含一个特定的值,但除此之外它看起来会像这样。

那么这些神秘的上部过滤器到底是什么呢?根据techguy.org 上的一篇文章:“UpperFilter 是处理/过滤应用程序的设备访问请求的驱动程序,然后将这些请求传递给主设备驱动程序。”换句话说,如果此值错误,您的访问请求将不会到达主设备驱动程序,设备将无法运行。在某些情况下,UpperFilter 是必不可少的,如果没有它们,您的设备将无法正常运行。因此,最好确保在删除之前记住您的 UpperFilter(或将其重命名为 UpperFiltersOld 或其他名称)。

相关内容