>Hay! What happened, no one is responding to this post.
As is often mentioned here, this isn’t a paid support list. If someone feels
like answering the question they will, if not they won’t. This is also
probably a better question for NTFSD.
MSDN states that it "Indicates that the I/O manager should not perform
share-access checks on the file object after it is created. >However, the
file system might still perform these checks. "
That statement is pretty confusing. The way it works is that when you
perform an open with IGNORE_SHARE_ACCESS_CHECK the resulting file object is
flagged as having been opened with this bit set. Later when the file system
passes this file object to Io{Set|Check|Update|Remove}ShareAccess the
operation is a NOP.
The end result is that this only bypasses the sharing checks done by the I/O
manager routines. A file system may in fact choose to not use those
routines, which would make this flag useless (all MS supplied FSDs that I
know do use this API though).
In addition, the file system may perform its own checks for incompatible
opens outside of this API.
1> Which are the file systems that perform these checks? Or In which
circumstances file systems perform these checks?
No way to know, it’s under the mercy of the developer of the FSD. The
FASTFAT source is a good reference though.
2> is there any way to bypass them?
What we usually do is just open the file without any data access
(SYNCHRONIZE), as it’s the data access that gets in your way. Then convert
the handle you have into a file object. Once you have a file object you can
roll your own IRPs and send reads/writes to it since the FSDs typically
don’t do any access checking in their I/O routines.
-scott
–
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com
Looking forward to seeing you at the next OSR Kernel Debugging Class April
6, 2009 in Portland, OR!
“Amit Kulkarni” wrote in message
news:xxxxx@ntdev…
Hay! What happened, no one is responding to this post.
OK, Here I ask it again…
Description about IO_IGNORE_SHARE_ACCESS_CHECK in MSDN states that it
"Indicates that the I/O manager should not perform share-access checks on
the file object after it is created. However, the file system might still
perform these checks. "
Now if file system perform these checks then again we will not able to open
the file. So following are some questions that came in my mind…
1> Which are the file systems that perform these checks? Or In which
circumstances file systems perform these checks?
2> is there any way to bypass them?
Thanks & Regards,
Amit.
Check out the all-new Messenger 9…0! Click here.