IoRequestDpc 関数 (wdm.h)

IoRequestDpc ルーチンは、ドライバー提供の DpcForIsr ルーチンをキューに入れ、より低い IRQL で割り込み駆動型 I/O 処理を完了します。

構文

void IoRequestDpc(
  [in] PDEVICE_OBJECT         DeviceObject,
  [in] PIRP                   Irp,
  [in] __drv_aliasesMem PVOID Context
);

パラメーター

[in] DeviceObject

割り込みの原因となった要求が処理されているデバイス オブジェクトへのポインター。

[in] Irp

指定したデバイスの現在の IRP へのポインター。

[in] Context

DPC ルーチンに渡されるドライバーによって決定されたコンテキストへのポインター。

戻り値

なし

解説

IoRequestDpc の呼び出し元は DIRQL で実行されている必要があります。

ドライバーは、InterruptService ルーチンから IoRequestDpc を呼び出します。 このため、IoRequestDpc は、ドライバーが IoConnectInterrupt と呼ばれるときに SynchronizeIrql によって指定された DIRQL 値で実行されます。 ただし、Ke Xxx Dpc ルーチンを使用して、任意の IRQL >= DISPATCH_LEVELで DPCキューに登録することもできます。 詳細については、「どの種類の DPC を使用する必要がありますか?」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL DIRQL

こちらもご覧ください

IoInitializeDpcRequest

KeInitializeDpc

KeInsertQueueDpc