0

我正在处理一个 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;
}

谢谢。

4

1 回答 1

1

进程“A”加载了几个必须由进程“B”使用的 Dll。

这已经是不可能的了,更不用说发送 HMODULES 了。进程必须加载自己的 DLL。

于 2012-07-11T23:56:28.343 回答