Partager via


Jeu de règles IrpProcessing (KMDF)

Utilisez ces règles pour vérifier que votre pilote traite correctement les paquets de demande d’E/S (IRP).

Contenu de cette section

Sujet Description

FwdIrpToIoQueueValid

La règle FwdIrpToIoQueueValid spécifie que le pilote envoie un IRP à une file d’attente d’E/S, en utilisant la méthode WdfDeviceWdmDispatchIrpToIoQueue soit à partir du rappel EvtDeviceWdmIrpDispatch, soit à partir du rappel EvtDeviceWdmIrpPreprocess.

SetCompletionRoutineFromDispatch

La règle SetCompletionRoutineFromDispatch vérifie que le pilote ne spécifie pas de routine de complétion sur un IRP à partir de leur fonction de rappel EvtDeviceWdmIrpDispatch.

MiniportOnlyWdmDevice

La règle MiniportOnlyWdmDevice spécifie que les pilotes WDF ne doivent pas utiliser les fonctions IoCreateDevice et IoCreateDeviceSecure pour créer des objets de périphérique WDM nus. Cela provoquera le crash de l’ordinateur si quelqu’un essaie d’envoyer un IRP au périphérique WDM. Ceci est dû au fait que les entrées de dispatch IRP du périphérique sont définies sur des entrées spécifiques WDF, mais que le framework n’a pas créé de périphérique WDF. Cependant, les pilotes miniport peuvent utiliser les DDIs car les points d’entrée du dispatch des pilotes ne sont pas définis pour eux.

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

  1. Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote, cliquez sur Lancer Static Driver Verifier….

  2. Cliquez sur l’onglet Règles . Sous Ensembles de règles, sélectionnez IrpProcessing.

    Pour sélectionner l’ensemble de règles par défaut à partir d’une fenêtre d’invite de commande de développeur Visual Studio, spécifiez IrpProcessing.sdv avec l’option /check. Par exemple :

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