VC++ バージョン 8 でアプリケーションを作成しようとしています。DLL があり、Dependency Walker を使用して、DLL で使用できる API のリストを取得しました。
DLL をロードすることはできますが、DLL でいくつかの API を呼び出そうとすると、このデバッグ エラーが発生します。
「実行時チェックの失敗 #0 - ESP の値が関数呼び出し全体で適切に保存されませんでした。これは通常、ある呼び出し規則で宣言された関数を、別の呼び出し規則で宣言された関数ポインターで呼び出した結果です。」
typedef void ( WINAPI *RECEIVE_CALLBACK)int*, int );
typedef void (WINAPI *MYPROC)(RECEIVE_CALLBACK);
.....
.....
handleDll = LoadLibraryW((LPCWSTR)L"Example.dll");
ProcAdd = (MYPROC) GetProcAddress(handleDll, "_DLLAPI_Call1@8");
(ProcAdd) ( (RECEIVE_CALLBACK) ReceiveFunc);
最後の行が実行されると、上記のエラーが発生します。その理由は何ですか?