Partager via


Ensemble de règles IRQL (NDIS)

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

Flags_Irql

La règle de Flags_Irql spécifie que KeGetCurrentIrql ne doit pas être appelé dans les fonctions de rappel qui ont un paramètre d’indicateur de niveau de répartition qui indique l’IRQL actuel.

L’utilisation correcte de l’indicateur de niveau de répartition peut vous aider à éviter les tentatives inutiles de définition de l’IRQL. Pour plus d’informations sur l’utilisation de cet indicateur, consultez Dispatch IRQL Tracking.

Irql_CallManager_Function

La règle de Irql_CallManager_Function spécifie que les fonctions NDIS pour le CallManager NDIS doivent être appelées aux niveaux IRQL corrects.

Irql_Connection_Function

La règle de Irql_Connection_Function spécifie que les fonctions de connexion NDIS pour les pilotes de protocole doivent être appelées à des niveaux IRQL corrects.

Irql_Filter_Driver_Function

La règle de Irql_Filter_Driver_Function spécifie que les fonctions NDIS pour les pilotes de filtre doivent être appelées à des niveaux IRQL corrects.

Irql_Gather_DMA_Function

La règle Irql_Gather_DMA_Function spécifie que les fonctions DMA de nuage de points/de collecte NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_IM_Function

La règle de Irql_IM_Function spécifie que les fonctions NDIS pour les pilotes intermédiaires doivent être appelées aux niveaux IRQL corrects.

Irql_Interfaces_Function

La règle de Irql_Interfaces_Function spécifie que les fonctions d’interface réseau NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_Interrupt_Function

La règle de Irql_Interrupt_Function spécifie que les fonctions NDIS pour les interruptions doivent être appelées à des niveaux IRQL corrects.

Irql_IrqlSetting_Function

La règle de Irql_IrqlSetting_Function spécifie que les macros d’interruption NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_MCM_Function

La règle de Irql_MCM_Function spécifie que les fonctions MCM NDIS pour les pilotes doivent être appelées à des niveaux IRQL corrects.

Irql_MCO_Function

La règle de Irql_MCO_Function spécifie que les DDIs MCO NDIS pour les pilotes miniport doivent être appelés à des niveaux IRQL corrects.

Irql_Miniport_Driver_Function

La règle de Irql_Miniport_Driver_Function spécifie que les fonctions NDIS pour les pilotes miniport doivent être appelées à des niveaux IRQL corrects.

Irql_Miscellaneous_Function

La règle Irql_Miscellaneous_Function spécifie que les fonctions NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_NetBuffer_Function

La règle de Irql_NetBuffer_Function spécifie que les fonctions liées aux NET_BUFFER doivent être appelées à des niveaux IRQL corrects.

Irql_OID_Function

La règle de Irql_OID_Function spécifie que les DDIs de requête OID NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_Protocol_Driver_Function

La règle Irql_Protocol_Driver_Function spécifie que les fonctions NDIS pour les clients CoNDIS doivent être appelées à des niveaux IRQL corrects.

Irql_SendRcv_Function

La règle de Irql_SendRcv_Function spécifie que les fonctions d’envoi et de réception des pilotes NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_StatusIndication_Function

La règle de Irql_StatusIndication_Function spécifie que les fonctions d’indication de status NDIS pour les pilotes de miniport et de filtre doivent être appelées à des niveaux IRQL corrects.

Irql_Synch_Function

La règle de Irql_Synch_Function spécifie que les DDIS d’interruption et de synchronisation NDIS doivent être appelées à des niveaux IRQL corrects.

Irql_Timer_Function

La règle de Irql_Timer_Function spécifie que les fonctions du service du minuteur NDIS doivent être appelées à des 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).