Função RegQueryMultipleValuesA (winreg.h)
Recupera o tipo e os dados de uma lista de nomes de valor associados a uma chave do Registro aberta.
Sintaxe
LSTATUS RegQueryMultipleValuesA(
[in] HKEY hKey,
[out] PVALENTA val_list,
[in] DWORD num_vals,
[out, optional] LPSTR lpValueBuf,
[in, out, optional] LPDWORD ldwTotsize
);
Parâmetros
[in] hKey
Um identificador para uma chave aberta do Registro. A chave deve ter sido aberta com o KEY_QUERY_VALUE direito de acesso. Para obter mais informações, consulte
Direitos de Acesso e Segurança de Chave do Registro.
Esse identificador é retornado pela função RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx ou 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] val_list
Um ponteiro para uma matriz de
Estruturas VALENT que descrevem uma ou mais entradas de valor. Na entrada, o membro ve_valuename de cada estrutura deve conter um ponteiro para o nome de um valor a ser recuperado. A função falhará se qualquer um dos valores especificados não existir na chave especificada.
Se a função for bem-sucedida, cada elemento da matriz conterá as informações do valor especificado.
[in] num_vals
O número de elementos na matriz val_list .
[out, optional] lpValueBuf
Um ponteiro para um buffer. Se a função for bem-sucedida, o buffer receberá os dados de cada valor.
Se lpValueBuf for NULL, o valor apontado pelo parâmetro ldwTotsize deverá ser zero, nesse caso, a função retornará ERROR_MORE_DATA e ldwTotsize receberá o tamanho necessário do buffer, em bytes.
[in, out, optional] ldwTotsize
Um ponteiro para uma variável que especifica o tamanho do buffer apontado pelo parâmetro lpValueBuf , em bytes. Se a função for bem-sucedida, ldwTotsize receberá o número de bytes copiados para o buffer. Se a função falhar porque o buffer é muito pequeno, ldwTotsize receberá o tamanho necessário, em bytes.
Valor retornado
Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor retornado será um dos seguintes códigos de erro.
Código de retorno | Descrição |
---|---|
|
RegQueryMultipleValues não pode instanciar ou acessar o provedor da chave dinâmica. |
|
O buffer apontado por lpValueBuf era muito pequeno. Nesse caso, ldwTotsize recebe o tamanho do buffer necessário. |
|
O tamanho total dos dados solicitados (tamanho da matriz val_list + ldwTotSize) é maior que o limite do sistema de um megabyte. |
Comentários
A função RegQueryMultipleValues permite que um aplicativo consulte um ou mais valores de uma chave estática ou dinâmica. Se a chave de destino for uma chave estática, o sistema fornecerá todos os valores de forma atômica. Para evitar serialização excessiva, os dados agregados retornados pela função não podem exceder um megabyte.
Se a chave de destino for uma chave dinâmica, seu provedor deverá fornecer todos os valores de forma atômica. Isso significa que o provedor deve preencher o buffer de resultados de forma síncrona, fornecendo uma exibição consistente de todos os valores no buffer, evitando serialização excessiva. O provedor pode fornecer no máximo um megabyte de dados de saída total durante uma chamada atômica para essa função.
RegQueryMultipleValues tem suporte remoto; ou seja, o parâmetro hKey passado para a função pode se referir a um computador remoto.
Observação
O cabeçalho winreg.h define RegQueryMultipleValues 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
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 |