通过内存映射进行进程通信

最近工作中需要用到进程通信的知识,例如测试控制程序和被测试程序之间的通信。在PINK的test framework也是通过3个消息队列来通信的,并且是managed code写的,具体如何实现的现在都忘了不少了。
在网上查了一通后终于找到可以通过共享内存映射来进行通信,主要是通过以下函数来完成的。
HANDLE CreateFileForMapping(LPCTSTR lpFileName,
      DWORD dwDesiredAccess,
      DWORD dwShareMode,
      LPSECURITY_ATTRIBUTES lpSecurityAttributes,
      DWORD dwCreationDisposition,
      DWORD dwFlagsAndAttributes,
      HANDLE hTemplateFile);

LPVOID WINAPI MapViewOfFile(
  __in  HANDLE hFileMappingObject,
  __in  DWORD dwDesiredAccess,
  __in  DWORD dwFileOffsetHigh,
  __in  DWORD dwFileOffsetLow,
  __in  SIZE_T dwNumberOfBytesToMap
);
在windows下面当一个进程使用CreateFileForMapping建立好文件后,另一个进程通过OpenFileMapping来打开共享的文件,但是在Windows Mobile上不支持该函数,所以第二个进程也只能通过CreateFileForMapping来打开,由于文件名一样,还是可以正常使用。
 
相关MSN 文章链接http://support.microsoft.com/kb/301242/zh-cn
相关Sample Cod链接:http://msdn.microsoft.com/en-us/library/aa366551(VS.85).aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值