DLLMain
DLLがロードまたはアンロードされたときに呼び出される関数を作成する必要があります。
http://msdn.microsoft.com/en-gb/library/windows/desktop/ms682583(v=vs.85).aspx
BOOL WINAPI DllMain(HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
/* Init Code here */
break;
case DLL_THREAD_ATTACH:
/* Thread-specific init code here */
break;
case DLL_THREAD_DETACH:
/* Thread-specific cleanup code here.
*/
break;
case DLL_PROCESS_DETACH:
/* Cleanup code here */
break;
}
/* The return value is used for successful DLL_PROCESS_ATTACH */
return TRUE;
}
ここで、DLLがロードされたという事実を登録するために、デバイスの関数を呼び出す必要があります(NB上記の各スイッチケースの意味を確認し、適切に初期化してください)。正直に言うと、ほとんど何でもできますが、シングルトンを呼び出して、そこに登録(インターフェイスのインスタンスを作成しますか?)することもできます。
それができたら、やりたいことができるはずです。同じ方法で両方のDLLを登録すると、双方向通信が得られます。
注意:APIを提供している場合、ユーザーが「共有環境」をセットアップできるように、両方のDLLに共通の初期化呼び出しがあるとよいでしょう。