Ensemble de règles diverses (WDM)
Utilisez ces règles pour vérifier que votre pilote suit correctement un ensemble général de conditions requises pour la gestion correcte des clés de Registre, des chaînes et des pointeurs d’objets de périphérique.
Contenu de cette section
Rubrique | Description |
---|---|
La règle AddDevice spécifie que la routine AddDevice du pilote appelle IoAttachDeviceToDeviceStack uniquement après avoir appelé IoCreateDevice. |
|
La règle DanglingDeviceObjectReference spécifie que le pilote appelle ObDereferenceObject avec le pointeur d’objet d’appareil retourné par IoGetAttachedDeviceReference . |
|
La règle PnpSameDeviceObject spécifie que le pilote appelle IoAttachDeviceToDeviceStack avec un pointeur vers un objet d’appareil cible valide. |
|
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 est une règle de sécurité importante qui vérifie qu’un pilote n’utilise pas de DDIs dépréciés pour allouer de la mémoire. |
|
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 (c’est-à-dire, avant tout appel à ZwClose ou ZwDeleteKey pour fermer ou supprimer le handle de la clé de Registre) : |
|
La règle ZwRegistryOpen spécifie qu’après avoir appelé ZwOpenKey, le pilote appelle les fonctions de Registre suivantes uniquement tout en conservant un handle ouvert sur une clé de Registre (c’est-à-dire, avant d’appeler ZwClose ou ZwDeleteKey) : |
Pour sélectionner l’ensemble de règles diverses
Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote , cliquez sur Lancer le vérificateur de pilote statique....
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 développeur Visual Studio, spécifiez Divers.sdv avec l’option /case activée. Par exemple :
msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes et commandes MSBuild (Static Driver Verifier).