共用方式為


註冊取消常式

如果裝置驅動程式有StartIo常式,其分派常式可以藉由提供其位址做為IoStartPacket的輸入來註冊Cancel常式。

如果驅動程式沒有 StartIo 常式,其分派常式必須先執行下列動作,才能佇列 IRP 以供其他驅動程式常式進一步處理:

  1. 呼叫 IoAcquireCancelSpinLock

  2. 使用驅動程式提供的Cancel常式輸入 IRP 和進入點呼叫IoSetCancelRoutine

  3. 呼叫 IoReleaseCancelSpinLock

如需取消微調鎖定的相關資訊,請參閱 使用系統的取消微調鎖定

管理自己的 IRP 佇列,而不是使用 I/O 管理員提供的裝置佇列的驅動程式,不需要在呼叫 IoSetCancelRoutine時取得取消微調鎖定。 不過,這些驅動程式應該檢查IoSetCancelRoutine傳回的Cancel常式指標,以判斷Cancel常式是否已啟動。