このソースを使用して(MinGWで)ビルドされたDLLにRundll32から文字列(またはchar *)を渡そうとしています:
#include <windows.h>
__declspec( dllexport ) int hello(LPSTR content) {
MessageBox( NULL, content, "Message", MB_OK );
return 0;
}
これを実行すると、ランダムにクラッシュします。これが私がそれを実行する方法です。
C:\workspace>c:\MinGW\bin\gdb.exe rundll32 -ex "run program1.dll,hello test"
hello()でブレークポイントを設定しようとしましたが、「コンテンツ」はかなりランダムなようです。rundll32からの引数を間違った方法で渡していますか?
引数がなくても問題なく動作します。