Udostępnij przez


Zestaw reguł IRQL (Storport)

Użyj tych reguł, aby sprawdzić, czy sterownik wykonuje wywołania DDI na wymaganym poziomie IRQL.

Sterownik, który nie przestrzega reguł IRQL, może powodować poważne problemy podczas pracy, które mogą prowadzić do stanu zakleszczenia lub awarii komputera.

W tym dziale

Temat Opis

IrqlDispatch

Ta reguła sprawdza, czy następujące procedury są wywoływane tylko w irQL = DISPATCH_LEVEL.

IrqlKeReleaseSpinLock

Ta reguła sprawdza, czy KeReleaseSpinLock jest wywoływana wyłącznie na poziomie IRQL = DISPATCH_LEVEL. Należy również ustawić poziom IRQL na poprzedni poziom IRQL. Zazwyczaj to wywołanie jest poprzedzone wywołaniem keAcquireSpinLock.

SpChangeIrql

Ta reguła sprawdza, czy procedury wywołania zwrotnego StorPort zwracają się na tym samym poziomie IRQL co poziom, na którym są wywoływane.

SpIrql

pl-PL: Ta reguła sprawdza, czy procedury TdiRegisterPnPHandlers i TdiDeregisterPnPHandlers są wywoływane tylko na poziomie IRQL niższym niż DISPATCH_LEVEL. Jednakże jeśli zostanie wywołana funkcja ExFreeToNPagedLookasideList, reguła przechodzi.

StorPortIrql

Reguła StorPortIrql sprawdza, czy procedury StorPort są wywoływane na prawidłowych poziomach IRQL.

Aby wybrać zestaw reguł Irql

  1. Wybierz projekt sterownika (.vcxProj) w programie Microsoft Visual Studio. W menu sterowników kliknij Uruchom Weryfikator Sterowników Statycznych….

  2. Kliknij kartę Reguły . W obszarze Zestawy reguł wybierz pozycję Irql.

    Aby wybrać domyślny zestaw reguł w oknie wiersza polecenia dla deweloperów programu Visual Studio, określ irql.sdv z opcją /check . Przykład:

    msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Aby uzyskać więcej informacji, zobacz Użycie Static Driver Verifier do Znalezienia Defektów w Sterownikach oraz Polecenia Static Driver Verifier (MSBuild).