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 |