嵌入式硬件 嵌入式软件 嵌入式书籍 嵌入式操作系统 嵌入式开发工具 Window Mobile常用程序 技术资料
>首页 -> 下载中心 -> Window Mobile常用程序

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 以上版本解压本站软件。
☉如果这个软件总是不能下载的请联系我们,谢谢合作!!
☉下载本站资源,如果服务器暂不能下载请过一段时间重试!
☉如果遇到什么问题,请到本站论坛去咨寻,我们将在那里提供更多 、更好的资源!
☉本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。

评论

称  呼:
内  容:

-->

相关栏目

下载中心
[DSP [技术资料 [Window Mobile常用程序 [嵌入式开发工具 [嵌入式操作系统 [嵌入式书籍 [嵌入式软件 [嵌入式硬件 [单片机

最新软件

·手机基站定位重庆移动版
·单片机反编译器 V1.2
·avr_c例子
·PC机与多台单片机实时通..
·一揽子资料之:AVR单片机..
·uPSD3200单片机快速入门
·P89V51系列单片机ISP下载..
·飞思卡尔32位MCU应用笔记..

热门软件

·c_c++嵌入式系统编程
·最新ARM嵌入式开发视频教..
·嵌入式Linux设计与应用
·uCOS中文书
·嵌入式系统开发圣经
·Windows CE开发初步
·uC/OS-II v2.52
·ARM论文集

推荐软件