sufeng
驱动牛犊
驱动牛犊
  • 注册日期2002-04-27
  • 最后登录2004-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1117回复:1

过滤驱动的unload篮屏了

楼主#
更多 发布于:2002-12-25 11:15
我写了一个键盘过滤驱动程序,但是我每次unload都出错,ft.
我想可能我在unload时没有恢复键盘设备链造成的,各位认为应该如何改。

是否可以提供一个过滤驱动(有DriverEntry,Unload即可)的demo?多谢了。

PDEVICE_OBJECT devObj;
PDEVICE_OBJECT kbdDev;
DriverEntry(..)
{
   ...
 IoCreateDevice(drv,.....&devObj);//创建我的设备
   ...
 IoCreateSymbolicLink(...);
 IoAttachDevice(devObj,&ntUnicodeString, &kbdDev);//挂接
 ....
}

xxxUnload(IN PDRIVER_OBJECT drv)//----unload马上篮屏
{
   IoDetachDevice(kdbDevice);
   IoDeleteSymbolicLink(..);
   IoDeleteDevice(drv->DeviceObject);
}
hnsyz
驱动牛犊
驱动牛犊
  • 注册日期2001-12-31
  • 最后登录2010-04-20
  • 粉丝1
  • 关注0
  • 积分108分
  • 威望259点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-26 21:08
我到这里到没死机.
IoDeleteDevice(drv->DeviceObject);
删除的设备对象是你自己创建的哪个吗?
学习,交流
游客

返回顶部