事情是这样的,一个winform程序,一直是编译生成32位的,里面有SetupCopyOEMInf去安装inf驱动,
[DllImport("setupapi.dll", SetLastError = true)] private static extern bool SetupCopyOEMInf( string SourceInfFileName, string OEMSourceMediaLocation, OemSourceMediaType OEMSourceMediaType, OemCopyStyle CopyStyle, StringBuilder DestinationInfFileName, int DestinationInfFileNameSize, int RequiredSize, out string DestinationInfFileNameComponent );
在32位和64位的操作系统的PC上安装inf驱动都正常,没问题,所以猜测应该不是inf驱动的问题,我看inf文件里也有写32和64位的信息。
但是现在要把这个winform程序编译成64位的,在安装inf驱动的时候,到上面那行代码,直接就APPCRASH了:
程序APPCRASH信息:
问题签名:
问题事件名称: APPCRASH
应用程序名: test.exe
应用程序版本: 1.0.0.0
应用程序时间戳: 59926178
故障模块名称: StackHash_1c5d
故障模块版本: 6.1.7601.23807
故障模块时间戳: 5915fdce
异常代码: c0000374
异常偏移: 00000000000bf3e2
OS 版本: 6.1.7601.2.1.0.768.2
区域设置 ID: 2052
其他信息 1: 1c5d
其他信息 2: 1c5df0abd72bfc84a208ef4cb1a89796
其他信息 3: df3c
其他信息 4: df3c25a0c53b57d51feae3bc33094c0a
联机阅读隐私声明:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804
如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
C:\Windows\system32\zh-CN\erofflps.txt
windows日志:
错误应用程序名称: test.exe,版本: 1.0.0.0,时间戳: 0x59926178
错误模块名称: ntdll.dll,版本: 6.1.7601.23807,时间戳: 0x5915fdce
异常代码: 0xc0000374
错误偏移量: 0x00000000000bf3e2
错误进程 ID: 0x2b6c
错误应用程序启动时间: 0x01d315728fe44ef7
错误应用程序路径: D:\Workspace\test.exe
错误模块路径: C:\Windows\SYSTEM32\ntdll.dll
哪位大牛给看看是为啥,实在是没分了,就这么点分。