次の方法で共有


DPC オブジェクトの概要

ISR はできるだけ早く実行する必要があるため、ドライバーは通常、ISR が戻った後に割り込み処理を完了するように延期する必要があります。 そのため、システムは 遅延プロシージャ 呼び出し (DPC) をサポートしています。これは ISR からキューに入れることができ、後で ISR よりも低い IRQL で実行されます。

各 DPC は、システム定義 の DPC オブジェクトに関連付けられます。 システムは、デバイス オブジェクトごとに 1 つの DPC オブジェクトを提供します。 システムは、ドライバーが DpcForIsr ルーチンと呼ばれる DPC ルーチンを登録するときに、この DPC オブジェクトを初期化します。 複数の DPC が必要な場合、ドライバーは追加の DPC オブジェクトを作成できます。 これらの追加の DPC は CustomDpc ルーチンと呼ばれます。

DPC オブジェクトの内容は、ドライバーによって直接参照されないようにする必要があります。 オブジェクトの構造は文書化されていません。 ドライバーは、各デバイス オブジェクトに割り当てられているシステム提供の DPC オブジェクトにアクセスできません。 ドライバーは追加の DPC 用に記憶域を割り当てますが、これらの DPC オブジェクトの内容はシステム ルーチンでのみ参照する必要があります。

DPC オブジェクトと DPC は、タイマーと共に使用することもできます。 詳細については、「 タイマー オブジェクトと DPC」を参照してください。