Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Sept/Oct 2019 Issue of The NT Insider available


Download PDF here: http://insider.osr.com/2019/ntinsider_2019_01.pdf

It’s a particularly BIG issue, too: 40 pages of technical goodness, ranging from WDF to Minifilters. Check it out.
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

ZwOpenFile ShareAccess has no effect on disk drives

RourkeRourke Member Posts: 47

Consider the below test. When opening a file, the 2nd ZwOpenFile returns STATUS_SHARING_VIOLATION as expected. When opening a disk, such as the below name, the 2nd ZwOpenFile succeeds. Why?

\??\SCSI#Disk&Ven_Msft&Prod_Virtual_Disk#000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

void OpenTest(UNICODE_STRING *Name)
{
IO_STATUS_BLOCK IoStatus;
OBJECT_ATTRIBUTES Attribs;
HANDLE Handle[2];
NTSTATUS NtStatus[2];

InitializeObjectAttributes(&Attribs, Name, OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE, NULL, NULL);

NtStatus[0] = ZwOpenFile(&Handle[0], GENERIC_READ | GENERIC_WRITE, &Attribs, &IoStatus, FILE_SHARE_READ, FILE_NON_DIRECTORY_FILE);
NtStatus[1] = ZwOpenFile(&Handle[1], GENERIC_READ | GENERIC_WRITE, &Attribs, &IoStatus, FILE_SHARE_READ, FILE_NON_DIRECTORY_FILE);
}

Comments

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 13,131

    When you open a file on a filesystem, the operating system's filesystem code handles the security and the sharing checks. When you open a device object directly through its name, as you have above, it is entirely up to the driver to decide how and whether to handle the permission bits.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Writing WDF Drivers 21 Oct 2019 OSR Seminar Space & ONLINE
Internals & Software Drivers 18 Nov 2019 Dulles, VA
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 27 Apr 2020 OSR Seminar Space & ONLINE