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

回复