Share via


StartIoCancel ルール (wdm)

StartIoCancel ルールは、 NULLCancel 以外のキャンセル ルーチンで IoSetCancelRoutine を呼び出す前に、 NonCancelable パラメーターを FALSE に設定した IoSetStartIoAttributes を呼び出してはならないことを指定します。

Cancel ルーチンを登録する前に、 NONCancelable パラメーターを FALSE に設定すると、キャンセル競合状態が発生する可能性があります。

ドライバーのキャンセル ルーチンには IoReleaseCancelSpinLock の呼び出しを含める必要があるため (キャンセル ルーチンを呼び出す前に I/O マネージャーが取得するスピン ロックを解放するため)、 StartIoCancel 規則と CancelSpinLock 規則の両方でドライバーを確認することを検討してください。

ドライバーモデル: WDM

テスト方法

コンパイル時

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

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

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

適用対象

IoSetCancelRoutineIoSetStartIoAttributes

関連項目

CancelSpinLock