如何在Windows调用的DLL和主应用程序之间进行通信?

时间:2012-05-07 08:07:01

标签: c++ windows dll ipc snmp

我正在尝试将SNMP代理集成到用本机C ++编写的Windows应用程序中。

要使此代理成为Windows SNMP代理的子代理,必须编写一个DLL,该DLL导出由Windows SNMP服务调用的某些例程。到目前为止,事情进展顺利。

现在这个DLL需要从应用程序中获取实际信息。我的第一个想法是让应用程序和DLL使用双方都访问的共享内存块,但这会使信息总是过时,并且在SNMP请求进入时运行一些代码来获取最新值会更好。双方将读写信息。

该应用程序已经具有基于TCP的控制台界面,但是对于来自SNMP客户端的非常频繁的请求,连接,查询,断开连接可能有点重量。

我有什么选择让DLL直接与应用程序通信?

1 个答案:

答案 0 :(得分:2)

命名管道非常容易处理,不会干扰防火墙,也不需要额外的同步(如共享内存)。有关更多信息,请参阅MSDN