Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí těchto pravidel ověřte, že ovladač správně používá rozhraní WDM DDI.
V této části
| Téma | Popis |
|---|---|
Pravidlo DebugBreakUsage určuje, že ovladač nesmí volat DbgBreakPoint nebo DbgBreakPointWithStatus. Toto pravidlo platí jenom v případě, že vytváříte nedeugovací verzi ovladače. |
|
Pravidlo DoubleFetch kontroluje dvojité načtení z ukazatelů paměti v uživatelském režimu. Přístup k paměti uživatelského režimu v režimu dvojitého jádra může vést k problému se zabezpečením stavu časování. Při přístupu k datům uživatelského režimu musí kód režimu jádra vytvořit kopii dat uživatelského režimu místně a vyhnout se vícenásobnému přístupu k datům uživatelského režimu. Pokud to neuděláte, výsledkem je typ problému označovaného jako "dvojité načtení", kdy se data můžou po prvním přístupu změnit. |
|
Pravidlo NullCheck ověřuje, že hodnota NULL uvnitř kódu ovladače není později v ovladači dereferencována. Toto pravidlo hlásí vadu, pokud je splněná některé z těchto podmínek:
V případě porušení pravidel NullCheck jsou v podokně stromu trasování zvýrazněny nejrelevantnější příkazy kódu. Další informace o práci s výstupem sestavy naleznete v tématu Static Driver Verifier Report a Understanding the Trace Viewer. |
|
Pravidlo SafeStrings určuje, že ovladač volá pouze funkce pro manipulaci s řetězci, které chrání systém před neúmyslným nebo škodlivým neoprávněným vniknutím. Tyto bezpečné řetězcové funkce pro ovladače jsou definovány v ntstrsafe.h. |
|
Pravidlo ObsoleteDDIs určuje, že ovladače by neměly volat FsRtlPrivateLock. Tato funkce je zastaralá. Místo toho použijte FsRtlFastLock . |
Výběr sady pravidel využití DDI
Vyberte projekt ovladače (.vcxProj) v aplikaci Microsoft Visual Studio. V nabídce Ovladač klepněte na Spustit statický ověřovatel ovladače....
Klikněte na kartu Pravidla . V části Sady pravidel vyberte DDIUsage.
Pokud chcete vybrat výchozí sadu pravidel z okna příkazového řádku pro vývojáře sady Visual Studio, zadejte DDIUsage.sdv s možností /check . Například:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Další informace naleznete v tématu Použití statického ověřovače ovladačů k nalezení vad v ovladačích a příkazy MSBuild (Statický ověřovač ovladačů).