Sonstiger Regelsatz (WDM)

Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber einen allgemeinen Satz von Anforderungen für die ordnungsgemäße Behandlung von Registrierungsschlüsseln, Zeichenfolgen und Geräteobjektzeigern ordnungsgemäß erfüllt.

In diesem Abschnitt

Thema BESCHREIBUNG

AddDevice

Die AddDevice-Regel gibt an, dass die AddDevice-Routine des Treibers IoAttachDeviceToDeviceStack erst nach dem Aufrufen von IoCreateDevice aufruft.

DanglingDeviceObjectReference

Die DanglingDeviceObjectReference-Regel gibt an, dass der Treiber ObDereferenceObject mit demselben Geräteobjektzeiger aufruft, den IoGetAttachedDeviceReference zurückgegeben hat.

PnpSameDeviceObject

Die PnpSameDeviceObject-Regel gibt an, dass der Treiber IoAttachDeviceToDeviceStack mit einem Zeiger auf ein gültiges Zielgerätobjekt aufruft.

TargetRelationNeedsRef

Die TargetRelationNeedsRef-Regel gibt an, dass die DispatchPnPnP-Routine des Treibers beim Verarbeiten einer TargetDeviceRelation-Abfrage eine der folgenden Funktionen aufruft, um auf die PDO des untergeordneten Geräts zu verweisen:

UnSafeAllocatePool

UnSafeAllocatePool ist eine wichtige Sicherheitsregel, die überprüft, ob ein Treiber keine veralteten DDIs verwendet, um Arbeitsspeicher zuzuweisen.

ZwRegistryErstellen

Die ZwRegistryCreate-Regel gibt an, dass der Treiber nach dem Aufruf von ZwCreateKey die folgenden Registrierungsfunktionen nur aufrufen kann, während er ein geöffnetes Handle für den Registrierungsschlüssel hält (d. h. vor allen Aufrufen von ZwClose oder ZwDeleteKey zum Schließen oder Löschen des Handles für den Registrierungsschlüssel):

ZwRegistryOpen

Die ZwRegistryOpen-Regel gibt an, dass der Treiber nach dem Aufruf von ZwOpenKey die folgenden Registrierungsfunktionen nur aufruft, während er ein geöffnetes Handle für einen Registrierungsschlüssel hält (d. h. vor dem Aufruf von ZwClose oder ZwDeleteKey):

So wählen Sie den Regelsatz Verschiedenes 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ätzedie Option Verschiedenes aus.

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

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.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).