Freigeben über


C28144

Warnung C28144: Innerhalb einer Abbruchroutine sollte am Zeitpunkt des Beendens der IRQL in Irp-CancelIrql> die aktuelle IRQL sein.

Zusätzliche Informationen

Der Wert muss nicht von einer bestimmten Funktion wiederhergestellt werden, sondern muss vor dem Beenden wiederhergestellt werden. PREfast konnte nicht feststellen, dass es auf den erforderlichen Wert wiederhergestellt wurde.

Wenn die Cancel-Routine des Treibers beendet wird, ist der Wert des Irp-CancelIrql-Members> nicht der aktuelle IRQL. In der Regel tritt dieser Fehler auf, wenn der Treiber IoReleaseCancelSpinLock nicht mit dem IRQL aufruft, der vom letzten Aufruf von IoAcquireCancelSpinLock bereitgestellt wurde.

Weitere Informationen zu Abbrechen von Routinen finden Sie unter Abbrechen von IRPs. Informationen zu dieser Warnung finden Sie unter Punkte, die beim Abbrechen von IRPs berücksichtigt werden sollten.

Beispiel

Im folgenden Codebeispiel wird diese Warnung ausgelöst.

IoReleaseCancelSpinLock(PASSIVE_LEVEL);

Im folgenden Codebeispiel wird diese Warnung vermieden.

IoReleaseCancelSpinLock(Irp->CancelIrql);