Функция IoCopyCurrentIrpStackLocationToNext (wdm.h)
Подпрограмма IoCopyCurrentIrpStackLocationToNext копирует параметры стека IRP из текущего расположения стека ввода-вывода в расположение стека следующего ниже драйвера.
Синтаксис
void IoCopyCurrentIrpStackLocationToNext(
[in, out] PIRP Irp
);
Параметры
[in, out] Irp
Указатель на IRP.
Возвращаемое значение
None
Remarks
Драйвер вызывает IoCopyCurrentIrpStackLocationToNext , чтобы скопировать параметры IRP из расположения стека в следующее расположение стека драйвера.
После вызова этой подпрограммы драйвер обычно устанавливает подпрограмму завершения ввода-вывода с помощью IoSetCompletionRoutine перед передачей IRP в драйвер следующего ниже с помощью IoCallDriver. Драйверы, которые передают параметры IRP, но не задают подпрограмму завершения ввода-вывода, должны вызывать IoSkipCurrentIrpStackLocation вместо этой процедуры.
Если ваш драйвер вызывает IoSkipCurrentIrpStackLocation, будьте осторожны, чтобы не изменять структуру IO_STACK_LOCATION таким образом, чтобы непреднамеренно повлиять на более низкий драйвер или поведение системы в отношении этого драйвера. В частности, драйвер не должен изменять объединение параметровIO_STACK_LOCATION структуры и не должен вызывать подпрограмму IoMarkIrpPending.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | <=DISPATCH_LEVEL |