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 |
---|---|
|
Indica que uno de los parámetros pasados al método no es válido. |
|
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 |