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 |