StartIoCancel ルール (wdm)
StartIoCancel ルールは、 NULLCancel 以外のキャンセル ルーチンで IoSetCancelRoutine を呼び出す前に、 NonCancelable パラメーターを FALSE に設定した IoSetStartIoAttributes を呼び出してはならないことを指定します。
Cancel ルーチンを登録する前に、 NONCancelable パラメーターを FALSE に設定すると、キャンセル競合状態が発生する可能性があります。
ドライバーのキャンセル ルーチンには IoReleaseCancelSpinLock の呼び出しを含める必要があるため (キャンセル ルーチンを呼び出す前に I/O マネージャーが取得するスピン ロックを解放するため)、 StartIoCancel 規則と CancelSpinLock 規則の両方でドライバーを確認することを検討してください。
ドライバーモデル: WDM
テスト方法
コンパイル時 |
---|
静的ドライバー検証ツール を実行し、 StartIoCancel 規則を指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
IoSetCancelRoutineIoSetStartIoAttributes