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 DDIs ordnungsgemäß aufruft, die für Storport virtual miniport (VMiniport)-Treiber von besonderem Interesse sind.
In diesem Abschnitt
| Thema | BESCHREIBUNG |
|---|---|
Diese Regel überprüft, ob der Treiber nicht versucht, denselben Poolspeicherblock zweimal freizugeben. |
|
Diese Regel überprüft, ob KeSetEvent nicht zweimal für dasselbe Ereignisobjekt aufgerufen wird. Wenn dasselbe Ereignisobjekt an die Routine übergeben wird, verstößt der Treiber gegen die Regel. |
|
Diese Regel überprüft, ob ein IRP, das von IoAllocateIrp zugewiesen wurde, entweder von IoFreeIrp freigegeben wird oder die Abschlussroutine von IoSetCompletionRoutine festgelegt wird. |
|
Diese Regel überprüft, ob beim Beenden der HwStorFindAdapter-Routine das Feld "VirtualDevice " in der PORT_CONFIGURATION_INFORMATION -Struktur (Storport) auf FALSE festgelegt wurde. Die Regel gilt nur für physische StorPort-Miniports. |
|
Diese Regel überprüft, ob beim Verlassen der HwStorFindAdapter-Routine das Feld "VirtualDevice " in der PORT_CONFIGURATION_INFORMATION -Struktur (Storport) auf TRUE festgelegt wurde. Die Regel gilt nur für virtuelle StorPort-Miniports. |
|
Diese Regel überprüft, ob die Aufrufe des Treibers an bestimmte Synchronisierungsfunktionen nur ausgeführt werden, während die normale Kernel-APC-Übermittlung deaktiviert ist. |
|
Diese Regel überprüft, ob das Handle für einen Registrierungsschlüssel, der mit ZwCreateKey erstellt wurde, von anderen ZwXxx-Routinen ordnungsgemäß verwendet wird. Die ZwOpenKey-Routine darf nicht für ein bereits geöffnetes Handle aufgerufen werden. Die Routinen ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose und ZwDeleteKey dürfen nicht für ein Handle aufgerufen werden, das nicht geöffnet ist. Das Handle muss auch vor dem Zurückgeben geschlossen werden. |
|
Diese Regel überprüft, ob das Handle für den über ZwOpenKey geöffneten Registrierungsschlüssel von anderen ZwXxx-Routinen ordnungsgemäß verwendet wird. Die Routinen ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose und ZwDeleteKey dürfen nicht für ein Handle aufgerufen werden, das nicht geöffnet ist. Der Griff muss auch vor der Rückgabe geschlossen werden. |
So wählen Sie den VirtualStorport-Regelsatz 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" "VirtualStorport" aus.
Um den Standardregelsatz aus einem Visual Studio-Entwickler-Eingabeaufforderungsfenster auszuwählen, geben Sie VirtualStorport.sdv mit der Option "/check " an. Beispiel:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.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).