DDI-Nutzungsregelsatz (NDIS)
Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber NDIS-DDIs ordnungsgemäß verwendet.
In diesem Abschnitt
Thema | BESCHREIBUNG |
---|---|
Die Init_DeRegisterInterrupt Regel gibt an, dass NdisMDeregisterInterruptEx mindestens einmal in MPHaltEx aufgerufen werden soll, wenn NdisMDeregisterInterruptEx mindestens einmal aufgerufen wird. |
|
Die Init_NdisAllocateIoWorkItem Regel gibt an, dass die NdisFreeIoWorkItem-Funktion mindestens einmal aufgerufen wird, wenn NdisAllocateIoWorkItem während MiniportInitializeEx mindestens einmal aufgerufen wird:
|
|
Die Init_RegisterInterrupt-Regel gibt an, dass die Registrierung von Unterbrechungen, was in der Regel während der Initialisierung geschieht, rückgängig gemacht werden muss, wenn der Initialisierungsprozess oder das Anhalten des Miniporttreibers fehlschlägt. Wenn NdisMRegisterInterruptEx während MiniportInitializeEx mindestens einmal aufgerufen wird, muss die NdisMDeregisterInterruptEx-Funktion mindestens einmal in MiniportHaltEx aufgerufen werden. |
|
Die Init_RegisterSG-Regel gibt an, dass die Registrierung der Scatter-Gather-Liste, was in der Regel während der Initialisierung geschieht, rückgängig gemacht werden muss, wenn der Initialisierungsprozess oder das Anhalten des Miniporttreibers fehlschlägt. Wenn NdisMRegisterScatterGatherDma während MiniportInitializeEx mindestens einmal aufgerufen wird, sollte die NdisMDeregisterScatterGatherDma-Funktion mindestens einmal in MiniportHaltEx aufgerufen werden. |
|
Ein Filtertreiber muss NdisFDeregisterFilterDriver aus seiner FilterDriverUnload-Routine aufrufen. |
|
Nachdem NdisMDeregisterInterruptEx die Steuerung zurückgegeben hat, kann der Miniporttreiber die NdisMSynchronizeWithInterruptEx-Funktion nicht aufrufen. |
|
Die NullCheck-Regel überprüft, ob ein NULL-Wert im Treibercode später im Treiber nicht abgeleitet wird. Diese Regel meldet einen Fehler, wenn eine der folgenden Bedingungen zutrifft:
Bei NullCheck-Regelverletzungen werden die relevantesten Codeanweisungen im Ablaufverfolgungsstrukturbereich hervorgehoben. Weitere Informationen zum Arbeiten mit der Berichtsausgabe finden Sie unter Static Driver Verifier Report und Grundlegendes zum Ablaufverfolgungs-Viewer. |
So wählen Sie den DDI-Nutzungsregelsatz 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 DDIUsage aus.
Um den Standardregelsatz aus einem Visual Studio-Entwicklereingabeaufforderungsfenster auszuwählen, geben Sie DDIUsage.sdv mit der Option /check an. Beispiel:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.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).