ここで msdn ドキュメントを使用しました: http://msdn.microsoft.com/en-us/library/f0fkfy9y(v=vs.100).aspx
そこでは次のように指定されています。
case dliNotePreLoadLibrary :
//If you want to return control to the helper, return 0.
//Otherwise, return your own HMODULE to be used by the
//instead of having it call LoadLibrary itself
だから私は次のことを試しました:
FARPROC WINAPI delayHook(unsigned dliNotify, PDelayLoadInfo pdli)
{
switch (dliNotify) {
case dliStartProcessing :
case dliNotePreGetProcAddress :
case dliFailLoadLib :
case dliFailGetProc :
case dliNoteEndProcessing :
return 0;
break;
case dliNotePreLoadLibrary :
{
char* dllPath = getDllPath();
HMODULE lib = LoadLibrary(dllPath);
return lib;
}
break;
default :
return NULL;
}
return NULL;
}
HMODULE を返すとエラーが発生します。
'return' : 'HMODULE' から 'FARPROC' に変換できません。
何が問題ですか?私は何か疲れていますか?彼らはあなた自身のHMODULEを返すと言います、そしてそれは私がしたことです...