Vérification de la conformité DDI

L’option de vérification de conformité DDI (Device Driver Interface) détermine si le pilote interagit correctement avec le noyau du système d’exploitation Windows.

Note Cette option est disponible à partir de Windows 8. À partir de Windows 8.1, vous pouvez tester des règles supplémentaires en sélectionnant l’option Activation de la vérification de conformité DDI (supplémentaire).

Vérification de la conformité DDI

L’option de vérification de la conformité DDI applique les mêmes règles d’utilisation de l’interface de pilote de périphérique (DDI) que celles que le vérificateur de pilotes statiques utilise pour vérifier que votre pilote effectue des appels de fonction au niveau de l’IRQL requis pour la fonction, ou qu’il acquiert et libère correctement les verrouillages tournants.

Lorsque cette option est active et que le vérificateur de pilote détecte que le pilote enfreint l’une des règles de conformité DDI, le vérificateur de pilotes émet des bogues case activée 0xC4 (avec le paramètre 1 égal à l’identificateur de la règle de conformité spécifique).

Lorsque vous sélectionnez l’option de vérification de conformité DDI, les règles suivantes sont incluses.

GuardedRegions (à partir de Windows 8.1)

IoSetCompletionExCompleteIrp (à partir de Windows 8.1)

IrqlApcLte

IrqlDispatch

IrqlExAllocatePool

IrqlExApcLte1

IrqlExApcLte2

IrqlExApcLte3

IrqlExPassive

IrqlIoApcLte

IrqlIoDispatch

IrqlIoPassive1

IrqlIoPassive2

IrqlIoPassive3

IrqlIoPassive4

IrqlIoPassive5

IrqlKeApcLte1

IrqlKeApcLte2

IrqlKeDispatchLte

IrqlKeReleaseSpinLock

IrqlKeSetEvent

IrqlMmApcLte

IrqlMmDispatch

IrqlObPassive

IrqlPsPassive

IrqlReturn (à partir de Windows 8.1)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (à partir de Windows 8.1)

NdisOidDoubleComplete (à partir de Windows 8.1)

PnpRemove (à partir de Windows 8.1)

RequestedPowerIrp (à partir de Windows 8.1)

QueuedSpinLock (à partir de Windows 8.1)

SpinLock (à partir de Windows 8.1)

Ces deux règles sont actuellement facultatives, mais recommandées.

(Facultatif) IrqlNtifsApcPassive

(Facultatif) IrqlIoRtlZwPassive

Activation de l’option de vérification de la conformité DDI

Vous pouvez activer la fonctionnalité de vérification de la conformité DDI pour un ou plusieurs pilotes à l’aide du Gestionnaire du vérificateur de pilotes ou de la ligne de commande Verifier.exe. Pour plus d’informations, consultez Sélection des options du vérificateur de pilote. Vous devez redémarrer l’ordinateur pour activer ou désactiver l’option de vérification de conformité DDI. La fonctionnalité de vérification de la conformité DDI est activée lorsque vous utilisez les paramètres standard (/standard).

  • Sur la ligne de commande

    Sur la ligne de commande, la vérification de la conformité DDI est représentée par le vérificateur /flags 0x00020000 (Bit 17). Pour activer la vérification de conformité DDI, utilisez une valeur d’indicateur de 0x00020000 ou ajoutez 0x00020000 à la valeur de l’indicateur. Par exemple :

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    La fonctionnalité sera active après le prochain démarrage.

  • Utilisation du Gestionnaire du vérificateur de pilotes

    1. Démarrez le Gestionnaire du vérificateur de pilotes. Tapez Vérificateur dans une fenêtre d’invite de commandes.
    2. Sélectionnez Créer des paramètres personnalisés (pour les développeurs de code), puis cliquez sur Suivant.
    3. Sélectionnez Sélectionner des paramètres individuels dans une liste complète.
    4. Sélectionnez (case activée) Vérification de conformité DDI.
    5. Redémarrez l'ordinateur.

Vérification de la conformité DDI (supplémentaire)

À compter de Windows 8.1, l’option de vérification de conformité DDI (supplémentaire) fournit des règles supplémentaires pour déterminer si le pilote interagit correctement avec le noyau du système d’exploitation Windows. Lorsque vous sélectionnez l’option vérification de conformité DDI (supplémentaire), les règles suivantes sont testées :

Activation de l’option de vérification de conformité DDI (supplémentaire)

Notes

Cette case activée est déconseillée à partir de Windows 10 Build 19042 et versions ultérieures

Vous pouvez activer les règles de vérification de conformité DDI (supplémentaires) pour un ou plusieurs pilotes à l’aide du Gestionnaire du vérificateur de pilotes ou de la ligne de commande Verifier.exe. Pour plus d’informations, consultez Sélection des options du vérificateur de pilote. Vous devez redémarrer l’ordinateur pour activer ou désactiver l’option de vérification de conformité DDI (supplémentaire).

  • Sur la ligne de commande

    Sur la ligne de commande, la vérification de la conformité DDI est représentée par le vérificateur /flags 0x00080000 (Bit 19). Pour activer la vérification de conformité DDI (supplémentaire), utilisez une valeur d’indicateur de 0x00080000 ou ajoutez 0x00080000 à la valeur de l’indicateur. Par exemple :

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    La fonctionnalité sera active après le prochain démarrage.

  • Utilisation du Gestionnaire du vérificateur de pilotes

    1. Pour démarrer le Gestionnaire du vérificateur de pilotes, tapez Vérificateur dans une fenêtre d’invite de commandes.
    2. Sélectionnez Créer des paramètres personnalisés (pour les développeurs de code), puis cliquez sur Suivant.
    3. Sélectionnez Sélectionner des paramètres individuels dans une liste complète.
    4. Sélectionnez (case activée) Vérification de conformité DDI (supplémentaire).
    5. Redémarrez l'ordinateur.

Activation de l’option de vérification de conformité DDI (IRQL supplémentaire)

Vous pouvez activer les règles IRQL supplémentaires de conformité DDI pour un ou plusieurs pilotes à l’aide de la ligne de commande Verifier.exe. Pour plus d’informations, consultez Sélection des options du vérificateur de pilote. Vous devez redémarrer l’ordinateur pour activer ou désactiver les règles IRQL supplémentaires de conformité DDI.

Sur la ligne de commande, la vérification IRQL supplémentaire de la conformité DDI est représentée par une valeur de classe de règle de 35. Par exemple :

verifier /ruleclasses 35 /driver MyDriver.sys

OR

verifier /rc 35 /driver MyDriver.sys

L’ensemble de règles IRQL supplémentaire se compose des deux règles suivantes.

(Facultatif) IrqlNtifsApcPassive

(Facultatif) IrqlIoRtlZwPassive