Partager via


Fonction SHRegQueryUSValueA (shlwapi.h)

Récupère le type et les données d’un nom spécifié associé à une sous-clé de Registre ouverte dans une sous-arborescence spécifique à l’utilisateur (HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE).

Syntaxe

LSTATUS SHRegQueryUSValueA(
  [in]                HUSKEY hUSKey,
  [in, optional]      LPCSTR pszValue,
  [in, out, optional] DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out]           DWORD  *pcbData,
  [in]                BOOL   fIgnoreHKCU,
  [in, optional]      void   *pvDefaultData,
  [in, optional]      DWORD  dwDefaultDataSize
);

Paramètres

[in] hUSKey

Type : HUSKEY

Handle pour une sous-clé de Registre actuellement ouverte, ou l’une des valeurs prédéfinies suivantes. 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 .

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszValue

Type : LPCTSTR

Pointeur vers la chaîne terminée par null qui contient le nom de la valeur à interroger.

[in, out, optional] pdwType

Type : LPDWORD*

Pointeur vers la variable qui définit ou reçoit le type de valeur de la clé. Pour plus d’informations, consultez Types de données du Registre. Ce paramètre peut être NULL.

[out, optional] pvData

Type : LPVOID*

Pointeur vers la 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.

[in, out] pcbData

Type : LPDWORD*

Pointeur vers la variable qui spécifie la taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre pvData . Lorsque la fonction retourne, cette variable contient la taille des données copiées dans pvData.

[in] fIgnoreHKCU

Type : BOOL

Variable qui spécifie la clé sous laquelle rechercher. Lorsqu’il est défini sur TRUE, SHRegQueryUSValue ignore HKEY_CURRENT_USER et retourne la valeur de la clé sous HKEY_LOCAL_MACHINE.

[in, optional] pvDefaultData

Type : LPVOID*

Pointeur vers les données par défaut.

[in, optional] dwDefaultDataSize

Type : DWORD

Longueur, en octets, des données par défaut.

Valeur retournée

Type : LSTATUS

Retourne ERROR_SUCCESS en cas de réussite, ou un code d’erreur différent de zéro défini dans Winerror.h dans le cas contraire. 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

Lorsque fIgnoreHKCU a la valeur TRUE, SHRegQueryUSValue retourne la valeur de la clé sous HKEY_LOCAL_MACHINE. Lorsqu’il est défini sur FALSE, SHRegQueryUSValue tente d’abord de retourner la valeur de la clé sous HKEY_CURRENT_USER. Toutefois, si la clé est introuvable sous HKEY_CURRENT_USER, la valeur retourne à partir de la clé sous HKEY_LOCAL_MACHINE. Si aucune clé n’est présente, ou si une erreur se produit et que dwDefaultDataSize est différent de zéro, les données par défaut sont copiées dans pvData et ERROR_SUCCESS retourne. ERROR_SUCCESS retourne à la fois pour les données par défaut et les données non par défaut, et il n’existe aucun moyen de distinguer quelle valeur copie dans pvData. Pour empêcher l’utilisation des données par défaut, définissez pvDefaultData surNULL et dwDefaultDataSize sur zéro.

Si vous n’avez besoin de lire qu’une seule valeur, SHRegGetUSValue ouvre la clé et retourne la valeur. Pour utiliser SHRegQueryUSValue, vous devez d’abord ouvrir la clé avec SHRegOpenUSKey. Toutefois, une fois la clé ouverte, vous pouvez utiliser SHRegQueryUSValue autant de fois que nécessaire. Si vous devez récupérer plusieurs valeurs de la même clé, l’utilisation de plusieurs appels à SHRegQueryUSValue est généralement plus efficace que SHRegGetUSValue, car la clé n’est ouverte qu’une seule fois.

Notes

L’en-tête shlwapi.h définit SHRegQueryUSValue en tant qu’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. La combinaison 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)