Partager via


Ensemble de règles IRQL (KMDF)

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

KmdfIrql

La règle KmdfIrql spécifie qu’un pilote appelle une méthode du framework à un niveau IRQL qui est inférieur ou égal au niveau maximal d’IRQL 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 au nombre maximal d’IRQL pour cette méthode.

UsbKmdfIrql

La règle UsbKmdfIrql spécifie qu’un pilote KMDF ne doit pas appeler les interfaces de pilote de périphérique spécifiques de l’USB (DDI) à un 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 à 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).