[ad_1]
由于我的开发机和测试机是带有 Windows 7 操作系统的 64 位 Windows 系统所以为了给自己一个良好的开端,我在 Microsoft 提供的 Windows-driver-samples-master/serial/VirtualSerial2 示例代码下编译了 ComPort 项目,初始它闪烁出现如下错误“提供商不能是“Microsoft”,必须是编写 INF 的组织”,因此我将 .inx 文件 MSFTUMDF=Microsoft 中的以下行更改为 MSFTUMDF=Sample,然后编译成功。
然后我按照以下过程在目标机器上安装驱动程序。
1)我将 VirtualSerial2um.cer 文件 VirtualSerial2um.inf 从 Windows-driver-samples-master\serial\VirtualSerial2\ComPort\x64\Debug & devcon.exe 从 C:\Program Files\Windows Kits\10\Tools\x64 复制到目标设备的 C:\ 驱动器中的 Sample 文件夹。
2)然后在目标计算机上打开 Internet Explorer,转到“Internet 选项”->“内容”->“证书”->“导入”,然后选择 VirtualSerial2um.cer 文件并导入证书。
3)然后在目标计算机上,我以管理员身份打开命令提示符,浏览到示例文件夹并键入以下命令。
devcon 安装 virtualSerial2um.inf UMDF\Virtual_1
然后在命令提示符上显示:
已创建设备树条目
开发者大会失败。
在设备管理器中,在未知设备下出现 COMn(n 是 com 端口号),但是当我打开超级终端时,COMn 不会显示在 COM 端口的下拉列表中。
现在我无法弄清楚为什么我的 devcon 安装失败,因为它说我的驱动程序已在设备树中注册,那么为什么它显示在未知设备中而不是在端口中
这是 VirtualSerial2um.inf 文件的内容
;
; 版权所有 (C) Microsoft Corporation,保留所有权利。
;
; 虚拟串行.inf
;
;安装注意事项:
; 输入“devcon install VirtualSerial2um.inf UMDF\VirtualSerial2um”进行安装
[Version]
签名=“$Windows NT$”
类=端口
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
提供商=%MSFTUMDF%
目录文件=WUDF.cat
驱动程序版本=05/30/2016,19.7.52.160
[Manufacturer]
%MSFTUMDF%=微软、NTx86
[Microsoft.NTx86]
%VirtualSerialDeviceName%=VirtualSerial_Install、UMDF\VirtualSerial2um
[SourceDisksFiles]
Virtualserial2um.dll=1
[SourceDisksNames]
1 = %媒体描述%
; =================== UMDF 虚拟串行设备 ============================== ======
[VirtualSerial_Install.NT]
CopyFiles=UMDriverCopy
[VirtualSerial_Install.NT.hw]
AddReg=设置设备类型_AddReg
[VirtualSerial_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall
[VirtualSerial_Install.NT.Wdf]
UmdfService = VirtualSerial,VirtualSerial_Install
UmdfServiceOrder = 虚拟串行
UmdfKernelModeClientPolicy = 允许KernelModeClients
UmdfFileObjectPolicy = 允许NullAndUnknownFileObjects
UmdfFsContextUsePolicy = 无法使用FsContexts
[VirtualSerial_Install]
UmdfLibrary版本=2.15.0
ServiceBinary=%12%\UMDF\Virtualserial2um.dll
[WUDFRD_ServiceInstall]
显示名称 = %WudfRdDisplayName%
服务类型 = 1
开始类型 = 3
错误控制 = 1
ServiceBinary = %12%\WUDFRd.sys
[SetDeviceType_AddReg]
HKR,,设备类型,0x10001,0x0000001b ; 0x1b = 文件设备串行端口
[DestinationDirs]
UMDriverCopy=12,UMDF ; 复制到驱动程序\UMDF
[UMDriverCopy]
虚拟串口2um.dll
; =================== 通用================================ ====
[Strings]
MSFTUMDF=“示例”
MediaDescription=”Microsoft 示例驱动程序安装媒体”
WudfRdDisplayName=”Windows 驱动程序基础 – 用户模式驱动程序框架反射器”
VirtualSerialDeviceName=”Microsoft VirtualSerial 示例 (UMDF 2)”
我尝试过的:
1)我将 VirtualSerial2um.cer 文件 VirtualSerial2um.inf 从 Windows-driver-samples-master\serial\VirtualSerial2\ComPort\x64\Debug & devcon.exe 从 C:\Program Files\Windows Kits\10\Tools\x64 复制到目标设备的 C:\ 驱动器中的 Sample 文件夹。
2)然后在目标计算机上打开 Internet Explorer,转到“Internet 选项”->“内容”->“证书”->“导入”,然后选择 VirtualSerial2um.cer 文件并导入证书。
3)然后在目标计算机上,我以管理员身份打开命令提示符,浏览到示例文件夹并键入以下命令。
devcon 安装 virtualSerial2um.inf UMDF\Virtual_1
然后在命令提示符上显示:
已创建设备树条目
开发者大会失败。
在设备管理器中,在未知设备下出现 COMn(n 是 com 端口号),但是当我打开超级终端时,COMn 不会显示在 COM 端口的下拉列表中。
解决方案1
这是我如何让我的工作正常进行的。
0.cd到build文件夹
C:\Temp\VirtualSerial\ComPort\x64\Release\virtualserial>
1.首先使用devcon命令安装驱动,会失败。
Devcon 命令是
devcon install virtualserial.inf UMDF\VirtualSerial
2. 检查设备管理器,您将看到它显示为未知设备,或带有感叹号的COM#。
3. 右键单击它 -> 更新驱动程序 -> 浏览我的计算机以查找驱动程序软件 -> 让我从计算机上的可用驱动程序列表中进行选择
4.现在在我的机器上显示
Microsoft VirtualSerial User-Mode Device Sample
在它的下面,它显示
This driver is digitally signed
。
5. 现在,如果您单击从磁盘安装,并浏览到示例中的任何 virtualserial.inf 文件,它会更改为
This driver is not digitally signed
您不希望这样做,所以如果您这样做了,请取消并返回到步骤 3
6. 单击“下一步”,您应该会看到
Microsoft VirtualSerial User-Mode Device Sample (COM#)
在设备管理器的端口下。
请注意,您可以多次安装此驱动程序,每次都会为您提供不同的端口号
一些额外的调试步骤,供任何人阅读。
1. 如果您使用的是 x64 系统,请确保您正在构建 x64。 我让调试和发布都可以工作
2. 确保您正在从 Release 或 Debug 文件夹内的 virtualserial 文件夹运行 devcon。 因为该文件夹包含 WudfUpdate_01011.dll 文件
3. 如果您无法显示该驱动程序已进行数字签名,请从此处获取 Digicert 实用程序: https://www.digicert.com/util/DigiCertUtil.exe 您可能会看到 Internet Explorer 安装方法旁边有一个感叹号。 右键单击它,digicert 将描述问题并提供解决方案。 或者,您也可以使用 digiert 从相应的 Release 文件夹导入 virtualserial.cer 文件。
4.最后,检查devcon日志,它们位于:
C:\Windows\INF\setupapi.dev.log
您正在寻找 WHQL 签名。
5.最后,尝试构建和安装项目而不首先对其进行任何修改,我们当然正在谈论这个项目 Windows-driver-samples/serial/VirtualSerial at master · Microsoft/Windows-driver-samples · GitHub[^]
感谢您提供的信息。 您应该将其变成您问题的指导页面。
[ad_2]
コメント