IoSetNextIrpStackLocation 関数 (wdm.h)
IoSetNextIrpStackLocation ルーチンは、ドライバーによって割り当てられた IRP 内の IRP スタックの場所を呼び出し元の IRP に設定します。
構文
void IoSetNextIrpStackLocation(
[in, out] PIRP Irp
);
パラメーター
[in, out] Irp
スタックの場所を設定する IRP へのポインター。
戻り値
なし
解説
一般に、このルーチンはドライバーではほとんど使用しません。 これは主に、別のドライバーに送信するために割り当てた IRP 内の独自のスタックの場所を必要とするドライバーによって使用されます。
IoSetNextIrpStackLocation は一般に、次のいずれかの理由で必要ありません。
- ドライバーは、別の上位レベルのドライバーから渡す IRP を受け取ったので、既にスタックの場所を所有しています。
- または、ドライバーは IRP を割り当てたが、その IoCompletion ルーチンにアドレスを渡すことができるコンテキスト ブロックに必要なすべてのものを保持できるため、独自のスタックの場所は必要ありません。
ドライバーは、IoBuildAsynchronousFsdRequest、IoBuildDeviceIoControlRequest、または IoBuildSynchronousFsdRequest を呼び出すことによって、割り当てる IRP で IoSetNextIrpStackLocation を呼び出すことはできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | 任意のレベル |