I am about to begin development of a minifilter for HSM purposes and wanted to get some advice on my design. =20
I’m planning on using reparse points to store data about archived files and then having my minifilter intercept the STATUS_REPARSE. At that time, the minifilter will message a user-mode service which will spawn a worker thread to retrieve the archived file. The worker thread will then message the minifilter, providing the location of the retrieved file. I would like to keep the kernel-mode code as clean as possible, thereby preventing any BSODs for my users.
So I have a few questions about my design:
-
Do you have any thoughts or suggestions on the current design? Are there any limitations that this design would incur based on your experience?
-
Once my worker thread has retrieved the archived file, should the worker thread try to delete the reparse point and replace it with the file or should I do that in the minidriver? Also, would my worker thread be able to delete the reparse with FILE_OPEN_REPARSE_POINT and then replace it with the correct file before messaging the minifilter, or should that be done in the minifilter?
-
Advice on best minifilter samples for such a scenario (my new W2K3
SP1 IFS Kit is in the mail, I only the W2K3 non-SP1 IFS Kit now)?
Thanks for your help. I’m hoping that asking questions now will prevent me from wasting your time in the future.
-Bill Leimkuehler