Função RegQueryValueA (winreg.h)
Recupera os dados associados ao valor padrão ou sem nome de uma chave do Registro especificada. Os dados devem ser uma cadeia de caracteres nulaterminada.
Sintaxe
LSTATUS RegQueryValueA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[out, optional] LPSTR lpData,
[in, out, optional] PLONG lpcbData
);
Parâmetros
[in] hKey
Um identificador para uma chave aberta do Registro. A chave deve ter sido aberta com o acesso KEY_QUERY_VALUE direito. Para obter mais informações, consulte de Direitos de Acesso e Segurança de Chave do Registro.
Esse identificador é retornado pelo RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExou função regOpenKeyTransacted. Também pode ser uma das seguintes chaves predefinidas :
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in, optional] lpSubKey
O nome da subchave do parâmetro hKey para o qual o valor padrão é recuperado.
Os nomes de chave não diferenciam maiúsculas de minúsculas.
Se esse parâmetro for NULL ou apontar para uma cadeia de caracteres vazia, a função recuperará o valor padrão da chave identificada por hKey.
Para obter mais informações, consulte limites de tamanho do elemento do Registro.
[out, optional] lpData
Um ponteiro para um buffer que recebe o valor padrão da chave especificada.
Se lpValue for NULL e lpcbValue não forNULL, a função retornará ERROR_SUCCESS e armazenará o tamanho dos dados, em bytes, na variável apontada por lpcbValue. Isso permite que um aplicativo determine a melhor maneira de alocar um buffer para os dados do valor.
[in, out, optional] lpcbData
Um ponteiro para uma variável que especifica o tamanho do buffer apontado pelo parâmetro lpValue, em bytes. Quando a função retorna, essa variável contém o tamanho dos dados copiados para lpValue, incluindo qualquer terminação caracteres de nulos.
Se os dados tiverem o tipo REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ, esse tamanho incluirá qualquer terminação caracteres ou caracteres nulos de. Para obter mais informações, consulte Comentários.
Se o buffer especificado lpValue não for grande o suficiente para manter os dados, a função retornará ERROR_MORE_DATA e armazenará o tamanho do buffer necessário na variável apontada por lpcbValue. Nesse caso, o conteúdo do buffer de lpValue é indefinido.
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 do sistema.
Se o lpValue buffer for muito pequeno para receber o valor, a função retornará ERROR_MORE_DATA.
Observações
Se a versão ANSI dessa função for usada (chamando explicitamente RegQueryValueA ou não definindo UNICODE antes de incluir o arquivo Windows.h), essa função converterá a cadeia de caracteres Unicode armazenada em uma cadeia de caracteres ANSI antes de copiá-la para o buffer especificado pelo parâmetro lpValue.
Se os dados tiverem o tipo REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ, talvez a cadeia de caracteres não tenha sido armazenada com os caracteres nulosnulos
Observe que as operações que acessam determinadas chaves do Registro são redirecionadas. Para obter mais informações, consulte de Virtualização do Registro e dados de aplicativo de 32 bits e 64 bits no Registro.
Nota
O cabeçalho winreg.h define RegQueryValue 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 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [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 |