Ignore:
Timestamp:
Aug 25, 1999, 12:28:41 PM (26 years ago)
Author:
sandervl
Message:

Put back handlemanager changes + memory mapped file changes

File:
1 edited

Legend:

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

    r675 r678  
    1 /* $Id: hmmmap.cpp,v 1.3 1999-08-25 10:23:34 phaller Exp $ */
     1/* $Id: hmmmap.cpp,v 1.4 1999-08-25 10:28:40 sandervl Exp $ */
    22
    33/*
     
    4747//******************************************************************************
    4848DWORD HMDeviceMemMapClass::CreateFileMapping(PHMHANDLEDATA         pHMHandleData,
    49                                              HFILE hFile,
     49                                             HFILE hFile, 
    5050                                             SECURITY_ATTRIBUTES *sa, /* [in] Optional security attributes*/
    5151                                             DWORD protect,   /* [in] Protection for mapping object */
    5252                                             DWORD size_high, /* [in] High-order 32 bits of object size */
    5353                                             DWORD size_low,  /* [in] Low-order 32 bits of object size */
    54                                              LPCSTR name)     /* [in] Name of file-mapping object */
     54                                             LPCSTR name)     /* [in] Name of file-mapping object */ 
    5555{
    56   Win32MemMap *map;
    57 
    58   dprintf(("KERNEL32::HMDeviceMemMapClass::CreateFileMapping(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh,%s)\n",
    59            pHMHandleData,
    60            hFile,
    61            sa,
    62            protect,
    63            size_high,
    64            size_low,
    65            name));
     56 Win32MemMap *map;
    6657
    6758  if((hFile == -1 && size_low == 0) || size_high ||
    6859     protect & (PAGE_READONLY|PAGE_READWRITE|PAGE_WRITECOPY|SEC_COMMIT|SEC_IMAGE|SEC_RESERVE|SEC_NOCACHE) ||
    69      ((protect & SEC_COMMIT) && (protect & SEC_RESERVE)))
     60     (protect & (PAGE_READONLY|PAGE_READWRITE|PAGE_WRITECOPY)) == 0 ||
     61     (hFile == -1 && (protect & SEC_COMMIT)) ||
     62     ((protect & SEC_COMMIT) && (protect & SEC_RESERVE)))
    7063  {
    7164
     
    7972        dprintf(("CreateFileMappingA: can't create Win32MemMap object!"));
    8073        return ERROR_OUTOFMEMORY;
    81   }
     74  } 
    8275
    8376  if(map->Init(pHMHandleData->hHMHandle) == FALSE) {
     
    9790                                           LPCSTR name )   /* [in] Name of file-mapping object */
    9891{
    99   Win32MemMap *map;
    100   DWORD        protflags;
    101 
    102   dprintf(("KERNEL32::HMDeviceMemMapClass::OpenFileMapping(%08xh,%08xh,%08xh,%08xh\n",
    103            pHMHandleData,
    104            access,
    105            inherit,
    106            name));
    107 
     92 Win32MemMap *map;
     93 DWORD        protflags;
    10894
    10995  if(name == NULL)
     
    171157//******************************************************************************
    172158//******************************************************************************
    173 LPVOID HMDeviceMemMapClass::MapViewOfFile(PHMHANDLEDATA pHMHandleData,
    174                                       DWORD         dwDesiredAccess,
    175                                       DWORD         dwFileOffsetHigh,
    176                                       DWORD         dwFileOffsetLow,
    177                                       DWORD         dwNumberOfBytesToMap)
    178 {
    179   dprintf(("KERNEL32: HMDeviceMemMapClass::MapViewOfFile(%08xh,%08xh,%08xh,%08xh,%08xh)\n",
    180            pHMHandleData->hHMHandle,
    181            dwDesiredAccess,
    182            dwFileOffsetHigh,
    183            dwFileOffsetLow,
    184            dwNumberOfBytesToMap));
    185 
    186   return MapViewOfFileEx(pHMHandleData,
    187                          dwDesiredAccess,
    188                          dwFileOffsetHigh,
    189                          dwFileOffsetLow,
    190                          dwNumberOfBytesToMap,
    191                          NULL);
    192 }
    193 
    194 //******************************************************************************
    195 //******************************************************************************
    196159DWORD HMDeviceMemMapClass::CloseHandle(PHMHANDLEDATA pHMHandleData)
    197160{
    198161 Win32MemMap *map;
    199162
    200   if(pHMHandleData->dwUserData == NULL || pHMHandleData->dwInternalType != HMTYPE_MEMMAP)
    201   {     
    202     dprintf(("KERNEL32: HMDeviceMemMapClass:MapViewOfFileEx: invalid handle data!"));
    203     return ERROR_INVALID_HANDLE;
     163  if(pHMHandleData->dwUserData == NULL || pHMHandleData->dwInternalType != HMTYPE_MEMMAP) {
     164        dprintf(("MapViewOfFileEx: invalid handle data!"));
     165        return ERROR_INVALID_HANDLE;
    204166  }
    205167  map = (Win32MemMap *)pHMHandleData->dwUserData;
     
    210172//******************************************************************************
    211173//******************************************************************************
    212 
    213 
    214 /*****************************************************************************
    215  * Name      : DWORD HMDeviceHandler::findByBaseAddress
    216  * Purpose   : identify a memmap object by its base address
    217  * Parameters: LPVOID        lpBaseAddress
    218  * Variables :
    219  * Result    : PHMHANDLEDATA pHMHandleData
    220  * Remark    :
    221  * Status    :
    222  *
    223  * Author    : Patrick Haller [Wed, 1999/06/17 20:44]
    224  *****************************************************************************/
    225 
    226 int HMDeviceMemMapClass::findByBaseAddress(LPVOID lpBaseAddress)
    227 {
    228   dprintf(("KERNEL32: HMDeviceMemMapClass::findByBaseAddress(%08xh) not implemented\n",
    229            lpBaseAddress));
    230 
    231   return -1;
    232 }
    233 
    234 
    235 /*****************************************************************************
    236  * Name      : DWORD HMDeviceHandler::UnmapViewOfFile
    237  * Purpose   : map memory mapped file
    238  * Parameters: PHMHANDLEDATA pHMHandleData
    239  *             LPVOID        lpBaseAddress
    240  * Variables :
    241  * Result    : address to memory mapped region
    242  * Remark    :
    243  * Status    :
    244  *
    245  * Author    : Patrick Haller [Wed, 1999/06/17 20:44]
    246  *****************************************************************************/
    247 
    248 BOOL HMDeviceMemMapClass::UnmapViewOfFile(PHMHANDLEDATA pHMHandleData,
    249                                           LPVOID        lpBaseAddress)
    250 {
    251   dprintf(("KERNEL32: HMDeviceMemMapClass::UnmapViewOfFile(%08xh,%08xh) not implemented\n",
    252            pHMHandleData->hHMHandle,
    253            lpBaseAddress));
    254 
    255   return(FALSE);
    256 }
    257 
    258 
    259 /*****************************************************************************
    260  * Name      : DWORD HMDeviceHandler::FlushViewOfFile
    261  * Purpose   : map memory mapped file
    262  * Parameters: PHMHANDLEDATA pHMHandleData
    263  *             LPVOID        lpBaseAddress
    264  *             DWORD         dwNumberOfBytesToFlush
    265  * Variables :
    266  * Result    : address to memory mapped region
    267  * Remark    :
    268  * Status    :
    269  *
    270  * Author    : Patrick Haller [Wed, 1999/06/17 20:44]
    271  *****************************************************************************/
    272 
    273 BOOL HMDeviceMemMapClass::FlushViewOfFile(PHMHANDLEDATA pHMHandleData,
    274                                           LPVOID        lpBaseAddress,
    275                                           DWORD         dwNumberOfBytesToFlush)
    276 {
    277   dprintf(("KERNEL32: HMDeviceMemMapClass::FlushViewOfFile(%08xh,%08xh,%08xh) not implemented\n",
    278            pHMHandleData->hHMHandle,
    279            lpBaseAddress,
    280            dwNumberOfBytesToFlush));
    281 
    282   return(FALSE);
    283 }
    284 
    285 
Note: See TracChangeset for help on using the changeset viewer.