Partager via


Ensemble de règles IRQL (Storport)

Utilisez ces règles pour vérifier que votre pilote effectue des appels DDI à l’IRQL requis.

Un pilote qui ne suit pas les règles IRQL peut provoquer de graves problèmes pendant l’opération qui peuvent entraîner des conditions d’interblocage ou des pannes d’ordinateur.

Contenu de cette section

Rubrique Description

IrqlDispatch

Cette règle vérifie que les routines suivantes sont appelées uniquement dans IRQL = DISPATCH_LEVEL.

IrqlKeReleaseSpinLock

Cette règle vérifie que KeReleaseSpinLock est appelé dans IRQL = DISPATCH_LEVEL uniquement. Il doit également définir l’IRQL sur le niveau IRQL précédent. En règle générale, cet appel est précédé d’un appel à KeAcquireSpinLock.

SpChangeIrql

Cette règle vérifie que les routines de rappel StorPort retournent au même niveau IRQL que le niveau auquel elles sont appelées.

SpIrql

Cette règle vérifie que les routines TdiRegisterPnPHandlers et TdiDeregisterPnPHandlers sont uniquement appelées dans IRQL inférieur à DISPATCH_LEVEL. Toutefois, si ExFreeToNPagedLookasideList est appelé, la règle est passée.

StorPortIrql

La règle StorPortIrql vérifie que les routines StorPort sont appelées aux niveaux IRQL corrects.

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

  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 Irql.

    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 Irql.sdv avec l’option /case activée. Par exemple :

    msbuild /t:sdv /p:Inputs="/check:Irql.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).