Ignore:
Timestamp:
Dec 9, 1999, 8:08:29 PM (26 years ago)
Author:
sandervl
Message:

Read/WriteFile return value type changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/hmopen32.cpp

    r1811 r2050  
    1 /* $Id: hmopen32.cpp,v 1.14 1999-11-22 20:35:49 sandervl Exp $ */
     1/* $Id: hmopen32.cpp,v 1.15 1999-12-09 19:08:28 sandervl Exp $ */
    22
    33/*
     
    251251
    252252/*****************************************************************************
    253  * Name      : DWORD HMDeviceOpen32Class::ReadFile
     253 * Name      : BOOL HMDeviceOpen32Class::ReadFile
    254254 * Purpose   : read data from handle / device
    255255 * Parameters: PHMHANDLEDATA pHMHandleData,
     
    259259 *             LPOVERLAPPED  lpOverlapped
    260260 * Variables :
    261  * Result    : API returncode
     261 * Result    : Boolean
    262262 * Remark    :
    263263 * Status    :
     
    266266 *****************************************************************************/
    267267
    268 DWORD HMDeviceOpen32Class::ReadFile(PHMHANDLEDATA pHMHandleData,
    269                                     LPCVOID       lpBuffer,
    270                                     DWORD         nNumberOfBytesToRead,
    271                                     LPDWORD       lpNumberOfBytesRead,
    272                                     LPOVERLAPPED  lpOverlapped)
     268BOOL HMDeviceOpen32Class::ReadFile(PHMHANDLEDATA pHMHandleData,
     269                                   LPCVOID       lpBuffer,
     270                                   DWORD         nNumberOfBytesToRead,
     271                                   LPDWORD       lpNumberOfBytesRead,
     272                                   LPOVERLAPPED  lpOverlapped)
    273273{
    274274  BOOL bRC;
     
    284284
    285285#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 
    286306  bRC = O32_ReadFile(pHMHandleData->hHMHandle,
    287                      (PVOID)lpBuffer,
     307                     (PVOID)lpRealBuf,
    288308                     nNumberOfBytesToRead,
    289309                     lpNumberOfBytesRead,
     
    298318                   bRC));
    299319
    300   return (DWORD)bRC;
     320  return bRC;
    301321#else
    302322  rc = OSLibDosRead(pHMHandleData->hHMHandle,
     
    319339
    320340/*****************************************************************************
    321  * Name      : DWORD HMDeviceOpen32Class::WriteFile
     341 * Name      : BOOL HMDeviceOpen32Class::WriteFile
    322342 * Purpose   : write data to handle / device
    323343 * Parameters: PHMHANDLEDATA pHMHandleData,
     
    327347 *             LPOVERLAPPED  lpOverlapped
    328348 * Variables :
    329  * Result    : API returncode
     349 * Result    : Boolean
    330350 * Remark    :
    331351 * Status    :
     
    334354 *****************************************************************************/
    335355
    336 DWORD HMDeviceOpen32Class::WriteFile(PHMHANDLEDATA pHMHandleData,
    337                                  LPCVOID       lpBuffer,
    338                                  DWORD         nNumberOfBytesToWrite,
    339                                  LPDWORD       lpNumberOfBytesWritten,
    340                                  LPOVERLAPPED  lpOverlapped)
     356BOOL HMDeviceOpen32Class::WriteFile(PHMHANDLEDATA pHMHandleData,
     357                                    LPCVOID       lpBuffer,
     358                                    DWORD         nNumberOfBytesToWrite,
     359                                    LPDWORD       lpNumberOfBytesWritten,
     360                                    LPOVERLAPPED  lpOverlapped)
    341361{
    342362  BOOL bRC;
     
    360380           bRC));
    361381
    362   return (DWORD)bRC;
     382  return bRC;
    363383#else
    364384  rc = OSLibDosWrite(pHMHandleData->hHMHandle,
Note: See TracChangeset for help on using the changeset viewer.