Função OREnumKey
Enumera as subchaves da chave do Registro aberta especificada em um hive de registro offline. A função recupera informações sobre uma subchave cada vez que é chamada.
Sintaxe
DWORD OREnumKey(
_In_ ORHKEY Handle,
_In_ DWORD dwIndex,
_Out_ PWSTR lpName,
_Inout_ PDWORD lpcName,
_Out_opt_ PWSTR lpClass,
_Inout_opt_ PDWORD lpcClass,
_Out_opt_ PFILETIME lpftLastWriteTime
);
Parâmetros
-
Manipular [in]
-
Um identificador para uma chave do Registro aberta em um hive de registro offline.
-
dwIndex [in]
-
O índice da subchave a ser recuperada. Esse parâmetro deve ser zero para a primeira chamada para a função 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.
-
lpName [out]
-
Um ponteiro para um buffer que recebe o nome da subchave, incluindo o caractere nulo de terminação. A função copia apenas o nome da subchave, não a hierarquia de chave completa, para o buffer. Se a função falhar, nenhuma informação será copiada para esse buffer.
Para obter mais informações, consulte Limites de tamanho do elemento do Registro.
-
lpcName [in, out]
-
Um ponteiro para uma variável que especifica o tamanho do buffer especificado pelo parâmetro lpName , em WCHARs. Esse tamanho deve incluir o caractere nulo de terminação. Se a função for bem-sucedida, a variável apontada por lpcName conterá o número de caracteres armazenados no buffer, sem incluir o caractere nulo de terminação.
-
lpClass [out, opcional]
-
Um ponteiro para um buffer que recebe a cadeia de caracteres de classe terminada em nulo da subchave enumerada. Este parâmetro pode ser NULL.
-
lpcClass [in, out, opcional]
-
Um ponteiro para uma variável que especifica o tamanho do buffer especificado pelo parâmetro lpClass , em WCHARs. O tamanho deve incluir o caractere nulo de terminação. Se a função for bem-sucedida, lpcClass conterá o número de caracteres armazenados no buffer, sem incluir o caractere nulo de terminação. Esse parâmetro só poderá ser NULL se lpClass for NULL.
-
lpftLastWriteTime [out, opcional]
-
Um ponteiro para a estrutura FILETIME que recebe a hora em que a subchave enumerada foi gravada pela última vez. Este parâmetro pode ser NULL.
Valor retornado
Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor de retorno será o código de erro diferente de zero definido em Winerror.h. Você pode usar a função FormatMessage com o sinalizador FORMAT_MESSAGE_FROM_SYSTEM para obter uma descrição genérica do erro. Os códigos de erro possíveis incluem o seguinte:
- Se o buffer lpName for muito pequeno para receber o nome da chave, a função retornará ERROR_MORE_DATA.
- Se não houver mais subchaves disponíveis, a função retornará ERROR_NO_MORE_ITEMS.
Comentários
Para enumerar subchaves, um aplicativo deve chamar inicialmente a função OREnumKey com o parâmetro dwIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro dwIndex e chamar OREnumKey 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 subchave na primeira chamada para a função e diminuir o índice até que a subchave com o índice 0 seja enumerada. Para recuperar o índice da última subchave, use a função ORQueryInfoKey .
Embora um aplicativo esteja usando a função OREnumKey , ele não deve fazer chamadas para nenhuma função offline do Registro que possa alterar a chave que está sendo enumerada.
Requisitos
Requisito | Valor |
---|---|
Redistribuível |
Biblioteca do Registro Offline do Windows versão 1.0 ou posterior |
Cabeçalho |
|
DLL |
|
Confira também