Compartilhar via


Função RegLoadAppKeyA (winreg.h)

Carrega o hive do Registro especificado como um hive de aplicativo.

Sintaxe

LSTATUS RegLoadAppKeyA(
  [in]  LPCSTR lpFile,
  [out] PHKEY  phkResult,
  [in]  REGSAM samDesired,
  [in]  DWORD  dwOptions,
        DWORD  Reserved
);

Parâmetros

[in] lpFile

O nome do arquivo hive. Esse hive deve ter sido criado com a função RegSaveKey ou RegSaveKeyEx. Se o arquivo não existir, um arquivo hive vazio será criado com o nome especificado.

[out] phkResult

Ponteiro para o identificador da chave raiz do hive carregado.

A única maneira de acessar chaves no hive é por meio desse identificador. O registro impedirá que um aplicativo acesse chaves neste hive usando um caminho absoluto para a chave. Como resultado, não é possível navegar até esse hive por meio do namespace do registro.

[in] samDesired

Uma máscara que especifica os direitos de acesso solicitados para a chave raiz retornada. Para obter mais informações, consulte de Direitos de Acesso e Segurança de Chave do Registro.

[in] dwOptions

Se esse parâmetro for REG_PROCESS_APPKEY, o hive não poderá ser carregado novamente enquanto ele for carregado pelo chamador. Isso impede o acesso a esse hive do Registro por outro chamador.

Reserved

Esse parâmetro é reservado.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado será um 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.

Observações

Ao contrário RegLoadKey, RegLoadAppKey não carrega o hive em HKEY_LOCAL_MACHINE ou HKEY_USERS. Em vez disso, o hive é carregado em uma raiz especial que não pode ser enumerada. Como resultado, não há como enumerar hives atualmente carregados pelo RegLoadAppKey. Todas as operações em hives carregadas por RegLoadAppKey precisam ser executadas em relação ao identificador retornado em phkResult.

Se dois processos forem necessários para executar operações no mesmo hive, cada processo deverá chamar RegLoadAppKey para recuperar um identificador. Durante a operação RegLoadAppKey , o registro verificará se o arquivo já foi carregado. Se ele tiver sido carregado, o Registro retornará um identificador para o hive carregado anteriormente em vez de recarregar o hive.

Todas as chaves dentro do hive devem ter o mesmo descritor de segurança, caso contrário, a função falhará. Esse descritor de segurança deve conceder ao chamador o acesso especificado pelo parâmetro samDesired ou a função falhará. Você não pode usar a função RegSetKeySecurity em qualquer chave dentro do hive.

No Windows 8 e posterior, cada processo pode chamar RegLoadAppKey para carregar vários hives. No Windows 7 e anteriores, cada processo pode carregar apenas um hive usando RegLoadAppKey de cada vez.

Qualquer hive carregado usando RegLoadAppKey é descarregado automaticamente quando todos os identificadores das chaves dentro do hive são fechados usando regCloseKey.

Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Nota

O cabeçalho winreg.h define RegLoadAppKey como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winreg.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

RegSaveKey

Funções do Registro

do Hive do Registro