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


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

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

Синтаксис

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

Параметры

[in] DeviceObject

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

[in] Irp

Указывает отправляемую IRP.

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

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

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows XP и более поздних версиях Windows.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
правил соответствия DDI PnpIrpCompletion(wdm)

См. также

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine