Young87

当前位置:首页 >个人收藏

WindowsIPC机制--LPC本地过程调用

此处介绍的LPC通信过程是通过端口进行的。每个服务程序与客户程序之间是通过一个客户端DLL相联系的,此处用的DLL是ntdll,类似于一个函数存根。当某个客户程序调用其中的API时,API将其处理,并且送给服务程序,服务程序把结果返回给DLL,存根函数等到返回值后,再把返回值传递给客户程序。类似于一个中间件的作用。。。
服务器:

  1. 启动线程ServerReadProcedure
  2. ZwCreatePort创建一个命名端口
  3. ZwReplyWaitReceivePort从端口处接收客户发送的数据,如果是连接请求。
  4. ZwAcceptConnectPort用来建立连接
  5. ZwCompleteConnectPort完成连接。

客户端:
ZwConnectPort用于向服务器发送连接请求,如果连接成功,则可以获得通信端口句柄。
参考代码:
来自《Windows应用程序捆绑核心》:

//.h
#ifndef _MYLPC_H__INCLUDED
#define _MYLPC_H__INCLUDED
#include &l

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 机器学习中偏差、方差的理解与总结

下一篇: Python+OpenCV图像处理实验

精华推荐