James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1713回复:15

救救命吧,各位大虾:98下WDM驱动程序的安装问题。给大分啊!

楼主#
更多 发布于:2002-04-23 12:17
我写了一个WDM驱动程序,想在98下自动安装。
我把sys文件拷贝到drivers目录下,inf文件拷贝
到inf目录下,然后修改注册表:

DisplayName:aaa
ErrorControl:1
Start: 3
Type:1
ImagePath:System32\\DRIVERS\\aaa.sys

重起,但是还是出现“发现新硬件\"的对话框。
我该怎么办?(手动安装正确),是否这样做是错误的呢?


一定救命啊?

[编辑 -  4/23/02 作者: jxm]
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
jansen
驱动小牛
驱动小牛
  • 注册日期2001-10-21
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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文件
rich
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-04-23 14:47
用户被禁言,该主题自动屏蔽!
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-23 16:27
自动安装,你需要将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文件
 



大虾,能否给个SetupAPI的例子?
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-23 18:44
在ddk下有例程,你可以看一下。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
jack_zhu
驱动牛犊
驱动牛犊
  • 注册日期2002-03-26
  • 最后登录2008-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-23 19:34
我也碰到这个问题?请各位大虾帮忙。
CX利刃
驱动小牛
驱动小牛
  • 注册日期2001-11-21
  • 最后登录2003-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-23 23:39
同上!!!
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-24 11:52
在ddk下有例程,你可以看一下。



在哪里?我怎么找不到?请大虾明示。
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-24 13:36
我不知道98ddk下是不是一样
2000ddk下的在
c:\\ntddk\\src\\general\\setup
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-25 09:53
还是没有解决问题。
SetupAPI好象不行啊?他只能修改注册表,但还是不能安装驱动啊?
有人能有解决方法吗?


车到山前没有路了!
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
skysky
驱动小牛
驱动小牛
  • 注册日期2001-07-18
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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;
}    


以德服人,以德服人
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-04-26 10:11
Dear skysky:

按照你的方法,在程序中联接98ddk\\cfgmgr32.lib失败,找不到CN_Locate_DevNodeA,这是这么回事?
相反在ntddk中就可以。

我是否作的不对?
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
jansen
驱动小牛
驱动小牛
  • 注册日期2001-10-21
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-04-30 08:49
这里有一片我下载的东东,如果你要EMAIL给你看看,不知是否有用!?
rich
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-04-30 14:01
这里有一片我下载的东东,如果你要EMAIL给你看看,不知是否有用!?  



太好了!
我的地址:ji.xiaomin@mail.zte.com.cn
非常感谢!
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
Gargamel
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-05-06 11:37
哪位能否在些写得明白一些?或者发点可参考的资料给我?

yufengxu@ict.ac.cn
skysky
驱动小牛
驱动小牛
  • 注册日期2001-07-18
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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.
以德服人,以德服人
游客

返回顶部