C28144

avviso C28144: all'interno di una routine di annullamento, al punto di uscita, irQL in Irp-CancelIrql> deve essere il irQL corrente.

Informazioni aggiuntive

Il valore non deve essere ripristinato da alcuna funzione specifica, ma deve essere ripristinato prima dell'uscita. PrEfast non è riuscito a determinare che è stato ripristinato al valore richiesto.

Quando la routine Cancel del driver viene chiusa, il valore del membro Irp-CancelIrql> non è il irQL corrente. In genere, questo errore si verifica quando il driver non chiama IoReleaseCancelSpinLock con irQL fornito dalla chiamata più recente a IoAcquireCancelSpinLock.

Per altre informazioni sulle routine Annulla, vedere Annullamento degli indirizzi IP. Per informazioni specifiche di questo avviso, vedere Punti da prendere in considerazione durante l'annullamento di IRP.

Esempio

Nell'esempio di codice seguente viene generato questo avviso.

IoReleaseCancelSpinLock(PASSIVE_LEVEL);

Nell'esempio di codice seguente viene evitato questo avviso.

IoReleaseCancelSpinLock(Irp->CancelIrql);