Fixed synchronous file access.

svn path=/trunk/; revision=6575
This commit is contained in:
Eric Kohl 2003-11-08 09:13:46 +00:00
parent 5533bbd42a
commit c2c2d6cb46
5 changed files with 41 additions and 65 deletions

View file

@ -481,7 +481,7 @@ SaveCurrentBootSector(PWSTR RootPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, BootSector);
@ -522,7 +522,7 @@ SaveCurrentBootSector(PWSTR RootPath,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_SUPERSEDE,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -584,7 +584,7 @@ InstallFat16BootCodeToFile(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -633,7 +633,7 @@ InstallFat16BootCodeToFile(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -682,7 +682,7 @@ InstallFat16BootCodeToFile(PWSTR SrcPath,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -748,7 +748,7 @@ InstallFat32BootCodeToFile(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -797,7 +797,7 @@ CHECKPOINT1;
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -852,7 +852,7 @@ CHECKPOINT1;
FILE_ATTRIBUTE_NORMAL,
0,
FILE_SUPERSEDE,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -892,7 +892,7 @@ CHECKPOINT1;
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, NewBootSector);
@ -955,7 +955,7 @@ InstallMbrBootCodeToDisk (PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1004,7 +1004,7 @@ InstallMbrBootCodeToDisk (PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1055,7 +1055,7 @@ InstallMbrBootCodeToDisk (PWSTR SrcPath,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -1116,7 +1116,7 @@ InstallFat16BootCodeToDisk(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1165,7 +1165,7 @@ InstallFat16BootCodeToDisk(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1216,7 +1216,7 @@ InstallFat16BootCodeToDisk(PWSTR SrcPath,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -1282,7 +1282,7 @@ InstallFat32BootCodeToDisk(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1331,7 +1331,7 @@ InstallFat32BootCodeToDisk(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
@ -1382,7 +1382,7 @@ InstallFat32BootCodeToDisk(PWSTR SrcPath,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY);
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtOpenFile() failed (Status %lx)\n", Status);
@ -1480,7 +1480,7 @@ UnprotectBootIni(PWSTR FileName,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (Status == STATUS_NO_SUCH_FILE)
{
DPRINT1("NtOpenFile() failed (Status %lx)\n", Status);
@ -1551,7 +1551,7 @@ ProtectBootIni(PWSTR FileName,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtOpenFile() failed (Status %lx)\n", Status);

View file

@ -935,7 +935,7 @@ ReadString(PWCHAR String, ULONG MaxLength)
static ULONG
ReadFileTable()
ReadFileTable(VOID)
/*
* FUNCTION: Reads the file table from the cabinet file
* RETURNS:
@ -1125,7 +1125,7 @@ ComputeChecksum(PVOID Buffer,
static ULONG
CloseCabinet()
CloseCabinet(VOID)
/*
* FUNCTION: Closes the current cabinet
* RETURNS:
@ -1157,7 +1157,7 @@ CloseCabinet()
VOID
CabinetInitialize()
CabinetInitialize(VOID)
/*
* FUNCTION: Initialize archiver
*/
@ -1199,7 +1199,7 @@ CabinetInitialize()
VOID
CabinetCleanup()
CabinetCleanup(VOID)
/*
* FUNCTION: Cleanup archiver
*/
@ -1285,7 +1285,7 @@ CabinetGetDestinationPath()
ULONG
CabinetOpen()
CabinetOpen(VOID)
/*
* FUNCTION: Opens a cabinet file
* RETURNS:
@ -1324,7 +1324,7 @@ CabinetOpen()
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(NtStatus))
{
DPRINT("Cannot open file (%S) (%x).\n", CabinetName, NtStatus);
@ -1487,7 +1487,7 @@ CabinetOpen()
VOID
CabinetClose()
CabinetClose(VOID)
/*
* FUNCTION: Closes the cabinet file
*/
@ -1674,7 +1674,7 @@ CabinetExtractFile(PWCHAR FileName)
FILE_ATTRIBUTE_NORMAL,
0,
FILE_CREATE,
FILE_SYNCHRONOUS_IO_ALERT,
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0);
if (!NT_SUCCESS(NtStatus))

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: filesup.c,v 1.7 2003/08/24 10:36:06 chorns Exp $
/* $Id: filesup.c,v 1.8 2003/11/08 09:13:46 ekohl Exp $
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: subsys/system/usetup/filesup.c
@ -67,7 +67,7 @@ CreateDirectory(PWCHAR DirectoryName)
FILE_ATTRIBUTE_DIRECTORY,
0,
FILE_CREATE,
FILE_DIRECTORY_FILE,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_DIRECTORY_FILE,
NULL,
0);
if (NT_SUCCESS(Status))
@ -113,7 +113,7 @@ SetupCopyFile(PWCHAR SourceFileName,
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY);
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY);
if (!NT_SUCCESS(Status))
{
return(Status);
@ -157,7 +157,7 @@ SetupCopyFile(PWCHAR SourceFileName,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))
@ -307,7 +307,7 @@ SetupExtractFile(PWCHAR CabinetFileName,
CabinetCleanup();
}
wcscpy(CurrentCabinetName, CabinetFileName);
wcscpy(CurrentCabinetName, CabinetFileName);
CabinetInitialize();
CabinetSetEventHandlers(NULL, NULL, NULL);
@ -371,7 +371,7 @@ DoesFileExist(PWSTR PathName,
&ObjectAttributes,
&IoStatusBlock,
0,
FILE_SYNCHRONOUS_IO_ALERT);
FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
return(FALSE);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: infcache.c,v 1.7 2003/10/16 08:39:28 robd Exp $
/* $Id: infcache.c,v 1.8 2003/11/08 09:13:46 ekohl Exp $
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: subsys/system/usetup/infcache.c
@ -993,7 +993,7 @@ InfOpenFile(PHINF InfHandle,
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ,
FILE_NON_DIRECTORY_FILE);
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE);
if (!NT_SUCCESS(Status))
{
DPRINT("NtOpenFile() failed (Status %lx)\n", Status);
@ -1008,12 +1008,7 @@ InfOpenFile(PHINF InfHandle,
&FileInfo,
sizeof(FILE_STANDARD_INFORMATION),
FileStandardInformation);
if (Status == STATUS_PENDING)
{
DPRINT("NtQueryInformationFile() returns STATUS_PENDING\n");
}
else if (!NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
{
DPRINT("NtQueryInformationFile() failed (Status %lx)\n", Status);
NtClose(FileHandle);
@ -1047,13 +1042,6 @@ InfOpenFile(PHINF InfHandle,
&FileOffset,
NULL);
if (Status == STATUS_PENDING)
{
DPRINT("NtReadFile() returns STATUS_PENDING\n");
Status = IoStatusBlock.Status;
}
/* Append string terminator */
FileBuffer[FileLength] = 0;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: inicache.c,v 1.5 2003/07/24 13:52:27 ekohl Exp $
/* $Id: inicache.c,v 1.6 2003/11/08 09:13:46 ekohl Exp $
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: subsys/system/usetup/inicache.c
@ -550,7 +550,7 @@ IniCacheLoad(PINICACHE *Cache,
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ,
FILE_NON_DIRECTORY_FILE);
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE);
if (!NT_SUCCESS(Status))
{
DPRINT("NtOpenFile() failed (Status %lx)\n", Status);
@ -565,12 +565,7 @@ IniCacheLoad(PINICACHE *Cache,
&FileInfo,
sizeof(FILE_STANDARD_INFORMATION),
FileStandardInformation);
if (Status == STATUS_PENDING)
{
DPRINT("NtQueryInformationFile() returns STATUS_PENDING\n");
}
else if (!NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
{
DPRINT("NtQueryInformationFile() failed (Status %lx)\n", Status);
NtClose(FileHandle);
@ -604,13 +599,6 @@ IniCacheLoad(PINICACHE *Cache,
&FileOffset,
NULL);
if (Status == STATUS_PENDING)
{
DPRINT("NtReadFile() returns STATUS_PENDING\n");
Status = IoStatusBlock.Status;
}
/* Append string terminator */
FileBuffer[FileLength] = 0;
@ -1101,7 +1089,7 @@ IniCacheSave(PINICACHE Cache,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_SUPERSEDE,
FILE_SYNCHRONOUS_IO_ALERT | FILE_SEQUENTIAL_ONLY,
FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY,
NULL,
0);
if (!NT_SUCCESS(Status))