|
TOP
|
| 软件名称: |
Windows CE下使用共享内存实现进程间数据交换 |
| 录
入 者: |
|
|
| 界面语言: |
简体中文 |
| 下载次数: |
54 次 |
| 运行环境: |
|
| 授权方式: |
免费版 |
| 软件大小: |
34K |
| 浏览次数: |
685 |
| 发布时间: |
2007-05-27 09:51:42 |
| 是否含插件: |
否 |
| 作者/开发商: |
|
PDF数据搜索:
 |
|
| 下载地址: |
您还可以搜索其他下载:
讯雷高速下载 点击下载
|
| 软件介绍: |
|
|
很多项目需要有多个独立的程序共同工作,在这些程序之间交换数据,比较方便的方法之一就是使用共享内存。 和在Windows平台上类似,WinCE下也提供了一系列内存映射函数来实现共享内存的创建和访问。 假设有两个进程需要共享一段大小为4096字节的数据。 其中的一个进程要先创建这个共享内存区域 hMemoryMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, 4096, L"DataMap"); if (hMemoryMap != NULL) { lpData = (LPBYTE)MapViewOfFile(hMemoryMap, FILE_MAP_WRITE, 0, 0, 0); if (lpData == NULL) { CloseHandle(hMemoryMap); hMemoryMap = NULL; } } 对lpData指针进行操作就可以读写这段共享内存的数据。 另外一个进程就可以依据"DataMap"这个名称来打开以及访问这段共享内存,注意Windows CE上是没有OpenFileMapping函数的。 m_hMemoryMap = CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,4096,L"DataMap"); if (m_hMemoryMap == NULL) { AfxMessageBox(L"CreateFileMapping Failed!"); return; } m_lpbReceiveBuf = (LPBYTE)MapViewOfFile(m_hMemoryMap,FILE_MAP_READ,0,0,0); if (m_lpbReceiveBuf == NULL) { CloseHandle(m_hMemoryMap); m_hMemoryMap=NULL;
AfxMessageBox(L"MapViewOfFile Failed!"); return; } 这样,这个“客户”进程就可以通过m_kpbReceiveBuf来访问这段共享内存。实现了内存的跨进程共享。更进一步的,可以通过互发消息的方式来在两个程序之间互相通知对方对数据的改变。 附件为示例代码。
|
|
| 下载说明: |
☉推荐使用讯雷下载本站软件,使用 WinRAR v3.10
以上版本解压本站软件。
☉如果这个软件总是不能下载的请联系我们,谢谢合作!!
☉下载本站资源,如果服务器暂不能下载请过一段时间重试!
☉如果遇到什么问题,请到本站论坛去咨寻,我们将在那里提供更多 、更好的资源!
☉本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 |
|
-->