+++ /dev/null
-/*
- * COPYRIGHT: GPL - See COPYING in the top level directory
- * PROJECT: ReactOS Virtual DOS Machine
- * FILE: subsystems/mvdm/ntvdm/utils.c
- * PURPOSE: Utility Functions
- * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
- */
-
-/* INCLUDES *******************************************************************/
-
-#include "ntvdm.h"
-
-#define NDEBUG
-#include <debug.h>
-
-/* PRIVATE FUNCTIONS **********************************************************/
-
-/* PUBLIC FUNCTIONS ***********************************************************/
-
-VOID
-FileClose(IN HANDLE FileHandle)
-{
- CloseHandle(FileHandle);
-}
-
-HANDLE
-FileOpen(IN PCSTR FileName,
- OUT PULONG FileSize OPTIONAL)
-{
- HANDLE hFile;
- ULONG ulFileSize;
-
- /* Open the file */
- SetLastError(0); // For debugging purposes
- hFile = CreateFileA(FileName,
- GENERIC_READ,
- FILE_SHARE_READ,
- NULL,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
- DPRINT1("File '%s' opening %s ; GetLastError() = %u\n",
- FileName, hFile != INVALID_HANDLE_VALUE ? "succeeded" : "failed", GetLastError());
-
- /* If we failed, bail out */
- if (hFile == INVALID_HANDLE_VALUE) return NULL;
-
- /* OK, we have a handle to the file */
-
- /*
- * Retrieve the size of the file. In NTVDM we will handle files
- * of maximum 1Mb so we can largely use GetFileSize only.
- */
- ulFileSize = GetFileSize(hFile, NULL);
- if (ulFileSize == INVALID_FILE_SIZE && GetLastError() != ERROR_SUCCESS)
- {
- /* We failed, bail out */
- DPRINT1("Error when retrieving file size, or size too large (%d)\n", ulFileSize);
- FileClose(hFile);
- return NULL;
- }
-
- /* Success, return file handle and size if needed */
- if (FileSize) *FileSize = ulFileSize;
- return hFile;
-}
-
-BOOLEAN
-FileLoadByHandle(IN HANDLE FileHandle,
- IN PVOID Location,
- IN ULONG FileSize,
- OUT PULONG BytesRead)
-{
- BOOLEAN Success;
-
- /* Attempt to load the file into memory */
- SetLastError(0); // For debugging purposes
- Success = !!ReadFile(FileHandle,
- Location, // REAL_TO_PHYS(LocationRealPtr),
- FileSize,
- BytesRead,
- NULL);
- DPRINT1("File loading %s ; GetLastError() = %u\n", Success ? "succeeded" : "failed", GetLastError());
-
- return Success;
-}
-
-/* EOF */