Visual Studio 2010 (Windows 7 64 ビット) で 64 ビットの C++ プロジェクトを作成しました。
私は 64 ビット アプリケーションを実行していると思っていましたが、次のコードはtrueを返しました。
bool is64bit = (sizeof(void*)==8);
しかし、関数を呼び出すと、FALSEIsWow64Process
が返されました...
もっと奇妙なこと:
LoadLibrary()
dll をロードする呼び出しはc:\windows\system32\some.dll
うまく機能します- dll の読み込み
c:\windows\sysWow64\some.dll
に失敗します (エラー コード 193: some.dll は有効な win32 アプリケーションではありません)
これらのエラーはすべて、アプリケーションが 32 ビット モードで実行されていることを示していますが、これはポインタ型が 8 バイト長であるという事実に反しています。
私は混乱しています、助けていただければ幸いです!