青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

統計

  • 隨筆 - 50
  • 文章 - 42
  • 評論 - 147
  • 引用 - 0

留言簿(6)

隨筆分類

文章分類

Link

搜索

  •  

積分與排名

  • 積分 - 166566
  • 排名 - 159

最新評論

閱讀排行榜

評論排行榜

創建一塊命名的進程共享存儲空間

多個進程可以通過在系統頁面文件中存儲的內存映射文件來實現多個進程共享數據。

第一個進程

The first process creates the file mapping object by calling the CreateFileMapping function with INVALID_HANDLE_VALUE and a name for the object. By using the PAGE_READWRITE flag, the process has read/write permission to the memory through any file views that are created.

Then the process uses the file mapping object handle that CreateFileMapping returns in a call to MapViewOfFile to create a view of the file in the process address space. The MapViewOfFile function returns a pointer to the file view, pBuf. The process then uses the CopyMemory function to write a string to the view that can be accessed by other processes.

When the process no longer needs access to the file mapping object, it should call the CloseHandle function. When all handles are closed, the system can free the section of the paging file that the object uses.

第一個進程通過調用以INVALID_HANDLE_VALUE 為參數的CreateFileMapping方法創建一個命名的內存映射文件對象。通過使用PAGE_READWRITE 標識,進程可通過任何以創建文件視圖獲得文件讀寫權限。
然后進程使用CreateFileMapping 返回的對象句柄作為參數調用MapViewOfFile 方法在進程地址空間內創建一個文件視圖。MapViewOfFile 返回一個文件視圖的指針。進程可以調用CopyMemory 方法寫一段字串到文件視圖,而該視圖可以被其他進程訪問。
當進程不在需要訪文件映射對象是,應該調用CloseHandle 方法。當所有的進程都關閉后,系統會釋放對象所使用的頁面文件。
 1#include <windows.h>
 2#include <stdio.h>
 3#include <conio.h>
 4
 5#define BUF_SIZE 256
 6TCHAR szName[]=TEXT("Global\\MyFileMappingObject");
 7TCHAR szMsg[]=TEXT("Message from first process");
 8
 9int main()
10{
11   HANDLE hMapFile;
12   LPCTSTR pBuf;
13
14   hMapFile = CreateFileMapping(
15                 INVALID_HANDLE_VALUE,    // use paging file使用系統頁面文件
16                 NULL,                    // default security 
17                 PAGE_READWRITE,          // read/write access
18                 0,                       // max. object size 
19                 BUF_SIZE,                // buffer size  
20                 szName);                 // name of mapping object
21 
22   if (hMapFile == NULL) 
23   
24      printf("Could not create file mapping object (%d).\n"
25             GetLastError());
26      return 1;
27   }

28   pBuf = (LPTSTR) MapViewOfFile(hMapFile,   // handle to map object
29                        FILE_MAP_ALL_ACCESS, // read/write permission
30                        0,                   
31                        0,                   
32                        BUF_SIZE);           
33 
34   if (pBuf == NULL) 
35   
36      printf("Could not map view of file (%d).\n"
37             GetLastError()); 
38      return 2;
39   }

40
41   
42   CopyMemory((PVOID)pBuf, szMsg, strlen(szMsg));
43   _getch();
44
45   UnmapViewOfFile(pBuf);
46
47   CloseHandle(hMapFile);
48
49   return 0;
50}

51

第二個進程

A second process can access the string written to the shared memory by the first process by calling the OpenFileMapping function specifying the same name for the mapping object as the first process. Then it can use the MapViewOfFile function to obtain a pointer to the file view, pBuf. The process can display this string as it would any other string. In this example, the message box displayed contains the message "Message from first process" that was written by the first process.
第二個進程可以通過OpenFileMapping 方法并且指定與第一個進程中相同的內存映射文件對象名稱來訪問共享內存中的字串。然后可通過MapViewOfFile 方法得到文件視圖的指針pBuf

 1#include <windows.h>
 2#include <stdio.h>
 3#include <conio.h>
 4
 5#define BUF_SIZE 256
 6TCHAR szName[]=TEXT("Global\\MyFileMappingObject");
 7
 8int main()
 9{
10   HANDLE hMapFile;
11   LPCTSTR pBuf;
12
13   hMapFile = OpenFileMapping(
14                   FILE_MAP_ALL_ACCESS,   // read/write access
15                   FALSE,                 // do not inherit the name
16                   szName);               // name of mapping object 
17 
18   if (hMapFile == NULL) 
19   
20      printf("Could not open file mapping object (%d).\n"
21             GetLastError());
22      return 1;
23   }
 
