Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj tych reguł, aby sprawdzić poprawność użycia przez sterownik interfejsów sterownika urządzeń WDM.
W tym dziale
| Temat | Opis |
|---|---|
Reguła DebugBreakUsage określa, że sterownik nie może wywoływać dbgBreakPoint lub DbgBreakPointWithStatus. Ta reguła ma zastosowanie tylko wtedy, gdy tworzysz wersję sterownika bez debugowania. |
|
Reguła DoubleFetch sprawdza podwójne pobieranie ze wskaźników pamięci trybu użytkownika. Wielokrotne dostępy z trybu jądra do pamięci trybu użytkownika mogą prowadzić do problemu bezpieczeństwa związanego ze stanem wyścigu. Podczas uzyskiwania dostępu do danych trybu użytkownika kod trybu jądra musi utworzyć kopię danych trybu użytkownika lokalnie i uniknąć wielokrotnego uzyskiwania dostępu do danych trybu użytkownika. Nie można tego zrobić, powoduje wystąpienie typu problemu znanego jako "podwójne pobieranie", w którym dane mogą ulec zmianie po pierwszym dokonaniu dostępu. |
|
Reguła NullCheck sprawdza, czy wartość NULL wewnątrz kodu sterownika nie zostanie wyłuszona później w kodzie sterownika. Ta reguła zgłasza usterkę, jeśli jeden z tych warunków jest spełniony:
W przypadku naruszeń reguły NullCheck najistotniejsze instrukcje kodu są wyróżnione w panelu drzewa śledzenia. Aby uzyskać więcej informacji na temat pracy z danymi wyjściowymi raportu, zobacz Statyczny raport weryfikatora sterowników i Omówienie przeglądarki śledzenia. |
|
Reguła SafeStrings określa, że sterownik wywołuje tylko te funkcje manipulowania ciągami, które chronią system przed niezamierzonym lub złośliwym włamaniem. Te bezpieczne funkcje łańcuchowe dla sterowników są zdefiniowane w Ntstrsafe.h. |
|
Reguła PrzestarzałeDDI określa, że sterowniki nie powinny wywoływać FsRtlPrivateLock. Ta funkcja jest przestarzała. Zamiast tego użyj FsRtlFastLock. |
Aby wybrać zestaw reguł użycia DDI
Wybierz projekt sterownika (.vcxProj) w programie Microsoft Visual Studio. W menu sterowników kliknij Uruchom Weryfikator Sterowników Statycznych….
Kliknij kartę Reguły . W obszarze Zestawy reguł wybierz pozycję DDIUsage.
Aby wybrać domyślny zestaw reguł w oknie wiersza polecenia dla deweloperów programu Visual Studio, określ DDIUsage.sdv z opcją /check . Przykład:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Aby uzyskać więcej informacji, zobacz Użycie Static Driver Verifier do Znalezienia Defektów w Sterownikach oraz Polecenia Static Driver Verifier (MSBuild).