Jeu de règles VirtualStorport (Storport)
Utilisez ces règles pour vérifier que votre pilote appelle correctement les DDIs qui présentent un intérêt particulier pour les pilotes Storport virtual miniport (VMiniport).
Contenu de cette section
Rubrique | Description |
---|---|
Cette règle vérifie que le pilote ne tente pas de libérer deux fois le même bloc de mémoire du pool. |
|
Cette règle vérifie que KeSetEvent n’est pas appelé deux fois sur le même objet d’événement. Si le même objet d’événement est passé à la routine, le pilote échoue à la règle. |
|
Cette règle vérifie qu’un IRP qui a été alloué par IoAllocateIrp sera libéré par IoFreeIrp ou que sa routine d’achèvement sera définie par IoSetCompletionRoutine. |
|
Cette règle vérifie qu’à la sortie de la routine HwStorFindAdapter , le champ VirtualDevice de la structure PORT_CONFIGURATION_INFORMATION (Storport) a été défini sur FALSE. La règle s’applique uniquement aux miniports StorPort physiques. |
|
Cette règle vérifie qu’à la sortie de la routine HwStorFindAdapter , le champ VirtualDevice de la structure PORT_CONFIGURATION_INFORMATION (Storport) a été défini sur TRUE. La règle s’applique uniquement aux miniports StorPort virtuels. |
|
Cette règle vérifie que les appels du pilote à certaines fonctions de synchronisation sont effectués uniquement lorsque la remise APC du noyau normal est désactivée. |
|
Cette règle vérifie que le handle d’une clé de Registre créée avec ZwCreateKey est ensuite utilisé correctement par d’autres routines ZwXxx . La routine ZwOpenKey ne doit pas être appelée sur un handle déjà ouvert. Les routines ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose et ZwDeleteKey ne doivent pas être appelées sur un handle qui n’est pas ouvert. Le handle doit également être fermé avant le retour. |
|
Cette règle vérifie que le handle de la clé de Registre ouverte via ZwOpenKey est ensuite utilisé correctement par d’autres routines ZwXxx. Les routines ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose et ZwDeleteKey ne doivent pas être appelées sur un handle qui n’est pas ouvert. Le handle doit également être fermé avant le retour. |
Pour sélectionner l’ensemble de règles VirtualStorport
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 VirtualStorport.
Pour sélectionner l’ensemble de règles par défaut dans une fenêtre d’invite de commandes du développeur Visual Studio, spécifiez VirtualStorport.sdv avec l’option /case activée. Par exemple :
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.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).