Compartir a través de


Función RegSetValueExA (winreg.h)

Establece los datos y el tipo de un valor especificado en una clave del Registro.

Sintaxis

LSTATUS RegSetValueExA(
  [in]           HKEY       hKey,
  [in, optional] LPCSTR     lpValueName,
                 DWORD      Reserved,
  [in]           DWORD      dwType,
  [in]           const BYTE *lpData,
  [in]           DWORD      cbData
);

Parámetros

[in] hKey

Identificador de una clave del Registro abierta. La clave debe haberse abierto con el derecho de acceso KEY_SET_VALUE. Para obtener más información, consulte Derechos de acceso y seguridad de claves del Registro.

Este identificador lo devuelve el RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExo función RegOpenKeyTransacted. También puede ser una de las siguientes claves predefinidas:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
La versión Unicode de esta función admite las siguientes claves predefinidas adicionales:
  • HKEY_PERFORMANCE_TEXT
  • HKEY_PERFORMANCE_NLSTEXT

[in, optional] lpValueName

Nombre del valor que se va a establecer. Si un valor con este nombre aún no está presente en la clave, la función la agrega a la clave.

Si lpValueName es NULL o una cadena vacía, "", la función establece el tipo y los datos del valor predeterminado o sin nombre de la clave.

Para obtener más información, consulte límites de tamaño de elemento del Registro .

Las claves del Registro no tienen valores predeterminados, pero pueden tener un valor sin nombre, que puede ser de cualquier tipo.

Reserved

Este parámetro está reservado y debe ser cero.

[in] dwType

Tipo de datos a los que apunta el parámetro lpData. Para obtener una lista de los posibles tipos, consulte Tipos de valor del Registro.

[in] lpData

Datos que se van a almacenar.

En el caso de los tipos basados en cadenas, como REG_SZ, la cadena debe ser null-terminated. Con el tipo de datos REG_MULTI_SZ, la cadena debe terminarse con dos caracteres null.

Nota lpData que indica un valor de null es válido; sin embargo, si es así, cbData debe establecerse en "0".
 

[in] cbData

Tamaño de la información a la que apunta el parámetro lpData, en bytes. Si los datos son de tipo REG_SZ, REG_EXPAND_SZ o REG_MULTI_SZ, cbData deben incluir el tamaño de la terminación carácter o caracteres null.

Valor devuelto

Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto.

Si se produce un error en la función, el valor devuelto es un código de error distinto de cero definido en Winerror.h. Puede usar la función FormatMessage con la marca FORMAT_MESSAGE_FROM_SYSTEM para obtener una descripción genérica del error.

Observaciones

Los tamaños de valor están limitados por la memoria disponible. Sin embargo, el almacenamiento de valores grandes en el Registro puede afectar a su rendimiento. Los valores largos (más de 2048 bytes) deben almacenarse como archivos, con las ubicaciones de los archivos almacenados en el Registro.

Los elementos de aplicación como iconos, mapas de bits y archivos ejecutables deben almacenarse como archivos y no colocarse en el registro.

Si dwType es el tipo REG_SZ, REG_MULTI_SZ o REG_EXPAND_SZ y se usa la versión ANSI de esta función (ya sea llamando explícitamente a regSetValueExA o no definiendo UNICODE antes de incluir el archivo Windows.h), los datos a los que apunta el parámetro lpData deben ser una cadena de caracteres ANSI. La cadena se convierte en Unicode antes de almacenarla en el Registro.

Tenga en cuenta que las operaciones que acceden a determinadas claves del Registro se redirigen. Para obtener más información, vea de virtualización del Registro y datos de aplicación de 32 y 64 bits en el Registro.

Considere la posibilidad de usar la función RegSetKeyValue , lo que proporciona una manera más cómoda de establecer el valor de una clave del Registro.

Nota

El encabezado winreg.h define RegSetValueEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winreg.h (incluya Windows.h)
biblioteca de Advapi32.lib
DLL de Advapi32.dll

Consulte también

RegSetKeyValue

RegCreateKeyEx

regFlushKey

RegOpenKeyEx

RegQueryValueEx

funciones del Registro

de información general del Registro de