imagehlp: Make use of the bReadOnly parameter in MapAndLoad.

This commit is contained in:
Eric Pouech 2007-01-03 14:39:33 +01:00 committed by Alexandre Julliard
parent 4950d3deb2
commit 2d6e914bc0
1 changed files with 7 additions and 3 deletions

View File

@ -164,7 +164,9 @@ BOOL WINAPI MapAndLoad(LPSTR pszImageName, LPSTR pszDllPath, PLOADED_IMAGE pLoad
goto Error;
}
hFile = CreateFileA(szFileName, GENERIC_READ, FILE_SHARE_READ,
hFile = CreateFileA(szFileName,
GENERIC_READ | (bReadOnly ? 0 : GENERIC_WRITE),
FILE_SHARE_READ,
NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
@ -172,14 +174,16 @@ BOOL WINAPI MapAndLoad(LPSTR pszImageName, LPSTR pszDllPath, PLOADED_IMAGE pLoad
goto Error;
}
hFileMapping = CreateFileMappingA(hFile, NULL, PAGE_READONLY | SEC_COMMIT, 0, 0, NULL);
hFileMapping = CreateFileMappingA(hFile, NULL,
(bReadOnly ? PAGE_READONLY : PAGE_READWRITE) | SEC_COMMIT,
0, 0, NULL);
if (!hFileMapping)
{
WARN("CreateFileMapping: Error = %d\n", GetLastError());
goto Error;
}
mapping = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0);
mapping = MapViewOfFile(hFileMapping, bReadOnly ? FILE_MAP_READ : FILE_MAP_WRITE, 0, 0, 0);
CloseHandle(hFileMapping);
if (!mapping)
{