zoukankan      html  css  js  c++  java
  • Creating Named Shared Memory

    #include <windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <tchar.h>

    #define BUF_SIZE 256
    TCHAR szName[]=TEXT("Global\\MyFileMappingObject");
    TCHAR szMsg[]=TEXT("Message from first process.");

    int _tmain()
    {
       HANDLE hMapFile;
       LPCTSTR pBuf;

       hMapFile = CreateFileMapping(
                     INVALID_HANDLE_VALUE,    // use paging file
                     NULL,                    // default security
                     PAGE_READWRITE,          // read/write access
                     0,                       // maximum object size (high-order DWORD)
                     BUF_SIZE,                // maximum object size (low-order DWORD) 
                     szName);                 // name of mapping object

       if (hMapFile == NULL)
       {
          _tprintf(TEXT("Could not create file mapping object (%d).\n"),
                 GetLastError());
          return 1;
       }
       pBuf = (LPTSTR) MapViewOfFile(hMapFile,   // handle to map object
                            FILE_MAP_ALL_ACCESS, // read/write permission
                            0,                  
                            0,                  
                            BUF_SIZE);          

       if (pBuf == NULL)
       {
          _tprintf(TEXT("Could not map view of file (%d).\n"),
                 GetLastError());

       CloseHandle(hMapFile);

          return 1;
       }

      
       CopyMemory((PVOID)pBuf, szMsg, (_tcslen(szMsg) * sizeof(TCHAR)));
        _getch();

       UnmapViewOfFile(pBuf);

       CloseHandle(hMapFile);

       return 0;
    }


    #include <windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <tchar.h>
    #pragma comment(lib, "user32.lib")

    #define BUF_SIZE 256
    TCHAR szName[]=TEXT("Global\\MyFileMappingObject");

    int _tmain()
    {
       HANDLE hMapFile;
       LPCTSTR pBuf;

       hMapFile = OpenFileMapping(
                       FILE_MAP_ALL_ACCESS,   // read/write access
                       FALSE,                 // do not inherit the name
                       szName);               // name of mapping object

       if (hMapFile == NULL)
       {
          _tprintf(TEXT("Could not open file mapping object (%d).\n"),
                 GetLastError());
          return 1;
       }

       pBuf = (LPTSTR) MapViewOfFile(hMapFile, // handle to map object
                   FILE_MAP_ALL_ACCESS,  // read/write permission
                   0,                   
                   0,                   
                   BUF_SIZE);                  

       if (pBuf == NULL)
       {
          _tprintf(TEXT("Could not map view of file (%d).\n"),
                 GetLastError());

      CloseHandle(hMapFile);

          return 1;
       }

       MessageBox(NULL, pBuf, TEXT("Process2"), MB_OK);

       UnmapViewOfFile(pBuf);

       CloseHandle(hMapFile);

       return 0;
    }

  • 相关阅读:
    重链剖分的总结与模板
    PBDS学习笔记(一)
    LCT 第一题 洛谷模板
    2018年暑假第四次周赛-图论部分题解
    后缀数组求不同子串的个数
    Codeforces Round #106 (Div. 2) Coloring Brackets(区间DP)
    Codeforces Round #510 (Div. 2) D. Petya and Array (权值线段树)
    HDU 3974 Assign the task (dfs序+线段树)
    Manthan, Codefest 18 (rated, Div. 1 + Div. 2) D.Valid BFS? (模拟)
    POJ
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1872839.html
Copyright © 2011-2022 走看看