GetProcAddressを使用してGetProcAddressのアドレスを取得しようとしています(はい、それ自体で呼び出します)。空のexeプロジェクトから実行すると、有効なアドレス(kernel32の割り当てられたアドレスの間)を取得します。
dllから呼び出していると、無効なアドレスを取得しています(割り当てられたkernel32の範囲内ではありません)
違いはなんですか?私は64ビットのWindows7で実行しています。
プロジェクトは32ビットとしてコンパイルされます。これが私が実行しているコードです:
typedef FARPROC(WINAPI * GetProcAddressType)(HMODULE、LPCSTR);
HMODULE kernel32Hmodule = LoadLibraryW(L "c:\ windows \ system32 \ kernel32.dll");
GetProcAddressType abc =(GetProcAddressType)GetProcAddress(kernel32Hmodule、 "GetProcAddress");
また、次のようなアドレスを取得しようとしました。void * a = GetProcAddress; しかし、dllから実行すると同じ無効なアドレスが返されます...
助けてください。