Windows RPC 初体验

文章目录


RPC的需求还是很多的,例如,我们注入一个dll到某程序中,而控制端是独立的exe。
此时 exe <=RPC=> dll

有没有一款 好用的简单的RPC呢?
笔者也有这个需求,经朋友推荐和演示,了解并尝试使用了 Windows RPC,发现真的简单。

需求

教程直接官网:
https://docs.microsoft.com/en-us/windows/win32/rpc/tutorial
一步一步做非常简单。
无需赘言。

使用中可能遇到的问题

  • 会生成 Hello_h.hHello.h 什么区别?
    我认为:前者的 h意思是high-version.指rpc5 ,而后者指的是 rpc4,include 其中之一即可

  • 照抄例子会报错1
    hello_ClientIfHandle 它会提示你它不存在,实际它就定义在 自动生成的 hello.h文件中,它的实际名字 并不是这个,而是 类似 hello_version0.1_ClientIfHandle 找到它 替换 例子。
    Windows RPC 初体验

  • 照抄例子会报错2
    有一步让你添加两个函数 在服务端 :
    Windows RPC 初体验
    有两种解决方案:

    • 创建 .c 文件
      你需要定义一个 .c 文件或者在里面进行定义
    • 直接 在 cpp 中进行声明
      exter "c" void abc(int a);声明一句
  • IDL 文件语法
    在你尝试完成第一个例子后,如果你试图增加更多的函数,发现 IDL 报错,就需要注意 IDL 里的类型并不完全和C相同,eg: bool => boolean

目前遇到的问题就是以上。

资料

https://docs.microsoft.com/en-us/windows/win32/rpc/tutorial

上一篇:什么是RPC


下一篇:RPC