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


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

См. также

IoSetCancelRoutine