Programming 版 (精华区)

发信人: li (星一), 信区: Programming
标  题: Windows 95进程间数据通讯的实现技术(1)
发信站: 紫 丁 香 (Sat Sep 26 16:51:55 1998), 转信


Windows 95进程间数据通讯的实现技术


  摘要:本文讨论了Windows95下的内存管理,讲
述了WIN16和WIN32进程间数据通讯的区别,以及
实现WIN32进程之间的数据通讯的几种方法。

  关键字:进程,内存管理,WIN32编程,
Windows95 

  1、引言 

  在Windows程序中,各个进程之间常常需要交换
数据,进行数据通讯。WIN32
API提供了许多函数使我们能够方便高效的进行进程
间的通讯,通过这些函数我们可以控制不同进程间的
数据交换,就如同在WIN16中对本地进程进行读写操
作一样。

  典型的WIN16两进程可以通过共享内存来进行数
据交换:(1)进程A将GlobalAlloc
(GMEM_SHARE...)API分配一定长度的内存;
(2)进程A将GlobalAlloc函数返回的句柄传递给进
程B(通过一个登录消息);(3)进程B对这个句
柄调用GlobalLock函数,并利用GlobalLock函数返回
的指针访问数据。这种方法在WIN32中可能失败,这
是因为GlobalLock函数返回指向的是进程A的内存,
由于进程使用的是虚拟地址而非实际物理地址,因此
这一指针仅与A进程有关,而于B进程无关。

  本文探讨了几种WIN32下进程之间通讯的几种实
现方法,读者可以使用不同的方法以达到程序运行高
效可靠的目的。


--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: club.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.940毫秒