SetupCopyOEMInf出错
LPCWSTR result,result2,result3;
wstring strLog;
int lastError = 0;
TCHAR szPath[MAX_PATH];
TCHAR szPath2[MAX_PATH];
TCHAR szPath3[MAX_PATH];
//安装inf文件
GetModuleFileName(NULL,szPath,sizeof(szPath)); //取得当前路径
*(_tcsrchr(szPath, '\\')) = '\0';
std::wstring strTemp(szPath);
strTemp += _T("\\slabvcp.inf");
mciSendString(strTemp.c_str(), NULL, 0, 0);
result = strTemp.c_str();
printf("V1.0 Set up the usb driver......\r\n");
if(!SetupCopyOEMInf(result, //文件路径及名字一定要用绝对地址模式.
NULL,
SPOST_PATH,
SP_COPY_NEWER_OR_SAME,
NULL,
0,
NULL,
NULL))
{
int lastError = 0;
lastError = GetLastError();
if(GetLastError() == ERROR_FILE_EXISTS)
printf("This driver is exit\r\n");
else
printf("Set up driver fail! ErrorCode = %d \r\n", lastError);
return FALSE;
}
....
现在在xp. win7上运行安装都OK,但是win8上就不行ErrorCode = 5,我的驱动中也有cat数字签名文件,如果手动安装指向我的inf.cat.sys文件安装就OK. 请问这是怎么回事, 下面是inf文件
;/*++
;
;Module Name:
;
; SLABVCP.INF
;
; Copyright 2012, Silicon Laboratories
;
;Abstract:
; Installation INF for Silicon Laboratories CP210x device using KDMF Version 1.9
;
;--*/
[Version]
Signature="$WINDOWS NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
DriverVer=10/18/2013,6.6.1.0
CatalogFile=slabvcp.cat
; ================= Device section =====================
[Manufacturer]
%MfgName%=SiLabs, NTamd64
[SiLabs]
%USB\VID_10C4&PID_EA60.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA60
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA70&Mi_00
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA70&Mi_01
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_00
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_01
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_02
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_03
[SiLabs.NTamd64]
%USB\VID_10C4&PID_EA60.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA60
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA70&Mi_00
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA70&Mi_01
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_00
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_01
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_02
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA71&Mi_03
[silabser.Dev.NT]
Include=msports.inf
AddReg=silabser.AddReg,silabser.NT.AddReg
CopyFiles=silabser.Files.Ext
[silabser.Dev.NT.Services]
Include=msports.inf
Addservice = silabenm,,silabenm.AddService
Addservice = silabser,0x00000002,silabser.AddService
[silabser.AddService]
DisplayName = %silabser.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\silabser.sys
LoadOrderGroup = Extended Base
[silabenm.AddService]
DisplayName = %silabenm.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\silabenm.sys
LoadOrderGroup = PNP Filter
; common registry entries
[silabser.AddReg]
HKR,,NTMPDriver,,silabser.sys
HKR,,RateLimitPurgeMS, 0x10001, 0x64, 0x00, 0x00, 0x00
HKR,,OverrideDefaultPortSettings, 0x10001, 01,00,00,00
HKR,,InitialBaudRate, 0x10001, 00,C2,01,00 ;115200 initial baud rate
HKR,,InitialLineControl,, "8N1" ;8-bits, No parity, 1 stop bit
[silabser.NT.AddReg]
HKR,,PortSubClass,1,01
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[silabser.Dev.NT.HW]
AddReg=silabser.Dev.NT.HW.AddReg
[silabser.Dev.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010008,"silabenm"
HKR,,"SelectiveSuspendTimeout",0x00010001,10000
[silabser.Files.Ext]
silabser.sys
silabenm.sys
[SourceDisksNames.x86]
1=%Disk_Description%,"silabser.sys",,\x86
[SourceDisksNames.amd64]
1=%Disk_Description%,"silabser.sys",,\x64
[SourceDisksFiles]
silabser.sys = 1
silabenm.sys = 1
[DestinationDirs]
Silabser.Files.Ext = 12
;-------------- WDF Coinstaller installation
[DestinationDirs]
CoInstaller_CopyFiles = 11
[silabser.Dev.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles
[CoInstaller_CopyFiles]
WdfCoinstaller01009.dll
[SourceDisksFiles]
WdfCoinstaller01009.dll=1
[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoinstaller01009.dll,WdfCoInstaller"
[silabser.Dev.NT.Wdf]
KmdfService = silabser, silabser_wdfsect
[silabser_wdfsect]
KmdfLibraryVersion = 1.9
;---------------------------------------------------------------;
[Strings]
Provider="Silicon Laboratories"
MfgName="Silicon Laboratories"
Disk_Description="Silicon Labs USB to UART Bridge Installation Disk"
USB\VID_10C4&PID_EA60.DeviceDesc="Silicon Labs CP210x USB to UART Bridge"
USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc="Silicon Labs Dual CP210x USB to UART Bridge: Enhanced COM Port"
USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc="Silicon Labs Dual CP210x USB to UART Bridge: Standard COM Port"
USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc="Silicon Labs Quad CP210x USB to UART Bridge: Interface 0"
USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc="Silicon Labs Quad CP210x USB to UART Bridge: Interface 1"
USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc="Silicon Labs Quad CP210x USB to UART Bridge: Interface 2"
USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc="Silicon Labs Quad CP210x USB to UART Bridge: Interface 3"
silabser.SvcDesc="Silicon Labs CP210x USB to UART Bridge Driver"
silabenm.SvcDesc="Silicon Labs CP210x USB to UART Bridge Serial Port Enumerator Driver"
PortsClassName = "Ports (COM & LPT)"
相关推荐
产业园区运营负责人如何提升园区内企业技术需求的响应效率?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
产业园区运营负责人如何精准对接企业技术需求与科研资源?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
职业技能竞赛技术文件 评分采用主观评价与客观测量相结合的方式,并依据特定优先级处理成绩并列情况
; 阅读建议:此资源以开发简化版Spring学习其原理和内核,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。
基于https://github.com/can1357/oh-my-pi 实现 rpc agent
基于https://github.com/can1357/oh-my-pi 实现 rpc agent
TFGEN network testing tool
源码链接: https://pan.quark.cn/s/3010d7c65ee5 TFGEN网络测试工具是一种功能强大的流量生成解决方案,主要用于对网络性能及稳定性进行评估。该工具能够支持单一节点通信、多节点组播以及广播式数据传输的生成,为网络管理员和开发人员提供了一种有效验证网络设备与协议处理效能的途径。 在详细探讨TFGEN之前,有必要先明确网络测试的定义。网络测试是指对网络性能、可靠程度及安全防护能力进行系统性评估的过程,其目的是确保网络设施能够正常运行,满足用户使用要求,并在问题发生时进行故障诊断。TFGEN在网络测试领域的应用主要是通过模拟多种类型的网络流量,用以检测网络在不同负载条件下的运行状态。 TFGEN的核心功能包含以下方面: 1. **流量模拟**:TFGEN能够生成具有可调整参数的网络流量,如数据包尺寸、传输速率、协议种类等,用以模拟现实环境中的网络活动。这对于检验网络设备的带宽分配、拥塞管理以及服务质量策略的执行效果具有关键意义。 2. **多模式流量支持**:TFGEN兼容单一节点、多节点组播和广播这三种流量模式,使其能够适应多样化的应用场景。单一节点通信适用于点对点的数据交换,组播机制适合高效的一对多数据传输,而广播通常用于局域网内的信息传播和故障定位。 3. **参数可调性**:用户可通过修改参数来设定测试环境,例如设定传输速率、数据包时间间隔、源地址与目标地址等,从而更精确地再现特定的网络状况。 4. **资料文档**:附带的`changelog`文件记录了TFGEN的版本迭代历史,用户可通过此了解软件的改进与新增特性;`tfgen.hlp`文件提供使用TFGEN的详细说明和操作指南;`install.txt`文档则包含了安...


硬件/系统
