您好!
我正在使用 TI-RTOS USB 串行 DFU 项目随附的无符号 USB 驱动程序、请参阅以下代码。
文件枚举了两个器件、一个运行时 USB DFU 器件和一个 CDC 串行器件。
我已经尝试找出驱动程序是在内核模式还是用户模式下运行。
如果我没有记错、当使用.sys 文件时(例如 Winusb.sys 和 usbser.sys)、它们以内核模式运行。
另一方面、驱动程序说明显示
[...] 因此、该文件所做的就是确保安装 DFU 驱动程序和 WinUSB 子系统、以支持从 DFU 运行时模式切换到"实际" DFU 模式、从而为下载和上传操作做好准备。
由于我需要购买一个证书才能签署 Windows 10的驱动程序、我需要知道我是否需要购买扩展验证证书(内核和用户模式)、或者只需要一个常规证书(仅用户模式)即可。
我尝试在 Windows 硬件开发中心找到答案 、但这让我很困惑。
是否有人可以专门或更好地帮助我解决这些驱动程序、如何在只有.inf 文件可用时识别驱动程序是否在内核或用户模式下运行? 我们不胜感激。
完整的未修改驱动程序文件供参考:
;---------------------------------------------------------------- ; ; TivaWare USB DFU 运行时设备驱动程序安装程序 ; ;此 INF 文件支持的复合设备包含一个带有的 HID 鼠标 ;一个设备固件升级运行时接口(基本而言,只是一个存根 ;告诉主机设备支持 DFU)。 由于 HID 受支持 ;Windows 本身就支持,因此此处不需要 HID 特定部分。 因此,该文件所做的就是确保 安装 DFU 驱动程序和 WinUSB 子系统;以支持从 DFU 运行时模式切换到“实际”DFU ;模式,为下载和上载操作做好准备。 ; ;此设备在接口1上提供 DFU,并在 ;运行时模式下发布 PID 0x0A。 当它被切换至 DFU 模式(由 BOOT_USB ;引导加载程序实现)时、器件会重新枚举并发布 PID 0xFF。 此 ;在 Windows 中被视为不同的设备,需要第二个 INF 文件 来支持它。 此 INF 文件是 boot_usb.inf,它安装的 文件与此文件完全相同。 ;;-------------- ------------------------------------------------ ;注:当您为自己的设备自定义此 INF 时,请创建一个新的类 ;名称(Class)和一个新的 GUID (ClassGuid)。 可以使用 Windows Visual Studio 或 Windows SDK 中的; guidgen 工具创建 GUID。 [版本] 签名="$Windows NT$" 类= USBLibDFURuntimeDeviceClass ClassGuid={0D42186B-31A8-4800-B875-1A5525A407B9} 提供程序=%MFGNAME% DriverVerVerVer=12/15/2015.21.71 ;=== 制造商/模型部分=========== [制造商] %MFGNAME%=USBLibDFUDevice_WinUSB、NTx86、NTamd64 ;注:将以下两个部分中的 VID 和 PID 替换为 ;器件的正确值。 [USBLibDFUDevice_WinUSB.NTx86] %description%=DFU_Install、USB\VID_1CBE&PID_0102&MI_02 [USBLibDFUDevice_WinUSB.NTamd64] %description%=DFU_Install、USB\VID_1CBE&PID_0102&MI_02 ;================================== 安装=========================== [ClassInstall32] AddRe=AddReg 类安装 [AddReg 类安装] HKR、、、、"%DeviceClassDisplayName%" HKR、图标、-1 [DFU_Install.NTx86] include=winusb.in winusb.in winusb.inf need=WINUSB.NT CopyFiles=System32\DisplayServiceFiles [DFU_Install.NT64] Includ=winusb.in 、AddU=Win0X64=WinServiceFiles=WinService_W64=WCD2=WinName=Win0X64_WCD_W0X64]\WCD=WinServiceFiles=WinName=WinName=WinService_W64_WCD2=WinName=WinService_W64_W0X64_WCD=W0X64_WCD=W0X64_WCD=W0X64_WCD_W0X64_WCD=WinServiceFiles=WinName=WinService_W0XT.W0XT.W64_W =%WinUSB_SvcDesc% ServiceType = 1 StartType = 3 GUID Control = 1 ServiceBinary =%12%\WinUSB.sys [DFU_Install.NTX8.WDF] KmdfService=WINUSB、WinDFU_Install [DFU_Install.NTamd64.WDF] KmdfService=ErrorWINUSB、WinDFU_Install [WinDFU_Install] KNTfLibraryReg [DFU=Addamd64.WDFU]安装 下列设备:[ADDF.Flash =ErrorS=ErrorS=Addrg_U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg.U=Addrg=Addrg.U= 如果您希望您的设备为 ;可通过这些工具访问,请不要更改它。 [DEV_AddReg ] HKR、DeviceInterfaceGUID、0x10000、"{D17C772B-AF45-4041-9979-AFE96BF6398}" [DFU_Install.NTx86.Coinstallers] AddReg =Codes_Installations_CopyReg Files=32、 NTamddllf1.000dll_Installerlib_DPWM064_DPWM064_DPWM0961.dll\F 、DPMUSMUSCLA 安装程序文件[DPWM064_DPWM064_DPWM0961.dll\F、DPWM064_DPMUSCL\F 安装程序安装程序安装程序、DPWM064_DP064_DPMUSTRF、DPMUSMUSTRF 安装程序文件[DPMUSCL_DPMUSCL_DP0961.DPMUSCL_DP064_A、DPMUSCL064_DP064_DPMUSTRF、DPMUSTRF、DPMUSMUSMUS\F、DPMUSCL0961.DPMUS\F 安装程序安装程序安装程序 源媒体部分================================= [SourceDisksNames ] 1 =%disk_name%、、、\i386 2 =%disk_name%、、、\mdAMD64 [SourceDisksFiles.x86] WinUSBCoInstaller2.dll=1 WdfCoInstallerInstall9.md=1 lmusbdll=1 lmusbdll=1 lmusbfu.dll=1.dllfu=1.md2 = lfu=lfu=1.md2 = lfu=ld64=lfu.dlfu=1.dlfu=1.dlf1.dlf=lf=1.dlf=1.dlf1.dlib= lf1.dlf1.dlf=d64=ld=ldf1.dlf1.dlf1.dlf=ld=ld=ld=ldf1.md2 字符串================================ ;注:请根据需要更换这些设备以描述您的设备。 [字符串] MFGNAME="Texas Instruments Inc." Description="TivaWare 器件固件升级(运行时模式)" WinUSB_SvcDesc="WinUSB" disk_name="TivaWare 安装磁盘" DeviceClassDisplayName="TivaWare 器件固件升级(运行时模式)"
;
; TivaWare USB CDC (串行)驱动程序安装文件。
;
[Version]
Signature ="$Windows NT$"
ClassGuid=
{4D36E978-E325-11CE-BFC1-08002BE10318}
Provider =%MFGNAME%
LayoutFile= layout.inf
DriverVerVerVerID=12/14/2015.1.1.71
[制造商]
%MFGNAME%%
安装驱动
mdmcpq.in
程序 UCD064\NDP0\NDP064\NDP0\DP\VR_DP064\N0DP0\DP\VR_DP064\DP099\DP\DP\DP\DPOR_DPOR.DP099\DP\DPOR_DPOR_DP064\DPOR.DP\DP\DP\W032\DP\DP\DP\DP\DP\DPOR_DPOR_DPOR_DPOR_DPOR.DP\N 1
="Texas Instruments、Inc."
描述="具有 DFU 的 TivaWare USB 串行端口"
服务 ="TivaWare USB CDC 串行端口"