Hello everyone,
I am developing a minifilter that will reroute IRPS for certain files. The IRP that I process are for files that aren’t really on disk per say but are stored in an archive. From the user’s point of view, these files should be identical to regular files on the file system and the entire Win32 File Managment API should work the same way as regular files.
My first question of what is no doubt going to be many, is how do I handle a IRP_MJ_CREATE. More specifically, what members of the FILE_OBJECT must I initialize. I am assuming I must do very similar initialization as in the FastFat sample however what I am unsure of is what the minifilter manager already does for me as there is very little documentation as to what the minifilter manager does when it gets a FLT_PREOP_COMPLE return value. Do I have to initialize the FsContext? do I have to initialize all the access and share fields? What about the cache manager, do I have to call CcInitializeCacheMap()? What about the lock stuff, do I have to initialize it and if so, how.
I can’t wait for more documentation to come out about the file system stuff, specially more on FastIo. However, until then you guys are all I have. Thanks for any help or tips you guys can provide!
Thanks,
Phil