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


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

Подпрограмма IoCancelIrp задает бит отмены в заданном IRP и вызывает подпрограмму отмены для IRP, если она есть.

Синтаксис

BOOLEAN IoCancelIrp(
  [in] PIRP Irp
);

Параметры

[in] Irp

Указатель на IRP, который требуется отменить.

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

IoCancelIrp возвращает значение TRUE , если в IRP была отменена процедура и эта процедура была вызвана. В противном случае возвращается значение FALSE. В любом случае бит отмены IRP имеет значение TRUE. Дополнительные сведения см. в подразделе "Примечания".

Комментарии

Если IRP имеет подпрограмму отмены, IoCancelIrp задает бит отмены и вызывает подпрограмму отмены.

Если параметр Irp-CancelRoutine> имеет значение NULL и, следовательно, IRP не может быть отменен, IoCancelIrp задает бит отмены IRP и возвращает значение FALSE. IRP следует отменить позже, когда он станет отменяемым.

Если драйвер, не владеющий IRP, вызывает IoCancelIrp, результаты будут непредсказуемыми. IRP может быть завершен с состоянием успешного выполнения, даже если задан его бит отмены.

Промежуточный драйвер не должен произвольно вызывать IoCancelIrp , если только этот драйвер не создал IRP, переданный в вызове. В противном случае промежуточный драйвер может отменить IRP, который отслеживает драйвер более высокого уровня для собственных целей.

Требования

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

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

IoSetCancelRoutine