Sorry I must step in here to clarify before people get confused. A bus FDO
filter driver is just a filter driver that happens to be installed over a
bus FDO versus a regular functional FDO. There is no real mechanical
difference besides that.
A bus filter driver is a driver that filters both the bus FDO AND the bus’s
child PDOs.
A normal filter driver can be either an upper filter or a lower filter as
so:
Seperate cases here:
********** **********
* Upper * * FDO *
* Filter * * *
********** **********
| |
********** **********
* FDO * * Lower *
* * * Filter *
********** **********
| |
********** **********
* PDO * * PDO *
* * * *
********** **********
This is the case whether it is filtering a bus FDO or any FDO.
A bus filter driver on the other hand looks something like this:
All one instance here:
**********
* child *
* FDO *
**********
|
********** *************
* Upper *—* Bus *
* Filter * * Filter DO *
********** *************
| |
********** **********
* Bus *—* Child *
* FDO * * PDO *
********** **********
|
**********
* PDO *
* *
**********
Where the bus filter DO is created by the bus FDO upper filter driver. One
filter DO is created by the upper filter driver for each PDO created by the
bus FDO driver. Hope this clarifies, and I hope my spacing remains in tact
here.
Bill McKenzie
Software Engineer
bSquare Corporation
On 09/12d/01, “Sergey Kipnis ” wrote:
> Hello Dennis,
>
> Wednesday, September 12, 2001, 7:44:09 AM, you wrote:
>
> Thank you everything is absolutely clear. The only question( for my
> confidence) I have is
> “Why does NT DDK mean that there is only ‘bus filter driver’?”
>
> May I treat this term, ‘bus filter driver’, as either ‘bus FDO lower
> filter’ or ‘bus FDO upper filter’? And when somebody is speking about
> ‘bus lower filter’ I have to understand that in fact it is ‘bus FDO lower
> filter’?
>
> DSD> That’s right there two bus driver filter types.
> DSD> First of them is lower and its located between bus driver FDO and bus driver
> DSD> PDO (don’t confuse with bus driver child PDOs),
> DSD> second is upper and its located above bus driver FDO.
> DSD> So the device stack look like this:
> DSD> Upper Filter
> DSD> |
> DSD> Bus Driver FDO - created by bus driver into AddDevice routine
> DSD> |
> DSD> Lower Filter
> DSD> |
> DSD> Bus Driver PDO - typically created by driver that enumerates devices located
> DSD> on the corresponding bus
>
> DSD> Regards,
> DSD> Dennis.
>
> DSD> ----- Original Message -----
> DSD> From: “Sergey Kipnis”
> DSD> To: “NT Developers Interest List”
> DSD> Sent: Tuesday, September 11, 2001 7:17 PM
> DSD> Subject: [ntdev] Re: Bus filter driver example
>
>
> >> Hello Dennis,
> >>
> >> Tuesday, September 11, 2001, 3:54:07 PM, you wrote:
> >>
> >> I’m not sure that this is bus filter driver example, at least
> >> 1. in NT DDK help I had found only one type of bus filter driver
> >>
> >> bus filter driver
> >> |
> >> |
> >> v
> >> bus driver
> >> I can see in the example two drivers BfdoLwr and BfdoUpr
> >>
> >> 2. BfdoLwr and BfdoUpr are named as bus FDO filters. Does it matter?
> >>
> >>
> >>
> >>
> >> DSD> Look at Toaster example into DDK.
> >>
> >> DSD> Regards,
> >> DSD> Dennis.
> >>
> >> DSD> ----- Original Message -----
> >> DSD> From: “Sergey Kipnis”
> >> DSD> To: “NT Developers Interest List”
> >> DSD> Sent: Tuesday, September 11, 2001 5:48 PM
> >> DSD> Subject: [ntdev] Bus filter driver example
> >>
> >>
> >> >> Hi!
> >> >>
> >> >> I’m seeking good example of bus filter driver.
> >> >> Does anybody know how to write such kind of driver?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Sergey.
> >> >>
> >> >>
> >> >>
> >> >> —
> >> >> You are currently subscribed to ntdev as: xxxxx@acronis.com
> >> >> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >> >>
> >>
> >>
> >>
> >> –
> >> Best regards,
> >> Sergey mailto:kipnis@wp.pl
> >>
> >>
> >>
> >> —
> >> You are currently subscribed to ntdev as: xxxxx@acronis.com
> >> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >>
>
>
> DSD> —
> DSD> You are currently subscribed to ntdev as: kipnis@wp.pl
> DSD> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>
>
>
> –
> Best regards,
> Sergey mailto:kipnis@wp.pl
>
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com