>GetPluginVersion()などのint値を返す関数はちゃんと機能するのですが、文字列を返す関数GetPluginAuthor()で文字列を書き込んだ後、BRRTEST側で落ちます。
ログウィンドウにはどこまで表示されてますか?
DLLのロードが成功すると以下のように表示されますが、GetPluginAuthor は OK になっているんですよね。
------------------------
DLLロード -> OK
...GetPluginVersion -> OK
...GetPluginAuthor -> OK
...GetXXXX -> OK
...GetXXXX -> NG
:
------------------------
次に GetPluginAuthor を選択して「実行」をクリックすると、DLLとのやり取りが成功した順に以下のような表示になります。
------------------------
[プラグイン作者] ← GetPluginAuthor 関数がDLLに実装されてると表示される
必要バイト数:xx ← 必要なバッファサイズの問い合わせが得られたら表示される
xxxxxxxxxx ← 実際に取得できた文字列が表示される
------------------------
>DLL作成時のソースを載せます。
>int WINAPI GetPluginAuthor(LPTSTR lpszAuthor, int iSize)
>{
> static char szAuthor[MAX_PATH] = "611";
> if(iSize == 0) return MAX_PATH;
> else lstrcpy(lpszAuthor, (LPCTSTR)szAuthor);
> return 0;
>}
見た感じ動きそうですけどね…。
ちなみに GetPluginAuthor に関しては固定でしょうから以下で良いと思われます。
if ( iSize != 0 ) lstrcpy( lpszAuthor, "611" );
return 4;
でもちょっとわかんないです。
とりあえず、ログがどこまで出ているか教えて下さい。