Why Convert To Mini-Filter?

Hi,

I have a good grasp of the benefits from the development and support side of things. I am also aware of things such as more efficient use the kernel stack. However, suppose I am the consumer of a legacy fs driver instead of the provider (assume provider also provides design, development, and support), why should I pay to have a legacy fs driver converted to a mini-filter? What kinds of benefits will I receive (e.g. performance, scalability, platforms, flexibility, etc)?

If this is documented somewhere, can someone please point me to that info, otherwise would you please share what you’ve learned through experience?

Thanks,

Erik

Primary reason: supporting transactions with legacy filters is entirely undocumented and going to prove to be a substantial challenge. Thus, one reason to convert is to support new functionality in Windows Vista.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Is that to say, Windows Vista will just support FS Mini-Filter Driver? If so, terrible!

Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn Beta 2?

Works. I found some functionality to be broken, but it works.

xxxxx@charter.net wrote:

Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn Beta 2?


Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@alfasp.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

I would be interested in knowing what kind of functionality were broken.

EA

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-267415-
xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic
Sent: Sunday, October 22, 2006 19:53
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

Works. I found some functionality to be broken, but it works.

xxxxx@charter.net wrote:

> Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn
Beta 2?
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@alfasp.com To
> unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@fausse.info To
unsubscribe send a blank email to xxxxx@lists.osr.com

I have a rather complex driver which registers itself in several ways, one
of them being the classic SFilter-like FS filter
(IoRegisterFsRegistrationChange, then filtering mounts).

It worked fine on Vista RC1.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From:
To: “Windows File Systems Devs Interest List”
Sent: Sunday, October 22, 2006 7:38 PM
Subject: RE:[ntfsd] Why Convert To Mini-Filter?

> Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn Beta 2?
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

I confirm. I just tested a driver with a similar architecture and it works on
5744. By “works” I mean “no bugcheck so far and functionalities are all
present” but not “I consider this driver to be reliable and releasable”.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-267569-
xxxxx@lists.osr.com] On Behalf Of Maxim S. Shatskih
Sent: Tuesday, October 24, 2006 02:00
To: Windows File Systems Devs Interest List
Subject: Re: RE:[ntfsd] Why Convert To Mini-Filter?

I have a rather complex driver which registers itself in several
ways, one of them being the classic SFilter-like FS filter
(IoRegisterFsRegistrationChange, then filtering mounts).

It worked fine on Vista RC1.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From:
> To: “Windows File Systems Devs Interest List”
> Sent: Sunday, October 22, 2006 7:38 PM
> Subject: RE:[ntfsd] Why Convert To Mini-Filter?
>
>
> > Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn
> Beta 2?
> >
> > —
> > Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
> >
> > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@fausse.info
> To unsubscribe send a blank email to xxxxx@lists.osr.com

What I found missing was file name filtering. Hiding files or changing names did
not work for me. I do not think this is related to the kernel area any more, but the
user mode (if the Kernel32.dll does a search it seems to cache it now?)

“Edouard A.” wrote:

I confirm. I just tested a driver with a similar architecture and it works on
5744. By “works” I mean “no bugcheck so far and functionalities are all
present” but not “I consider this driver to be reliable and releasable”.

> -----Original Message-----
> From: xxxxx@lists.osr.com [mailto:bounce-267569-
> xxxxx@lists.osr.com] On Behalf Of Maxim S. Shatskih
> Sent: Tuesday, October 24, 2006 02:00
> To: Windows File Systems Devs Interest List
> Subject: Re: RE:[ntfsd] Why Convert To Mini-Filter?
>
> I have a rather complex driver which registers itself in several
> ways, one of them being the classic SFilter-like FS filter
> (IoRegisterFsRegistrationChange, then filtering mounts).
>
> It worked fine on Vista RC1.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From:
> > To: “Windows File Systems Devs Interest List”
> > Sent: Sunday, October 22, 2006 7:38 PM
> > Subject: RE:[ntfsd] Why Convert To Mini-Filter?
> >
> >
> > > Has anyone tried running a legacy FS driver on Vista RC1 or Longhorn
> > Beta 2?
> > >
> > > —
> > > Questions? First check the IFS FAQ at
> > https://www.osronline.com/article.cfm?id=17
> > >
> > > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> > > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
> >
> > —
> > Questions? First check the IFS FAQ at
> > https://www.osronline.com/article.cfm?id=17
> >
> > You are currently subscribed to ntfsd as: xxxxx@fausse.info
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
> —
> Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@alfasp.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

I found that I was not handling the FileIdBothDirectoryInformation
FileInformation class in my IRP_MJ_DIRECTORY_CONTROL handler. That was
all I needed to add to make my filter hide files/folders once again.

Ben

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic
Sent: 26 October 2006 12:16
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

What I found missing was file name filtering. Hiding files or
changing names did
not work for me. I do not think this is related to the kernel area any
more, but the
user mode (if the Kernel32.dll does a search it seems to cache it now?)

“Edouard A.” wrote:

I confirm. I just tested a driver with a similar architecture and it
works on
5744. By “works” I mean “no bugcheck so far and functionalities are
all
present” but not “I consider this driver to be reliable and
releasable”.

