鎖定規則集 (NDIS)
使用這些規則來確認驅動程式已正確管理共用資源。
本節內容
主題 | 描述 |
---|---|
SpinLock 規則會驗證 NDIS 微調鎖定介面的正確用法。 此規則指定只有在 SpinLock 處於解除鎖定狀態時,才會呼叫 NdisAcquireSpinLock 。 此規則也會在迷你埠處理程式例程結束之前確認 SpinLock 已釋放。 |
|
SpinLockBalanced 規則會確認取得 SpinLock 的函式呼叫數目等於釋放相同 SpinLock 之函式的呼叫數目。 |
|
SpinLockDpr 規則會驗證 NDIS 微調鎖定介面的正確用法。 此規則指定只有在微調鎖定處於解除鎖定狀態時,才會呼叫 NdisDprAcquireSpinLock 。 此規則也會在迷你埠處理程式例程結束之前確認微調鎖定已釋放。 |
|
SpinLockDprRelease 規則會驗證只有在 SpinLock 是「解除鎖定」狀態時,才會呼叫 NdisAcquireSpinLock 或 NdisDprAcquireSpinLock 的呼叫。 此規則也會檢查結束 Miniport 處理程式例程之前,SpinLock 已發行。 |
|
SpinLockRelease 規則指定驅動程式不得釋放微調鎖定, (NdisReleaseSpinLock) ,而不需要先取得。 |
若要選取鎖定規則集
在 Microsoft Visual Studio 中選取您的驅動程式專案 (.vcxProj) 。 從 [ 驅動程式] 功能表中,按兩下 [ 啟動靜態驅動程序驗證程式...]。
按兩下 [ 規則] 索引 標籤。在 [規則集] 底下,選取 [鎖定]。
若要從 Visual Studio 開發人員命令提示字元視窗中選取預設規則集,請使用 /check 選項指定 Locking.sdv。 例如:
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式 和 靜態驅動程式驗證器命令中尋找瑕疵, (MSBuild) 。