次の方法で共有


IrqlKeWaitForMultipleObjectsルール (wdm)

IrqlKeWaitForMultipleObjects ルールでは、 KeWaitForMultipleObjects ルーチンの呼び出し元が Timeout パラメーターに基づいて適切な IRQL で実行されている必要があります。

IrqlKeWaitForMultipleObjects ルーチンの呼び出し元は、次の状況を除き、IRQL <= DISPATCH_LEVEL で実行できます。

  • Timeout<> 0 の場合、 KeWaitForMultipleObjects ルーチンの呼び出し元が IRQL <= APC_LEVEL で実行されている必要があります。

  • Timeout != NULL および *Timeout = 0 の場合、 KeWaitForMultipleObjects ルーチンの呼び出し元が IRQL = DISPATCH_LEVEL で実行されている必要があります。

  • Timeout = NULL または *Timeout != 0の場合、 KeWaitForMultipleObjects ルーチンの呼び出し元はIRQL <= APC_LEVELで動作していることが必要です。

ドライバーモデル: WDM

テスト方法

コンパイル時

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

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

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

適用対象

KeWaitForMultipleObjects