5

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

20
  • 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ę.

+0

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? –

+1

@ 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". –

2

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.

+0

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? –