掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLL内のデータ参照について (ID:72076)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 VC2005にてMFC DLLを作成しています。 プロセスA、プロセスBにてDLLの関数を呼び出しときに プロセスBではDLLの関数からデータを参照できないのですが 何か対処方法をお教え頂けないでしょうか。 A.EXE(プロセスA:Unicode) DLL関数:bool ShareMemCreate(int currenAplino, bool dataSave, char *bufName, int nSize) を呼び出しmemData[4]に各データを設定する。 DLL関数:bool ShareMemRead(char *bufP, int readApliNo, bool dataSave, int nSize) を呼び出しShareMemCreateで設定したmemData[4]を参照できる。 プロセスAではmemData[4]の設定&参照はできます。 B.EXE(プロセスB:MBCS) DLL関数:ShareMemWrite(char *bufP, int writeApliNo, bool dataSave, int nSize) を呼び出しShareMemCreateで設定したmemData[4]の各データが参照できない。 プロセスBではShareMemCreateで設定したデータを参照できない。 但し、プロセスBでDLL関数:bool ShareMemCreateを呼ぶとShareMemWriteで ShareMemCreateで設定したデータを参照できます。 C.DLL(MFC DLL:MBCS) 各データはpublicです。 struct MemoryMgrData{ int bufName; int currentApliNo; bool dataSave; HANDLE m_hMapping; LPVOID m_pMappingView; CMutex *m_pMutex; LPWSTR shareBufP; } memData[4]; _DLL_EXPORT bool ShareMemCreate(int currenAplino, bool dataSave, char *bufName, int nSize) _DLL_EXPORT bool ShareMemRead(char *bufP, int readApliNo, bool dataSave, int nSize) _DLL_EXPORT bool ShareMemWrite(char *bufP, int writeApliNo, bool dataSave, int nSize)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.