Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd dessa regler för att verifiera att din drivrutin gör DDI-anrop vid den IRQL som krävs.
En drivrutin som inte följer IRQL-reglerna kan orsaka allvarliga problem under driften som kan leda till dödläge eller datorkrascher.
I det här avsnittet
| Ämne | Beskrivning |
|---|---|
Den här regeln verifierar att följande rutiner endast anropas vid IRQL = DISPATCH_LEVEL. |
|
Den här regeln verifierar att KeReleaseSpinLock endast anropas vid IRQL = DISPATCH_LEVEL. Den måste också återställa IRQL till det föregående IRQL-nivån. Normalt föregås det här anropet av ett anrop till KeAcquireSpinLock. |
|
Den här regeln verifierar att StorPort-återanropsrutinerna returneras på samma IRQL-nivå som den nivå där de anropas. |
|
Den här regeln verifierar att rutinerna TdiRegisterPnPHandlers och TdiDeregisterPnPHandlers endast anropas vid IRQL som är lägre än DISPATCH_LEVEL. Men om ExFreeToNPagedLookasideList anropas godkänns regeln. |
|
StorPortIrql-regeln kontrollerar att StorPort-rutiner anropas på rätt IRQL-nivåer. |
Så här väljer du Irql-regeluppsättningen
Välj drivrutinsprojektet (.vcxProj) i Microsoft Visual Studio. På drivrutinsmenyn klickar du på Starta kontrollant för statisk drivrutin....
Klicka på fliken Regler . Under Regeluppsättningar väljer du Irql.
Om du vill välja standardregeluppsättningen från ett kommandotolkfönster för Visual Studio-utvecklare anger du Irql.sdv med alternativet /check . Till exempel:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32För mer information, se Användning av statisk drivrutinsverifierare för att hitta defekter i drivrutiner och Statisk drivrutinsverifierare-kommandon (MSBuild).