Windows10

32bitソフトの64bit環境での動作

代替レジストリビューへのアクセス

デフォルトでは、WOW64で実行されている32ビットアプリケーションは32ビットレジストリビューにアクセスし、64ビットアプリケーションは64ビットレジストリビューにアクセスします。次のフラグにより​​、32ビットアプリケーションが64ビットレジストリビューのリダイレクトされたキーにアクセスし、64ビットアプリケーションが32ビットレジストリビューのリダイレクトされたキーにアクセスできるようになります。これらのフラグは、共有レジストリキーには影響しません。詳細については、「WOW64の影響を受けるレジストリキー」を参照してください。

フラグ名説明
KEY_WOW64_64KEY0x010032ビットまたは64ビットアプリケーションから64ビットキーにアクセスします。
KEY_WOW64_32KEY0x020032ビットまたは64ビットアプリケーションから32ビットキーにアクセスします。Windows10 on ARM:これは、32ビットARMプロセスの32ビットARMレジストリビューおよび32ビットARMプロセスの32ビットx86レジストリビューを指します。 32ビットx86および64ビットARM64プロセス。

これらのフラグは、次のレジストリ関数のsamDesiredパラメータで指定できます。

KEY_WOW64_32KEYまたはKEY_WOW64_64KEYのいずれかを指定できます。両方のフラグが指定されている場合、関数はERROR_INVALID_PARAMETERで失敗します。

Windows Server 2008、Windows Vista、Windows Server 2003およびWindows XP:両方のフラグが指定されている場合、関数の動作は未定義です。

RegDeleteKey関数を使用して、代替レジストリビューにアクセスすることはできません。

以下は、アプリケーションからレジストリにアクセスする際のベストプラクティスです。

  • アプリケーションがフラグの1つを使用して代替レジストリビューにアクセスした後、子レジストリキーに対する後続のすべての操作(作成、削除、または開く)は、同じフラグを明示的に使用する必要があります。そうしないと、予期しない動作が発生する可能性があります。
  • 両方のビューですべてのキーを正確に列挙するには、2つのパスで列挙を実行します。最初のパスはフラグの1つで開かれたハンドルを使用し、他のパスは他のフラグで開かれたハンドルを使用する必要があります。

注意

Wow6432NodeおよびWowAA32Nodeキーは予約されています。互換性のために、アプリケーションはこれらのキーを直接使用しないでください。

WMIを介して代替レジストリビューにアクセスする方法については、64ビットプラットフォームでのWMIデータの要求を参照してください。

 

関連トピック

レジストリリダイレクタ

レジストリリフレクション

 

おすすめサイトをご紹介

  • この記事を書いた人

山本

はじめまして。「山本まこと」と申します。フリーランスでシステムエンジニアを現役でさせて頂いています。業務内容はシステム設計、プログラム作成等何でさせて頂いています。 特にサーバ構築、業務端末(パソコン)の構築の仕事を多くさせて頂いています。サーバ構築はOSが24時間止まらず高パフォーマンスで動作する用に設定したり セキュリティ対策(脆弱性)を実施することやデータベースの構築も実施します。業務端末(パソコン)の構築は業務アプリケーションが快適に動作するようOSの設定を実施します。パソコンは日進月歩で性能はどんどん向上しています。 またマイクロソフトのOSもWinows7からWindows10へ移行する段階を迎えています。Windows10においては、使い勝手はとても良くなっていますが、自動化が進み、一度不調になってしまうと設定変更での修復するにはコツが必要です。 また、マシンスペックについてもある程度のものが要求されます。このホームページでは、皆さんがパソコンを快適に使っていただけるようにお役に立てたらと思い、記事を書かせて頂いています。

-32bitソフトの64bit環境での動作
-,

Copyright© 幸せになれるPCライフ , 2020 All Rights Reserved.