Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 erfüllt.
In diesem Abschnitt
| Thema | BESCHREIBUNG |
|---|---|
Die AddDevice-Regel gibt an, dass die AddDevice-Routine des Treibers IoAttachDeviceToDeviceStack nur nach dem Aufrufen von IoCreateDevice aufruft. |
|
Die DanglingDeviceObjectReference-Regel gibt an, dass der Treiber ObDereferenceObject mit demselben Geräteobjektzeiger aufruft, den IoGetAttachedDeviceReference zurückgegeben hat. |
|
Die PnpSameDeviceObject-Regel gibt an, dass der Treiber IoAttachDeviceToDeviceStack mit einem Zeiger auf ein gültiges Zielgerätobjekt aufruft. |
|
Die TargetRelationNeedsRef-Regel gibt an, dass beim Verarbeiten einer TargetDeviceRelation-Abfrage die DispatchPnP-Routine des Treibers eine der folgenden Funktionen aufruft, um auf die PDO des untergeordneten Geräts zu verweisen: |
|
UnSafeAllocatePool ist eine wichtige Sicherheitsregel, die überprüft, ob ein Treiber keine veralteten DDIs verwendet, um Arbeitsspeicher zuzuweisen. |
|
Die ZwRegistryCreate-Regel gibt an, dass der Treiber nach dem Aufrufen von ZwCreateKey nur die folgenden Registrierungsfunktionen 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): |
|
Die ZwRegistryOpen-Regel gibt an, dass der Treiber nach dem Aufrufen von ZwOpenKey nur die folgenden Registrierungsfunktionen aufruft, während ein geöffnetes Handle für einen Registrierungsschlüssel gehalten wird (d. h. vor dem Aufrufen von ZwClose oder ZwDeleteKey): |
So wählen Sie den Regelsatz „Verschiedenes“ aus
Wählen Sie Ihr Treiberprojekt (VCXProj) in Microsoft Visual Studio aus. Klicken Sie im Menü "Treiber" auf "Statische Treiberüberprüfung starten".
Klicken Sie auf die Registerkarte "Regeln". Wählen Sie unter "Regelsätze" "Sonstiges" aus.
Wenn Sie den Standardregelsatz aus einem Visual Studio-Entwickler-Eingabeaufforderungsfenster auswählen möchten, 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=Win32Weitere Informationen finden Sie unter Verwendung von Static Driver Verifier zur Fehlererkennung in Treibern und Befehle für Static Driver Verifier (MSBuild).