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

La SetValueKey méthode remplace ou crée une entrée de valeur sous la clé ouverte.

Syntaxe

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

Paramètres

[in, optional] ValueName

Pointeur vers une chaîne contenant le nom de l’entrée de valeur à définir. La chaîne de nom est spécifiée par une structure de type UNICODE_STRING. Si l’entrée de valeur n’a pas de nom, définissez ce paramètre sur NULL. Si l’appelant spécifie une chaîne de nom mais que le nom donné n’est pas unique par rapport à sa clé de conteneur, la méthode remplace les données d’une entrée de valeur existante.

[in] Type

Spécifie le type des données à écrire pour ValueName. Définissez ce paramètre sur l’un des types définis par le système suivants :

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

Ces types de paramètres sont expliqués dans ZwSetValueKey.

[in] Data

Pointeur vers une mémoire tampon contenant les données. Ce paramètre pointe vers une structure ou une valeur fournie par l’utilisateur appropriée à la fonction .

[in] DataSize

Spécifie la taille en octets de Données. Ce paramètre spécifie le nombre d’octets de données que la méthode copiera à partir de la mémoire tampon vers laquelle pointe Data .

Valeur retournée

SetValueKey retourne STATUS_SUCCESS si l’appel a réussi à définir la clé de valeur spécifiée. Sinon, la méthode retourne un code d’erreur approprié. Le tableau suivant présente certains des codes de retour possibles status.

Code de retour Description
STATUS_INVALID_PARAMETER
Indique que l’un des paramètres passés à la méthode n’est pas valide.
STATUS_OBJECT_NAME_NOT_FOUND
Indique que la méthode n’a pas pu trouver la clé de valeur nommée.

Remarques

Si la clé donnée n’a pas d’entrée de valeur existante avec un nom correspondant au ValueName donné, SetValueKey crée une nouvelle entrée de valeur avec le nom donné. S’il existe un nom d’entrée de valeur correspondant, cette routine remplace l’entrée de valeur d’origine pour le ValueName donné. Ainsi, SetValueKey conserve un nom unique pour chaque entrée de valeur d’une clé particulière. Alors que chaque nom d’entrée de valeur doit être propre à sa clé contenante, de nombreuses clés différentes dans le Registre peuvent avoir des entrées de valeur avec les mêmes noms.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Voir aussi

IRegistryKey

UNICODE_STRING

ZwSetValueKey