Abgesehen von der MSDN reference möchte ich wissen, was diese Tasten tun? Ist KEY_WOW64_32KEY bedeutet, dass eine 32-Bit-App auf x64-Betriebssystem auf die WOW64-Registrierungsstruktur zugreifen wird? Und bedeutet KEY_WOW64_64KEY bedeutet, dass eine 32-Bit-App auf x64-Betriebssystem auf die normale Registrierungsstruktur und nicht die WOW64-Registrierungsstruktur zugreifen wird? Was passiert, wenn ich auf einige Schlüssel zugreifen muss, von denen ich nicht weiß, ob sie im WOW64 oder im normalen Verzeichnisbaum liegen?KEY_WOW64_32KEY und KEY_WOW64_64KEY
Antwort
KEY_WOW64_64KEY
auf einem OS 64-Bit bedeutet, dass der Zugriff auf die Registry, egal ob es, die 64-Bit-Register Ansicht wird Zugriff auf eine 32- oder 64-Bit-Prozess ist.KEY_WOW64_32KEY
auf einem 64-Bit-Betriebssystem bedeutet, dass die Zugriffsregister, wenn es egal, wird Zugriff auf die 32-Bit-Register Ansicht ein 32- oder 64-Bit-Prozess ist.Keine von beiden hat Auswirkungen auf ein 32-Bit-Betriebssystem.
Das Verlassen des Flags (der Standardwert) auf einem 64-Bit-Betriebssystem sendet Registrierungszugriffe von 32-Bit-Prozessen auf die 32-Bit-Registrierungsansicht und greift von 64-Bit-Prozessen auf die 64-Bit-Registrierungsansicht zu.
Für weitere Informationen, this reference page at Microsoft sollte die ganze Geschichte erzählen.
aus dem verknüpften Referenz:
Weitere Informationen Accessing an Alternate Registry View. siehe
die sagt:
KEY_WOW64_64KEY: entweder von einem 64-Bit-Schlüssel Zugriff auf 32- Bit oder 64-Bit-Anwendung.
KEY_WOW64_32KEY: Greifen Sie aus einer 32-Bit- oder einer 64-Bit-Anwendung auf einen 32-Bit-Schlüssel zu.
Entsprechend der von Ihnen angegebenen Referenz kann RegDeleteKey nicht für den Zugriff auf die alternative Registrierungsstruktur verwendet werden. Was ist, wenn platform = x64, app = x86, RegOpenKeyEx mit samDesired wie KEY_WOW64_64KEY und ich das Handle des geöffneten 64Key an RegDeleteKey übergebe, würde es dann den angegebenen Schlüssel löschen? –
Gemäß der von Ihnen angegebenen Referenz kann RegDeleteKey nicht für den Zugriff auf die alternative Registrierungsstruktur verwendet werden. Was passiert, wenn platform = x64, app = x86, RegOpenKeyEx mit samDesired wie KEY_WOW64_64KEY und ich das Handle des geöffneten 64Key an RegDeleteKey übergebe, würde es dann den angegebenen Schlüssel löschen? –
@ user1696837 Ja, wenn Sie einen bereits geöffneten HKEY für die 64-Bit-Registrierung haben, wird RegDeleteKey funktionieren (für jetzt). Wenn das in Zukunft garantiert der Fall ist, weiß ich nicht, der empfohlene Weg wäre definitiv RegDeleteKeyEx mit dem Flag 'KEY_WOW64_64KEY'. –