24 
25   pBuf = (LPTSTR) MapViewOfFile(hMapFile, // handle to map object
26               FILE_MAP_ALL_ACCESS,  // read/write permission
27               0,                    
28               0,                    
29               BUF_SIZE);                   
30 
31   if (pBuf == NULL) 
32   
33      printf("Could not map view of file (%d).\n"
34             GetLastError()); 
35      return 2;
36   }

37
38   MessageBox(NULL, pBuf, TEXT("Process2"), MB_OK);
39
40   UnmapViewOfFile(pBuf);
41
42   CloseHandle(hMapFile);
43 
44   return 0;
45}

46

更多內容參照http://baike.baidu.com/view/394293.htm

posted on 2008-11-27 22:51 pear_li 閱讀(530) 評論(0)  編輯 收藏 引用 所屬分類: windows kernel

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区伦理| 亚洲精品男同| 欧美激情一区在线| 欧美日韩的一区二区| 亚洲黄色成人久久久| 亚洲一二三区精品| 久久尤物视频| 久久久亚洲影院你懂的| 国产欧美一级| 亚洲欧美成人一区二区三区| 美国十次了思思久久精品导航| 亚洲福利国产精品| 欧美成人高清| 欧美国产一区二区在线观看| 欧美日韩小视频| 亚洲在线国产日韩欧美| 久久激情一区| 午夜精品久久久99热福利| 狠狠综合久久av一区二区小说| 久久国产精品高清| 亚洲激情自拍| 久久成人18免费网站| 亚洲狼人精品一区二区三区| 久久精品二区亚洲w码| 久久riav二区三区| 另类春色校园亚洲| 午夜精品久久久久久久久久久| 亚洲国产精品va在看黑人| 国产精品成人免费视频| 欧美11—12娇小xxxx| 亚洲一区二区免费看| 日韩午夜中文字幕| 99视频精品全部免费在线| 欧美日韩一区二| 国产精品久久波多野结衣| 欧美www视频在线观看| 久久综合激情| 亚洲欧美日韩一区| 欧美一区网站| 亚洲国产欧美久久| 亚洲国产精品免费| 亚洲精品一区二区三区婷婷月 | 久久精品视频播放| 毛片av中文字幕一区二区| 亚洲高清自拍| 亚洲美女诱惑| 亚洲精品一线二线三线无人区| 欧美精品一区二区三区蜜臀 | 久久久久网站| 米奇777超碰欧美日韩亚洲| 欧美第一黄色网| 欧美日韩一区二区三区免费| 在线观看一区| 99精品视频免费观看| 欧美一区二区私人影院日本| 久久国产乱子精品免费女 | 亚洲国产欧洲综合997久久| 亚洲人成人99网站| 久久久噜噜噜久久中文字免| 男男成人高潮片免费网站| 欧美激情aⅴ一区二区三区| 国产一区二区三区在线观看视频 | 欧美性一区二区| 欧美成人精品不卡视频在线观看| 久久男女视频| 久久久精品性| 欧美日韩国语| 免费成人你懂的| 久久久久久亚洲精品不卡4k岛国| 久久精品国产亚洲a| 欧美日韩国产a| 国产一本一道久久香蕉| 久久久久国产精品午夜一区| 中文无字幕一区二区三区| 欧美亚洲网站| 99av国产精品欲麻豆| 欧美国产专区| 另类人畜视频在线| 久久久久久精| 91久久精品www人人做人人爽| 亚洲欧美一区二区三区久久 | 亚洲欧美在线一区二区| 91久久在线| 亚洲国内精品在线| 亚洲欧洲在线免费| 久久综合一区二区三区| 欧美日韩爆操| 欧美顶级大胆免费视频| 亚洲品质自拍| 亚洲午夜精品网| 亚洲精品乱码久久久久久| 亚洲日韩成人| 麻豆精品在线视频| 亚洲午夜激情在线| 欧美一级午夜免费电影| 欧美一区综合| 亚洲视频在线观看网站| 香蕉久久夜色精品国产| 亚洲精品日韩激情在线电影| 久久久蜜桃一区二区人| 久久久国际精品| 黄色国产精品| 欧美护士18xxxxhd| 亚洲电影免费观看高清完整版在线| 欧美日韩中字| 亚洲国产精品美女| 亚洲精品免费在线| 欧美日韩在线观看一区二区| 91久久精品美女| 欧美aⅴ99久久黑人专区| 国产精品剧情在线亚洲| 一本色道久久88精品综合| 亚洲午夜黄色| 欧美精品尤物在线| 亚洲午夜精品17c| 久久综合九色综合网站| 国产乱肥老妇国产一区二 | 亚洲成人在线免费| 欧美日韩亚洲综合在线| 老司机免费视频久久| 先锋亚洲精品| 亚洲福利视频免费观看| 欧美色视频一区| 欧美大片在线影院| 久久国产精品久久国产精品| 日韩视频在线一区二区| 日韩视频在线观看一区二区| 国产日韩欧美一区二区三区在线观看| 亚洲国产天堂久久综合网| 亚洲欧美日本在线| 亚洲激情视频网| 久久午夜色播影院免费高清| 亚洲乱码国产乱码精品精| 欧美国产精品劲爆| 久久久青草婷婷精品综合日韩 | 国产精品热久久久久夜色精品三区| 欧美一级视频| 午夜一区二区三区在线观看 | 一本色道久久综合亚洲精品按摩| 狠色狠色综合久久| 一色屋精品视频免费看| 欧美色欧美亚洲另类七区| 国产精品综合视频| 国产欧美日韩综合一区在线播放| 欧美激情精品久久久久久变态 | 亚洲午夜一区| 亚洲精选在线观看| 亚洲欧美日韩国产一区二区| 亚洲欧美成人一区二区三区| 欧美 日韩 国产 一区| 久久精品成人| 国产欧美三级| 亚洲精选视频免费看| 一区二区欧美在线| 久久久久免费| 亚洲日本视频| 日韩视频在线观看一区二区| 亚洲一区二区免费在线| 麻豆久久精品| 国产一区二区av| 亚洲国产日韩欧美一区二区三区| 亚洲综合欧美日韩| 美乳少妇欧美精品| 亚洲精品乱码久久久久| 欧美激情一二三区| 黑人极品videos精品欧美裸| 亚洲一区二区高清视频| 乱中年女人伦av一区二区| 国产日韩综合| 一区二区动漫| 亚洲成色精品| 亚洲一区二区在线看| 欧美成人精品在线| 国产视频一区二区在线观看| 亚洲欧洲一区二区三区久久| 久久综合色综合88| 麻豆av福利av久久av| 亚洲电影第三页| 欧美电影资源| 久久精品国产欧美激情| 在线观看91精品国产入口| 亚洲综合精品一区二区| 亚洲永久网站| 亚洲黄色成人久久久| 欧美成人午夜| 欧美日韩中国免费专区在线看| 亚洲免费中文字幕| 亚洲新中文字幕| 一区二区三区欧美日韩| 亚洲美女黄网| 欧美视频中文字幕| 久久久国产亚洲精品| 欧美日产在线观看| 亚洲欧美伊人| 欧美精品一区二区三区蜜桃| 亚洲一区精品视频| 欧美va亚洲va香蕉在线| 妖精成人www高清在线观看| 亚洲欧美日韩第一区| 午夜在线不卡|