Compartilhar via


Função SHRegWriteUSValueA (shlwapi.h)

Grava um valor em uma subchave do Registro em uma subárvore específica do usuário (HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE).

Sintaxe

LSTATUS SHRegWriteUSValueA(
  [in] HUSKEY     hUSKey,
  [in] LPCSTR     pszValue,
  [in] DWORD      dwType,
  [in] const void *pvData,
  [in] DWORD      cbData,
  [in] DWORD      dwFlags
);

Parâmetros

[in] hUSKey

Tipo: HUSKEY

Um identificador para uma subchave do Registro aberta no momento. A subchave deve ter sido aberta com o KEY_SET_VALUE direito de acesso. Para obter mais informações, consulte de Direitos de Acesso e Segurança de Chave do Registro.

Esse identificador pode ser obtido por meio da função SHRegOpenUSKey.

[in] pszValue

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do valor. Esse valor é uma entrada na subchave especificada por hUSKey. Se um valor com esse nome ainda não estiver presente na subchave, ele será adicionado.

Se esse parâmetro for NULL ou uma cadeia de caracteres vazia, a função definirá o tipo e os dados para o valor Padrão da subchave.

[in] dwType

Tipo: DWORD

O tipo dos dados a serem armazenados no valor especificado por pszValue. Um dos seguintes tipos de valor do Registro definidos em Winnt.h e Wdm.h.

REG_NONE (0x00000000)

REG_SZ (0x00000001)

REG_EXPAND_SZ (0x00000002)

REG_BINARY (0x00000003)

REG_DWORD (0x00000004)

REG_DWORD_LITTLE_ENDIAN (0x00000004)

REG_DWORD_BIG_ENDIAN (0x00000005)

REG_MULTI_SZ (0x00000007)

REG_RESOURCE_LIST (0x00000008)

REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)

REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)

REG_QWORD (0x0000000B)

REG_QWORD_LITTLE_ENDIAN (0x0000000B)

[in] pvData

Tipo: const void*

Um ponteiro para os dados a serem definidos para o valor especificado por pszValue. Para tipos baseados em cadeia de caracteres, como REG_SZ, a cadeia de caracteres deve ser terminada em nulo. Com o tipo de dados REG_MULTI_SZ, a cadeia de caracteres deve ser encerrada com dois caracteres nulos. Uma barra invertida em um caminho deve ser precedida por outra barra invertida como um caractere de escape. Por exemplo, especifique "C:\mydir\myfile" para armazenar a cadeia de caracteres "C:\mydir\myfile".

[in] cbData

Tipo: DWORD

O tamanho, em bytes, dos dados apontados pelo parâmetro pvData. Se os dados forem do tipo REG_SZ, REG_EXPAND_SZ ou REG_MULTI_SZ, cbData deverá incluir o tamanho do caractere ou caracteres nulos de terminação.

[in] dwFlags

Tipo: DWORD

Sinalizadores que indicam a subárvore na qual os dados devem ser gravados. Um ou mais dos seguintes valores:

SHREGSET_HKCU (0x00000001)

Escreva no HKEY_CURRENT_USER somente se um valor do nome especificado em pszValue não existir atualmente na subchave especificada.

SHREGSET_FORCE_HKCU (0x00000002)

Gravar em HKEY_CURRENT_USER. Se um valor do nome especificado em pszValue já existir, ele será substituído.

SHREGSET_HKLM (0x00000004)

Escreva no HKEY_LOCAL_MACHINE somente se um valor do nome especificado em pszValue não existir no momento na subchave especificada.

SHREGSET_FORCE_HKLM (0x00000008)

Gravar em HKEY_LOCAL_MACHINE. Se um valor do nome especificado em pszValue já existir, ele será substituído.

SHREGSET_DEFAULT (0x00000006)

Equivalente a (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Valor de retorno

Tipo: LSTATUS

Retorna ERROR_SUCCESS se bem-sucedido; caso contrário, um 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 recuperar uma descrição genérica do erro.

Observações

Para usar SHRegWriteUSValue, primeiro abra a chave com SHRegOpenUSKey. Depois que a chave for aberta, você poderá usar SHRegWriteUSValue quantas vezes forem necessárias.

Se você precisar escrever apenas um único valor, deverá usar SHRegSetUSValue, que abre a chave e grava o valor.

Se você precisar escrever mais de um valor na mesma chave, várias chamadas para SHRegWriteUSValue geralmente são mais eficientes do que SHRegSetUSValue, pois a chave só é aberta uma vez.

Nota

O cabeçalho shlwapi.h define SHRegWriteUSValue 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 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shlwapi.h
biblioteca Shlwapi.lib
de DLL Shlwapi.dll (versão 4.71 ou posterior)

Consulte também

tipos de valor do Registro