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 |