Partager via


Récupération de données à partir du Registre

Pour récupérer des données à partir du Registre, une application énumère généralement les sous-clés d’une clé jusqu’à ce qu’elle en trouve une particulière, puis récupère les données de la ou des valeurs qui lui sont associées. Une application peut appeler la fonction RegEnumKeyEx pour énumérer les sous-clés d’une clé donnée.

Pour récupérer des données détaillées sur une sous-clé particulière, une application peut appeler la fonction RegQueryInfoKey . La fonction RegGetKeySecurity récupère une copie du descripteur de sécurité protégeant une clé.

Une application peut utiliser la fonction RegEnumValue pour énumérer les valeurs d’une clé donnée, et la fonction RegQueryValueEx pour récupérer une valeur particulière pour une clé. Une application appelle généralement RegEnumValue pour déterminer les noms de valeur, puis RegQueryValueEx pour récupérer les données des noms.

La fonction RegQueryMultipleValues récupère le type et les données d’une liste de noms de valeurs associés à une clé de Registre ouverte. Cette fonction est utile pour les fournisseurs de clés dynamiques, car elle garantit la cohérence des données en récupérant plusieurs valeurs dans une opération atomique.

Étant donné que d’autres applications peuvent modifier les données d’une valeur de Registre entre le moment où votre application peut lire une valeur et l’utiliser, vous devrez peut-être vous assurer que votre application dispose des données les plus récentes. Vous pouvez utiliser la fonction RegNotifyChangeKeyValue pour avertir le thread appelant en cas de modification des attributs ou du contenu d’une clé de Registre, ou si la clé est supprimée. La fonction signale un objet d’événement pour notifier l’appelant. Si le thread qui appelle RegNotifyChangeKeyValue se ferme, l’événement est signalé et la surveillance de la clé de Registre est arrêtée.

Vous pouvez contrôler ou spécifier les modifications à signaler à l’aide d’un indicateur ou d’un filtre de notification. En règle générale, les modifications sont signalées en signalant un événement que vous spécifiez à la fonction . Notez que la fonction RegNotifyChangeKeyValue ne fonctionne pas avec les descripteurs distants.

Pour surveiller plus en détail les opérations du Registre, consultez Registre.