KMDF question

Hello,

I have seen people commenting that a volume upper filter can be written in
KMDF successfully. Is it possible to provide all functionality which a
legacy volume filter driver provides through KMDF? Are there any known
issues and shortcomings of KMDF in this parse. This vol filter should be
boot start, would the KMDF frame work be up so soon in the boot process to
load the driver?

thanks

  • amitr0

You can write the volume filter in KMDF w/out issue. The framework will also be made boot start if the INF installing your driver also marks your service as boot start (the coinstaller does the fix up)

d

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of amitr0
Sent: Friday, April 23, 2010 8:14 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] KMDF question

Hello,

I have seen people commenting that a volume upper filter can be written in KMDF successfully. Is it possible to provide all functionality which a legacy volume filter driver provides through KMDF? Are there any known issues and shortcomings of KMDF in this parse. This vol filter should be boot start, would the KMDF frame work be up so soon in the boot process to load the driver?

thanks

thanks for clarifying doron. so with kmdf based volume filters, can
they be loaded and unloaded without reboots? as they r not part of
the main io stack, i would assume this to be possible?

also, to craft such a volume filter driver which ddk sample should be
best to follow?

amit

On 4/23/10, Doron Holan wrote:
> You can write the volume filter in KMDF w/out issue. The framework will
> also be made boot start if the INF installing your driver also marks your
> service as boot start (the coinstaller does the fix up)
>
> d
>
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of amitr0
> Sent: Friday, April 23, 2010 8:14 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] KMDF question
>
> Hello,
>
> I have seen people commenting that a volume upper filter can be written in
> KMDF successfully. Is it possible to provide all functionality which a
> legacy volume filter driver provides through KMDF? Are there any known
> issues and shortcomings of KMDF in this parse. This vol filter should be
> boot start, would the KMDF frame work be up so soon in the boot process to
> load the driver?
>
> thanks
>
> –
>
> - amitr0
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
> List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer



- amitr0

> thanks for clarifying doron. so with kmdf based volume filters, can

they be loaded and unloaded without reboots? as they r not part of
the main io stack, i would assume this to be possible?

PnP filter detach/unload requires you to stop the devnode.

For a volume, this sequence will, among other things, send query remove to the FSD, which will veto the request if there are open files.

And, surely, for a boot volume (or volume with a pagefile) - this will be vetoed.

KMDF will not help in this.

also, to craft such a volume filter driver which ddk sample should be
best to follow?

DiskPerf, but you will need to convert it to KMDF yourself.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Thanks maxim,

this defeats my purpose, I was trying a simple way to have a filter manager
kind of approach for volume filters (like the FS stack) where the mini
filters can be hot patched. Is there any other solution than making a full
term volume filter manager framework?

thanks

amit

On Sat, Apr 24, 2010 at 1:39 AM, Maxim S. Shatskih
wrote:

> > thanks for clarifying doron. so with kmdf based volume filters, can
> > they be loaded and unloaded without reboots? as they r not part of
> > the main io stack, i would assume this to be possible?
>
> PnP filter detach/unload requires you to stop the devnode.
>
> For a volume, this sequence will, among other things, send query remove to
> the FSD, which will veto the request if there are open files.
>
> And, surely, for a boot volume (or volume with a pagefile) - this will be
> vetoed.
>
> KMDF will not help in this.
>
> > also, to craft such a volume filter driver which ddk sample should be
> > best to follow?
>
> DiskPerf, but you will need to convert it to KMDF yourself.
>
> –
> Maxim S. Shatskih
> Windows DDK MVP
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>



- amitr0

>Is there any other solution than >making a full term volume filter manager framework?

I think no, KMDF will not provide you this out of the box.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

You are on your own here, nothing like this exists in the system. You would have to create your own io counting routines, io rundown support and manage load/unload. No small task.

d

maxim, doron,

thanks for clarifying the doubts here.

best regards

amit.

On 4/24/10, xxxxx@microsoft.com wrote:
> You are on your own here, nothing like this exists in the system. You would
> have to create your own io counting routines, io rundown support and manage
> load/unload. No small task.
>
> d
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>



- amitr0