Compartilhar via


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.

Observação Essa função é fornecida apenas para compatibilidade com versões de 16 bits do Windows. Os aplicativos devem usar a função RegQueryValueEx.
 

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 adequados. Portanto, mesmo que a função retorne ERROR_SUCCESS, o aplicativo deve garantir que a cadeia de caracteres seja terminada corretamente antes de usá-la; caso contrário, ele pode substituir um buffer. (Observe que as cadeias de caracteres REG_MULTI_SZ devem ter dois nulos -encerrando caracteres.)

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

Consulte também

RegEnumKeyEx

RegEnumValue

RegQueryInfoKey

RegQueryValueEx

RegSetValueEx

Funções do Registro

Visão geral do Registro