Partager via


Fonction IoCancelIrp (wdm.h)

La routine IoCancelIrp définit le bit d’annulation dans un IRP donné et appelle la routine d’annulation pour l’IRP s’il en existe un.

Syntaxe

BOOLEAN IoCancelIrp(
  [in] PIRP Irp
);

Paramètres

[in] Irp

Pointeur vers l’IRP à annuler.

Valeur de retour

IoCancelIrp retourne TRUE si l’IRP avait une routine d’annulation et que cette routine était appelée. Sinon, elle retourne FALSE. Dans les deux cas, le bit d’annulation de l’IRP est défini sur TRUE. Pour plus d’informations, consultez Remarques.

Remarques

Si l’IRP a une routine d’annulation, IoCancelIrp définit le bit d’annulation et appelle la routine d’annulation.

Si Irp->CancelRoutine est NULL et, par conséquent, l’IRP n’est pas annulable, IoCancelIrp définit le bit d’annulation de l’IRP et retourne FALSE. L’IRP doit être annulé ultérieurement lorsqu’il devient annulable.

Si un pilote qui ne possède pas l’IRP appelle IoCancelIrp, les résultats sont imprévisibles. L’IRP peut être terminé avec un état réussi même si son bit d’annulation a été défini.

Un pilote intermédiaire ne doit pas appeler arbitrairement IoCancelIrp sauf si ce pilote a créé l’IRP passé dans l’appel. Sinon, le pilote intermédiaire peut annuler un IRP que certains pilotes de niveau supérieur effectuent le suivi à des fins propres.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

IoSetCancelRoutine