Changeset 2050 for trunk/src/kernel32/hmopen32.cpp
- Timestamp:
- Dec 9, 1999, 8:08:29 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/hmopen32.cpp
r1811 r2050 1 /* $Id: hmopen32.cpp,v 1.1 4 1999-11-22 20:35:49sandervl Exp $ */1 /* $Id: hmopen32.cpp,v 1.15 1999-12-09 19:08:28 sandervl Exp $ */ 2 2 3 3 /* … … 251 251 252 252 /***************************************************************************** 253 * Name : DWORDHMDeviceOpen32Class::ReadFile253 * Name : BOOL HMDeviceOpen32Class::ReadFile 254 254 * Purpose : read data from handle / device 255 255 * Parameters: PHMHANDLEDATA pHMHandleData, … … 259 259 * LPOVERLAPPED lpOverlapped 260 260 * Variables : 261 * Result : API returncode261 * Result : Boolean 262 262 * Remark : 263 263 * Status : … … 266 266 *****************************************************************************/ 267 267 268 DWORDHMDeviceOpen32Class::ReadFile(PHMHANDLEDATA pHMHandleData,269 270 271 272 268 BOOL HMDeviceOpen32Class::ReadFile(PHMHANDLEDATA pHMHandleData, 269 LPCVOID lpBuffer, 270 DWORD nNumberOfBytesToRead, 271 LPDWORD lpNumberOfBytesRead, 272 LPOVERLAPPED lpOverlapped) 273 273 { 274 274 BOOL bRC; … … 284 284 285 285 #if 1 286 Win32MemMap *map; 287 DWORD offset; 288 289 //SvL: DosRead doesn't like writing to memory addresses returned by 290 // DosAliasMem -> search for original memory mapped pointer and use 291 // that one 292 map = Win32MemMapView::findMapByView((ULONG)lpBuffer, &offset, MEMMAP_ACCESS_READ); 293 if(map) { 294 lpRealBuf = (LPVOID)((ULONG)map->getMappingAddr() + offset); 295 DWORD nrpages = nNumberOfBytesToRead/4096; 296 if(offset & 0xfff) 297 nrpages++; 298 else 299 if(nNumberOfBytesToRead & 0xfff) 300 nrpages++; 301 302 map->commitPage(offset & ~0xfff, TRUE, nrpages); 303 } 304 else lpRealBuf = (LPVOID)lpBuffer; 305 286 306 bRC = O32_ReadFile(pHMHandleData->hHMHandle, 287 (PVOID)lp Buffer,307 (PVOID)lpRealBuf, 288 308 nNumberOfBytesToRead, 289 309 lpNumberOfBytesRead, … … 298 318 bRC)); 299 319 300 return (DWORD)bRC;320 return bRC; 301 321 #else 302 322 rc = OSLibDosRead(pHMHandleData->hHMHandle, … … 319 339 320 340 /***************************************************************************** 321 * Name : DWORDHMDeviceOpen32Class::WriteFile341 * Name : BOOL HMDeviceOpen32Class::WriteFile 322 342 * Purpose : write data to handle / device 323 343 * Parameters: PHMHANDLEDATA pHMHandleData, … … 327 347 * LPOVERLAPPED lpOverlapped 328 348 * Variables : 329 * Result : API returncode349 * Result : Boolean 330 350 * Remark : 331 351 * Status : … … 334 354 *****************************************************************************/ 335 355 336 DWORDHMDeviceOpen32Class::WriteFile(PHMHANDLEDATA pHMHandleData,337 LPCVOID lpBuffer,338 DWORD nNumberOfBytesToWrite,339 LPDWORD lpNumberOfBytesWritten,340 LPOVERLAPPED lpOverlapped)356 BOOL HMDeviceOpen32Class::WriteFile(PHMHANDLEDATA pHMHandleData, 357 LPCVOID lpBuffer, 358 DWORD nNumberOfBytesToWrite, 359 LPDWORD lpNumberOfBytesWritten, 360 LPOVERLAPPED lpOverlapped) 341 361 { 342 362 BOOL bRC; … … 360 380 bRC)); 361 381 362 return (DWORD)bRC;382 return bRC; 363 383 #else 364 384 rc = OSLibDosWrite(pHMHandleData->hHMHandle,
Note:
See TracChangeset
for help on using the changeset viewer.