Warnungsregelsatz (WDM)

Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber IRPs in verschiedenen Kontexten ordnungsgemäß verarbeiten kann und die von Microsoft empfohlenen bewährten Methoden befolgt.

In diesem Abschnitt

Thema BESCHREIBUNG

CheckDeviceObjectFlags

Die CheckDeviceObjectFlags-Regel gibt an, dass ein Bustreiber überprüfen muss, ob die Geräteobjektflags für DO_POWER_PAGABLE und DO_POWER_INRUSH konsistent für die FDO und die untergeordneten PDOs festgelegt sind. Diese Regel gilt nur für Busfahrer.

CompletionEventChecking

Die CompletionEventChecking-Regel gibt an, dass ein Treiber IoMarkIrpPending und KeSetEvent nicht in einer Vervollständigungsroutine für dasselbe IRP aufruft.

DeleteDevice

Die DeleteDevice-Regel gibt an, dass Treiber sich nicht auf den E/A-Manager oder PnP-Manager verlassen sollten, um das DeviceObject nach einem Aufruf von IoDeleteDevice am Leben zu halten.

MultRemoveLock

Die MultRemoveLock-Regel überprüft, ob IoAcquireRemoveLock mit nur einer eindeutigen Remove-Sperre aufgerufen wird. Dies ist eine Warnungsregel.

PagedCode

Die PagedCode-Regel gibt an, dass der Treiber das makro PAGED_CODE nur aufruft, wenn es unter IRQL <= APC_LEVEL ausgeführt wird.

PagedCodeAtPowerTrans

Die PagedCodeAtPowerTrans-Regel gibt an, dass ein Treiber PAGED_CODE nicht aufrufen soll, während er auf ein System IRP_MJ_POWER Irp (IRP_MN_SET_POWER) und ein Gerät IRP_MJ_POWER Irp (IRP_MN_SET_POWER) reagiert.

ReservedDDIs

Die ReservedDDIs-Regel überprüft, ob Treiber keine reservierten Funktionen aufrufen.

So wählen Sie den Warnungsregelsatz aus

  1. Wählen Sie Ihr Treiberprojekt (VCXProj) in Microsoft Visual Studio aus. Klicken Sie im Menü Treiber auf Statische Treiberüberprüfung starten....

  2. Klicken Sie auf die Registerkarte Regeln . Wählen Sie unter Regelsätze die Option Warnung aus.

    Um den Standardregelsatz aus einem Visual Studio-Entwicklereingabeaufforderungsfenster auszuwählen, geben Sie Warning.sdv mit der Option /check an. Beispiel:

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

    Weitere Informationen finden Sie unter Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).