我正在使用一个C ++项目,其中两个进程(在同一台机器上运行)通过TCP使用WinSock相互通信。进程'A'加载了几个必须由进程'B'使用的Dll。
但是,在这种情况下,我无法理解如何使用send / recv方法来发送和接收HMODULE。可能吗?如果是这样,那么正确的方法是什么。 (我正在尝试以下内容):
流程A:
HMODULE hmod = LoadLibrary(L"MathFunc.dll");
iResult = send( Socket, (char*)hmod, sizeof(HMODULE), 0 );
流程B:
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;
}
感谢。
答案 0 :(得分:1)
进程'A'加载了几个必须由进程'B'使用的Dll。
这已经不可能了,更不用说发送HMODULES了。进程必须加载自己的DLL。