IRegistryKey ::SetValueKey, méthode (portcls.h)
La méthode SetValueKey
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 aucun 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é contenante, 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 Data. Ce paramètre spécifie le nombre d’octets de données que la méthode copie à partir de la mémoire tampon vers laquelle Données pointe.
Valeur de retour
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 d’état de retour possibles.
Retourner le code | Description |
---|---|
|
Indique qu’un des paramètres passés à la méthode n’est pas valide. |
|
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 à l'ValueNamedonnée, SetValueKey
crée une entrée de valeur avec le nom donné. Si un nom d’entrée de valeur correspondant existe, cette routine remplace l’entrée de valeur d’origine pour l'ValueName donnée. Par conséquent, SetValueKey
conserve un nom unique pour chaque entrée de valeur d’une clé particulière. Bien que chaque nom d’entrée de valeur soit unique à sa clé contenante, de nombreuses clés différentes du Registre peuvent avoir des entrées de valeur portant les mêmes noms.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |