Fonction MmIsDriverVerifyingByAddress (wdm.h)
La routine MmIsDriverVerifyingByAddress vérifie si le pilote en mode noyau identifié par l’adresse d’image spécifiée est en cours de vérification ou appelle un pilote en cours de vérification par driver Verifier.
Syntaxe
LOGICAL MmIsDriverVerifyingByAddress(
[in] PVOID AddressWithinSection
);
Paramètres
[in] AddressWithinSection
Pointeur vers l’adresse virtuelle dans l’image du pilote. MmIsDriverVerifyingByAddress utilise cette adresse pour déterminer le pilote à case activée.
Valeur retournée
MmIsDriverVerifyingByAddress retourne TRUE si le pilote spécifié se trouve dans la liste de vérification des pilotes ou importe des appels aux points d’entrée d’un pilote qui se trouve dans la liste de vérification des pilotes. Sinon, cette routine retourne FALSE.
Remarques
Un pilote en mode noyau peut appeler cette routine pour déterminer s’il ou un autre pilote est surveillé par driver Verifier. Le vérificateur de pilotes surveille les pilotes en mode noyau pour détecter les appels ou actions de fonction non autorisés susceptibles d’endommager le système. Pour sélectionner les pilotes à vérifier, vous pouvez utiliser la ligne de commande du vérificateur ou le Gestionnaire du vérificateur de pilotes. Pour plus d’informations sur l’ajout de pilotes à la liste de vérification des pilotes, consultez Sélection des pilotes à vérifier.
Une routine similaire, MmIsDriverVerifying, indique si un pilote identifié par un objet de pilote est en cours de vérification ou appelle un pilote en cours de vérification.
Une autre routine associée, MmIsDriverSuspectForVerifier, indique si un pilote représenté par un objet de pilote figure dans la liste des pilotes sélectionnés pour être vérifiés.
Par exemple, si le pilote A a une table d’importation via laquelle il appelle un ou plusieurs points d’entrée dans le pilote B et que le pilote B figure dans la liste de vérification des pilotes, MmIsDriverVerifyingByAddress(Aobj)
retourne TRUE et MmIsDriverSuspectForVerifier(Badr)
retourne TRUE, où Aobj
est un pointeur vers l’objet pilote pour A et Badr
est une adresse dans le pilote B. Si le pilote A ne figure pas dans la liste de vérification des pilotes, MmIsDriverSuspectForVerifier(Aobj)
retourne FALSE. Même si le pilote B n’appelle pas de points d’entrée dans les pilotes figurant dans la liste de vérification des pilotes, retourne TRUE, MmIsDriverVerifyingByAddress(Badr)
car le pilote B figure dans la liste de vérification des pilotes. Si un pilote C ne figure pas dans la liste de vérification des pilotes et n’appelle pas de points d’entrée dans les pilotes figurant dans la liste de vérification des pilotes, MmIsDriverVerifyingByAddress(Cadr)
et MmIsDriverSuspectForVerifier(Cobj)
que les deux retournent FALSE.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |