Partager via


Ensemble de règles IRQL (KMDF)

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 causer de graves problèmes pendant le fonctionnement, ce qui peut entraîner des conditions d’interblocage ou des plantages d’ordinateur.

Contenu de cette section

Rubrique Description

KmdfIrql

La règle KmdfIrql spécifie qu’un pilote appelle une méthode d’infrastructure au niveau d’un IRQL inférieur ou égal à l’IRQL maximal pour cette méthode.

KmdfIrql2

La règle KmdfIrql2 spécifie qu’un pilote appelle une méthode d’infrastructure à un IRQL inférieur ou égal à l’IRQL maximal pour cette méthode.

UsbKmdfIrql

La règle UsbKmdfIrql spécifie qu’un pilote KMDF n’appelle pas d’interfaces de pilote de périphérique (DDI) spécifiques à USB au niveau IRQL incorrect.

UsbKmdfIrql2

La règle UsbKmdfIrql2 spécifie qu’un pilote KMDF ne doit pas appeler des DDIs spécifiques à USB au niveau IRQL incorrect.

UsbKmdfIrqlExplicit

La règle UsbKmdfIrqlExplicit vérifie que les DDIS KMDF sont appelées au niveau IRQL correct. Cette règle s’applique à toutes les fonctions EvtIoCallback.

WdfRequestSendSyncAtDispatch

La règle WdfRequestSendSyncAtDispatch vérifie que la fonction WdfRequestSend est envoyée au niveau de priorité IRQL correct.

WdfRequestSendSyncAtDispatch2

La règle WdfRequestSendSyncAtDispatch2 vérifie que la fonction WdfRequestSend est envoyée au niveau de priorité IRQL correct.

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 dans une fenêtre d’invite de commandes du 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).