Partager via


Ensemble de règles IRQL (Storport)

Utilisez ces règles pour vérifier que votre pilote effectue des appels DDI au niveau de 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 blocages ou des blocages d’ordinateur.

Dans cette section

Sujet Descriptif

IrqlDispatch

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

IrqlKeReleaseSpinLock

Cette règle vérifie que KeReleaseSpinLock est appelé à 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 appelées uniquement au niveau irQL inférieur à DISPATCH_LEVEL. Toutefois, si ExFreeToNPagedLookasideList est appelé, la règle passe.

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 du développeur Visual Studio, spécifiez Irql.sdv avec l’option /check . Par exemple:

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