Annotation of mstools/samples/memory/nmmemsrv.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #include <stdlib.h>
        !             3: #include <stdarg.h>
        !             4: #include <windows.h>
        !             5: #include <string.h>
        !             6: #include <winbase.h>
        !             7: 
        !             8: extern ErrorOut();
        !             9: 
        !            10: HANDLE CreateMapFile (char *MapFileName);
        !            11: HANDLE CreateMap     (HANDLE *FileToBeMapped, char MapName[30]);
        !            12: LPVOID MapView      (HANDLE *hMap);
        !            13: 
        !            14: /**************************************************************************
        !            15:  * HANDLE CreateMapFile(char *MapFileName)
        !            16:  *
        !            17:  * Purpose: Create a Map file to map named share memory
        !            18:  *
        !            19:  * Inputs:  none
        !            20:  *
        !            21:  * Returns: MapFileHandle - a handle to the file
        !            22:  *                       or NULL if failure
        !            23:  *
        !            24:  * Calls:   CreateFile, ErrorOut
        !            25:  *
        !            26:  * History:
        !            27:  * 09-13-91 Peteg   Created.
        !            28:  *
        !            29: \**************************************************************************/
        !            30: HANDLE CreateMapFile(char *MapFileName)
        !            31: {
        !            32: //char MapFileName[30]="MapFile.001";
        !            33: HANDLE MapFileHandle;
        !            34: 
        !            35: MapFileHandle= CreateFile(MapFileName,
        !            36:                           GENERIC_READ | GENERIC_WRITE,
        !            37:                           FILE_SHARE_READ | FILE_SHARE_WRITE,
        !            38:                           NULL,
        !            39:                           CREATE_ALWAYS,
        !            40:                           FILE_ATTRIBUTE_NORMAL /* | STANDARD_RIGHTS_REQUIRED |
        !            41:                           FILE_MAP_WRITE | FILE_MAP_READ */,
        !            42:                           NULL);
        !            43: 
        !            44: if (MapFileHandle == (HANDLE)-1)
        !            45:   {
        !            46:   ErrorOut("CreateFile");
        !            47:   return(NULL);
        !            48:   }
        !            49: else
        !            50:   return(MapFileHandle);
        !            51: 
        !            52: }
        !            53: 
        !            54: /**************************************************************************
        !            55:  * HANDLE CreateMap(HANDLE *FileToBeMapped, char MapName[30] )
        !            56:  *
        !            57:  * Purpose: Create File Mapping object using the open file handle
        !            58:  *
        !            59:  * Inputs:  *FileToBeMapped - pointer to the file handle
        !            60:  *
        !            61:  * Returns: MapHandle - handle to the file mapping object
        !            62:  *                   or NULL if failure
        !            63:  *
        !            64:  * Calls:   CreateFileMapping, ErrorOut
        !            65:  *
        !            66:  * History:
        !            67:  * 09-13-91 Peteg   Created.
        !            68:  *
        !            69: \**************************************************************************/
        !            70: 
        !            71: HANDLE CreateMap(HANDLE *FileToBeMapped, char MapName[30])
        !            72: {
        !            73: //char MapNameH[30]="MapName1";
        !            74: HANDLE MapHandle;
        !            75: 
        !            76: MapHandle= CreateFileMapping(*FileToBeMapped,
        !            77:                              NULL,
        !            78:                              PAGE_READWRITE,
        !            79:                              0,
        !            80:                              4096,
        !            81:                             MapName);
        !            82: 
        !            83: if (MapHandle == NULL)
        !            84:   {
        !            85:   ErrorOut("CreateFileMapping");
        !            86:   return(NULL);
        !            87:   }
        !            88: else
        !            89:   return(MapHandle);
        !            90: 
        !            91: }
        !            92: 
        !            93: 
        !            94: /**************************************************************************
        !            95:  * LPVOID MapView(HANDLE *hMap)
        !            96:  *
        !            97:  * Purpose: Map the file mapping object into address space
        !            98:  *
        !            99:  * Inputs:  *hMap - pointer to the mapping object
        !           100:  *
        !           101:  * Returns: MappedPointer - pointer to the address space that the
        !           102:  *                       object is mapped into
        !           103:  *                       or NULL if failure
        !           104:  *
        !           105:  * Calls:   MapViewOfFile, ErrorOut
        !           106:  *
        !           107:  * History:
        !           108:  * 09-13-91 Peteg   Created.
        !           109:  *
        !           110: \**************************************************************************/
        !           111: 
        !           112: LPVOID MapView(HANDLE *hMap)
        !           113: {
        !           114: LPVOID MappedPointer;
        !           115: 
        !           116: MappedPointer= MapViewOfFile(*hMap,
        !           117:                              FILE_MAP_WRITE | FILE_MAP_READ,
        !           118:                              0,
        !           119:                              0,
        !           120:                              4096);
        !           121: if (MappedPointer == NULL)
        !           122:   {
        !           123:   ErrorOut("MapViewOfFile");
        !           124:   return(NULL);
        !           125:   }
        !           126: else
        !           127:   return(MappedPointer);
        !           128: 
        !           129: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.