阅读:2714回复:10
用什么函数可以 扫描硬件改动,弹出 发现新硬件向导
我现在要做的是热插拔,硬件已经支持了是CPCI总线,wdm驱动也作了,就是用户在系统运行期间插拔板卡,驱动怎么侦测到新硬件到达
,我在pnp例程里面发现,运行期间插拔板卡总线驱动没有发送irp给 我的功能驱动程序,只有手工扫描硬件才可以发现,或者注销一下,操作系统是w2k, 各位大虾,帮帮忙了,看看我的思路对不对,如何解决 我想编写一个上层监控程序,检测到板卡插入,拔出后,动态加载和卸载驱动,这样我手工实现后保证驱动正常工作,但是如何编程实现呢? 用UpdateDriverForPlugAndPlayDevices总是失败 用什么函数可以 扫描硬件改动,弹出 发现新硬件向导 |
|
最新喜欢:sunmac... |
沙发#
发布于:2003-06-17 12:13
关注
|
|
板凳#
发布于:2003-06-17 15:42
处理一下相应的消息
|
|
|
地板#
发布于:2003-06-18 09:20
等于没有回答
根本没有消息 会吗 |
|
地下室#
发布于:2003-06-18 11:53
好像WDM本身就可以枚举硬件,但是需要总线级别驱动程序和它通信,其他的小弟是菜鸟,不可乱说,呵呵,至于怎样使总线驱动枚举俺是不知道,希望别说俺废话,呵呵 :D
|
|
5楼#
发布于:2003-06-18 12:14
谢谢
setupdiXX函数就可以枚举驱动和设备信息 调用 SetupDiCallClassInstaller(DIF_REMOVE,。。后驱动就卸载了 怎么加载呢?郁闷, 总线也不发送irp给设备栈,不能自动感知新硬件的到达 |
|
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板卡就可以做到完全不用 人工介入的热插拔了,有好的建议请发贴子阿 |
|
7楼#
发布于:2003-11-03 23:03
那么谁来调用BOOL InstallNewDevice(),不会是在应用程序在调用吧,如果是这样,那还需要运行一个应用程序。
另外newdev.dll这个动态链接库在那里? |
|
|
8楼#
发布于:2003-11-03 23:10
能不能不运行应用程序就可以实现热插拔,像usb一样?
|
|
|
9楼#
发布于:2003-11-04 01:38
newdev.dll在system32下 !
|
|
10楼#
发布于:2003-11-04 09:47
newdev.dll在system32下 ! newdev.dll能不能实现板子拔出前或拔出后的资源释放?有没有类似的函数? |
|
|