Annotation of mstools/samples/memory/nmmemsrv.c, revision 1.1.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.