> -----Original Message-----
> From: xxxxx@lists.osr.com [mailto:bounce-267569-
> xxxxx@lists.osr.com] On Behalf Of Maxim S. Shatskih
> Sent: Tuesday, October 24, 2006 02:00
> To: Windows File Systems Devs Interest List
> Subject: Re: RE:[ntfsd] Why Convert To Mini-Filter?
>
> I have a rather complex driver which registers itself in several
> ways, one of them being the classic SFilter-like FS filter
> (IoRegisterFsRegistrationChange, then filtering mounts).
>
> It worked fine on Vista RC1.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From:
> > To: “Windows File Systems Devs Interest List”
> > Sent: Sunday, October 22, 2006 7:38 PM
> > Subject: RE:[ntfsd] Why Convert To Mini-Filter?
> >
> >
> > > Has anyone tried running a legacy FS driver on Vista RC1 or
Longhorn
> > Beta 2?
> > >
> > > —
> > > Questions? First check the IFS FAQ at
> > https://www.osronline.com/article.cfm?id=17
> > >
> > > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> > > To unsubscribe send a blank email to
xxxxx@lists.osr.com
> >
> >
> > —
> > Questions? First check the IFS FAQ at
> > https://www.osronline.com/article.cfm?id=17
> >
> > You are currently subscribed to ntfsd as: xxxxx@fausse.info
> > To unsubscribe send a blank email to
xxxxx@lists.osr.com
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@alfasp.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com

I handled that as soon as the class was introduced.
Try booting without hiding, list a folder in Explorer, enable hiding and check
the folder.

Dej.

Ben Curley wrote:

I found that I was not handling the FileIdBothDirectoryInformation
FileInformation class in my IRP_MJ_DIRECTORY_CONTROL handler. That was
all I needed to add to make my filter hide files/folders once again.

Ben


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

I dont know what to suggest then. It works fine for me.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic
Sent: 26 October 2006 13:32
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

I handled that as soon as the class was introduced.
Try booting without hiding, list a folder in Explorer, enable hiding
and check
the folder.

Dej.

Ben Curley wrote:

I found that I was not handling the FileIdBothDirectoryInformation
FileInformation class in my IRP_MJ_DIRECTORY_CONTROL handler. That
was
all I needed to add to make my filter hide files/folders once again.

Ben


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com

This works for you?

Ben Curley wrote:

I dont know what to suggest then. It works fine for me.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic
Sent: 26 October 2006 13:32
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

I handled that as soon as the class was introduced.
Try booting without hiding, list a folder in Explorer, enable hiding
and check
the folder.

Dej.

Ben Curley wrote:

> I found that I was not handling the FileIdBothDirectoryInformation
> FileInformation class in my IRP_MJ_DIRECTORY_CONTROL handler. That
was
> all I needed to add to make my filter hide files/folders once again.
>
> Ben


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

I can’t imagine how this works for anyone: “hi, I’m going to ask you to
go back and find any application that has ever queried the directory
contents and change their cached copy of it…”

Instead, if you want the cache to be consistent you need to be in the
loop before the cache has been contaminated.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Yeah. If I start the machine with my boot-time driver set to not hide
anything then the things I would normally hide are displayed correctly.
I then list the folder in explorer, and generally use the machine to try
and get enumerations cached. I then enable hiding in my filter (via an
IOCTL) and everything I would normally hide vanishes.

/shrug

Ben

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic
Sent: 26 October 2006 16:44
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

This works for you?

Ben Curley wrote:

I dont know what to suggest then. It works fine for me.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dejan
Maksimovic
Sent: 26 October 2006 13:32
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Why Convert To Mini-Filter?

I handled that as soon as the class was introduced.
Try booting without hiding, list a folder in Explorer, enable
hiding
and check
the folder.

Dej.

Ben Curley wrote:

> I found that I was not handling the FileIdBothDirectoryInformation
> FileInformation class in my IRP_MJ_DIRECTORY_CONTROL handler. That
was
> all I needed to add to make my filter hide files/folders once again.
>
> Ben


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@des.co.uk
To unsubscribe send a blank email to xxxxx@lists.osr.com

No, I meant if he could hide the files after the directory was already listed, I
need to dig deeper than think it is a cached copy issue.
And I see Ben is hiding correctly, I need to dig deeper.

Tony Mason wrote:

I can’t imagine how this works for anyone: “hi, I’m going to ask you to go back and
find any application that has ever queried the directory contents and change their
cached copy of it…”

Instead, if you want the cache to be consistent you need to be in the loop before
the cache has been contaminated.


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

OUCH! What hurts is that I totally forgot the mini-filter version works… (same
traversal code).
Back to the fixing table.

Ben Curley wrote:

Yeah. If I start the machine with my boot-time driver set to not hide
anything then the things I would normally hide are displayed correctly.
I then list the folder in explorer, and generally use the machine to try
and get enumerations cached. I then enable hiding in my filter (via an
IOCTL) and everything I would normally hide vanishes.


King regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.

Legacy file system filters work fine on Vista and will continue to work
on Longhorn Server and all of the service packs for each which may
follow.

In fact you may find that you have a better interop story between legacy
and minifilters on vista then you did in previous OS versions. This is
because filter manager now assigns an altitude for legacy filters based
on its load order group name (please use the correct load order group
names for your legacy filters) and will properly layer minifilters under
the legacy filter based on altitudes even if the minfilter loads later.
Note that legacy filter altitudes are assigned such that they will be at
the “top” of a given load order group.

Run the “fltmc” command line utility on Vista with a legacy filter
present and you will see it now has an altitude.

Note that we are discussing the idea of dropping legacy filter support
for the next major OS release post Vista/Longhorn Server.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
headium2006@163.com
Sent: Friday, October 20, 2006 5:28 PM
To: Windows File Systems Devs Interest List
Subject: RE:[ntfsd] Why Convert To Mini-Filter?

Is that to say, Windows Vista will just support FS Mini-Filter Driver?
If so, terrible!


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

>on its load order group name (please use the correct load order group

names for your legacy filters)

Is “filter” a correct name?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com