Partager via


Utilisation d’objets framework Registry-Key

Les pilotes basés sur l’infrastructure accèdent au Registre à l’aide d’objets de clé de registre du framework. L’objet de clé de Registre définit des méthodes qui permettent à votre pilote de créer, d’ouvrir et de fermer des clés de Registre . ajouter et supprimer des valeurs de Registre ; et lire ou écrire les données affectées à une valeur de Registre.

Pour ouvrir une clé de Registre, votre pilote doit appeler WdfRegistryOpenKey. Si la clé n’existe pas, le pilote doit appeler WdfRegistryCreateKey, ce qui crée une clé et l’ouvre.

Lorsque votre pilote ouvre une clé de Registre, l’infrastructure crée un objet de clé de Registre qui représente la clé ouverte et retourne un handle d’objet au pilote. Le pilote doit utiliser le handle d’objet pour accéder à la clé, aux sous-clés qui existent sous la clé et aux valeurs qui existent sous la clé ou ses sous-clés.

Pour lire les données actuellement affectées à un nom de valeur de Registre, le pilote peut appeler l’une des méthodes d’objet suivantes :

WdfRegistryQueryMemory
Récupère les données actuellement affectées à un nom de valeur, stocke les données dans une mémoire tampon allouée par l’infrastructure et crée un objet mémoire d’infrastructure pour représenter la mémoire tampon.

WdfRegistryQueryMultiString
Récupère les données de chaîne actuellement affectées à un nom de valeur de type chaîne multiple, crée un objet de chaîne d’infrastructure pour chaque chaîne et ajoute chaque objet string à une collection d’objets.

WdfRegistryQueryString
Récupère les données de chaîne actuellement affectées à un nom de valeur de type chaîne et affecte la chaîne à un objet de chaîne d’infrastructure spécifié.

WdfRegistryQueryUnicodeString
Récupère les données de chaîne actuellement affectées à un nom de valeur de type chaîne et copie la chaîne dans une structure de UNICODE_STRING spécifiée.

WdfRegistryQueryULong
Récupère les données de mots longs non signés (REG_DWORD) qui sont actuellement affectées à un nom de valeur et copie les données vers un emplacement spécifié.

WdfRegistryQueryValue
Récupère les données actuellement affectées à un nom de valeur et copie les données dans une mémoire tampon fournie par le pilote.

Pour écrire des données dans une valeur de Registre, le pilote peut appeler l’une des méthodes suivantes. Si le nom de la valeur existe déjà, le système d’exploitation met à jour les données de la valeur.

WdfRegistryAssignMemory
Affecte les données contenues dans une mémoire tampon à un nom de valeur spécifié dans le Registre.

WdfRegistryAssignMultiString
Affecte un ensemble de chaînes à un nom de valeur spécifié dans le Registre. Les chaînes sont contenues dans une collection d’objets de chaîne d’infrastructure fournie par le pilote.

WdfRegistryAssignString
Affecte une chaîne à un nom de valeur spécifié dans le Registre. La chaîne est contenue dans un objet de chaîne d’infrastructure.

WdfRegistryAssignUnicodeString
Affecte une chaîne Unicode spécifiée à un nom de valeur spécifié dans le Registre.

WdfRegistryAssignULong
Affecte une valeur de mot long non signé spécifiée à un nom de valeur spécifié dans le Registre.

WdfRegistryAssignValue
Affecte le contenu d’une mémoire tampon de données fournie par le pilote à un nom de valeur spécifié dans le Registre.

Pour supprimer une valeur de Registre, le pilote doit appeler WdfRegistryRemoveValue. Pour supprimer une clé, le pilote doit appeler WdfRegistryRemoveKey.

Pour obtenir des informations WDM sur le Registre, un pilote peut appeler WdfRegistryWdmGetHandle, qui retourne un handle WDM à la clé de Registre qu’un objet de clé de Registre du framework représente.

Une fois que votre pilote a terminé d’accéder à une clé de Registre, il doit appeler WdfRegistryClose ou WdfObjectDelete pour fermer la clé et supprimer l’objet de clé de Registre.