Hello everyone,
The documentation says that if a minifilter calls FltGetFileNameInformation in its Precallback to get a normalized file name, then it should also call FltGetTunneledName in PostOperation callback.
Then why is it not done in the mini filters sample in WDK?
Take for instance the minispy sample. It calls FltGetFileNameInformation in PreCreate to get normalized file name. But does not call FltGetTunneledName in PostCreate. Why?
Am i going wrong somewhere in understanding the use of FltGetTunneledName?
Thank you.
Tushar.
> The documentation says that if a minifilter calls
FltGetFileNameInformation in its Precallback to get a normalized
file name
This is my pure guess, but based on my experience:
Imagine an old application who only knows 8.3 file names.
This application opens a file “C:\An Extra File Name.doc”.
Because it’s long name, the application uses OS-given 8.3 alias,
C:\Anext~1.doc.
Then the user chooses “Save File”. The app creates a temp file,
writes content into it and renames the file back to
“C:\Anext~1.doc”.
And now what ? The long name is gone.
That’s why tunnel cache is there for. It remembers deleted files
for a while, and if someone creates a new file by 8.3 alias
soon enough, the file’s long name is supplied from the tunnel
cache.
I would say - that’s why you have to call FltGetTunneledName.
Correct me someone if I wrong.
L.
Thank you Ladislav.
Actually i wanted to know why FltGetTunneledName is not used in any of the minifilter samples in WDK?
Thanks.
Tushar