The naming functionality is a ‘library’ API set of fltmgr, not the core i/o path. Choosing to write a legacy filter for this reason, is essentially saying that since this is hard, I want to inherit all the other hard things about writing filters and making them interop with each other, as well. Getting full file names is one of the trickiest and also performance intensive operations one can attempt, and also one of the riskiest (apart from stuff such as blocking in paging i/o path), given that there is no native file system support for caching, and keeping file names up to date as files get renamed.
There are valid reasons why filter manager does not return a name sometimes: for instance FltGetFileNameInformationUnsafe() will refuse to return a name on a cleaned-up file object, because the file system natively does not guarantee that the name is valid (i.e a parent could have been renamed, since the semantics is that the parent is only guaranteed to be not renamed while there is a valid handle open). This API is really a helper API for non-file system filters to use, since they are already safe from recursion issues.
Having said that - if you can revive the specific instances in which the API failed and you feel it should not, and send it it would be valuable - as there will either be a good reason or there is a genuine bug, in which case I will forward it appropriately to see if we can resolve it. I know you probably did that over several threads, but if you can re-compile that and send it out it’d be great.
Thanks, Ravi
From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] On Behalf Of Dejan Maksimovic [xxxxx@alfasp.com]
Sent: Tuesday, September 18, 2007 12:49 PM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Yet another FltGetFileNameInformation problem 
It’s a local file name. All these “can’t do it here and you shouldn’t do it there” things make the API fairly… not useless, but an almost useless API. If we need to work around them all
the time, we could have kept the legacy model simply 
xxxxx@osr.com wrote:
I don’t know if you are implementing these on a local file system or a remote file system, but our experience has been that names on remote file systems are, at best, problematic to retrieve.
Fortunately, the same techniques that we’ve been using over the years can be fitted into the mini-filter model when necessary.
–
Kind regards, Dejan
http://www.alfasp.com
File system audit, security and encryption kits.
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com