volvoo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2006-05-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2714回复:10

用什么函数可以 扫描硬件改动,弹出 发现新硬件向导

楼主#
更多 发布于:2003-06-17 10:02
我现在要做的是热插拔,硬件已经支持了是CPCI总线,wdm驱动也作了,就是用户在系统运行期间插拔板卡,驱动怎么侦测到新硬件到达
,我在pnp例程里面发现,运行期间插拔板卡总线驱动没有发送irp给
我的功能驱动程序,只有手工扫描硬件才可以发现,或者注销一下,操作系统是w2k,

各位大虾,帮帮忙了,看看我的思路对不对,如何解决
我想编写一个上层监控程序,检测到板卡插入,拔出后,动态加载和卸载驱动,这样我手工实现后保证驱动正常工作,但是如何编程实现呢?
用UpdateDriverForPlugAndPlayDevices总是失败
用什么函数可以 扫描硬件改动,弹出 发现新硬件向导

最新喜欢:

sunmaculasunmac...
bjlg
驱动牛犊
驱动牛犊
  • 注册日期2002-08-05
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望7点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-17 12:13
关注
davidwong
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2010-02-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望26点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-17 15:42
处理一下相应的消息
[img]http://www.danasoft.com/vipersig.jpg[/img] [img]http://www.cmecl.net/gif/4.gif[/img][img]http://www.cmecl.net/gif/4.gif[/img][img]http://www.cmecl.net/gif/4.gif[/img]
volvoo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2006-05-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-18 09:20
等于没有回答
根本没有消息
会吗
CX利刃
驱动小牛
驱动小牛
  • 注册日期2001-11-21
  • 最后登录2003-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-18 11:53
好像WDM本身就可以枚举硬件,但是需要总线级别驱动程序和它通信,其他的小弟是菜鸟,不可乱说,呵呵,至于怎样使总线驱动枚举俺是不知道,希望别说俺废话,呵呵 :D
volvoo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2006-05-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-18 12:14
谢谢

setupdiXX函数就可以枚举驱动和设备信息
调用
  SetupDiCallClassInstaller(DIF_REMOVE,。。后驱动就卸载了

怎么加载呢?郁闷,

总线也不发送irp给设备栈,不能自动感知新硬件的到达
volvoo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2006-05-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-19 11:35
郁闷的日子终于过去了

终于找到了解决方法

也许对大家有用,一起研究学习吧
在newdev.dll中倒出下面的函数
The InstallNewDevice function installs a new device. The user is prompted to select the device.

BOOL InstallNewDevice(
HWND hwndParent,
LPGUID ClassGuid,
PDWORD pReboot
);
系统就谈出了扫描硬件的对话框,如果全部扫描ClassGuid就用
NULL,如果作成全自动的就好了,我的PCI板卡就可以做到完全不用
人工介入的热插拔了,有好的建议请发贴子阿
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-11-03 23:03
那么谁来调用BOOL InstallNewDevice(),不会是在应用程序在调用吧,如果是这样,那还需要运行一个应用程序。
另外newdev.dll这个动态链接库在那里?
有了驱动,人才有了力量。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-03 23:10
能不能不运行应用程序就可以实现热插拔,像usb一样?
有了驱动,人才有了力量。
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
9楼#
发布于:2003-11-04 01:38
newdev.dll在system32下 !
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-11-04 09:47
newdev.dll在system32下 !

newdev.dll能不能实现板子拔出前或拔出后的资源释放?有没有类似的函数?
有了驱动,人才有了力量。
游客

返回顶部