ファイル、レジストリ関連のサーチを行うアプリを作成しています。
今回64bit環境での動作を依頼されたのですが、調査を行ったところパスのリダイレクト関係でソースの修正が必要になると思っています。
■動作と仕様
・他のdllの関係上、32bitビルドでWow64上で動作を行うようにします。
・ファイル、レジストリのサーチ、必要に応じて削除します。
・Windows\System32配下のファイルのサーチ、削除も必要になります。(リダイレクトの考慮必要)
・レジストリ検索もすべてのキーを検索、削除します。(リダイレクトの考慮必要)
現在ソースの変更は、Wow64DisableWow64FsRedirection()を使用して、アプリ起動時からリダイレクト機能をすべてOFFにしてサーチを行おうと思います。
インストール形式のアプリのため、リダイレクトが必要なレジストリのキー(HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\アプリキー)などは手間ですが自分でハードコードする必要があると思っています。
■質問
・上記の方法で実装した場合、Wow64上で動作しているアプリでも、すべてのファイル、レジストリのアクセス、操作が可能か?
・他に、何か考慮しなくてはいけないことなど、アドバイスがあれば教えていただきたいです。
抽象的な質問でも申し訳ありませんが修正範囲が大きく、スタート段階で間違えた修正を行いたくないため、ご教授をお願いいたします。
アプリの64bit対応についてご教授をお願いします。(主にファイルパスのリダイレクトに関して)
Re: アプリの64bit対応についてご教授をお願いします。(主にファイルパスのリダイレクトに関して)
#実際にやったことはないのですが。
Wow64DisableWow64FsRedirectionでMSDNを検索すると「リダイレクトの無効化は極めて限定的に行わなければならない」旨の記述が見付かります。
実行環境にも影響するので32ビットアプリが64ビットのシステムDLLを使おうとして異常終了する可能性があるということです。
Wow64DisableWow64FsRedirectionでMSDNを検索すると「リダイレクトの無効化は極めて限定的に行わなければならない」旨の記述が見付かります。
実行環境にも影響するので32ビットアプリが64ビットのシステムDLLを使おうとして異常終了する可能性があるということです。