I know its probably been covered dozens of times but I can’t for the life of me dig anything up. Would someone kindly point me to a few threads that some decent detail on creating Shadow FO and the associated SOPs?
Thanks in advance.
Rob
I know its probably been covered dozens of times but I can’t for the life of me dig anything up. Would someone kindly point me to a few threads that some decent detail on creating Shadow FO and the associated SOPs?
Thanks in advance.
Rob
Honestly, I’m not sure that we’ve ever actually had a full hashed out
discussion of this on here.
-scott
–
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com
wrote in message news:xxxxx@ntfsd…
> I know its probably been covered dozens of times but I can’t for the life
> of me dig anything up. Would someone kindly point me to a few threads that
> some decent detail on creating Shadow FO and the associated SOPs?
>
> Thanks in advance.
> Rob
>
Well in that case does anyone have any pointers. I am assuming I have to allocate my own FO struct and any associated pointers as well as my own SOP. What is the bare minimum the upper layers are expecting?
On 9/8/2010 3:35 PM, xxxxx@ocarinanetworks.com wrote:
Well in that case does anyone have any pointers. I am assuming I have to allocate my own FO struct and any associated pointers as well as my own SOP. What is the bare minimum the upper layers are expecting?
What are you trying to accomplish?
You would not need to allocate a new file object, in most cases, just
hi-jack the passed in file object and use it. If you need to open
another instance to the underlying file(s), then do that but you can
just take over the file object passed into your fsf.
Basically if you are managing these FO’s internally then you will want
to do everything Fat does to the file objects it receives within the
IRP_MJ_CREATE dispatch handler.
In short but not 100% complete …
The SOP structure needs to be allocated and freed by you but the
management of the structure is performed by MM and CM. Additionally you
will want to allocate a structure for the FsContext and FsContext2
pointers, the first starting with the FSRTL_ADVANCED_HEADER, initialized
accordingly. See the Fat source code for this.
The FsContext2 is generally used for per-open information and has no
restrictions on the content nor is it required by the upper layers.
Pete
–
Kernel Drivers
Windows File System and Device Driver Consulting
www.KernelDrivers.com
866.263.9295