mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:56:26 +00:00
- Convert the user mode dwDesiredAccess flags in CreateFile to the kernel mode ones that are used by NtCreateFile.
svn path=/trunk/; revision=10200
This commit is contained in:
parent
6a7a2b5854
commit
cf649ce107
1 changed files with 17 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: create.c,v 1.36 2004/07/01 22:36:16 gvg Exp $
|
/* $Id: create.c,v 1.37 2004/07/18 17:08:29 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS system libraries
|
* PROJECT: ReactOS system libraries
|
||||||
|
@ -86,6 +86,7 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
||||||
HANDLE FileHandle;
|
HANDLE FileHandle;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ULONG Flags = 0;
|
ULONG Flags = 0;
|
||||||
|
ULONG DesiredAccess = 0;
|
||||||
CSRSS_API_REQUEST Request;
|
CSRSS_API_REQUEST Request;
|
||||||
CSRSS_API_REPLY Reply;
|
CSRSS_API_REPLY Reply;
|
||||||
|
|
||||||
|
@ -178,11 +179,23 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
Flags |= FILE_NON_DIRECTORY_FILE;
|
Flags |= FILE_NON_DIRECTORY_FILE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dwDesiredAccess & GENERIC_ALL)
|
||||||
|
DesiredAccess |= FILE_READ_DATA | FILE_WRITE_DATA;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(dwDesiredAccess & GENERIC_READ)
|
||||||
|
DesiredAccess |= FILE_READ_DATA;
|
||||||
|
|
||||||
|
if(dwDesiredAccess & GENERIC_WRITE)
|
||||||
|
DesiredAccess |= FILE_WRITE_DATA;
|
||||||
|
}
|
||||||
|
|
||||||
/* handle may allways be waited on and querying attributes are allways allowed */
|
/* handle may allways be waited on and querying attributes are allways allowed */
|
||||||
dwDesiredAccess |= SYNCHRONIZE|FILE_READ_ATTRIBUTES;
|
DesiredAccess |= SYNCHRONIZE|FILE_READ_ATTRIBUTES;
|
||||||
|
|
||||||
/* FILE_FLAG_POSIX_SEMANTICS is handled later */
|
/* FILE_FLAG_POSIX_SEMANTICS is handled later */
|
||||||
|
|
||||||
|
@ -257,7 +270,7 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
||||||
|
|
||||||
/* perform the call */
|
/* perform the call */
|
||||||
Status = NtCreateFile (&FileHandle,
|
Status = NtCreateFile (&FileHandle,
|
||||||
dwDesiredAccess,
|
DesiredAccess,
|
||||||
&ObjectAttributes,
|
&ObjectAttributes,
|
||||||
&IoStatusBlock,
|
&IoStatusBlock,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue