Compartir a través de


Función SHRegWriteUSValueA (shlwapi.h)

Escribe un valor en una subclave del Registro en un subárbol específico del usuario (HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE).

Sintaxis

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

Identificador de una subclave del Registro abierta actualmente. La subclave 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 se puede obtener a través de la función SHRegOpenUSKey.

[in] pszValue

Tipo: LPCTSTR de

Puntero a una cadena terminada en null que especifica el nombre del valor. Este valor es una entrada de la subclave especificada por hUSKey. Si un valor con este nombre aún no está presente en la subclave, se agregará.

Si este parámetro es null o una cadena vacía, la función establece el tipo y los datos para el valor predeterminado de la subclave.

[in] dwType

Tipo: DWORD de

Tipo de los datos que se van a almacenar en el valor especificado por pszValue. Uno de los siguientes tipos de valor del Registro definidos en Winnt.h y 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*

Puntero a los datos que se van a establecer para el valor especificado por pszValue. Para los tipos basados en cadenas, como REG_SZ, la cadena debe terminar en null. Con el REG_MULTI_SZ tipo de datos, la cadena debe terminarse con dos caracteres NULL. Una barra diagonal inversa en una ruta de acceso debe ir precedida de otra barra diagonal inversa como carácter de escape. Por ejemplo, especifique "C:\mydir\myfile" para almacenar la cadena "C:\mydir\myfile".

[in] cbData

Tipo: DWORD de

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

[in] dwFlags

Tipo: DWORD de

Marcas que indican el subárbol en el que se deben escribir los datos. Uno o varios de los siguientes valores:

SHREGSET_HKCU (0x00000001)

Escriba en HKEY_CURRENT_USER solo si un valor del nombre especificado en pszValue no existe actualmente en la subclave especificada.

SHREGSET_FORCE_HKCU (0x00000002)

Escriba en HKEY_CURRENT_USER. Si ya existe un valor del nombre especificado en pszValue, se sobrescribirá.

SHREGSET_HKLM (0x00000004)

Escriba en HKEY_LOCAL_MACHINE solo si un valor del nombre especificado en pszValue no existe actualmente en la subclave especificada.

SHREGSET_FORCE_HKLM (0x00000008)

Escriba en HKEY_LOCAL_MACHINE. Si ya existe un valor del nombre especificado en pszValue, se sobrescribirá.

SHREGSET_DEFAULT (0x00000006)

Equivalente a (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Valor devuelto

Tipo: LSTATUS de

Devuelve ERROR_SUCCESS si se ejecuta correctamente; de lo contrario, 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 recuperar una descripción genérica del error.

Observaciones

Para usar SHRegWriteUSValue, primero debe abrir la clave con SHRegOpenUSKey. Una vez abierta la clave, puede usar SHRegWriteUSValue tantas veces como sea necesario.

Si solo necesita escribir un valor único, debe usar SHRegSetUSValue, que abre la clave y escribe el valor.

Si necesita escribir más de un valor en la misma clave, varias llamadas a SHRegWriteUSValue suelen ser más eficaces que SHRegSetUSValue, ya que la clave solo se abre una vez.

Nota

El encabezado shlwapi.h define SHRegWriteUSValue 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, Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlwapi.h
biblioteca de Shlwapi.lib
DLL de Shlwapi.dll (versión 4.71 o posterior)

Consulte también

tipos de valor del Registro de