Compartilhar via


Função RegEnumKeyA (winreg.h)

Enumera as subchaves da chave do Registro aberta especificada. A função recupera o nome de uma subchave sempre que é chamada.

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

Sintaxe

LSTATUS RegEnumKeyA(
  [in]  HKEY  hKey,
  [in]  DWORD dwIndex,
  [out] LPSTR lpName,
  [in]  DWORD cchName
);

Parâmetros

[in] hKey

Um identificador para uma chave aberta do Registro. A chave deve ter sido aberta com o KEY_ENUMERATE_SUB_KEYS direito de acesso. 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] dwIndex

O índice da subchave de hKey a ser recuperado. Esse valor deve ser zero para a primeira chamada para a função RegEnumKey e incrementada para chamadas subsequentes.

Como as subchaves não são ordenadas, qualquer nova subchave terá um índice arbitrário. Isso significa que a função pode retornar subchaves em qualquer ordem.

[out] lpName

Um ponteiro para um buffer que recebe o nome da subchave, incluindo o caractere nulo de encerramento. Essa função copia apenas o nome da subchave, não a hierarquia de chave completa, para o buffer.

Para obter mais informações, consulte limites de tamanho do elemento do Registro.

[in] cchName

O tamanho do buffer apontado pelo parâmetro lpName, em TCHARs. Para determinar o tamanho do buffer necessário, use a função RegQueryInfoKey para determinar o tamanho da subchave maior para a chave identificada pelo parâmetro hKey.

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 não houver mais subchaves disponíveis, a função retornará ERROR_NO_MORE_ITEMS.

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

Observações

Para enumerar subchaves, um aplicativo deve inicialmente chamar a função RegEnumKey com o parâmetro dwIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro dwIndex e chamar a função RegEnumKey até que não haja mais subchaves (o que significa que a função retorna ERROR_NO_MORE_ITEMS).

O aplicativo também pode definir dwIndex para o índice da última chave na primeira chamada para a função e decrementar o índice até que a subchave com o índice 0 seja enumerada. Para recuperar o índice da última subchave, use o RegQueryInfoKey.

Embora um aplicativo esteja usando a função RegEnumKey, ele não deve fazer chamadas para nenhuma função de registro que possa alterar a chave que está sendo consultada.

Nota

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

RegCloseKey

RegCreateKeyEx

RegDeleteKey

RegEnumKeyEx

RegOpenKeyEx

RegQueryInfoKey

Funções do Registro

Visão geral do Registro