Debugging Tools for Windows

Bug Check 0x48: CANCEL_STATE_IN_COMPLETED_IRP

The CANCEL_STATE_IN_COMPLETED_IRP bug check has a value of 0x00000048. This indicates that an I/O request packet (IRP) was completed, and then was subsequently canceled.

Parameters

The following parameters are displayed on the blue screen.

Parameter Description
1 A pointer to the IRP
2 The cancel routine set by the driver
3 Reserved
4 Reserved

Cause

An IRP that had a Cancel routine set was completed normally, without cancellation. But after it was complete, a driver called the IRP's Cancel routine.

This could be caused by a driver that completed the IRP and then attempted to cancel it.

It could also be caused by two drivers each trying to access the same IRP in an improper way.

Resolving the Problem

The cancel routine parameter can be used to determine which driver or stack caused the bug check.

Build machine: CAPEBUILD