Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez ces règles pour vérifier que votre pilote utilise correctement les DDIS WDM.
Dans cette section
| Sujet | Descriptif |
|---|---|
La règle DebugBreakUsage spécifie que le pilote ne doit pas appeler DbgBreakPoint ou DbgBreakPointWithStatus. Cette règle s’applique uniquement lorsque vous construisez une version non déboguée du pilote. |
|
La règle DoubleFetch vérifie la double extraction à partir des pointeurs de mémoire en mode utilisateur. Les accès en mode double noyau de la mémoire en mode utilisateur peuvent entraîner un problème de sécurité de condition de concurrence. Lors de l’accès aux données en mode utilisateur, le code en mode noyau doit effectuer une copie des données en mode utilisateur localement et éviter d’accéder aux données en mode utilisateur plusieurs fois. L’échec de ce processus entraîne un type de problème appelé « double extraction », où les données peuvent changer une fois qu’elles ont été consultées. |
|
La règle NullCheck vérifie qu’une valeur NULL à l’intérieur du code du pilote n’est pas déréférencée plus loin dans le code du pilote. Cette règle signale un défaut si l’une de ces conditions est vraie :
Avec les violations de règle NullCheck, les instructions de code les plus pertinentes sont mises en surbrillance dans le volet d’arborescence de trace. Pour plus d'informations sur l'utilisation de la sortie du rapport, consultez Rapport du Vérificateur de Pilotes Statique et Comprendre la Visionneuse de Trace. |
|
La règle SafeStrings spécifie que le pilote appelle uniquement les fonctions de manipulation de chaînes qui protègent le système contre les intrusions involontaires ou malveillantes. Ces fonctions de chaîne sécurisée pour les pilotes sont définies dans Ntstrsafe.h. |
|
La règle ObsoleteDDIs spécifie que les pilotes ne doivent pas appeler FsRtlPrivateLock. Cette fonction est obsolète. Utilisez FsRtlFastLock à la place. |
Pour sélectionner l’ensemble de règles d’utilisation DDI
Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote , cliquez sur Lancer le vérificateur de pilote statique....
Cliquez sur l’onglet Règles . Sous Ensembles de règles, sélectionnez DDIUsage.
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 DDIUsage.sdv avec l’option /check . Par exemple:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Pour 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).