Método IRegistryKey::SetValueKey (portcls.h)

El SetValueKey método reemplaza o crea una entrada de valor bajo la clave abierta.

Sintaxis

NTSTATUS SetValueKey(
  [in, optional] PUNICODE_STRING ValueName,
  [in]           ULONG           Type,
  [in]           PVOID           Data,
  [in]           ULONG           DataSize
);

Parámetros

[in, optional] ValueName

Puntero a una cadena que contiene el nombre de la entrada de valor que se va a establecer. La cadena de nombre se especifica mediante una estructura de tipo UNICODE_STRING. Si la entrada de valor no tiene ningún nombre, establezca este parámetro en NULL. Si el autor de la llamada especifica una cadena de nombre, pero el nombre especificado no es único con respecto a su clave contenedora, el método reemplaza los datos de una entrada de valor existente.

[in] Type

Especifica el tipo de los datos que se van a escribir para ValueName. Establezca este parámetro en uno de los siguientes tipos definidos por el sistema:

REG_BINARY

REG_DWORD

REG_DWORD_LITTLE_ENDIAN

REG_DWORD_BIG_ENDIAN

REG_EXPAND_SZ

REG_LINK

REG_MULTI_SZ

REG_NONE

REG_SZ

REG_RESOURCE_LIST

REG_RESOURCE_REQUIREMENTS_LIST

REG_FULL_RESOURCE_DESCRIPTOR

Estos tipos de parámetros se explican en ZwSetValueKey.

[in] Data

Puntero a un búfer que contiene los datos. Este parámetro apunta a una estructura o valor proporcionado por el usuario adecuado para la función.

[in] DataSize

Especifica el tamaño en bytes de Datos. Este parámetro especifica cuántos bytes de datos copiará el método del búfer al que apunta Data .

Valor devuelto

SetValueKey devuelve STATUS_SUCCESS si la llamada se realizó correctamente al establecer la clave de valor especificada. De lo contrario, el método devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de retorno.

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Indica que uno de los parámetros pasados al método no es válido.
STATUS_OBJECT_NAME_NOT_FOUND
Indica que el método no pudo encontrar la clave de valor con nombre.

Comentarios

Si la clave especificada no tiene ninguna entrada de valor existente con un nombre que coincida con valueName especificado, SetValueKey crea una nueva entrada de valor con el nombre especificado. Si existe un nombre de entrada de valor coincidente, esta rutina sobrescribe la entrada de valor original para el valueName especificado. Por lo tanto, SetValueKey conserva un nombre único para cada entrada de valor de cualquier clave determinada. Aunque cada nombre de entrada de valor debe ser único para su clave contenedora, muchas claves diferentes del Registro pueden tener entradas de valor con los mismos nombres.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
IRQL PASSIVE_LEVEL

Consulte también

IRegistryKey

UNICODE_STRING

ZwSetValueKey