你是对的。我只看了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] -~----------~----~----~----~------~----~------~--~---

