SpinlockRelease ルール (wdm)

SpinlockRelease ルールは、 KeReleaseSpinLock または KeAcquireSpinLockKeAcquireSpinLockRaiseToDpc の呼び出しを厳密な代替で実施する必要があることを指定します。 つまり、 KeAcquireSpinLock または KeAcquireSpinLockRaiseToDpc を呼び出した後、 KeAcquireSpinLock または KeAcquireSpinLockRaiseToDpc を呼び出す前に、ドライバは KeReleaseSpinLock を呼び出さなければなりません。

ドライバーモデル: WDM

このルールで見つかったバグ チェック: バグ チェック 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x0004000B)

テスト方法

コンパイル時

静的ドライバー検証 を実行し、 SpinlockRelease 規則を指定します。

コードの分析を実行するには、次の手順に従います。
  1. コードを準備します (ロール型宣言を使用します)。
  2. 静的ドライバー検証ツールを実行します。
  3. 結果を表示および分析します。

詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。

実行時

ドライバー検証ツール を実行し、 DDI コンプライアンス チェック (追加) オプションを選択します。

適用対象

KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel