RegGetValueW, fonction (winreg.h)
Récupère le type et les données de la valeur de Registre spécifiée.
Syntaxe
LSTATUS RegGetValueW(
[in] HKEY hkey,
[in, optional] LPCWSTR lpSubKey,
[in, optional] LPCWSTR lpValue,
[in, optional] DWORD dwFlags,
[out, optional] LPDWORD pdwType,
[out, optional] PVOID pvData,
[in, out, optional] LPDWORD pcbData
);
Paramètres
[in] hkey
Handle vers une clé de Registre ouverte. La clé doit avoir été ouverte avec le droit d’accès KEY_QUERY_VALUE. Pour plus d’informations, consultez sécurité des clés de Registre et droits d’accès.
Ce handle est retourné par le RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExou fonction RegOpenKeyTransacted. Il peut également s’agir de l’une des clés prédéfinies:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_PERFORMANCE_NLSTEXT
- HKEY_PERFORMANCE_TEXT
- HKEY_USERS
[in, optional] lpSubKey
Chemin d’accès d’une clé de Registre par rapport à la clé spécifiée par le paramètre hkey
Le chemin d’accès n’est pas sensible à la casse.
Si ce paramètre est NULL ou une chaîne vide, « », la valeur est lue à partir de la clé spécifiée par clé hkey elle-même.
[in, optional] lpValue
Nom de la valeur de Registre.
Si ce paramètre est NULL ou une chaîne vide, « », la fonction récupère le type et les données de la valeur non nommée ou par défaut de la clé, le cas échéant. Les clés n’ont pas automatiquement de valeur non nommée ou par défaut, et les valeurs non nommées peuvent être de n’importe quel type.
Pour plus d’informations, consultez Limites de taille des éléments de Registre.
[in, optional] dwFlags
Indicateurs qui limitent le type de données de valeur à interroger. Si le type de données de la valeur ne répond pas à ces critères, la fonction échoue. Ce paramètre peut être une ou plusieurs des valeurs suivantes.
Ce paramètre peut également inclure une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Ne développez pas automatiquement les chaînes d’environnement si la valeur est de type REG_EXPAND_SZ. |
|
Si pvData n’est pas NULL, définissez le contenu de la mémoire tampon sur zéros en cas d’échec. |
|
Si lpSubKey n’est pas NULL, ouvrez la sous-clé qui lpSubKey spécifie les droits d’accès KEY_WOW64_64KEY.
Pour plus d’informations sur ces droits d’accès, consultez Sécurité des clés de Registre et droits d’accès.
Vous ne pouvez pas spécifier RRF_SUBKEY_WOW6464KEY en combinaison avec RRF_SUBKEY_WOW6432KEY. |
|
Si lpSubKey n’est pas NULL, ouvrez la sous-clé qui lpSubKey spécifie les droits d’accès KEY_WOW64_32KEY.
Pour plus d’informations sur ces droits d’accès, consultez Sécurité des clés de Registre et droits d’accès.
Vous ne pouvez pas spécifier RRF_SUBKEY_WOW6432KEY en combinaison avec RRF_SUBKEY_WOW6464KEY. |
[out, optional] pdwType
Pointeur vers une variable qui reçoit un code indiquant le type de données stockées dans la valeur spécifiée. Pour obtenir la liste des codes de type possibles, consultez Types de valeurs de Registre. Ce paramètre peut être NULL si le type n’est pas obligatoire.
[out, optional] pvData
Pointeur vers une mémoire tampon qui reçoit les données de la valeur. Ce paramètre peut être NULL si les données ne sont pas requises.
Si les données sont une chaîne, la fonction recherche une fin caractère null. Si l’un d’eux n’est pas trouvé, la chaîne est stockée avec une de fin de null si la mémoire tampon est suffisamment grande pour prendre en charge le caractère supplémentaire. Sinon, la fonction échoue et retourne ERROR_MORE_DATA.
[in, out, optional] pcbData
Pointeur vers une variable qui spécifie la taille de la mémoire tampon pointée par le paramètre pvData, en octets. Lorsque la fonction est retournée, cette variable contient la taille des données copiées dans pvData.
Le paramètre
Si les données ont le REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ type, cette taille inclut toute fin caractère ou caractères null. Pour plus d’informations, consultez Remarques.
Si la mémoire tampon spécifiée par paramètre pvData n’est pas suffisamment grande pour contenir les données, la fonction retourne ERROR_MORE_DATA et stocke la taille de mémoire tampon requise dans la variable pointée par wireData. Dans ce cas, le contenu de la mémoire tampon de pvData est zéro si dwFlags spécifie RRF_ZEROONFAILURE et non défini dans le cas contraire.
Si
Si
Valeur de retour
Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.
Si la fonction échoue, la valeur de retour est un code d’erreur système .
Si la mémoire tampon pvData
Si la valeur de Registre lpValue n’existe pas, la fonction retourne ERROR_FILE_NOT_FOUND.
Si dwFlags spécifie une combinaison de RRF_SUBKEY_WOW6464KEY et de RRF_SUBKEY_WOW6432KEY, la fonction retourne ERROR_INVALID_PARAMETER.
Remarques
Une application appelle généralement RegEnumValue pour déterminer les noms de valeurs, puis RegGetValue pour récupérer les données des noms.
Si les données ont la REG_SZ, REG_MULTI_SZ ou REG_EXPAND_SZ type, et que la version ANSI de cette fonction est utilisée (en appelant explicitement RegGetValueA ou en ne définissant pas UNICODE avant d’inclure le fichier Windows.h), cette fonction convertit la chaîne Unicode stockée en chaîne ANSI avant de la copier dans la mémoire tampon pointée par pvData.
Lors de l’appel de cette fonction avec hkey défini sur le handle HKEY_PERFORMANCE_DATA et une chaîne de valeur d’un objet spécifié, la structure de données retournée comporte parfois des objets non demandés. Ne soyez pas surpris ; il s’agit d’un comportement normal. Vous devez toujours vous attendre à parcourir la structure de données retournée pour rechercher l’objet demandé.
Notez que les opérations qui accèdent à certaines clés de Registre sont redirigées. Pour plus d’informations, consultez Registry Virtualization et données d’application 32 bits et 64 bits dans le registre.
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT en tant que 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Note
L’en-tête winreg.h définit RegGetValue comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista, Windows XP Professional x64 Edition [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2008, Windows Server 2003 avec SP1 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winreg.h (inclure Windows.h) |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |