VirtualStorport-Regelsatz (Storport)
Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber DDIs ordnungsgemäß aufruft, die für Storport Virtual Miniport-Treiber (VMiniport) von besonderem Interesse sind.
In diesem Abschnitt
Thema | BESCHREIBUNG |
---|---|
Diese Regel überprüft, dass 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, schlägt der Treiber die Regel fehl. |
|
Mit dieser Regel wird überprüft, ob ein IRP, das von IoAllocateIrp zugewiesen wurde, entweder von IoFreeIrp freigegeben wird oder seine Vervollständigungsroutine von IoSetCompletionRoutine festgelegt wird. |
|
Diese Regel überprüft, ob beim Beenden der HwStorFindAdapter-Routine das VirtualDevice-Feld 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 Beenden 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, dass Aufrufe des Treibers an bestimmte Synchronisierungsfunktionen nur vorgenommen werden, während die normale Kernel-APC-Übermittlung deaktiviert ist. |
|
Diese Regel überprüft, ob das Handle für einen mit ZwCreateKey erstellten Registrierungsschlüssel anschließend 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 der Rückgabe geschlossen werden. |
|
Diese Regel überprüft, ob das Handle zum Registrierungsschlüssel, der über ZwOpenKey geöffnet wurde, anschließend 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. Das Handle 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ätzedie Option VirtualStorport aus.
Um den Standardregelsatz in einem Visual Studio-Entwicklereingabeaufforderungsfenster 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=Win32
Weitere Informationen finden Sie unter Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für