Compartilhar via


Função RegQueryInfoKeyW (winreg.h)

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

Sintaxe

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    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 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_PERFORMANCE_DATA
   HKEY_USERS

[out, optional] lpClass

Um ponteiro para um buffer que recebe a classe definida pelo usuário da chave. Esse 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 a terminação caractere de nulo. 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 a terminação caractere de nulo. 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 a terminação caractere de nulo.

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 será NULL, então 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 na chave especificada. Esse 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 Unicode, sem incluir a terminação caractere de nulo. Esse 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 Unicode. A contagem retornada não inclui a terminação caractere de nulo. Esse parâmetro pode ser NULL.

[out, optional] lpcValues

Um ponteiro para uma variável que recebe o número de valores associados à chave. Esse 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 Unicode. O tamanho não inclui a terminação caractere de nulo. Esse 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. Esse 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. Esse parâmetro pode ser NULL.

[out, optional] lpftLastWriteTime

Um ponteiro para uma estrutura FILETIME que recebe a hora da última gravação. Esse 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.

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 lpClass buffer for muito pequeno para receber o nome da classe, a função retornará ERROR_MORE_DATA.

Observações

Nota

O cabeçalho winreg.h define RegQueryInfoKey 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

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

Funções do Registro

Visão geral do Registro