0

WinSock を使用して、2 つのプロセス (同じマシン上で実行されている) が TCP 経由で相互に通信している C++ プロジェクトを使用しています。プロセス「A」は、プロセス「B」が使用する必要があるいくつかの Dll をロードします。

ただし、この場合、HMODULE を送受信するために send/recv メソッドを使用する方法を理解するのに苦労しています。出来ますか?もしそうなら、正しい方法は何でしょうか。(私は次のように何かをしようとしています):

プロセス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;
}

ありがとう。

4

1 に答える 1

1

プロセス「A」は、プロセス「B」が使用する必要があるいくつかの Dll をロードします。

これは、HMODULES を送信するどころか、すでに不可能です。プロセスは、独自の DLL をロードする必要があります。

于 2012-07-11T23:56:28.343 に答える