Поделиться через


Функция 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

См. также раздел

IO_STACK_LOCATION

IoCallDriver

IoMarkIrpPending

IoSetCompletionRoutine

IoSkipCurrentIrpStackLocation