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 der Treiber NDIS-DDIs ordnungsgemäß verwendet.
In diesem Abschnitt
| Thema | BESCHREIBUNG |
|---|---|
Die Init_DeRegisterInterrupt Regel gibt an, dass NdisMRegisterInterruptEx mindestens einmal während mpInitilize aufgerufen wird, NdisMDeregisterInterruptEx mindestens einmal in MPHaltEx aufgerufen werden soll. |
|
Die Init_NdisAllocateIoWorkItem Regel gibt an, dass, wenn NdisAllocateIoWorkItem mindestens einmal während MiniportInitializeEx aufgerufen wird, die Funktion NdisFreeIoWorkItem angewendet werden sollte.
|
|
Die Init_RegisterInterrupt Regel gibt an, dass die Registrierung von Unterbrechungen, die in der Regel während der Initialisierung auftreten, rückgängig gemacht werden muss, wenn beim Initialisierungsprozess oder während des Anhaltens des Miniporttreibers etwas schief geht. Wenn NdisMRegisterInterruptEx mindestens einmal während MiniportInitializeEx 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 (SG), die in der Regel während der Initialisierung erfolgt, rückgängig gemacht werden muss, wenn etwas im Initialisierungsprozess oder während des Anhaltens des Miniport-Treibers schiefgeht. Wenn NdisMRegisterScatterGatherDma mindestens einmal während MiniportInitializeEx 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 dieser Bedingungen zutrifft:
Bei NullCheck-Regelverstößen werden die relevantesten Codeanweisungen im Ablaufverfolgungs-Ansichtsbereich hervorgehoben. Weitere Informationen zum Arbeiten mit der Berichtsausgabe finden Sie im Bericht "Static Driver Verifier Report" und "Understanding the Trace Viewer". |
So wählen Sie den DDI-Verwendungsregelsatz 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" die Option "DDIUsage" aus.
Um den Standardregelsatz aus einem Visual Studio-Entwickler-Eingabeaufforderungsfenster 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=Win32Weitere Informationen finden Sie unter Verwendung von Static Driver Verifier zur Fehlererkennung in Treibern und Befehle für Static Driver Verifier (MSBuild).