32ビットDLLライブラリ(LoadLibraryと同じ使用法のライブラリ))をロードする方法はありますか?GetProcAddressと共にその関数を使用したいと思います。
WOWを見ましたが、機能を提供していないようです。 DependencyWalkerなどのツールは、64ビットであっても32ビットDLLのシンボルを読み取ることができるため、機能が存在するはずです。
ありがとう
申し訳ありませんが、dllをデータファイルとしてロードする場合、32ビットDLLを64ビットプロセスにしかロードできません。コードを実行できません。 http:// support.Microsoft.com/kb/28242
64ビットアプリケーションで32ビットコードを使用するには、プロセス間COMを使用することをお勧めします。ここにプロセスを説明する記事があります http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/ 面白くありません。
32ビットの実行可能ファイルの読み取りと、32ビットの実行可能ファイル内でのコードの実行には違いがあります。 Windowsがそれを行う機能を提供するとは思わない。
できる唯一の方法は、dllをロードする32ビットプロセスを作成し、プロセス間通信を行って2つのプロセス間で結果を渡すことです。
リソースからリソースを取得するだけであれば、データファイルとしてロードできます。
LoadLibraryEx(exeName, NULL, LOAD_LIBRARY_AS_DATAFILE);
次に、通常どおりFindResource
を呼び出します。