共用方式為


DPC 簡介

任何具有ISR的驅動程式通常也至少有一個 DpcForIsrCustomDpc 例程,以完成中斷驅動 I/O 作業的處理。 典型的最低層級驅動程式 DpcForIsrCustomDpc 例程會執行下列動作:

  • 完成處理ISR開始處理的I/O作業。

  • 清除下一個 IRP 佇列,讓驅動程式可以開始處理它。

  • 盡可能完成目前的 IRP。

有時候無法完成目前的 IRP,因為需要進行多次數據傳輸,或偵測到可以復原的錯誤。 在這些情況下, DpcForIsrCustomDpc 例程通常會重新程式化裝置,以進行另一個傳輸或重試最後一個作業。

DpcForIsrCustomDpc 例程會在 IRQL DISPATCH_LEVEL的任意 DPC 內容中呼叫。 在 DISPATCH_LEVEL執行會限制 DpcForIsrCustomDpc 例程可以呼叫的支援例程集。 如需詳細資訊 ,請參閱管理硬體優先順序

DPC 物件和 DPC 例程也可以與定時器搭配使用。 如需詳細資訊,請參閱 定時器物件和 DPC