次の方法で共有


割り込みの移植

割り込みをサポートおよびサービスするためのコードは、WDF ドライバーと WDM ドライバーで似ています。 主な違いが 1 つあります:

  • WDF ドライバーはWDFINTERRUPT オブジェクトを作成し、そのEvtDriverDeviceAddコールバックからWdfInterruptCreate を呼び出すことによって、割り込みサービス ルーチン (ISR) コールバックを登録します。
  • WDM ドライバーは、KINTERRUPT 構造を作成し、IRP_MN_START_DEVICE処理中にそれを接続します。

WDF ドライバーの EvtInterruptIsr コールバックは、WDM ドライバーのInterruptService ルーチンと同じタスクを実行します。 EvtInterruptIsrコールバックは WdfInterruptQueueDpcForIsrを呼び出して、DISPATCH_LEVELで後で処理するために EvtInterruptDpcコールバックをキューに入れます。 応答として、フレームワークは、このコールバックを実行するシステム キューに DPC オブジェクトを追加します。

フレームワーク割り込みオブジェクトの詳細については、Handling Hardware Interruptsをご参照ください。