トップ回答者
Internet Explorer11 32bitでActiveXdll64bitは動作するのか?

質問
-
お世話になっております。
今回InternetExplorerを64bitで使う場合にActiveXDllを64bitで作成したら読み込み、動作するのか検証をすることになりました。
最終的な目的はInternetExplorerの32bitでActiveXDllの64bitが動かないという実動作裏付けをとることが目的です。そのためにもInternetExplorer64bitでActiveXdll64bitが動く環境がまず必要だとなりました。
ただ、公式見解として動かないという情報があれば検証せずに済むのですが、見解を見つけることができませんでした。
現在のWindows10 64bitでInternetExplorer(32bit)を使用して64bitのActiveXdllを読み込み、使用できないことが書かれた文書などありましたらご教授いただければと思います。
回答
-
64 ビット OS 上であっても、32 ビット アプリには 32 ビット プロセス空間が割り当てられるので、32 ビット プロセス内に 64 ビット モジュール (dll, ocx, etc.) がロードされることはありません。
(32 ビット プロセス内には 32 ビット モジュールしかロードできないし、64 ビット プロセス内には 64 ビット モジュールしかロードできない。
だから、64 ビット OS 環境で 32 ビット アプリを動作させる場合は、WOW64 emulator が必要になる。)下記サイトに、間接的な説明があります。
-------------------------------------------
WOW64 Implementation Details
https://msdn.microsoft.com/en-us/windows/aa384274(v=vs.110)
-------------------------------------------。。。というか、32 ビット版と 64 ビット版の IE にデバッガをアタッチさせ、各プロセス内にロードされているモジュールを確認すれば、一目瞭然だと思います。
すべての返信
-
マルチポストですか?
https://teratail.com/questions/202660違ったら失礼しました。でもマルチポストでしたら、ここでは遠慮いただくようにと管理者の方からお願いが出ています。
フォーラムのご利用方法、ヘルプ、回答のガイドラインに関するお知らせ
https://social.msdn.microsoft.com/Forums/ja-JP/93915a1e-22bc-4a23-83b1-f1ff47dccc82?forum=suggestja -
64 ビット OS 上であっても、32 ビット アプリには 32 ビット プロセス空間が割り当てられるので、32 ビット プロセス内に 64 ビット モジュール (dll, ocx, etc.) がロードされることはありません。
(32 ビット プロセス内には 32 ビット モジュールしかロードできないし、64 ビット プロセス内には 64 ビット モジュールしかロードできない。
だから、64 ビット OS 環境で 32 ビット アプリを動作させる場合は、WOW64 emulator が必要になる。)下記サイトに、間接的な説明があります。
-------------------------------------------
WOW64 Implementation Details
https://msdn.microsoft.com/en-us/windows/aa384274(v=vs.110)
-------------------------------------------。。。というか、32 ビット版と 64 ビット版の IE にデバッガをアタッチさせ、各プロセス内にロードされているモジュールを確認すれば、一目瞭然だと思います。 -
> 現在のWindows10 64bitでInternetExplorer(32bit)を使用して64bitのActiveXdllを読み込み、使用できないことが書かれた文書などありましたらご教授いただければと思います。
質問者さんの特殊事情とかがあると分かりませんが、一般的な話で言えば、以下の記事の[Step 4. DLL ファイルのロードメカニズム]のセクションに書いてあるとおり、"64 ビットプロセスの中に 32 ビット DLL ファイルをロードしたり、32 ビットプロセスの中に 64 ビット DLL ファイルをロードしたりすることはできません" ということだそうです。
Part 1. 64 ビット Windows OS の基本知識
https://blogs.msdn.microsoft.com/nakama/2008/10/30/part-1-64-windows-os/なので、マルチポスト先の Teratail の質問にあった、
> 公式の見解や仕様が見当たらないため動作裏付けをしたい -> 裏付けがあればそもそもやる必要がない
のとおり、そもそもやる必要はないと思います。
ところで、ID を ta_k と jihari_P の 2 つお持ちなのですか? それはむしろマルチポストよりマナー違反の度が大きいと思いますけど・・・
- 編集済み SurferOnWww 2019年7月26日 9:39 訂正