Método IRegistryKey::EnumerateValueKey (portcls.h)
O EnumerateValueKey
método retorna informações sobre uma entrada do Registro que contém uma chave de valor.
Sintaxe
NTSTATUS EnumerateValueKey(
[in] ULONG Index,
[in] KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
[out] PVOID KeyValueInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parâmetros
[in] Index
Especifica o índice de subchave. Esse parâmetro identifica a subchave cujo valor é solicitado. Se a chave contiver n subchaves, os índices válidos variam de 0 a n-1. Se o índice exceder esse intervalo, o método retornará STATUS_NO_MORE_ENTRIES.
[in] KeyValueInformationClass
Especifica o tipo de informação a ser retornado no buffer. Defina esse parâmetro como um dos seguintes valores de enumeração KEY_VALUE_INFORMATION_CLASS:
- KeyValueBasicInformation
-
KeyValueFullInformation
-
KeyValuePartialInformation
[out] KeyValueInformation
Ponteiro de saída para o valor da chave. Esse parâmetro aponta para um buffer alocado pelo chamador no qual o método grava os dados solicitados. O buffer contém uma estrutura do tipo KEY_VALUE_BASIC_INFORMATION, KEY_VALUE_FULL_INFORMATION ou KEY_VALUE_PARTIAL_INFORMATION, dependendo do valor de KeyValueInformationClass. A estrutura é seguida por dados adicionais cujo tamanho depende do tipo de dados do valor da chave.
[in] Length
Tamanho em bytes do buffer KeyValueInformation , que o chamador deve definir de acordo com o KeyValueInformationClass fornecido. Para que a chamada seja bem-sucedida, o buffer deve ser pelo menos tão grande quanto os dados que o método grava no buffer.
[out] ResultLength
Ponteiro de saída para o comprimento dos dados resultantes. Esse parâmetro aponta para uma variável ULONG alocada pelo chamador na qual o método grava uma contagem especificando o número de bytes realmente gravados no buffer KeyValueInformation . No entanto, se o tamanho do buffer especificado for muito pequeno para conter as informações, o método gerará o tamanho do buffer necessário e retornará STATUS_BUFFER_OVERFLOW.
Retornar valor
EnumerateValueKey
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida na cópia das informações solicitadas para o buffer KeyValueInformation . Se o tamanho do buffer especificado for muito pequeno para receber todas as informações disponíveis, o método retornará STATUS_BUFFER_OVERFLOW. Caso contrário, o método retornará um código de erro apropriado. A tabela a seguir mostra alguns dos possíveis códigos de status de retorno.
Código de retorno | Descrição |
---|---|
|
Indica que o buffer especificado é muito pequeno para receber qualquer informação. |
|
Indica que um dos parâmetros passados para o método não é válido. |
|
Indica que não há mais chaves de valor disponíveis (o parâmetro Index é maior ou igual ao número de chaves de valor). |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |