Changeset 5027 for trunk/src/kernel32/mmap.cpp
- Timestamp:
- Jan 25, 2001, 9:18:05 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/mmap.cpp
r5011 r5027 1 /* $Id: mmap.cpp,v 1. 49 2001-01-22 18:26:51sandervl Exp $ */1 /* $Id: mmap.cpp,v 1.50 2001-01-25 20:18:05 sandervl Exp $ */ 2 2 3 3 /* … … 241 241 //(returned in memInfo.RegionSize) 242 242 //If it's smaller than the mNrPages, it simply means one or more of the 243 243 //other pages have already been committed 244 244 if(!(memInfo.State & MEM_COMMIT)) 245 245 { … … 247 247 goto fail; 248 248 } 249 if(!fWriteAccess) { 250 offset = pageAddr - (ULONG)pMapping; 251 size = memInfo.RegionSize; 252 if(offset + size > mSize) { 253 dprintf(("Adjusting size from %d to %d", size, mSize - offset)); 254 size = mSize - offset; 255 } 256 if(SetFilePointer(hMemFile, offset, NULL, FILE_BEGIN) != offset) { 257 dprintf(("Win32MemMap::commitPage: SetFilePointer failed to set pos to %x", offset)); 258 goto fail; 259 } 260 if(ReadFile(hMemFile, (LPSTR)pageAddr, size, &nrBytesRead, NULL) == FALSE) { 261 dprintf(("Win32MemMap::commitPage: ReadFile failed for %x", pageAddr)); 262 goto fail; 263 } 264 if(nrBytesRead != size) { 265 dprintf(("Win32MemMap::commitPage: ReadFile didn't read all bytes for %x", pageAddr)); 266 goto fail; 267 } 249 offset = pageAddr - (ULONG)pMapping; 250 size = memInfo.RegionSize; 251 if(offset + size > mSize) { 252 dprintf(("Adjusting size from %d to %d", size, mSize - offset)); 253 size = mSize - offset; 254 } 255 if(SetFilePointer(hMemFile, offset, NULL, FILE_BEGIN) != offset) { 256 dprintf(("Win32MemMap::commitPage: SetFilePointer failed to set pos to %x", offset)); 257 goto fail; 258 } 259 if(ReadFile(hMemFile, (LPSTR)pageAddr, size, &nrBytesRead, NULL) == FALSE) { 260 dprintf(("Win32MemMap::commitPage: ReadFile failed for %x", pageAddr)); 261 goto fail; 262 } 263 if(nrBytesRead != size) { 264 dprintf(("Win32MemMap::commitPage: ReadFile didn't read all bytes for %x", pageAddr)); 265 goto fail; 268 266 } 269 267 if(newProt != PAGE_READWRITE) {
Note:
See TracChangeset
for help on using the changeset viewer.