Função RegGetValueW (winreg.h)
Recupera o tipo e os dados do valor do Registro especificado.
Sintaxe
LSTATUS RegGetValueW(
[in] HKEY hkey,
[in, optional] LPCWSTR lpSubKey,
[in, optional] LPCWSTR lpValue,
[in, optional] DWORD dwFlags,
[out, optional] LPDWORD pdwType,
[out, optional] PVOID pvData,
[in, out, optional] LPDWORD pcbData
);
Parâmetros
[in] hkey
Um identificador para uma chave aberta do Registro. A chave deve ter sido aberta com o acesso KEY_QUERY_VALUE direito. 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_PERFORMANCE_DATA
- HKEY_PERFORMANCE_NLSTEXT
- HKEY_PERFORMANCE_TEXT
- HKEY_USERS
[in, optional] lpSubKey
O caminho de uma chave do Registro em relação à chave especificada pelo parâmetro de
O caminho não diferencia maiúsculas de minúsculas.
Se esse parâmetro for NULL ou uma cadeia de caracteres vazia, "", o valor será lido da chave especificada por hkey si mesmo.
[in, optional] lpValue
O nome do valor do registro.
Se esse parâmetro for NULL ou uma cadeia de caracteres vazia, "", a função recuperará o tipo e os dados do valor não nomeado ou padrão da chave, se houver. As chaves não têm automaticamente um valor não nomeado ou padrão, e valores não nomeados podem ser de qualquer tipo.
Para obter mais informações, consulte limites de tamanho do elemento do Registro.
[in, optional] dwFlags
Os sinalizadores que restringem o tipo de dados de valor a ser consultado. Se o tipo de dados do valor não atender a esses critérios, a função falhará. Esse parâmetro pode ser um ou mais dos valores a seguir.
Esse parâmetro também pode incluir um ou mais dos valores a seguir.
[out, optional] pdwType
Um ponteiro para uma variável que recebe um código que indica o tipo de dados armazenados no valor especificado. Para obter uma lista dos códigos de tipo possíveis, consulte Tipos de Valor do Registro. Esse parâmetro poderá ser NULL se o tipo não for necessário.
[out, optional] pvData
Um ponteiro para um buffer que recebe os dados do valor. Esse parâmetro poderá ser NULL se os dados não forem necessários.
Se os dados forem uma cadeia de caracteres, a função verificará se uma caractere de nulo. Se não for encontrado, a cadeia de caracteres será armazenada com um terminador nulo se o buffer for grande o suficiente para acomodar o caractere extra. Caso contrário, a função falhará e retornará ERROR_MORE_DATA.
[in, out, optional] pcbData
Um ponteiro para uma variável que especifica o tamanho do buffer apontado pelo parâmetro pvData, em bytes. Quando a função retorna, essa variável contém o tamanho dos dados copiados para pvData.
O parâmetro pcbData poderá ser NULL somente se pvData estiver NULL.
Se os dados tiverem o tipo REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ, esse tamanho incluirá qualquer terminação caracteres ou caracteres nulos de. Para obter mais informações, consulte Comentários.
Se o buffer especificado por parâmetro pvData não for grande o suficiente para manter os dados, a função retornará ERROR_MORE_DATA e armazenará o tamanho do buffer necessário na variável apontada por pcbData. Nesse caso, o conteúdo do buffer pvData
Se pvData for NULL e pcbData não forNULL, a função retornará ERROR_SUCCESS e armazenará o tamanho dos dados, em bytes, na variável apontada por pcbData. Isso permite que um aplicativo determine a melhor maneira de alocar um buffer para os dados do valor.
Se
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 o buffer pvData
Se o valor do registro lpValue não existir, a função retornará ERROR_FILE_NOT_FOUND.
Se dwFlags especificar uma combinação de RRF_SUBKEY_WOW6464KEY e RRF_SUBKEY_WOW6432KEY, a função retornará ERROR_INVALID_PARAMETER.
Observações
Um aplicativo normalmente chama RegEnumValue para determinar os nomes de valor e, em seguida, RegGetValue para recuperar os dados dos nomes.
Se os dados tiverem o tipo REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ e a versão ANSI dessa função for usada (chamando explicitamente RegGetValueA ou não definindo UNICODE antes de incluir o arquivo Windows.h), essa função converterá a cadeia de caracteres Unicode armazenada em uma cadeia de caracteres ANSI antes de copiá-la para o buffer apontado por pvData.
Ao chamar essa função com definido como o identificador de HKEY_PERFORMANCE_DATA e uma cadeia de caracteres de valor de um objeto especificado, a estrutura de dados retornada às vezes tem objetos não solicitados. Não se surpreenda; esse é um comportamento normal. Você sempre deve esperar percorrer a estrutura de dados retornada para procurar o objeto solicitado.
Observe que as operações que acessam determinadas chaves do Registro são redirecionadas. Para obter mais informações, consulte de Virtualização do Registro e dados de aplicativo de 32 bits e 64 bits no Registro.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Nota
O cabeçalho winreg.h define RegGetValue 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 Vista, Windows XP Professional x64 Edition [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008, Windows Server 2003 com SP1 [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
RegCreateKeyEx
RegOpenKeyEx