Функция IoSetNextIrpStackLocation (wdm.h)
Подпрограмма IoSetNextIrpStackLocation задает расположение стека IRP в выделенной драйвером IRP в соответствии с расположением вызывающего объекта.
Синтаксис
void IoSetNextIrpStackLocation(
[in, out] PIRP Irp
);
Параметры
[in, out] Irp
Указатель на IRP, расположение стека которого необходимо задать.
Возвращаемое значение
None
Remarks
Как правило, эта процедура редко используется водителями. Он в основном используется драйверами, которым требуется собственное расположение стека в IRP, которое они выделили самостоятельно для отправки другому драйверу.
IoSetNextIrpStackLocation обычно не требуется, так как:
- Драйвер получил IRP, который передается от другого драйвера более высокого уровня, и поэтому ему уже принадлежит расположение стека.
- Или драйвер выделил IRP, но ему не требуется собственное расположение стека, так как он может хранить все необходимое в блоке контекста, адрес которого можно передать в процедуру IoCompletion .
Драйвер не может вызывать IoSetNextIrpStackLocation с любым IRP, который он выделяет, вызвав IoBuildAsynchronousFsdRequest, IoBuildDeviceIoControlRequest или IoBuildSynchronousFsdRequest.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Любой уровень |