Функция IoCancelIrp (wdm.h)
Подпрограмма IoCancelIrp задает бит отмены в заданном IRP и вызывает подпрограмму отмены для IRP, если есть один.
Синтаксис
BOOLEAN IoCancelIrp(
[in] PIRP Irp
);
Параметры
[in] Irp
Указатель на IRP, который необходимо отменить.
Возвращаемое значение
IoCancelIrp возвращает TRUE, если IRP имеет подпрограмму отмены, и эта подпрограмма была вызвана. В противном случае возвращается FALSE. В любом случае бит отмены IRP имеет значение TRUE. Дополнительные сведения см. в разделе "Примечания".
Замечания
Если IRP имеет подпрограмму отмены, IoCancelIrp задает бит отмены и вызывает подпрограмму отмены.
Если Irp->CancelRoutineNULL, поэтому IRP не отменяется, IoCancelIrp задает бит отмены IRP и возвращает FALSE. IRP следует отменить позже, когда он становится отмененным.
Если драйвер, который не владеет вызовами IRP, IoCancelIrp, результаты непредсказуемы. IRP может быть завершен с успешным состоянием, даже если был установлен его бит отмены.
Промежуточный драйвер не должен произвольно вызывать IoCancelIrp, если этот драйвер не создал IRP, переданный в вызове. В противном случае промежуточный драйвер может отменить IRP, что некоторый драйвер более высокого уровня отслеживается в целях собственного.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDIs(storport) |