Compartilhar via


Função IoCancelIrp (wdm.h)

A rotina IoCancelIrp define o bit de cancelamento em um determinado IRP e chama a rotina de cancelamento para o IRP se houver um.

Sintaxe

BOOLEAN IoCancelIrp(
  [in] PIRP Irp
);

Parâmetros

[in] Irp

Um ponteiro para o IRP a ser cancelado.

Retornar valor

IoCancelIrp retornará TRUE se o IRP tiver uma rotina de cancelamento e essa rotina for chamada. Caso contrário, retornará FALSE. Em ambos os casos, o bit de cancelamento do IRP é definido como TRUE. Para obter mais informações, consulte Comentários.

Comentários

Se o IRP tiver uma rotina de cancelamento, IoCancelIrp definirá o bit de cancelamento e chamará a rotina de cancelamento.

Se Irp-CancelRoutine> for NULL e, portanto, o IRP não for cancelável, IoCancelIrp definirá o bit de cancelamento do IRP e retornará FALSE. O IRP deve ser cancelado posteriormente quando se tornar cancelável.

Se um driver que não possui o IRP chamar IoCancelIrp, os resultados serão imprevisíveis. O IRP pode ser concluído com um status bem-sucedido, mesmo que seu bit de cancelamento tenha sido definido.

Um driver intermediário não deve chamar IoCancelIrp arbitrariamente, a menos que esse driver tenha criado o IRP passado na chamada. Caso contrário, o driver intermediário pode cancelar um IRP que algum driver de nível superior está acompanhando para fins próprios.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport)

Confira também

IoSetCancelRoutine