共用方式為


StartIoCancel 規則 (wdm)

StartIoCancel 規則指定驅動程式在呼叫具有非 NULLCancel 例程的 IoSetCancelable 參數之前,必須先將 NonCancelable 參數設定為 FALSE 來呼叫 IoSetStartIoAttributes

在註冊 Cancel 例程之前,將 NonCancelable 參數設定為 FALSE 可能會導致取消競爭條件。

因為驅動程式的 Cancel 例程必須包含呼叫 IoReleaseCancelSpinLock (,以釋放 I/O 管理員在呼叫 Cancel 例程之前取得的微調鎖定,) ,請考慮使用 StartIoCancel 規則和 CancelSpinLock 規則來驗證驅動程式。

驅動程式模型:WDM

測試方法

在編譯時期

執行 靜態驅動程序驗證器 並指定 StartIoCancel 規則。

使用下列步驟來執行程式碼的分析:
  1. 準備程式代碼 (使用角色類型宣告) 。
  2. 執行靜態驅動程式驗證程式。
  3. 檢視和分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵

適用於

IoSetCancelRoutineIoSetStartIoAttributes

另請參閱

CancelSpinLock