Funzione IoCancelIrp (wdm.h)
La routine IoCancelIrp imposta il bit di annullamento in un determinato IRP e chiama la routine di annullamento per l'IRP, se presente.
Sintassi
BOOLEAN IoCancelIrp(
[in] PIRP Irp
);
Parametri
[in] Irp
Puntatore all'IRP da annullare.
Valore restituito
IoCancelIrp restituisce TRUE se l'IRP ha una routine di annullamento e questa routine è stata chiamata. In caso contrario, restituisce FALSE. In entrambi i casi, il bit di annullamento di IRP è impostato su TRUE. Per altre informazioni, vedere Osservazioni.
Osservazioni
Se L'IRP ha una routine di annullamento, IoCancelIrp imposta il bit di annullamento e chiama la routine di annullamento.
Se Irp->CancelRoutine è nulle pertanto l'IRP non è annullabile, IoCancelIrp imposta il bit di annullamento di IRP e restituisce FALSE. L'IRP deve essere annullato in un secondo momento quando diventa annullabile.
Se un driver che non possiede le chiamate IRP IoCancelIrp, i risultati sono imprevedibili. L'IRP potrebbe essere completato con uno stato di esito positivo anche se è stato impostato il bit di annullamento.
Un driver intermedio non deve chiamare arbitrariamente IoCancelIrp a meno che tale driver non ha creato l'IRP passato nella chiamata. In caso contrario, il driver intermedio potrebbe annullare un IRP che alcuni driver di livello superiore sta monitorando per conto proprio.