mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 08:54:40 +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,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
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -86,6 +86,7 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
|||
HANDLE FileHandle;
|
||||
NTSTATUS Status;
|
||||
ULONG Flags = 0;
|
||||
ULONG DesiredAccess = 0;
|
||||
CSRSS_API_REQUEST Request;
|
||||
CSRSS_API_REPLY Reply;
|
||||
|
||||
|
@ -178,11 +179,23 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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 */
|
||||
dwDesiredAccess |= SYNCHRONIZE|FILE_READ_ATTRIBUTES;
|
||||
/* handle may allways be waited on and querying attributes are allways allowed */
|
||||
DesiredAccess |= SYNCHRONIZE|FILE_READ_ATTRIBUTES;
|
||||
|
||||
/* FILE_FLAG_POSIX_SEMANTICS is handled later */
|
||||
|
||||
|
@ -257,7 +270,7 @@ HANDLE STDCALL CreateFileW (LPCWSTR lpFileName,
|
|||
|
||||
/* perform the call */
|
||||
Status = NtCreateFile (&FileHandle,
|
||||
dwDesiredAccess,
|
||||
DesiredAccess,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
NULL,
|
||||
|
|
Loading…
Reference in a new issue