Chciałbym wiedzieć, co robią te klucze oprócz MSDN reference? Czy KEY_WOW64_32KEY oznacza, że 32-bitowa aplikacja na systemie operacyjnym x64 uzyska dostęp do drzewa rejestru WOW64 ? I czy KEY_WOW64_64KEY oznacza, że 32-bitowa aplikacja na systemie operacyjnym x64 uzyska dostęp do normalnego drzewa rejestru, a nie do drzewa rejestru WOW64? Co się stanie, jeśli będę musiał uzyskać dostęp do niektórych kluczy, których nie wiem, czy leży w WOW64 czy normalnym drzewie rejestru?KEY_WOW64_32KEY i KEY_WOW64_64KEY
Odpowiedz
KEY_WOW64_64KEY
na 64-bitowego systemu operacyjnego oznacza, że dostępie rejestru, bez względu na to czy jest to nieco proces 32 lub 64, będą mieli dostęp do 64-bitowy widok rejestru.KEY_WOW64_32KEY
na 64-bitowego systemu operacyjnego oznacza, że dostępie rejestru, bez względu na to czy jest to nieco proces 32 lub 64, będą mieli dostęp do 32-bitowy widok rejestru.Żadne z nich nie ma żadnego wpływu na 32-bitowy system operacyjny.
Pozostawienie flagi (domyślnie) w 64-bitowym systemie operacyjnym spowoduje wysłanie dostępu do rejestru z procesów 32-bitowych do 32-bitowego widoku rejestru oraz dostęp z procesów 64-bitowych do 64-bitowego widoku rejestru.
Aby uzyskać więcej informacji, this reference page at Microsoft powinien opowiedzieć całą historię.
Od połączonego odniesienia:
Aby uzyskać więcej informacji, zobacz Accessing an Alternate Registry View.
który mówi:
KEY_WOW64_64KEY: dostęp do klucza 64-bitowego z albo 32- Bit lub aplikacja 64-bitowa.
KEY_WOW64_32KEY: Uzyskaj dostęp do klucza 32-bitowego z aplikacji 32-bitowej lub 64-bitowej.
Zgodnie z podanym przez ciebie referencją, RegDeleteKey nie może być użyty do uzyskania dostępu do alternatywnej gałęzi rejestru. Co jeśli platforma = x64, app = x86, RegOpenKeyEx z samDesire jako KEY_WOW64_64KEY i przekazuję uchwyt otwartego klucza 64Key do klucza RegDeleteKey, czy usunąłby wtedy określony klucz? –
Zgodnie z podanym przez Państwa referencją, RegDeleteKey nie może być użyty do uzyskania dostępu do alternatywnej gałęzi rejestru. Co jeśli platforma = x64, app = x86, RegOpenKeyEx z samDesire jako KEY_WOW64_64KEY i przekazuję uchwyt otwartego klucza 64Key do klucza RegDeleteKey, czy usunąłby wtedy określony klucz? –
@ user1696837 Tak, jeśli masz już otwarty klucz HKEY do rejestru 64-bitowego, RegDeleteKey będzie działać (na razie). Jeśli jest to zagwarantowane w przyszłości, nie wiem, zalecanym sposobem byłoby zdecydowanie RegDeleteKeyEx z flagą "KEY_WOW64_64KEY". –