我正在处理一个 C++ 项目,其中两个进程(在同一台机器上运行)使用 WinSock 通过 TCP 相互通信。进程“A”加载了几个必须由进程“B”使用的 Dll。
但是,在这种情况下,我无法理解如何使用 send/recv 方法来发送和接收 HMODULE。是否可以?如果是这样,正确的方法是什么。(我一直在尝试以下方法):
过程一:
HMODULE hmod = LoadLibrary(L"MathFunc.dll");
iResult = send( Socket, (char*)hmod, sizeof(HMODULE), 0 );
过程乙:
typedef double (* addFunc)(double, double);
int __cdecl main(void)
{
...
HMODULE receiver;
iResult = recv(ClientSocket, (char*)&receiver, sizeof(HMODULE), 0);
addFunc adder = (addFunc)GetProcAddress(receiver, "Add");
double resi = adder(1.0, 2.0);
...
return 0;
}
谢谢。