当前位置 博文首页 > KOOKNUT的博客:WindowsIPC机制--LPC本地过程调用

    KOOKNUT的博客:WindowsIPC机制--LPC本地过程调用

    作者:[db:作者] 时间:2021-07-02 21:26

    此处介绍的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
    cs
    下一篇:没有了