Freigeben über


IoCancelIrp-Funktion (wdm.h)

Die IoCancelIrp- Routine legt das Cancel-Bit in einem bestimmten IRP fest und ruft die Cancel-Routine für das IRP auf, falls vorhanden.

Syntax

BOOLEAN IoCancelIrp(
  [in] PIRP Irp
);

Parameter

[in] Irp

Ein Zeiger auf den IRP, der abgebrochen werden soll.

Rückgabewert

IoCancelIrp gibt TRUE zurück, wenn die IRP eine Abbruchroutine hatte und diese Routine aufgerufen wurde. Andernfalls wird FALSE-zurückgegeben. In beiden Fällen ist das Cancel Bit des IRP auf TRUEfestgelegt. Weitere Informationen finden Sie in den Hinweisen.

Bemerkungen

Wenn das IRP über eine Abbruchroutine verfügt, legt IoCancelIrp das Cancel Bit fest und ruft die Cancel-Routine auf.

Wenn Irp->CancelRoutine ist NULL-ist und daher das IRP nicht abgebrochen werden kann, legt IoCancelIrp das Cancel Bit des IRP fest und gibt FALSEzurück. Das IRP sollte zu einem späteren Zeitpunkt abgebrochen werden, wenn er abgebrochen werden kann.

Wenn ein Treiber, der nicht dem IRP gehört, IoCancelIrpaufruft, sind die Ergebnisse unvorhersehbar. Das IRP kann mit einem erfolgreichen Status abgeschlossen werden, obwohl das Abbrechen-Bit festgelegt wurde.

Ein Zwischentreiber sollte IoCancelIrp nicht willkürlich aufrufen, es sei denn, dieser Treiber hat das im Anruf übergebene IRP erstellt. Andernfalls kann der Zwischentreiber ein IRP abbrechen, das ein höherer Treiber für eigene Zwecke nachverfolgt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

IoSetCancelRoutine-