Freigeben über


SpinLockSafe-Regel (wdm)

Die SpinLockSafe-Regel gibt an, dass IoStartNextPacket und IoCompleteRequest nicht aufgerufen werden, während eine Drehsperre gedrückt wird.

Diese Regel gibt auch an, dass der Treiber Vor dem Aufrufen von KeReleaseSpinLockFromDpcLevelkeAcquireSpinLockoder KeAcquireSpinLockatDpcLevel aufruft und ioAcquireCancelSpinLock aufruft, bevor IoReleaseCancelSpinLock aufgerufen wird.

Static Driver Verifier kann falsche Verstöße gegen diese Regel melden, wenn der Treiber geschachtelte SpinLocks enthält, auch wenn diese Spinlocks ordnungsgemäß erworben und freigegeben werden.

Treibermodell: WDM

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie static Driver Verifier aus , und geben Sie die SpinLockSafe-Regel an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock