Partager via


Fonction SHRegWriteUSValueA (shlwapi.h)

Écrit une valeur dans une sous-clé de Registre dans une sous-arborescence spécifique à l’utilisateur (HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE).

Syntaxe

LSTATUS SHRegWriteUSValueA(
  [in] HUSKEY     hUSKey,
  [in] LPCSTR     pszValue,
  [in] DWORD      dwType,
  [in] const void *pvData,
  [in] DWORD      cbData,
  [in] DWORD      dwFlags
);

Paramètres

[in] hUSKey

Type : HUSKEY

Handle d’une sous-clé de Registre actuellement ouverte. La sous-clé doit avoir été ouverte avec le droit d’accès KEY_SET_VALUE. Pour plus d’informations, consultez Sécurité de la clé de Registre et droits d’accès.

Ce handle peut être obtenu via la fonction SHRegOpenUSKey .

[in] pszValue

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui spécifie le nom de la valeur. Cette valeur est une entrée dans la sous-clé spécifiée par hUSKey. Si une valeur portant ce nom n’est pas déjà présente dans la sous-clé, elle est ajoutée.

Si ce paramètre a la valeur NULL ou une chaîne vide, la fonction définit le type et les données de la valeur Default de la sous-clé.

[in] dwType

Type : DWORD

Type des données à stocker dans la valeur spécifiée par pszValue. Un des types de valeurs de Registre suivants définis dans Winnt.h et 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

Type : const void*

Pointeur vers les données à définir pour la valeur spécifiée par pszValue. Pour les types basés sur des chaînes, tels que REG_SZ, la chaîne doit être terminée par null. Avec le type de données REG_MULTI_SZ, la chaîne doit être terminée par deux caractères null. Une barre oblique inverse dans un chemin doit être précédée d’une autre barre oblique inverse en tant que caractère d’échappement. Par exemple, spécifiez « C :\mydir\myfile » pour stocker la chaîne « C :\mydir\myfile ».

[in] cbData

Type : DWORD

Taille, en octets, des données pointées par le paramètre pvData . Si les données sont de type REG_SZ, REG_EXPAND_SZ ou REG_MULTI_SZ, cbData doit inclure la taille du ou des caractères null de fin.

[in] dwFlags

Type : DWORD

Indicateurs qui indiquent la sous-arborescence dans laquelle les données doivent être écrites. Une ou plusieurs des valeurs suivantes :

SHREGSET_HKCU (0x00000001)

Écrivez dans HKEY_CURRENT_USER uniquement si une valeur du nom spécifié dans pszValue n’existe pas actuellement sous la sous-clé spécifiée.

SHREGSET_FORCE_HKCU (0x00000002)

Écrivez dans HKEY_CURRENT_USER. Si une valeur du nom spécifié dans pszValue existe déjà, elle est remplacée.

SHREGSET_HKLM (0x00000004)

Écrivez dans HKEY_LOCAL_MACHINE uniquement si une valeur du nom spécifié dans pszValue n’existe pas sous la sous-clé spécifiée.

SHREGSET_FORCE_HKLM (0x00000008)

Écrire dans HKEY_LOCAL_MACHINE. Si une valeur du nom spécifié dans pszValue existe déjà, elle est remplacée.

SHREGSET_DEFAULT (0x00000006)

Équivalent à (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Valeur retournée

Type : LSTATUS

Retourne ERROR_SUCCESS en cas de réussite ; sinon, un code d’erreur différent de zéro défini dans Winerror.h. Vous pouvez utiliser la fonction FormatMessage avec l’indicateur FORMAT_MESSAGE_FROM_SYSTEM pour récupérer une description générique de l’erreur.

Remarques

Pour utiliser SHRegWriteUSValue, vous devez d’abord ouvrir la clé avec SHRegOpenUSKey. Une fois la clé ouverte, vous pouvez utiliser SHRegWriteUSValue autant de fois que nécessaire.

Si vous n’avez besoin d’écrire qu’une seule valeur, vous devez utiliser SHRegSetUSValue, qui ouvre la clé et écrit la valeur.

Si vous devez écrire plusieurs valeurs sur la même clé, plusieurs appels à SHRegWriteUSValue sont généralement plus efficaces que SHRegSetUSValue, car la clé n’est ouverte qu’une seule fois.

Notes

L’en-tête shlwapi.h définit SHRegWriteUSValue comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlwapi.h
Bibliothèque Shlwapi.lib
DLL Shlwapi.dll (version 4.71 ou ultérieure)

Voir aussi

Types de valeurs de Registre