How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP field)?

Thanks in advance,
Vadim

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 12:23 PM
To: ntfsd redirect
Subject: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter
with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP
field)?

Thanks in advance,
Vadim


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thank you for the answer Tony.

You wrote:

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Is this IoCheckShareAccess, IoSetShareAccess, IoUpdateShareAccess,
IoRemoveShareAccess functions?

I’m using them in my dispatch routine for IRP_MJ_CREATE.

The question is how these IoXXXShareAccess functions get the information
about IO_IGNORE_SHARE_ACCESS_CHECK flag?

Is there a corresponding flag set it FileObject or what?

Regards,
Vadim

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Friday, April 08, 2005 9:00 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 12:23 PM
To: ntfsd redirect
Subject: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter
with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP
field)?

Thanks in advance,
Vadim


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hi Vadim,

Yes, the IoXxxShareAccess functions implement this logic; they use
internal OS information to track this state, not in the visible state of
the FILE_OBJECT.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 1:29 PM
To: ntfsd redirect
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target device?

Thank you for the answer Tony.

You wrote:

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Is this IoCheckShareAccess, IoSetShareAccess, IoUpdateShareAccess,
IoRemoveShareAccess functions?

I’m using them in my dispatch routine for IRP_MJ_CREATE.

The question is how these IoXXXShareAccess functions get the information
about IO_IGNORE_SHARE_ACCESS_CHECK flag?

Is there a corresponding flag set it FileObject or what?

Regards,
Vadim

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Friday, April 08, 2005 9:00 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target
device?

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 12:23 PM
To: ntfsd redirect
Subject: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter
with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP
field)?

Thanks in advance,
Vadim


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Tony wrote:

the IoXxxShareAccess functions implement this logic; they use
internal OS information to track this state, not in the visible state of
the FILE_OBJECT.

Thank you for this, Tony.

So, I do not understand what is my mistake here.
It seems that this state is not conveyed to IoXxxShareAccess functions in my
case.

I’m getting STATUS_SHARING_VIOLATION when
IoCreateFileSpecifyDeviceObjectHint() function
with IO_IGNORE_SHARE_ACCESS_CHECK flag set is the originator of the request
(I see it in a call stack).

  1. In my case, IoXxxShareAccess checks are done in a context of a different
    thread
  2. In my case, Different FileObject is passed as argument

What is the “key” for IoXxxShareAccess package to track this stake?

Best regards,
Vadim

“Tony Mason” wrote in message news:xxxxx@ntfsd…
Hi Vadim,

Yes, the IoXxxShareAccess functions implement this logic; they use
internal OS information to track this state, not in the visible state of
the FILE_OBJECT.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 1:29 PM
To: ntfsd redirect
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target device?

Thank you for the answer Tony.

You wrote:
>It is not sent to the target device. It is handled internally by the
>OS, but only if your file system uses the standard share access
>management package.

Is this IoCheckShareAccess, IoSetShareAccess, IoUpdateShareAccess,
IoRemoveShareAccess functions?

I’m using them in my dispatch routine for IRP_MJ_CREATE.

The question is how these IoXXXShareAccess functions get the information
about IO_IGNORE_SHARE_ACCESS_CHECK flag?

Is there a corresponding flag set it FileObject or what?

Regards,
Vadim

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Friday, April 08, 2005 9:00 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target
device?

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 12:23 PM
To: ntfsd redirect
Subject: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter
with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP
field)?

Thanks in advance,
Vadim


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hi Vadim,

The state is associated with file objects created by the
IoCreateFileSpecifyDeviceObjectHint call only. Is it possible you are
creating your file objects in some other fashion? For example, if you
used IoCreateFile and passed in this flag, it would not work.

Other than that, I can’t suggest why you might not be seeing what you
expected here.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim A
Sent: Saturday, April 09, 2005 2:18 AM
To: ntfsd redirect
Subject: Re:[ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target device?

Tony wrote:

the IoXxxShareAccess functions implement this logic; they use
internal OS information to track this state, not in the visible state
of
the FILE_OBJECT.

Thank you for this, Tony.

So, I do not understand what is my mistake here.
It seems that this state is not conveyed to IoXxxShareAccess functions
in my
case.

I’m getting STATUS_SHARING_VIOLATION when
IoCreateFileSpecifyDeviceObjectHint() function
with IO_IGNORE_SHARE_ACCESS_CHECK flag set is the originator of the
request
(I see it in a call stack).

  1. In my case, IoXxxShareAccess checks are done in a context of a
    different
    thread
  2. In my case, Different FileObject is passed as argument

What is the “key” for IoXxxShareAccess package to track this stake?

Best regards,
Vadim

“Tony Mason” wrote in message news:xxxxx@ntfsd…
Hi Vadim,

Yes, the IoXxxShareAccess functions implement this logic; they use
internal OS information to track this state, not in the visible state of
the FILE_OBJECT.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 1:29 PM
To: ntfsd redirect
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target device?

Thank you for the answer Tony.

You wrote:
>It is not sent to the target device. It is handled internally by the
>OS, but only if your file system uses the standard share access
>management package.

Is this IoCheckShareAccess, IoSetShareAccess, IoUpdateShareAccess,
IoRemoveShareAccess functions?

I’m using them in my dispatch routine for IRP_MJ_CREATE.

The question is how these IoXXXShareAccess functions get the information
about IO_IGNORE_SHARE_ACCESS_CHECK flag?

Is there a corresponding flag set it FileObject or what?

Regards,
Vadim

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Friday, April 08, 2005 9:00 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to
target
device?

It is not sent to the target device. It is handled internally by the
OS, but only if your file system uses the standard share access
management package.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vadim Agarkov
Sent: Friday, April 08, 2005 12:23 PM
To: ntfsd redirect
Subject: [ntfsd] How IO_IGNORE_SHARE_ACCESS_CHECK flag is sent to target
device?

Hello,

IoCreateFileSpecifyDeviceObjectHint() function has Options parameter
with
three possible bit flags. One of them is IO_IGNORE_SHARE_ACCESS_CHECK.

How it is sent to the target device (as a stack location flag, like
SL_FORCE_ACCESS_CHECK, or in irp->Flags field or in some other IRP
field)?

Thanks in advance,
Vadim


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com