Rimozione della reflection del Registro di sistema di Windows
Piattaforma
Client - Windows 7
Servers - Windows Server 2008 R2
Impatto sulle funzionalità
Gravità - Bassa
Frequenza - Bassa
Descrizione
Il processo di reflection del Registro di sistema copia le chiavi e i valori del Registro di sistema tra due visualizzazioni del Registro di sistema per mantenerle sincronizzate. Nelle installazioni a 64 bit precedenti di Windows, il processo riflette un subset delle chiavi del Registro di sistema reindirizzate tra le visualizzazioni a 32 bit e a 64 bit. Tuttavia, l'implementazione di questo ha causato alcune incoerenze nello stato del Registro di sistema. Per altre informazioni sulla reflection del Registro di sistema, vedere Reflection del Registro di sistema.
A partire da Windows 7, abbiamo rimosso completamente la reflection del Registro di sistema e unito le chiavi usate per essere riflesse:
- HKEY_LOCAL_MACHINE\Software\Classes
- HKEY_LOCAL_MACHINE\Software\Microsoft\COM3
- HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem
- HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
- HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
- HKEY_USERS\*\Software\Classes
- HKEY_USERS\*_Classes
In effetti, fornisce lo stesso comportamento di reflection, poiché le modifiche apportate a queste chiavi sono immediatamente disponibili per le applicazioni a 32 bit e a 64 bit.
Le chiavi riflesse rimangono suddivise in modo condizionale:
- HKEY_LOCAL_MACHINE\Software\Classes\CLSID
- HKEY_LOCAL_MACHINE\Software\Classes\Interface
- HKEY_USERS\*\Software\Classes\CLSID
- HKEY_USERS\*\Software\Classes\Interface
- HKEY_USERS\*_Classes\CLSID
- HKEY_USERS\*_Classes\Interface
Vengono usati per mantenere i dati che non devono essere condivisi tra applicazioni a 32 bit e a 64 bit.
Manifestazione
Le chiavi CLSID e Interface dell'elenco precedente non vengono più riflesse mentre sono ancora reindirizzate. Anche se questo è il comportamento desiderato nella maggior parte dei casi, è possibile che le applicazioni possano assumere una dipendenza dal comportamento riflesso in Vista.
Le funzioni che consentono alle applicazioni di controllare la reflection (RegDisableReflectionKey e RegEnableReflectionKey) non sono operazioni in Windows 7.
Mitigazione dell'impatto
COM è il principale consumer di reflection del Registro di sistema. COM e altri consumer sono stati aggiornati per soddisfare questa modifica. Questa modifica non influisce sulle applicazioni che usano API COM standard.
Soluzione
Applicare una delle opzioni seguenti se ci si basa sulla reflection del Registro di sistema per sincronizzare le visualizzazioni a 32 bit e a 64 bit:
Creare chiavi in entrambe le visualizzazioni in modo esplicito durante l'installazione
Spostare le chiavi dall'ambito delle chiavi riflesse
Controllare entrambe le visualizzazioni del Registro di sistema durante l'esecuzione di query per una chiave riflessa
Nota: non è possibile combinare flag KEY_WOW64_32KEY e KEY_WOW64_64KEY
Applicare una delle opzioni seguenti se ci si basa sulle funzioni RegDisableReflectionKey per disabilitare la reflection del Registro di sistema:
- Creare chiavi in entrambe le visualizzazioni in modo esplicito durante l'installazione
- Spostare le chiavi dall'ambito delle chiavi riflesse
- Usare sottochiavi specifiche della piattaforma (ad esempio x86, amd64 e ia64) per separare i dati specifici della velocità in bit
Collegamenti ad altre risorse
- Articolo reflection del Registro di sistema
- Elenco di chiavi reindirizzate all'interno dell'articolo reindirizzamento del Registro di sistema
- Procedure consigliate per Wow64
Nota
Queste risorse potrebbero non essere disponibili in alcune lingue e paesi/aree geografiche.