Função RegOverridePredefKey (winreg.h)

Mapeia uma chave do Registro predefinida para a chave do Registro especificada.

Sintaxe

LSTATUS RegOverridePredefKey(
  [in]           HKEY hKey,
  [in, optional] HKEY hNewHKey
);

Parâmetros

[in] hKey

Um identificador para uma das seguintes chaves predefinidas:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_PERFORMANCE_DATA
  • HKEY_USERS

[in, optional] hNewHKey

Um identificador para uma chave aberta do Registro. Esse identificador é retornado pela função RegCreateKeyEx ou RegOpenKeyEx . Não pode ser uma das chaves predefinidas. A função mapeia hKey para se referir à chave hNewHKey . Isso afeta apenas o processo de chamada.

Se hNewHKey for NULL, a função restaurará o mapeamento padrão da chave predefinida.

Valor retornado

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor de retorno será o código de erro diferente de zero definido em Winerror.h. Você pode usar a função FormatMessage com o sinalizador FORMAT_MESSAGE_FROM_SYSTEM para obter uma descrição genérica do erro.

Comentários

A função RegOverridePredefKey destina-se a programas de instalação de software. Ele permite que eles remapeem uma chave predefinida, carreguem um componente DLL que será instalado no sistema, chamem um ponto de entrada na DLL e examinem as alterações no registro que o componente tentou fazer. Em seguida, o programa de instalação pode gravar essas alterações nos locais pretendidos pela DLL ou fazer alterações nos dados antes de gravá-los.

Por exemplo, considere um programa de instalação que instala um controle ActiveX como parte de uma instalação de aplicativo. O programa de instalação precisa chamar o ponto de entrada DllRegisterServer do controle para permitir que o controle se registre. Antes dessa chamada, o programa de instalação pode chamar RegOverridePredefKey para remapear HKEY_CLASSES_ROOT para uma chave temporária, como HKEY_CURRENT_USER\TemporaryInstall\DllRegistration. Em seguida, ele chama DllRegisterServer, o que faz com que o controle ActiveX escreva suas entradas do Registro na chave temporária. Em seguida, o programa de instalação chama RegOverridePredefKey novamente para restaurar o mapeamento original de HKEY_CLASSES_ROOT. O programa de instalação pode modificar as chaves gravadas na chave temporária, se necessário, antes de copiá-las para o HKEY_CLASSES_ROOT original.

Após a chamada para RegOverridePredefKey, você pode chamar RegCloseKey com segurança para fechar o identificador hNewHKey . O sistema mantém sua própria referência a hNewHKey.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winreg.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Dllregisterserver

Funções do Registro

Visão geral do Registro