Função RegQueryInfoKeyA (winreg.h)

Recupera informações sobre a chave do Registro especificada.

Sintaxe

LSTATUS RegQueryInfoKeyA(
  [in]                HKEY      hKey,
  [out, optional]     LPSTR     lpClass,
  [in, out, optional] LPDWORD   lpcchClass,
                      LPDWORD   lpReserved,
  [out, optional]     LPDWORD   lpcSubKeys,
  [out, optional]     LPDWORD   lpcbMaxSubKeyLen,
  [out, optional]     LPDWORD   lpcbMaxClassLen,
  [out, optional]     LPDWORD   lpcValues,
  [out, optional]     LPDWORD   lpcbMaxValueNameLen,
  [out, optional]     LPDWORD   lpcbMaxValueLen,
  [out, optional]     LPDWORD   lpcbSecurityDescriptor,
  [out, optional]     PFILETIME lpftLastWriteTime
);

Parâmetros

[in] hKey

Um identificador para uma chave aberta do Registro. A chave deve ter sido aberta com o KEY_QUERY_VALUE direito de acesso. Para obter mais informações, consulte Segurança de Chave do Registro e Direitos de Acesso.

Esse identificador é retornado pela função RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx ou RegOpenKeyTransacted . Também pode ser uma das seguintes chaves predefinidas:


   HKEY_CLASSES_ROOT
   HKEY_CURRENT_CONFIG
   HKEY_CURRENT_USER
   HKEY_LOCAL_MACHINE
   HKEY_PERFORMANCE_DATA
   HKEY_USERS

[out, optional] lpClass

Um ponteiro para um buffer que recebe a classe definida pelo usuário da chave. Este parâmetro pode ser NULL.

[in, out, optional] lpcchClass

Um ponteiro para uma variável que especifica o tamanho do buffer apontado pelo parâmetro lpClass , em caracteres.

O tamanho deve incluir o caractere nulo de terminação. Quando a função retorna, essa variável contém o tamanho da cadeia de caracteres de classe armazenada no buffer. A contagem retornada não inclui o caractere nulo de terminação. Se o buffer não for grande o suficiente, a função retornará ERROR_MORE_DATA e a variável conterá o tamanho da cadeia de caracteres, em caracteres, sem contar o caractere nulo de terminação.

Se lpClass for NULL, lpcClass poderá ser NULL.

Se o parâmetro lpClass for um endereço válido, mas o parâmetro lpcClass não for, por exemplo, ele for NULL, a função retornará ERROR_INVALID_PARAMETER.

lpReserved

Esse parâmetro é reservado e deve ser NULL.

[out, optional] lpcSubKeys

Um ponteiro para uma variável que recebe o número de subchaves contidas pela chave especificada. Este parâmetro pode ser NULL.

[out, optional] lpcbMaxSubKeyLen

Um ponteiro para uma variável que recebe o tamanho da subchave da chave com o nome mais longo, em caracteres ANSI, sem incluir o caractere nulo de terminação. Este parâmetro pode ser NULL.

[out, optional] lpcbMaxClassLen

Um ponteiro para uma variável que recebe o tamanho da cadeia de caracteres mais longa que especifica uma classe de subchave, em caracteres ANSI. A contagem retornada não inclui o caractere nulo de terminação. Este parâmetro pode ser NULL.

[out, optional] lpcValues

Um ponteiro para uma variável que recebe o número de valores associados à chave. Este parâmetro pode ser NULL.

[out, optional] lpcbMaxValueNameLen

Um ponteiro para uma variável que recebe o tamanho do nome de valor mais longo da chave, em caracteres ANSI. O tamanho não inclui o caractere nulo de terminação. Este parâmetro pode ser NULL.

[out, optional] lpcbMaxValueLen

Um ponteiro para uma variável que recebe o tamanho do componente de dados mais longo entre os valores da chave, em bytes. Este parâmetro pode ser NULL.

[out, optional] lpcbSecurityDescriptor

Um ponteiro para uma variável que recebe o tamanho do descritor de segurança da chave, em bytes. Este parâmetro pode ser NULL.

[out, optional] lpftLastWriteTime

Um ponteiro para uma estrutura FILETIME que recebe a última hora de gravação. Este parâmetro pode ser NULL.

A função define os membros da estrutura FILETIME para indicar a última vez que a chave ou qualquer uma de suas entradas de valor é modificada.

Retornar valor

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

Se a função falhar, o valor retornado será um código de erro do sistema.

Se o buffer lpClass for muito pequeno para receber o nome da classe , a função retornará ERROR_MORE_DATA.

Comentários

Observação

Em versões herdadas do Windows, essa API também é exposta por kernel32.dll.

Requisitos

Requisito Valor
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

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

Regqueryvalueex

Funções do Registro

Visão geral do Registro