Chaves predefinidas

Um aplicativo deve abrir uma chave antes de poder adicionar dados ao registro. Para abrir uma chave, um aplicativo deve fornecer um identificador para outra chave no registro que já está aberta. O sistema define chaves predefinidas que estão sempre abertas. As chaves predefinidas ajudam um aplicativo a navegar no registro e possibilitam o desenvolvimento de ferramentas que permitem que um administrador do sistema manipule categorias de dados. Os aplicativos que adicionam dados ao registro sempre devem funcionar dentro da estrutura de chaves predefinidas, para que as ferramentas administrativas possam localizar e usar os novos dados.

Um aplicativo pode usar identificadores para essas chaves como pontos de entrada para o Registro. Esses identificadores são válidos para todas as implementações do registro, embora o uso dos identificadores possa variar de plataforma para plataforma. Além disso, outros identificadores predefinidos foram definidos para plataformas específicas. Veja a seguir os identificadores para as chaves predefinidas.

Handle Descrição
HKEY_CLASSES_ROOT
As entradas do Registro subordinadas a essa chave definem tipos (ou classes) de documentos e as propriedades associadas a esses tipos. Os aplicativos Shell e COM usam as informações armazenadas sob essa chave.
Essa chave também fornece compatibilidade com versões anteriores com o banco de dados de registro do Windows 3.1 armazenando informações para suporte a DDE e OLE. Visualizadores de arquivos e extensões de interface do usuário armazenam seus identificadores de classe OLE em HKEY_CLASSES_ROOT, e os servidores em processo são registrados nessa chave.
Esse identificador não deve ser usado em um serviço ou em um aplicativo que represente usuários diferentes.
Para obter mais informações, consulte HKEY_CLASSES_ROOT.
HKEY_CURRENT_CONFIG
Contém informações sobre o perfil de hardware atual do sistema de computador local. As informações em HKEY_CURRENT_CONFIG descrevem apenas as diferenças entre a configuração de hardware atual e a configuração padrão. As informações sobre a configuração de hardware padrão são armazenadas nas chaves software e sistema do HKEY_LOCAL_MACHINE.
HKEY_CURRENT_CONFIG é um alias para HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current.
Para obter mais informações, consulte HKEY_CURRENT_CONFIG.
HKEY_CURRENT_USER
As entradas do Registro subordinadas a essa chave definem as preferências do usuário atual. Essas preferências incluem as configurações de variáveis de ambiente, dados sobre grupos de programas, cores, impressoras, conexões de rede e preferências de aplicativo. Essa chave facilita o estabelecimento das configurações do usuário atual; a chave é mapeada para o branch do usuário atual no HKEY_USERS. Em HKEY_CURRENT_USER, os fornecedores de software armazenam as preferências atuais específicas do usuário a serem usadas em seus aplicativos. A Microsoft, por exemplo, cria a chave HKEY_CURRENT_USER\Software\Microsoft para seus aplicativos usarem, com cada aplicativo criando sua própria subchave sob a chave da Microsoft .
O mapeamento entre HKEY_CURRENT_USER e HKEY_USERS é por processo e é estabelecido na primeira vez que o processo faz referência HKEY_CURRENT_USER. O mapeamento é baseado no contexto de segurança do primeiro thread a ser referenciado HKEY_CURRENT_USER. Se esse contexto de segurança não tiver um hive de registro carregado no HKEY_USERS, o mapeamento será estabelecido com HKEY_USERS\.Default. Depois que esse mapeamento é estabelecido, ele persiste, mesmo que o contexto de segurança do thread seja alterado.
Todas as entradas do Registro em HKEY_CURRENT_USER exceto aquelas em HKEY_CURRENT_USER\Software\Classes são incluídas na parte do registro por usuário de um perfil de usuário móvel. Para excluir outras entradas de um perfil de usuário móvel, armazene-as em HKEY_CURRENT_USER_LOCAL_SETTINGS.
Esse identificador não deve ser usado em um serviço ou em um aplicativo que represente usuários diferentes. Em vez disso, chame a função RegOpenCurrentUser .
Para obter mais informações, consulte HKEY_CURRENT_USER.
HKEY_CURRENT_USER_LOCAL_SETTINGS
As entradas do Registro subordinadas a essa chave definem as preferências do usuário atual que são locais para o computador. Essas entradas não estão incluídas na parte do registro por usuário de um perfil de usuário móvel. Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP/2000: Essa chave tem suporte a partir do Windows 7 e do Windows Server 2008 R2.

HKEY_LOCAL_MACHINE
As entradas do Registro subordinadas a essa chave definem o estado físico do computador, incluindo dados sobre o tipo de barramento, a memória do sistema e o hardware e o software instalados. Ele contém subchaves que contêm dados de configuração atuais, incluindo informações de Plug and Play (o branch Enum, que inclui uma lista completa de todos os hardwares que já estiveram no sistema), preferências de logon de rede, informações de segurança de rede, informações relacionadas ao software (como nomes de servidor e o local do servidor) e outras informações do sistema.
Para obter mais informações, consulte HKEY_LOCAL_MACHINE.
HKEY_PERFORMANCE_DATA
As entradas do Registro subordinadas a essa chave permitem que você acesse dados de desempenho. Os dados não são realmente armazenados no registro; as funções do Registro fazem com que o sistema colete os dados de sua origem.
HKEY_PERFORMANCE_NLSTEXT
As entradas do Registro subordinadas a essa chave fazem referência às cadeias de caracteres de texto que descrevem contadores no idioma local da área em que o sistema do computador está em execução. Essas entradas não estão disponíveis para Regedit.exe e Regedt32.exe. Windows 2000: Não há suporte para essa chave.

HKEY_PERFORMANCE_TEXT
As entradas do Registro subordinadas a essa chave fazem referência às cadeias de caracteres de texto que descrevem contadores em inglês dos EUA. Essas entradas não estão disponíveis para Regedit.exe e Regedt32.exe. Windows 2000: Não há suporte para essa chave.

HKEY_USERS
As entradas do Registro subordinadas a essa chave definem a configuração de usuário padrão para novos usuários no computador local e a configuração do usuário para o usuário atual.

A função RegOverridePredefKey permite mapear uma chave do Registro predefinida para uma chave especificada no registro. Por exemplo, um programa de instalação de software pode remapear uma chave predefinida antes de instalar um componente de DLL. Isso permite que o programa de instalação examine facilmente as informações que o procedimento de instalação da DLL grava na chave predefinida.

As funções RegDisablePredefinedCache e RegDisablePredefinedCacheEx desabilitam o cache de identificador para identificadores de registro predefinidos. Os serviços que usam representação devem chamar RegDisablePredefinedCacheEx antes de usar identificadores de registro predefinidos.

Os identificadores predefinidos não são thread-safe. Fechar um identificador predefinido em um thread afeta todos os outros threads que estão usando o identificador.