|
|
|
|
|
|
|
Windows内核调试
帖子发起人: jlflyfox 发起时间: 2010-04-07 12:58 下午 回复: 5
|
帖子排序:
|
|
|
|
2010-04-07, 13:22 下午
|
王宇
注册: 2007-05-08
发 贴: 306
|
Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
我上次只跟踪到 setupapi!SetupDiSetDeviceInstallParams、setupapi!SetupDiBuildDriverInfoList 等就没往后跟了,我当时是从 netcfgx!CImplINetCfg::SelectWithFilterAndInstall 开始的。解决问题的一个捷径是开个 Procmon,看安装流程 ( 直到出现黄色惊叹号 ) 的栈回溯信息等。
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-04-07, 15:49 下午
|
jlflyfox
注册: 2008-10-28
发 贴: 65
|
Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
谢谢,
另外,我在setupapi.log里面看到有“#E154 类别安装程式失败。 错误 2系统找不到指定文件”,我比较气愤为什么这个log不把哪个指定文件给提示出来
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-04-07, 22:22 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-04-08, 10:30 上午
|
jlflyfox
注册: 2008-10-28
发 贴: 65
|
Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-04-08, 13:37 下午
|
王宇
注册: 2007-05-08
发 贴: 306
|
Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
这个注册表键值是这里读取的:netcfgx!HrCiSelectComponent()
该函数内部有一个 HrLoadNetworkConfigurationFromRegistry(),伪代码片段如下:
v4 = HrLoadNetworkConfigurationFromRegistry(0x20019u, &Data);
------------------------------------------------------------------------------
__stdcall HrLoadNetworkConfigurationFromRegistry(int a1, LPVOID lpData) { int v2; int v4; HKEY Type; LPVOID lpMem;
v2 = HrOpenNetworkKey(0x20019u, &Type); if ( !v2 ) { if ( HrRegQueryTypeWithAlloc(Type, (LPVOID)L"Config", 3, (int)&lpMem, (int)&v4) ) ......
其中 HrOpenNetworkKey() 就是打开 "System\\CurrentControlSet\\Control\\Network",如下:
int __stdcall HrOpenNetworkKey(REGSAM samDesired, PHKEY phkResult) { return HrRegOpenKeyEx(HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Control\\Network", samDesired, phkResult); }
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
高端调试 » 软件调试 » Windows内核调试 » Re: 张老师或者哪位高手,请问该如何调试系统安装或者加载某个硬件
|
|
|
|
|
|