共用方式為


IoCopyCurrentIrpStackLocationToNext 函式 (wdm.h)

IoCopyCurrentIrpStackLocationToNext 例程會將 IRP 堆棧參數從目前的 I/O 堆棧位置複製到下一個較低驅動程式的堆疊位置。

語法

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

參數

[in, out] Irp

IRP 的指標。

傳回值

沒有

言論

驅動程式會呼叫 IoCopyCurrentIrpStackLocationToNext,將 IRP 參數從其堆疊位置複製到下一個較低驅動程式的堆疊位置。

呼叫此例程之後,驅動程式通常會使用 IoSetCompletionRoutine 來設定 I/O 完成例程,然後再使用 IoCallDriver將 IRP 傳遞至下一個較低的驅動程式。 傳遞其 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