阅读:1796回复:6
请问在驱动程序中如何删除设备(80分求救)
我在驱动程序中获得了一个设备对象的指针,我想删除设备,但是往这个设备发送IRP_MN_QUERY_REMOVE_DEVICE和IRP_MN_REMOVE_DEVICE
的话,立即死机,如果发送IRP_MN_QUERY_STOP_DEVICE和 IRP_MN_STOP_DEVICE的话,CPU占用率会变为100%,请问高手删除设备的标准过程是什么。(这个设备是Windows中任意一个,不是我自己创建的) |
|
|
沙发#
发布于:2005-06-14 10:49
这个设备是Windows中任意一个,不是我自己创建的 目前不能实现,没有完全安全的方法 |
|
|
板凳#
发布于:2005-06-14 11:30
并不一定要删除,能让他不能使用也行
刚才忘了说了,这是一个ADSL猫,用的USB口,在设备管理器中显示两个设备,一个USB设备,一个网络设备.网络设备是USB设备的字设备,我现在有USB设备的对象指针,请问怎么才能获得USB设备子设备的指针阿???? |
|
|
地板#
发布于:2005-06-15 09:17
可通过IoGetDeviceObjectPointer得到
还有发送IRP使用异步方式看看是否OK |
|
|
驱动老牛
![]() |
地下室#
发布于:2005-06-15 16:28
我在驱动程序中获得了一个设备对象的指针,我想删除设备,但是往这个设备发送IRP_MN_QUERY_REMOVE_DEVICE和IRP_MN_REMOVE_DEVICE 有些设备是通过总线控制删除的,本身并不提供删除。可以通过它的总线入手。 |
|
5楼#
发布于:2005-07-13 23:27
谁有这方面的代码,可以交流或交换
|
|
|
6楼#
发布于:2005-07-16 14:42
笨蛋!Using DDK examples of WDM.Set a global variable to record a device dispatched procedure in kernel mode debug.And then you will know how to remove one device from system.
|
|