Функция 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) |