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.
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 direito de acesso KEY_ENUMERATE_SUB_KEYS. 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 . Ela 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 recuperada. Esse valor deve ser zero para a primeira chamada para a função RegEnumKey e, em seguida, incrementado 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 terminação. 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 maior subchave para a chave identificada pelo parâmetro hKey .
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 não houver mais subchaves disponíveis, a função retornará ERROR_NO_MORE_ITEMS.
Se o buffer lpName for muito pequeno para receber o nome da chave, a função retornará ERROR_MORE_DATA.
Comentários
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 como 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 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.
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
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 |