Alter FILE SIZE reporting from and FSD for Windows Explorer

I am writing an application for NT 4.0 and 2000 that will behave similar to
the Remote Storage service on Windows 2000, except that files will be
stored away in remote servers rather than near-line media.

===> My problem is how to report the correct file size when Windows
Explorer browses the directory where the migrated files stub resides.
Windows 2000 Remote Storage uses sparse files to report the appropriate
size. I have not tried doing the same on my application for 2000, but
definitely this is not a solution for NT since NT 4.0’s NTFS does not
supports sparse files, let alone FAT16 or FAT32 for both 2000 and NT 4.0.
This issue also applies to any application that reports file size as part
of browsing files and directories such as the DOS prompt.

===> I believe that the solution lies in implementing the appropriate
modifications to the FSD, but I am not certain how to go about it. Has
anyone deal with this type of issues, or knows how to address something
like this from the FSD point of view? I downloaded the FileMon 4.3 sample
code and have played with it trying to identify where in the FSD the file
size is reported whenever Windows Explorer opens a directory, but to no
avail.

===> Is there a better approach than writing FSDs to solve this issue?


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi there!

Well, not writing or modifying an FSD, but writing a filter would be a
correct approach, in my opinion. For example, a file that you move to remote
storage is being replaced by a small stub file that is specially marked by
contained data or attributes. There, you store the position of the remote file and
its attributes (file size, security etc). To display attributes and size
correctly, your FSD filter should intercept FSCTL_QUERY_XXX requests and fill the
requested data with stuff stored in this stub. To read/write to this file,
you should intercept read/write requests in a same manner.
This is just an idea I think that would simplify your life. I’m not that
much into FSD development, but I can recommend you a very good book:
“Windows NT File System Internals” by Rajeev Nagar, O’Reilly publishing
ISBN 1-56592-249-2

There, most of the requests are described in detail.

Greetings,
Alex

I am writing an application for NT 4.0 and 2000 that will behave similar
to
the Remote Storage service on Windows 2000, except that files will be
stored away in remote servers rather than near-line media.

===> My problem is how to report the correct file size when Windows
Explorer browses the directory where the migrated files stub resides.
Windows 2000 Remote Storage uses sparse files to report the appropriate
size. I have not tried doing the same on my application for 2000, but
definitely this is not a solution for NT since NT 4.0’s NTFS does not
supports sparse files, let alone FAT16 or FAT32 for both 2000 and NT 4.0.
This issue also applies to any application that reports file size as part
of browsing files and directories such as the DOS prompt.

===> I believe that the solution lies in implementing the appropriate
modifications to the FSD, but I am not certain how to go about it. Has
anyone deal with this type of issues, or knows how to address something
like this from the FSD point of view? I downloaded the FileMon 4.3 sample

code and have played with it trying to identify where in the FSD the file
size is reported whenever Windows Explorer opens a directory, but to no
avail.

===> Is there a better approach than writing FSDs to solve this issue?


You are currently subscribed to ntfsd as: xxxxx@gmx.net
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com