spacer spacer spacer
 
 
  arrow Description
  arrow Sample Screen
  arrow Key Facts
  arrow Solutions
  arrow Forum Help
  arrow Technical Details
  arrow Vendor Summary
  arrow Research this Issue
  help Solutions Help
 
 
box_image
Partition Commander
Now it's easy for anyone to safely partition their hard drive! You can reclaim waste disk space, organize files, even add new OSes.
 
  Fix-It Utilities
Make your PC run like new! Includes Anti-Virus, Anti-Spyware, hardware diagnostics, registry fixer, and more!
box_image  
 
 
box_image
PC Mover
Move applications, files and settings from one PC to another. Handles Windows upgrades too, even XP 32-bit to Windows 7 64-bit!
     
 
 
Fatal Error Solutions
     
 

The IO manager has detected a violation by...

STOP: 0x000000C9

 
  Description  
     
 

A device driver has a bug.

Some older versions of Windows may show the description as "DRIVER_VERIFIER_IOMANAGER_VIOLATION".

This is a fatal Windows error, typically called a Stop message, Bug Check, or more commonly the Blue Screen of Death (BSoD). The system is in a forced reboot state. Any unsaved work is likely lost.

 
   
  Sample Screen  
     
 

A problem has been detected and Windows has been shut down to prevent damage to your computer.

The IO manager has detected a violation by a driver that is being verified. The faulty driver that is being verified must be debugged and replaced with a working version.

Technical Information:

*** STOP: 0x000000C9

Beginning dump of physical memory
Physical memory dump complete.

Contact your system administrator or technical support group for further
assistance.

 
 
Text may appear differently depending on where the error occurs.
Additional technical information (hex values) specific to a machine are not shown.
 
   
  Key Facts  
     
 
Full Title
  The IO manager has detected a violation by a driver that is being verified. The faulty driver that is being verified must be debugged and replaced with a working version. 

Stop Code
  0x000000C9 

Type
  Fatal 

occurance meter
Windows
  2000, XP, Vista, 2008, 7, 8

Vendor
  Microsoft Corporation
 
   
  Solutions and Fixes  
     
 
  Date votes Ratings
Get the Latest Updates
7
    Add    Flag
solution icon

Install the latest Windows software updates. Don't forget to check for non-critical updates too!

To manually get updates, open Internet Explorer (you can't use a non-Microsoft browser for updates).

For IE 8 and later: Click on Safety, then Windows Update. Follow the instructions.


 

For IE 7 and older: Click on Tools, then Windows Update. Follow the instructions.


 
   
 
transparent
transparent
solves it indicator
risk indicator
effort indicator
 
  FaultWire Staff
Posted: 5-Oct-2008
 
Avatar
 
Get the Latest Drivers
7
    Add    Flag
solution icon

Check if you are using the latest hardware drivers, especially the chipset and video drivers. Older drivers are a common contributor to BSoD issues.

You can use a product like Driver Genius or Radar Sync to verify you have the latest drivers and help keep all your drivers up-to-date. If you're comfortable with driver installations, you can individually find and install current drivers.

A some of the most popular driver download sites:

 
   
 
transparent
transparent
solves it indicator
risk indicator
effort indicator
 
  FaultWire Staff
Posted: 5-Oct-2008
 
Avatar
 
Uninstall the Last Install
6
    Add    Flag
solution icon

If you can get the system up for more than a few minutes or can use safe mode, try removing the last installed software application or driver.

For removal of an application (Windows 8+)

  1. Press the Windows Key and X together, then  Control Panel, then Programs and Features.
  2. Select the software to uninstall and select Uninstall.

 For removal of an application (Windows 7 & Vista):

  1. Click on Start, Control Panel, then Programs and Features.
  2. Select the software to uninstall and select Uninstall.

For removal of an application (Windows XP):

  1. Click on Start, Control Panel, then Add or Remove Programs.
  2. Select the software to uninstall and select Remove.

To disable a driver:

  1. Bring up the system information dialog:

    On the keyboard, press the Windows key + Pause/Break.

       or

    Select Start, right click Computer and on the drop-down, select Properties.

  2. Click on the left side option Advanced system settings (7/Vista only).
  3. In System Properties, select the Hardware tab, then click on Device Manager button.
  4. Find the hardware/driver of interest (you may need to expand a choice at the "plus" graphic) and double click the choice.
  5. Select the Driver tab. Here you can perform a number of actions such as update the driver, roll Back the driver to an older version, disable or uninstall the driver.
  6. Click OK to exit, then close the Device Manager and other previously opened dialogs.
 
   
 
transparent
transparent
solves it indicator
risk indicator
effort indicator
 
  FaultWire Staff
Posted: 5-Oct-2008
 
Avatar
 

Also see our list of common Fatal Error Solutions.

 
 
 
  Forum Help  
     
 
Forums on topic

Check out what others say about this issue and review or add your own comments and solutions!

Go to Forums on topic.
 
   
  Technical Details  
     
 
  technical details

When Driver Verifier is active and I/O Verification is selected, various I/O violations will cause this bug check to be issued.

After the Stop code will be 4 hex values: {Parameter 1, Parameter 2, Parameter 3, Parameter 4}.

Parameter 1 specifies the error value:

0x00000001 The driver attempted to free an object whose type is not IO_TYPE_IRP.
0x00000002 The driver attempted to free an IRP that is still associated with a thread.
0x00000003 The driver passed IoCallDriver an IRP Type not equal to IRP_TYPE.
0x00000004 The driver passed IoCallDriver an invalid device object.
0x00000005 The IRQL changed during a call to the driver dispatch routine.
0x00000006 The driver called IoCompleteRequest with a status marked as pending (or equal to -1).
0x00000007 The driver called IoCompleteRequest while its cancel routine was still set.
0x00000008 The driver passed IoBuildAsynchronousFsdRequest an invalid buffer.
0x00000009 The driver passed IoBuildDeviceIoControlRequest an invalid buffer.
0x0000000A The driver passed IoInitializeTimer a device object with an already-initialized timer.
0x0000000C The driver passed an I/O status block to an IRP, but this block is allocated on a stack which has already unwound past that point.
0x0000000D The driver passed a user event to an IRP, but this event is allocated on a stack which has already unwound past that point.
0x0000000E The driver called IoCompleteRequest with IRQL > DISPATCH_LEVEL.
0x0000000F The driver sent a create request with a file object that has been closed, or that had its open canceled.

Parameter 2 depends on the value of Parameter 1.

Parameter 3 depends on the value of Parameter 1.

Parameter 4 depends on the value of Parameter 1.

In some cases, BSoD stop text will have the message WDM DRIVER ERROR XXX, where XXX is a hex code representing the specific error as follows:

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.)
 
   
  Vendor Summary  
     
 
Vendor
  Microsoft Corporation (more info...)

Microsoft Corporation Logo
Phone
1-425-882-8080
1-800-642-7676

Web
Main
USA

Assistance
Support
Downloads

 
     
    While BSoD fatal stop errors are identified by Microsoft Windows, they are often caused by non-Microsoft applications, drivers and hardware issues.  
   
  Research this Issue  
     
 
Getting search results...
 
     
  Notes  
     
  While we believe this information up to date and accurate, FAQware is not responsible for any inaccuracies. If you find something that is out of date or inaccurate, please let us know at so we can correct it.