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