EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS コールバック関数 (wdfio.h)

[KMDF にのみ適用]

ドライバーの EvtIoWdmIrpForforwardProgress コールバック関数は、I/O 要求パケット (IRP) を調べ、予約された要求オブジェクトを使用して I/O 要求を処理するか、I/O 要求を失敗させるかを決定します。

構文

EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtWdfIoWdmIrpForForwardProgress;

WDF_IO_FORWARD_PROGRESS_ACTION EvtWdfIoWdmIrpForForwardProgress(
  [in] WDFQUEUE Queue,
  [in] PIRP Irp
)
{...}

パラメーター

[in] Queue

I/O キュー オブジェクトへのハンドル。

[in] Irp

IRP 構造体へのポインター。

戻り値

EvtIoWdmIrpForForwardProgress コールバック関数は、WDF_IO_FORWARD_PROGRESS_ACTION型指定の値を返す必要があります。

注釈

ドライバーは、WdfIoQueueAssignForwardProgressPolicy を呼び出すときに、EvtIoWdmIrpForForwardProgress コールバック関数を登録できます。

ドライバーが EvtIoWdmIrpForForwardProgress コールバック関数を登録する場合、フレームワークは、次のすべての条件が存在する場合に関数を呼び出します。

  • フレームワークは、I/O マネージャーがドライバーに送信している I/O 要求パケット (IRP) を受信しました。
  • フレームワークは IRP の要求オブジェクトを作成しようとしましたが、試行は失敗しました。
  • ドライバーでは、要求オブジェクトを受信する必要がある I/O キューの転送の進行状況が保証されており、 ポリシーの種類WdfIoForwardProgressReservedPolicyUseExamine に設定されています。
フレームワークは、 EVtIoWdmIrpForForwardProgress コールバック関数に IRP を渡します。 コールバック関数は、IRP を調べて、フレームワークが IRP の予約済み要求オブジェクトの 1 つを使用するか (コンピューターの使用可能なメモリが不足している場合に IRP が重要でない場合)、ドライバーに配信せずに I/O 要求を失敗させるかどうかを判断する必要があります。 コールバック関数の戻り値は、フレームワークが実行する必要があるアクションを指定します。

EvtIoWdmIrpForForwardProgress コールバック関数の詳細については、「I/O 操作の前方進行状況の保証」を参照してください。

このコールバック関数は、IRQL <= DISPATCH_LEVELで呼び出すことができます。 IRQL がPASSIVE_LEVELされている場合、フレームワークは 重要なリージョン内でコールバック関数を呼び出します。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.9
Header wdfio.h (Wdf.h を含む)
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

こちらもご覧ください

EvtIoAllocateRequestResources

EvtIoAllocateResourcesForReservedRequest