C28144
警告 C28144:在取消例程中,在退出时,Irp-CancelIrql> 中的 IRQL 应为当前 IRQL。
其他信息 |
值不需要由任何特定函数还原,但必须在退出之前还原。 PREfast 无法确定它已还原到所需的值。 |
当驱动程序的 Cancel 例程退出时,Irp-CancelIrql> 成员的值不是当前 IRQL。 通常,当驱动程序未使用 最近调用 IoAcquireCancelSpinLock 提供的 IRQL 调用 IoReleaseCancelSpinLock 时,会发生此错误。
有关 取消 例程的详细信息,请参阅 取消 IRP。 有关特定于此警告的信息,请参阅 取消 IRP 时的注意事项。
示例
下面的代码示例会引发此警告。
IoReleaseCancelSpinLock(PASSIVE_LEVEL);
下面的代码示例避免了此警告。
IoReleaseCancelSpinLock(Irp->CancelIrql);