Changeset 2264 for trunk/src


Ignore:
Timestamp:
Dec 30, 1999, 12:19:54 PM (26 years ago)
Author:
sandervl
Message:

Implemented SEC_COMMIT flag for memory maps

Location:
trunk/src/kernel32
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/KERNEL32.DEF

    r2213 r2264  
    1 ; $Id: KERNEL32.DEF,v 1.61 1999-12-27 18:42:25 sandervl Exp $
     1; $Id: KERNEL32.DEF,v 1.62 1999-12-30 11:19:53 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    140140; name exports
    141141;--------------
     142
     143;;Not supported; just present
     144     LoadLibrary16              = _LoadLibrary16@4                @35
     145     FreeLibrary16              = _FreeLibrary16@4                @36
     146     GetProcAddress16           = _GetProcAddress16@8             @37
    142147
    143148;;     WrongComctl32@0 @36
     
    10331038    LocalToWideChar            = _LocalToWideChar@12              @1250
    10341039
    1035     _VIRTUAL_MapFileA@8              @1251
    1036     _VIRTUAL_MapFileW@8              @1252
     1040    _VIRTUAL_MapFileA@12              @1251
     1041    _VIRTUAL_MapFileW@12              @1252
    10371042
    10381043    OS2SetExceptionHandler                                        @1253
  • trunk/src/kernel32/mmap.cpp

    r2077 r2264  
    1 /* $Id: mmap.cpp,v 1.30 1999-12-14 19:14:28 sandervl Exp $ */
     1/* $Id: mmap.cpp,v 1.31 1999-12-30 11:19:53 sandervl Exp $ */
    22
    33/*
     
    338338        }
    339339        //Windows NT seems to commit memory for memory maps, regardsless of the SEC_COMMIT flag
    340         if(hMemFile == -1 && !image) {//commit memory
     340        if((hMemFile == -1 && !image)) {//commit memory
    341341                VirtualAlloc(pMapping, mSize, MEM_COMMIT, PAGE_READWRITE);
     342        }
     343        if(hMemFile && (mProtFlags & SEC_COMMIT)) {
     344                DWORD nrPages = mSize >> PAGE_SHIFT;
     345                if(mSize & 0xFFF)
     346                        nrPages++;
     347
     348                commitPage(0, FALSE, nrPages);
    342349        }
    343350  }
  • trunk/src/kernel32/mmap.h

    r2072 r2264  
    1 /* $Id: mmap.h,v 1.13 1999-12-14 12:50:46 sandervl Exp $ */
     1/* $Id: mmap.h,v 1.14 1999-12-30 11:19:54 sandervl Exp $ */
    22
    33/*
     
    1717
    1818#ifndef PAGE_SIZE
    19 #define PAGE_SIZE   4096
     19#define PAGE_SIZE       4096
     20#endif
     21#ifndef PAGE_SHIFT
     22#define PAGE_SHIFT      12
    2023#endif
    2124
  • trunk/src/kernel32/virtual.cpp

    r2001 r2264  
    1 /* $Id: virtual.cpp,v 1.25 1999-12-06 21:31:43 sandervl Exp $ */
     1/* $Id: virtual.cpp,v 1.26 1999-12-30 11:19:54 sandervl Exp $ */
    22
    33/*
     
    212212 *  [RETURN] ptr                -       pointer to mapped file
    213213 */
    214 HANDLE WINAPI VIRTUAL_MapFileW( LPCWSTR name , LPVOID *lpMapping)
     214HANDLE WINAPI VIRTUAL_MapFileW( LPCWSTR name , LPVOID *lpMapping, BOOL fReadIntoMemory)
    215215{
    216216    HANDLE hFile, hMapping = -1;
     
    220220    if (hFile != INVALID_HANDLE_VALUE)
    221221    {
    222         hMapping = CreateFileMappingA( hFile, NULL, PAGE_READONLY, 0, 0, NULL );
     222        hMapping = CreateFileMappingA( hFile, NULL, PAGE_READONLY | ((fReadIntoMemory) ? SEC_COMMIT : 0), 0, 0, NULL );
    223223        CloseHandle( hFile );
    224224        if (hMapping != INVALID_HANDLE_VALUE)
     
    237237 *  [RETURN] ptr                -       pointer to mapped file
    238238 */
    239 HANDLE WINAPI VIRTUAL_MapFileA( LPCSTR name , LPVOID *lpMapping)
     239HANDLE WINAPI VIRTUAL_MapFileA( LPCSTR name , LPVOID *lpMapping, BOOL fReadIntoMemory)
    240240{
    241241    HANDLE hFile, hMapping = -1;
     
    245245    if (hFile != INVALID_HANDLE_VALUE)
    246246    {
    247         hMapping = CreateFileMappingA( hFile, NULL, PAGE_READONLY, 0, 0, NULL );
     247        hMapping = CreateFileMappingA( hFile, NULL, PAGE_READONLY | ((fReadIntoMemory) ? SEC_COMMIT : 0), 0, 0, NULL );
    248248        CloseHandle( hFile );
    249249        if (hMapping != INVALID_HANDLE_VALUE)
  • trunk/src/kernel32/wprocess.cpp

    r2144 r2264  
    1 /* $Id: wprocess.cpp,v 1.61 1999-12-19 19:54:32 sandervl Exp $ */
     1/* $Id: wprocess.cpp,v 1.62 1999-12-30 11:19:54 sandervl Exp $ */
    22
    33/*
     
    450450//******************************************************************************
    451451//******************************************************************************
     452HINSTANCE16 WIN32API LoadLibrary16(LPCTSTR lpszLibFile)
     453{
     454        dprintf(("ERROR: LoadLibrary16 %s, not implemented", lpszLibFile));
     455        return 0;
     456}
     457//******************************************************************************
     458//******************************************************************************
     459VOID WIN32API FreeLibrary16(HINSTANCE16 hinstance)
     460{
     461        dprintf(("ERROR: FreeLibrary16 %x, not implemented", hinstance));
     462}
     463//******************************************************************************
     464//******************************************************************************
     465FARPROC WIN32API GetProcAddress16(HMODULE hModule, LPCSTR lpszProc)
     466{
     467        dprintf(("ERROR: GetProcAddress16 %x %x, not implemented", hModule, lpszProc));
     468        return 0;
     469}
     470//******************************************************************************
     471//******************************************************************************
    452472HINSTANCE WIN32API LoadLibraryA(LPCTSTR lpszLibFile)
    453473{
Note: See TracChangeset for help on using the changeset viewer.