layered FSD definition

I am trying to get a psuedo definition of the layered fsd approach clarified. I need to use this approach I believed and understand it to already be painfully complex. Therefore I have two direct questions:

  1. Is a layered fsd essetially mixing a filter with a full fsd?

  2. Does fltmgr do anything to the DRIVER_OBJECT upon registration that will prevent any DISK or FS devices I create from behaving inapproriately?

Thanks in advance.

> 1. Is a layered fsd essentially mixing a filter with a full fsd?

Essentially, yes. You couild view it either as combining the complexity of
an FSD (all those APIs to fill out) with the complexity of an FSFD (the
“lower edge” is the filesystem api) or as combining the power (you control
everything) and ease (becasue you control everything) of both. I tend to
the latter, but ocaasionally I curse at the former…

  1. Does fltmgr do anything to the DRIVER_OBJECT upon registration that
    will prevent
    any DISK or FS devices I create from behaving inapproriately?

I’ve never spotted any problems with FS devices. I usually put DISK devices
in a different driver (just so I don’t go crazy in my device dispatch).

You can also get a fair way (but not all) the way down the pike by
implementing /consuming the minifilter API (sort of like a shadow file
object driver on steroids). Your requirements will drive your architecture.

Rod


Rod Widdowson
Consulting Partner
Steading System Software LLP
+44 1368 850217 +1 508 915 4790