The INTERNAL_POWER_ERROR bug check has a value of 0x000000A0. This bug check indicates that the power policy manager experienced a fatal error.
The following parameters appear on the blue screen. Parameter 1 indicates the type of violation. The meaning of the other parameters depends on the value of Parameter 1.
| Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 | Cause |
| 0x1 | 1: A device has overrun its maximum number of reference counts.
2, 3, or 4: (Windows Server 2003, Windows XP, and Windows 2000 only ) Too many inrush power IRPs have been queued.
5: (Windows Server 2003, Windows XP, and Windows 2000 only) The power IRP has been sent to a passive level device object.
| Except when Parameter 2 is equal to 5, this parameter indicates the maximum number of pending IRPs that are allowed.
If Parameter 2 is equal to 5, this parameter is reserved.
| Reserved | An error occurred during the handling of the power I/O request packet (IRP). |
| 0x2 | Reserved | Reserved | Reserved | An internal failure has occurred while attempting to process a power event. |
| 0x3 | The expected checksum | The actual checksum | The line number of the failure | The checksum for a hibernation context page does not match its expected checksum. |
| 0x4 | The expected checksum | The actual checksum | The line number of the failure | The checksum for a page about to be written to the hibernation file does not match its expected checksum. |
| 0x5 | Reserved | Reserved | Reserved | An unknown shutdown code has been sent to the system shutdown handler. |
| 0x7 | Reserved | Reserved | Reserved | An unhandled exception has occurred. |
| 0x8 | | | | A fatal error occurred while processing a system power event.
(See the following table for more details.)
|
When Parameter 1 is0x8, a fatal error occurred while processing a system power event. In this situation, Parameter 2 indicates the cause of the error. The meaning of the other parameters depends on the value of Parameter 2.
| Parameter 2 | Parameter 3 | Parameter 4 | Cause |
| 0x100 | The device object | The address of the POWER_CHANNEL_SUMMARY structure (a record of device object states) | An unknown device type is being processed. |
| 0x101 | Exception pointer | Reserved | An unhandled exception occurred. |
| 0x102 | The address of the DUMP_INITIALIZATION_CONTEXT structure, which contains the information that is passed from the system to the disk dump driver during the driver's initialization | The address of the POP_HIBER_CONTEXT structure, which contains information about the state of the computer before hibernation | The hibernation working buffer size is not page-aligned. |
| 0x103 | The address of the POP_HIBER_CONTEXT structure | Reserved | Some working pages were not accounted for during the hibernation process. |
| 0x104 | The address of the POP_HIBER_CONTEXT structure | Reserved | An attempt was made to map internal hibernation memory while the internal memory structures were locked. |
| 0x105 | The address of the POP_HIBER_CONTEXT structure | Reserved | An attempt was made to map internal hibernation memory with an unsupported memory type flag. |
| 0x106 | The MDL | Reserved | A memory descriptor list (MDL) was created during the hibernation process that describes memory that is not paged-aligned. |
| 0x107 | The address of the POP_HIBER_CONTEXT structure | The address of the PO_MEMORY_RANGE_ARRAY structure | A data mismatch occurred in the internal hibernation data structures. |
| 0x108 | The address of the POP_HIBER_CONTEXT structure | Reserved | The disk subsystem failed to properly write part of the hibernation file. |
| 0x109 | The expected checksum | The actual checksum | The checksum for the processor state data does not match its expected checksum. |
| 0x10A | The address of the POP_HIBER_CONTEXT structure | The NTSTATUS failure code | The disk subsystem failed to properly write part of the hibernation file. |
| 0x200 | The device object | The address of the DEVICE_OBJECT_POWER_EXTENSION notification structure | An unknown device type is being checked for an idle state. |
| 0x300 | The device object | The IRP | An unknown status was returned from a battery power IRP. |
| 0x301 | The device object | The IRP | The battery has entered an unknown state. |
| 0x400 | The IRP stack location | The device object | A device has overrun its maximum number of reference counts. |
0x401, 0x402, or 0x403 | The pending IRP list | The device object | (Windows Server 2003, Windows XP, and Windows 2000 only) Too many inrush power IRPs have been queued. |
| 0x404 | The IRP stack location | The device object | (Windows Server 2003, Windows XP, and Windows 2000 only) A power IRP has been sent to a passive level device object. |
| 0x500 | The IRP | The device object | An unknown status was returned from a thermal power IRP. |
For more information about the exact cause for the INTERNAL_POWER_ERROR bug check, see the tables in the Parameters section above.
The following procedures will help you debug certain instances of this bug check.