Partager via


Jeu de règles divers (WDM)

Utilisez ces règles pour vérifier que votre pilote suit correctement un ensemble général d’exigences pour la gestion appropriée des clés de Registre, des chaînes et des pointeurs d’objet d’appareil.

Dans cette section

Sujet Descriptif

AddDevice

La règle AddDevice spécifie que la routine AddDevice du pilote appelle IoAttachDeviceToDeviceStack uniquement après avoir appelé IoCreateDevice.

DanglingDeviceObjectReference

La règle DanglingDeviceObjectReference spécifie que le pilote appelle ObDereferenceObject avec le même pointeur d’objet de périphérique que IoGetAttachedDeviceReference retourné.

PnpSameDeviceObject

La règle PnpSameDeviceObject spécifie que le pilote appelle IoAttachDeviceToDeviceStack avec un pointeur vers un objet d’appareil cible valide.

TargetRelationNeedsRef

La règle TargetRelationNeedsRef spécifie que lors du traitement d’une requête TargetDeviceRelation , la routine DispatchPnP du pilote appelle l’une des fonctions suivantes pour référencer le PDO de l’appareil enfant :

UnSafeAllocatePool

UnSafeAllocatePool est une règle de sécurité importante qui vérifie qu’un pilote n’utilise pas de DDIS déconseillés pour allouer de la mémoire.

ZwRegistryCreate

La règle ZwRegistryCreate spécifie qu’après avoir appelé ZwCreateKey, le pilote peut appeler les fonctions de Registre suivantes uniquement tout en conservant un handle ouvert à la clé de Registre (autrement dit, avant tout appel à ZwClose ou ZwDeleteKey pour fermer ou supprimer le handle à la clé de Registre) :

ZwRegistryOpen

La règle ZwRegistryOpen spécifie qu’après avoir appelé ZwOpenKey, le pilote appelle les fonctions de Registre suivantes uniquement lors de la conservation d’un handle ouvert vers une clé de Registre (autrement dit, avant d’appeler ZwClose ou ZwDeleteKey) :

Pour sélectionner l’ensemble de règles diverses

  1. Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote , cliquez sur Lancer le vérificateur de pilote statique....

  2. Cliquez sur l’onglet Règles . Sous Ensembles de règles, sélectionnez Divers.

    Pour sélectionner l’ensemble de règles par défaut à partir d’une fenêtre d’invite de commandes du développeur Visual Studio, spécifiez Divers.sdv avec l’option /check . Par exemple:

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Pour plus d’informations, veuillez consulter la section Utilisation de Static Driver Verifier pour rechercher des défauts dans les pilotes et les commandes MSBuild (Static Driver Verifier).