| hex code |
Error |
Cause (Windows 2000 and later) |
| 0x200 |
Unknown |
This code covers all unknown I/O Verification errors. |
| 0x201 |
Fatal |
A device is deleting itself while there is another device beneath it in the driver stack. This may be because the caller has forgotten to call IoDetachDevice first, or the lower driver may have incorrectly deleted itself. |
| 0x202 |
Fatal |
A driver has attempted to detach from a device object that is not attached to anything. This may occur if detach was called twice on the same device object (Device object specified.) |
| 0x203 |
Fatal |
A driver has called IoCallDriver without setting the cancel routine in the IRP to NULL. (IRP specified.) |
| 0x204 |
Fatal |
The caller has passed in NULL as a device object. This is fatal (IRP specified.) |
| 0x205 |
Fatal |
The caller is forwarding an IRP that is currently queued beneath it. The code handling IRPs returning STATUS_PENDING in this driver appears to be broken (IRP specified.) |
| 0x206 |
Fatal |
The caller has incorrectly forwarded an IRP (control field not zeroed). The driver should use IoCopyCurrentIrpStackLocationToNext or IoSkipCurrentIrpStackLocation. (IRP specified.) |
| 0x207 |
Fatal |
The caller has manually copied the stack and has inadvertently copied the upper layer's completion routine. The driver should use IoCopyCurrentIrpStackLocationToNext. (IRP specified.) |
| 0x208 |
Fatal |
This IRP is about to run out of stack locations. Someone may have forwarded this IRP from another stack (IRP specified.) |
| 0x209 |
Fatal |
The caller is completing an IRP that is currently queued beneath it. The code handling IRPs returning STATUS_PENDING in this driver appears to be broken (IRP specified.) |
| 0x20A |
Fatal |
The caller of IoFreeIrp is freeing an IRP that is still in use (Original IRP and IRP in use specified.) |
| 0x20B |
Fatal |
The caller of IoFreeIrp is freeing an IRP that is still in use (IRP specified.) |
| 0x20C |
Fatal |
The caller of IoFreeIrp is freeing an IRP that is still queued against a thread (IRP specified.) |
| 0x20D |
Fatal |
The caller of IoInitializeIrp has passed an IRP that was allocated with IoAllocateIrp. This is illegal and unnecessary, and has caused a quota leak. Check the documentation for IoReuseIrp if this IRP is being recycled. |
| 0x20E |
Non-fatal |
A PNP IRP has an invalid status. (Any PNP IRP must have its status initialized to STATUS_NOT_SUPPORTED.) (IRP specified.) |
| 0x20F |
Non-fatal |
A Power IRP has an invalid status. (Any Power IRP must have its status initialized to STATUS_NOT_SUPPORTED.) (IRP specified.) |
| 0x210 |
Non-fatal |
A WMI IRP has an invalid status. (Any WMI IRP must have its status initialized to STATUS_NOT_SUPPORTED.) (IRP specified.) |
| 0x211 |
Non-fatal |
The caller has forwarded an IRP while skipping a device object in the stack. The caller is probably sending IRPs to the PDO instead of to the device returned by IoAttachDeviceToDeviceStack (IRP specified.) |
| 0x212 |
Non-fatal |
The caller has trashed or has not properly copied the IRP's stack (IRP specified.) |
| 0x213 |
Non-fatal |
The caller has changed the status field of an IRP it does not understand (IRP specified.) |
| 0x214 |
Non-fatal |
The caller has changed the information field of an IRP it does not understand (IRP specified.) |
| 0x215 |
Non-fatal |
A non-successful non-STATUS_NOT_SUPPORTED IRP status for IRP_MJ_PNP is being passed down stack (IRP specified.) Failed PNP IRPs must be completed. |
| 0x216 |
Non-fatal |
The previously-set IRP_MJ_PNP status has been converted to STATUS_NOT_SUPPORTED (IRP specified.) |
| 0x217 |
Non-fatal |
The driver has not handled a required IRP. The driver must update the status of the IRP to indicate whether or not it has been handled (IRP specified.) |
| 0x218 |
Non-fatal |
The driver has responded to an IRP that is reserved for other device objects elsewhere in the stack (IRP specified.) |
| 0x219 |
Non-fatal |
A non-successful non-STATUS_NOT_SUPPORTED IRP status for IRP_MJ_POWER is being passed down stack (IRP specified.) Failed POWER IRPs must be completed. |
| 0x21A |
Non-fatal |
The previously-set IRP_MJ_POWER status has been converted to STATUS_NOT_SUPPORTED (IRP specified.) |
| 0x21B |
Non-fatal |
A driver has returned a suspicious status. This is probably due to an uninitialized variable bug in the driver (IRP specified.) |
| 0x21C |
Warning |
The caller has copied the IRP stack but not set a completion routine. This is inefficient - use IoSkipCurrentIrpStackLocation instead (IRP specified.) |
| 0x21D |
Fatal |
An IRP dispatch handler has not properly detached from the stack below it upon receiving a remove IRP. (Device object, dispatch routine, and IRP specified.) |
| 0x21E |
Fatal |
An IRP dispatch handler has not properly deleted its device object upon receiving a remove IRP. (Device object, dispatch routine, and IRP specified.) |
| 0x21F |
Non-fatal |
A driver has not filled out a dispatch routine for a required IRP major function (IRP specified.) |
| 0x220 |
Non-fatal |
IRP_MJ_SYSTEM_CONTROL has been completed by someone other than the ProviderId. This IRP should either have been completed earlier or should have been passed down. (IRP specified, along with the device object where it was targeted.) |
| 0x221 |
Fatal |
An IRP dispatch handler for a PDO has deleted its device object, but the hardware has not been reported as missing in a bus relations query. (Device object, dispatch routine, and IRP specified.) |
| 0x222 |
Fatal |
A Bus Filter's IRP dispatch handler has detached upon receiving a remove IRP when the PDO is still alive. Bus Filters must clean up in FastIoDetach callbacks. (Device object, dispatch routine, and IRP specified.) |
| 0x223 |
Fatal |
An IRP dispatch handler for a bus filter has deleted its device object, but the PDO is still present. Bus filters must clean up in FastIoDetach callbacks. (Device object, dispatch routine, and IRP specified.) |
| 0x224 |
Fatal |
An IRP dispatch handler has returned a status that is inconsistent with the IRP's IoStatus.Status field. (Dispatch handler routine, IRP, IRP's IoStatus.Status, and returned Status specified.) |
| 0x225 |
Non-fatal |
An IRP dispatch handler has returned a status that is illegal (0xFFFFFFFF). This is probably due to an uninitialized stack variable. To debug this error, use the ln (List Nearest Symbols) debugger command with the specified address. |
| 0x226 |
Fatal |
An IRP dispatch handler has returned without passing down or completing this IRP, or someone forgot to return STATUS_PENDING (IRP specified.) |
| 0x227 |
Fatal |
An IRP completion routine is in pageable code. (This is never permitted.) (Routine and IRP specified.) |
| 0x228 |
Non-fatal |
A driver's completion routine has not marked the IRP pending if the PendingReturned field was set in the IRP passed to it. This may cause Windows to hang, especially if an error is returned by the stack. (Routine and IRP specified.) |
| 0x229 |
Fatal |
A cancel routine has been set for an IRP that is currently being processed by drivers lower in the stack, possibly stomping their cancel routine. (Routine and IRP specified.) |
| 0x22A |
Non-fatal |
The physical device object (PDO) has not responded to a required IRP (IRP specified.) |
| 0x22B |
Non-fatal |
The physical device object (PDO) has forgotten to fill out the device relation list with the PDO for the TargetDeviceRelation query (IRP specified.) |
| 0x22C |
Fatal |
The code implementing the TargetDeviceRelation query has not called ObReferenceObject on the PDO (IRP specified.) |
| 0x22D |
Non-fatal |
The caller has completed a IRP_MJ_PNP it didn't understand instead of passing it down (IRP specified.) |
| 0x22E |
Non-fatal |
The caller has completed a successful IRP_MJ_PNP instead of passing it down (IRP specified.) |
| 0x22F |
Non-fatal |
The caller has completed an untouched IRP_MJ_PNP (instead of passing the IRP down), or non-PDO has failed the IRP using illegal value of STATUS_NOT_SUPPORTED (IRP specified.) |
| 0x230 |
Non-fatal |
The caller has completed an IRP_MJ_POWER it didn't understand instead of passing it down (IRP specified.) |
| 0x231 |
Fatal |
The caller has completed a successful IRP_MJ_POWER instead of passing it down (IRP specified.) |
| 0x232 |
Non-fatal |
The caller has completed an untouched IRP_MJ_POWER (instead of passing the IRP down), or non-PDO has failed the IRP using illegal value of STATUS_NOT_SUPPORTED (IRP specified.) |
| 0x233 |
Non-fatal |
The version field of the query capabilities structure in a query capabilities IRP was not properly initialized (IRP specified.) |
| 0x234 |
Non-fatal |
The size field of the query capabilities structure in a query capabilities IRP was not properly initialized (IRP specified.) |
| 0x235 |
Non-fatal |
The address field of the query capabilities structure in a query capabilities IRP was not properly initialized to -1 (IRP specified.) |
| 0x236 |
Non-fatal |
The UI Number field of the query capabilities structure in a query capabilities IRP was not properly initialized to -1 (IRP specified.) |
| 0x237 |
Fatal |
A driver has sent an IRP that is restricted for system use only (IRP specified.) |
| 0x238 |
Warning |
The caller of IoInitializeIrp has passed an IRP that was allocated with IoAllocateIrp. This is illegal, unnecessary, and negatively impacts performance in normal use. If this IRP is being recycled, see IoReuseIrp. |
| 0x239 |
Warning |
The caller of IoCompleteRequest is completing an IRP that has never been forwarded via a call to IoCallDriver or PoCallDriver. This may be a bug (IRP specified.) |
| 0x23A |
Fatal |
A driver has forwarded an IRP at an IRQL that is illegal for this major code (IRP specified.) |
| 0x23B |
Non-fatal |
The caller has changed the status field of an IRP it does not understand (IRP specified.) |
| hex code |
Error |
Cause (Windows XP and later) |
| 0x23C |
Fatal |
A driver has completed an IRP without setting the cancel routine in the IRP to NULL (IRP specified.) |
| 0x23D |
Non-fatal |
A driver has returned STATUS_PENDING but did not mark the IRP pending via a call to IoMarkIrpPending (IRP specified.) |
| 0x23E |
Non-fatal |
A driver has marked an IRP pending but didn't return STATUS_PENDING (IRP specified.) |
| 0x23F |
Fatal |
A driver has not inherited the DO_POWER_PAGABLE bit from the stack it has attached to (Device object specified.) |
| 0x240 |
Fatal |
A driver is attempting to delete a device object that has already been deleted via a prior call to IoDeleteDevice. |
| 0x241 |
Fatal |
A driver has detached its device object during a surprise remove IRP (IRP and device object specified.) |
| 0x242 |
Fatal |
A driver has deleted its device object during a surprise remove IRP (IRP and device object specified.) |
| 0x243 |
Fatal |
A driver has failed to clear the DO_DEVICE_INITIALIZING flag at the end of AddDevice (Device object specified.) |
| 0x244 |
Fatal |
A driver has not copied either the DO_BUFFERED_IO or the DO_DIRECT_IO flag from the device object it is attaching to (Device object specified.) |
| 0x245 |
Fatal |
A driver has set both the DO_BUFFERED_IO and the DO_DIRECT_IO flags. These flags are mutually exclusive (Device object specified.) |
| 0x246 |
Fatal |
A driver has failed to copy the DeviceType field from the device object it is attaching to (Device object specified.) |
| 0x247 |
Fatal |
A driver has failed an IRP that cannot legally be failed (IRP specified.) |
| 0x248 |
Fatal |
A driver has added a device object that is not a PDO to a device relations query (IRP and device object specified.) |
| 0x249 |
Non-fatal |
A driver has enumerated two child PDOs that returned identical Device IDs (Both device objects specified.) |
| 0x24A |
Fatal |
A driver has mistakenly called a file I/O function with IRQL not equal to PASSIVE_LEVEL. |
| 0x24B |
Fatal |
A driver has completed an IRP_MN_QUERY_DEVICE_RELATIONS request of type TargetDeviceRelation as successful, but did not properly fill out the request or forward the IRP to the underlying hardware stack (Device object specified.) |
| 0x24C |
Non-fatal |
A driver has returned STATUS_PENDING but did not mark the IRP pending by a call to IoMarkIrpPending (IRP specified.) |
| 0x24D |
Fatal |
A driver has passed an invalid device object to a function that requires a PDO (Device object specified.) |