EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES コールバック関数 (wdfio.h)
[KMDF にのみ適用]
ドライバーの EvtIoAllocateRequestResources コールバック関数は、ドライバーが指定された要求を処理するために必要な要求固有のリソースを割り当てます。
構文
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;
NTSTATUS EvtWdfIoAllocateRequestResources(
[in] WDFQUEUE Queue,
[in] WDFREQUEST Request
)
{...}
パラメーター
[in] Queue
I/O キュー オブジェクトへのハンドル。
[in] Request
フレームワークによって作成された要求オブジェクトへのハンドル。 フレームワークは、 Queue パラメーターのハンドルが指定する I/O キューに要求オブジェクトをまだ追加していません。
戻り値
EvtIoAllocateRequestResources コールバック関数は、STATUS_SUCCESSまたは関数でエラーが発生しない場合は、NT_SUCCESS(status) が TRUE に等しい別の状態値を返す必要があります。 それ以外の場合、この関数は、NT_SUCCESS(status) が FALSE である状態値を返す必要があります。
注釈
ドライバーは、WdfIoQueueAssignForwardProgressPolicy を呼び出すときに、EvtIoAllocateRequestResources コールバック関数を登録できます。
ドライバーが EvtIoAllocateRequestResources コールバック関数を登録する場合、フレームワークは、I/O マネージャーがドライバーに送信した I/O 要求パケット (IRP) の要求オブジェクトを作成した直後に関数を呼び出します。
コールバック関数は、ドライバーが キュー パラメーターのハンドルが指定する I/O キューから要求オブジェクトを取得した後、ドライバーが後で要求を処理するために必要なリソースを割り当てることができます。
コールバック関数によってリソースが正常に割り当てられ、STATUS_SUCCESSが返された場合、フレームワークは最終的に要求オブジェクトをドライバーに配信します。
メモリ不足などのリソース割り当てエラーが発生した場合、コールバック関数はエラー状態の値を返す必要があります。 この場合、フレームワークはドライバーの前方進行状況ポリシーに従います。ドライバーは、WdfIoQueueAssignForwardProgressPolicy を呼び出したときにWDF_IO_FORWARD_PROGRESS_RESERVED_POLICY値を指定しました。
EvtIoAllocateRequestResources コールバック関数の詳細については、「I/O 操作の前方進行状況の保証」を参照してください。
このコールバック関数は、IRQL <= DISPATCH_LEVELで呼び出すことができます。 IRQL がPASSIVE_LEVELされている場合、フレームワークは 重要なリージョン内でコールバック関数を呼び出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.9 |
Header | wdfio.h (Wdf.h を含む) |
IRQL | <=DISPATCH_LEVEL (「解説」セクションを参照) |