次の方法で共有


IoCopyCurrentIrpStackLocationToNext 関数 (wdm.h)

IoCopyCurrentIrpStackLocationToNext ルーチンは、現在の I/O スタックの場所から次の下位ドライバーのスタック位置に IRP スタック パラメーターをコピーします。

構文

void IoCopyCurrentIrpStackLocationToNext(
  [in, out] PIRP Irp
);

パラメーター

[in, out] Irp

IRP へのポインター。

戻り値

何一つ

備考

ドライバーは、IoCopyCurrentIrpStackLocationToNext を呼び出して、スタックの場所から次の下位のドライバーのスタック位置に IRP パラメーターをコピーします。

このルーチンを呼び出した後、ドライバーは通常、IoCallDriverを使用して次の下位ドライバーに IRP を渡す前に、IoSetCompletionRoutine I/O 完了ルーチンを設定します。 IRP パラメーターを渡すが、I/O 完了ルーチンを設定しないドライバーは、このルーチンの代わりに IoSkipCurrentIrpStackLocation 呼び出す必要があります。

ドライバーが IoSkipCurrentIrpStackLocation 呼び出す場合は、そのドライバーに関する下位ドライバーまたはシステムの動作に意図せず影響を与える可能性のある方法で IO_STACK_LOCATION 構造を変更しないように注意してください。 特に、ドライバーは、IO_STACK_LOCATION 構造体の Parameters 共用体を変更しないでください。また、IoMarkIrpPending ルーチンを呼び出さないでください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL <=DISPATCH_LEVEL

関連項目

IO_STACK_LOCATION

IoCallDriver

IoMarkIrpPending

IoSetCompletionRoutine

IoSkipCurrentIrpStackLocation