ExclusiveResourceAccess ルール (wdm)

ExclusiveResourceAccess ルールは、 ExReleaseResourceLite または ExReleaseResourceForThreadLite を呼び出す前に、ドライバーが ExAcquireResourceExclusiveLite を呼び出し、 ExAcquireResourceExclusiveLite への後続の呼び出しの前に ExReleaseResourceLite または ExReleaseResourceForThreadLite を呼び出すよう指定します。

入れ子になった呼び出しは、異なるリソースを取得して解放する場合に許可されます。 同じリソースを取得または解放するための入れ子になった呼び出しは、この規則に違反します。

また、この規則では、ルーチンの終了時に、ドライバーがリソースへの排他的アクセス権を持つ必要がないことを示します。 静的ドライバー検証ツールは、 DriverEntryAddDeviceStartIoStartDeviceDpcForIsrCancelDispatchRemoveDeviceUnload ルーチンの末尾を監視します。

ドライバーモデル: WDM

このルールで見つかったバグ チェック

テスト方法

コンパイル時

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

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

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

適用対象

ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite

関連項目

スピン ロック使用中のエラーおよびデッドロックの防止