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) |