IrqlDispatch Rule (WDM)

IrqlDispatch ルールは、ドライバーが IRQL = DISPATCH_LEVEL での実行時に限り次の DDI を呼び出すことを規定します。

ドライバー モデルWDM
この規則で見つかったバグ チェック Bug Check 0xA: IRQL_NOT_LESS_OR_EQUAL , Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00020003)

テスト方法

コンパイル時

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

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

詳しくは、「ドライバーの不具合を見つけるための静的ドライバー検証ツールの使用」をご覧ください。

実行時

ドライバー検証ツールを実行し、DDI 準拠の検査オプションを選びます。

 

適用対象

AllocateAdapterChannel
AllocateCommonBuffer
BuildMdlFromScatterGatherList
BuildScatterGatherList
FlushAdapterBuffers
FreeAdapterChannel
FreeCommonBuffer
FreeMapRegisters
GetDmaAlignment
GetScatterGatherList
IoAllocateController
IoFreeController
IoStartNextPacket
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
MapTransfer
PutDmaAdapter
PutScatterGatherList
ReadDmaCounter

参照

ハードウェアの優先順位を管理する
スピン ロックの使用中のエラーとデッドロックを予防する

 

 

表示:
© 2015 Microsoft