-/* $Id: create.c 54326 2011-11-07 00:18:13Z ion $
- *
+/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: lib/kernel32/file/create.c
OBJECT_ATTRIBUTES ObjectAttributes;
IO_STATUS_BLOCK IoStatusBlock;
UNICODE_STRING NtPathU;
+ LPCWSTR pszConsoleFileName;
HANDLE FileHandle;
NTSTATUS Status;
ULONG FileAttributes, Flags = 0;
}
/* check for console input/output */
- if (0 == _wcsicmp(L"CONOUT$", lpFileName)
- || 0 == _wcsicmp(L"CONIN$", lpFileName))
+ pszConsoleFileName = IntCheckForConsoleFileName(lpFileName, dwDesiredAccess);
+ if (pszConsoleFileName)
{
- return OpenConsoleW(lpFileName,
+ return OpenConsoleW(pszConsoleFileName,
dwDesiredAccess,
lpSecurityAttributes ? lpSecurityAttributes->bInheritHandle : FALSE,
FILE_SHARE_READ | FILE_SHARE_WRITE);
FileAttributes = (dwFlagsAndAttributes & (FILE_ATTRIBUTE_VALID_FLAGS & ~FILE_ATTRIBUTE_DIRECTORY));
- /* handle may allways be waited on and querying attributes are allways allowed */
+ /* handle may always be waited on and querying attributes are always allowed */
dwDesiredAccess |= SYNCHRONIZE | FILE_READ_ATTRIBUTES;
/* FILE_FLAG_POSIX_SEMANTICS is handled later */
ObjectAttributes.SecurityQualityOfService = NULL;
errCode = NtOpenFile (&FileHandle,
- GENERIC_READ|SYNCHRONIZE,
+ GENERIC_READ | SYNCHRONIZE,
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ,
- FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT);
+ FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT);
RtlFreeHeap(RtlGetProcessHeap(), 0, FileNameString.Buffer);