jackiefzj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2024-03-01
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望135点
  • 贡献值0点
  • 好评度58点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1429回复:3

关于使用Services API启动WDM驱动

楼主#
更多 发布于:2008-07-10 02:18
请教个问题。
WDM驱动程序,如果使用Services API启动,驱动可以启动,但启动后立刻又被自动卸载掉了。可以理解,因为这时候驱动根本没有创建设备,自然无法保护运行。
于是我写了个过滤驱动,把WDM驱动与KMD驱动结合起来,在DriverEntry()中IoCreateDevice一个设备,并且又设置了AddDevice(),这样使用Services API可以启动该驱动了,即使PNP管理器没有调用AddDevice(),也可使驱动保护在运行状态。
目前问题是,在XP以上系统,这种做法没有问题,在Win2000下却如同WDM一样,启动驱动,又立刻被卸载。
有没有好的办法解决2000的这问题?
jackiefzj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2024-03-01
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望135点
  • 贡献值0点
  • 好评度58点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2008-07-11 18:32
各们帮忙想想办法。
PNP都是动态的加载启动WDM的Filter Driver。
我现在只是想让过滤驱动即使没有Attach到目标设备之前,也能保持运行状态。
并且也能接受Pnp Manager的AddDevice()
AlexSho
驱动牛犊
驱动牛犊
  • 注册日期2008-01-10
  • 最后登录2017-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望164点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2008-07-12 20:45
据我所知,PNP过滤驱动是在功能驱动之前就已经加载了,这样才能保证在设备工作之前的第一时间attach上去。也就是说PNP过滤驱动在attach设备之前肯定是可以也是必须可以保持运行的。

所以会我怀疑楼主的问题在别的地方,跟踪一下应该就搞定了。

楼主可以把驱动放在功能驱动之前启动试试。
jackiefzj
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2024-03-01
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望135点
  • 贡献值0点
  • 好评度58点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2008-07-12 21:38
我做的是一个U盘过滤驱动。在U盘插入之前,过滤驱动是不会被加载的。就像系统的USBSTOR.sys一样。
我现在想要的是,在U盘插入之前,就让我的过滤驱动保持在运行状态。
游客

返回顶部