阅读:1713回复:15
救救命吧,各位大虾:98下WDM驱动程序的安装问题。给大分啊!
我写了一个WDM驱动程序,想在98下自动安装。
我把sys文件拷贝到drivers目录下,inf文件拷贝 到inf目录下,然后修改注册表: DisplayName:aaa ErrorControl:1 Start: 3 Type:1 ImagePath:System32\\DRIVERS\\aaa.sys 重起,但是还是出现“发现新硬件\"的对话框。 我该怎么办?(手动安装正确),是否这样做是错误的呢? 一定救命啊? [编辑 - 4/23/02 作者: jxm] |
|
|
沙发#
发布于:2002-04-23 13:13
自动安装,你需要将inf文件和aaa.sys做安装包windows提供了好多以setup打头的函数可以用来实现安装包,一般来说着莫做很麻烦需要编程,
手动安装,如果有硬件的话直接按照windows提示执行,否则需在设备管理器中添加other 类型的设备,安装驱动文件即可! DisplayName:aaa ErrorControl:1 Start: 3 Type:1 ImagePath:System32\\DRIVERS\\aaa.sys 这些内容都在inf文件里面的节中[section], 安装成功后,系统会自动在inf文件夹里面生成oem*.inf文件 |
|
|
板凳#
发布于:2002-04-23 14:47
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2002-04-23 16:27
自动安装,你需要将inf文件和aaa.sys做安装包windows提供了好多以setup打头的函数可以用来实现安装包,一般来说着莫做很麻烦需要编程, 大虾,能否给个SetupAPI的例子? |
|
|
地下室#
发布于:2002-04-23 18:44
在ddk下有例程,你可以看一下。
|
|
|
5楼#
发布于:2002-04-23 19:34
我也碰到这个问题?请各位大虾帮忙。
|
|
6楼#
发布于:2002-04-23 23:39
同上!!!
|
|
7楼#
发布于:2002-04-24 11:52
在ddk下有例程,你可以看一下。 在哪里?我怎么找不到?请大虾明示。 |
|
|
8楼#
发布于:2002-04-24 13:36
我不知道98ddk下是不是一样
2000ddk下的在 c:\\ntddk\\src\\general\\setup |
|
|
9楼#
发布于:2002-04-25 09:53
还是没有解决问题。
SetupAPI好象不行啊?他只能修改注册表,但还是不能安装驱动啊? 有人能有解决方法吗? 车到山前没有路了! |
|
|
10楼#
发布于:2002-04-25 11:15
On win98, many setupDixxx routines cannot work well. And in 98ddk there\'s no complete programmatically setup samples.
A useful method is: 1. First, add correct keys and valuse in registry What shall you do if you don\'t know which keys to add? Just setup your driver first with inf file in windows hardware setup wizard and record your driver\'s register key. Note: generally you should add keys under Enum and Service 2. if your dirver is wdm and support pnp, Call the funtino below to rescan system hardware. Maybe your driver can be loaded at that time. hehehe. If you are luck enough. BOOL ScanForHardwareChanges() { DEVINST devInst; CONFIGRET status; // // Get the root devnode. // status = CM_Locate_DevNode(&devInst, NULL, CM_LOCATE_DEVNODE_NORMAL); if (status != CR_SUCCESS) { printf(\"CM_Locate_DevNode failed: %x\\n\", status); return FALSE; } status = CM_Reenumerate_DevNode(devInst, 0); if (status != CR_SUCCESS) { printf(\"CM_Reenumerate_DevNode failed: %x\\n\", status)); return FALSE; } return TRUE; } |
|
|
11楼#
发布于:2002-04-26 10:11
Dear skysky:
按照你的方法,在程序中联接98ddk\\cfgmgr32.lib失败,找不到CN_Locate_DevNodeA,这是这么回事? 相反在ntddk中就可以。 我是否作的不对? |
|
|
12楼#
发布于:2002-04-30 08:49
这里有一片我下载的东东,如果你要EMAIL给你看看,不知是否有用!?
|
|
|
13楼#
发布于:2002-04-30 14:01
这里有一片我下载的东东,如果你要EMAIL给你看看,不知是否有用!? 太好了! 我的地址:ji.xiaomin@mail.zte.com.cn 非常感谢! |
|
|
14楼#
发布于:2002-05-06 11:37
哪位能否在些写得明白一些?或者发点可参考的资料给我?
yufengxu@ict.ac.cn |
|
15楼#
发布于:2002-05-09 18:11
you can link cfgmgr32.lib of NTDDK. No problem!
You\'d better refer to MSDN and DDK help. There\'re good examples in them. |
|
|