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


Функция IoForwardIrpSynchronously (wdm.h)

Подпрограмма IoForwardIrpSynchronously отправляет IRP указанному драйверу и ожидает, пока этот драйвер завершит IRP.

Синтаксис

BOOLEAN IoForwardIrpSynchronously(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Параметры

[in] DeviceObject

Указывает объект устройства драйвера, которому отправляется IRP.

[in] Irp

Указывает IRP для отправки.

Возвращаемое значение

IoForwardIrpSynchronously возвращает значение TRUE , если IRP успешно отправлен. В противном случае возвращается значение FALSE.

Комментарии

Используйте процедуру IoForwardIrpSynchronously для синхронной пересылки текущего IRP в следующий драйвер в стеке. (Для асинхронной пересылки IRP используйте процедуры IoCopyCurrentIrpStackLocationToNext, IoCallDriver и IoSetCompletionRoutine .)

Подпрограмма IoForwardIrpSynchronously копирует текущее расположение стека в следующее расположение стека. Затем это расположение стека используется в качестве текущего расположения стека драйвером, указанным в DeviceObject. Если следующее расположение стека недоступно, подпрограмма возвращает значение FALSE. Если подпрограмма возвращает значение TRUE, то IRP была отправлена указанному драйверу, и этот драйвер завершил обработку этого IRP.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Правила соответствия DDI PnpIrpCompletion(wdm)

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

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine