SpinLock 規則 (wdm)
SpinLock 規則會指定,在呼叫 KeAcquireSpinLock 之後,驅動程式會在後續呼叫 KeAcquireSpinLock 或 KeAcquireSpinLockRaiseToDpc 之前呼叫 KeReleaseSpinLock。
如果巢狀呼叫取得並釋放不同資源的鎖定,則允許進行巢狀呼叫。 對相同資源的取得或釋放鎖定的巢狀呼叫違反此規則。
此規則也會指定驅動程式已使用 KeReleaseSpinLock 釋放分派例程或取消例程結束之前的所有微調鎖定。
驅動程式模型:WDM
此規則找到的錯誤檢查 () :錯誤檢查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040009)
測試方法
在編譯時期 |
---|
執行 靜態驅動程式驗證程式 並指定 SpinLock 規則。 使用下列步驟來執行程式碼的分析:如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵。 |
运行时 |
---|
執行 驅動程式驗證器 ,然後選取 [DDI 合規性檢查 ] 選項。 |
適用於
KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel