因为我自己写了两个驱动,分别用这两个函数挂载上去,IoAttachDeviceToDeviceStack成功,IoAttachDevice蓝屏。跟了一下IoAttachDevice在ObDereferenceObject时会发送CLOSE消息,随后就…… ----- Original Message ----- From: "zzzEVAzzz" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Saturday, September 06, 2008 10:51 PM Subject: [Ph4nt0m] Re: 分层驱动和过滤驱动有什么区别?
> 你是对的。我只看了MSDN的解释,没查源代码,结果误解了。 > IoAttachDevice比IoAttachDeviceToDeviceStack多一个IoGetRelatedDeviceObject调用。其他就没差别了。 > 不知道你的问题本身"过滤驱动:IoAttachDevice 分层驱动:IoAttachDeviceToDeviceStack。"是从何说起的。 > 可能对于文件系统来说,通常说"过滤驱动",用的是IoAttachDevice,因为可以根据文件或卷的名字安装过滤驱动。而对一般而论的驱动框架,自然是IoAttachDeviceToDeviceStack咯。 > > 2008/9/1 better0332 <[EMAIL PROTECTED]>: >> 不是这样的吧,它们都加在设备栈最顶层,IoAttachDevice是一个老例程,它同样调用了IoAttachDeviceToDeviceStack,书上推荐用IoAttachDeviceToDeviceStack。它们除了参数不一样,但我感觉IoAttachDevice用的有问题,不知道怎么回事 >> ----- Original Message ----- >> From: "zzzEVAzzz" <[EMAIL PROTECTED]> >> To: <[email protected]> >> Sent: Sunday, August 31, 2008 10:31 PM >> Subject: [Ph4nt0m] Re: 分层驱动和过滤驱动有什么区别? >> >> >>> 直观的说,IoAttachDevice是加在指定设备对象上,IoAttachDeviceToDeviceStack是加在整个设备栈的最上面。区别就是位置不一样。 >>> >>> 2008/8/25 井底之蛙 <[EMAIL PROTECTED]>: >>>> 如题: >>>> 我知道 >>>> 过滤驱动:IoAttachDevice >>>> 分层驱动:IoAttachDeviceToDeviceStack >>>> 貌似没什么区别么? >>>> >>>> > >>>> >>> >>> > >>> >> > >> > > > > --~--~---------~--~----~------------~-------~--~----~ 要向邮件组发送邮件,请发到 [email protected] 要退订此邮件,请发邮件至 [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---

