What does BSOD 199 (TIMER_OR_DPC_INVALID) mean?

 
Could be also:
ConstantTypeOS
ERROR_AUTODATASEG_EXCEEDS_64kWin32 errorWindows
Previous Next
DRIVER_CAUGHT_MODIFYING_FREED_POOL IRQL_UNEXPECTED_VALUE

TIMER_OR_DPC_INVALID

The TIMER_OR_DPC_INVALID bug check has a value of 0x000000C7. This is issued if a kernel timer or delayed procedure call (DPC) is found somewhere in memory where it is not permitted.

Important

TIMER_OR_DPC_INVALID Parameters

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Cause of error

0x0

Address of the timer object

Start of memory range being checked

End of memory range being checked

The timer object was found in a block of memory where a timer object is not permitted. .

0x1

Address of the DPC object

Start of memory range being checked

End of memory range being checked

The DPC object was found in a block of memory where a DPC object is not permitted.

0x2

Address of the DPC routine

Start of memory range being checked

End of memory range being checked

The DPC routine was found in a block of memory where a DPC object is not permitted.

0x3

Address of the DPC object

Processor number

Number of processors in the system

The processor number for the DPC object is not correct.

0x4

Address of the DPC routine

The thread's APC disable count before the kernel calls the DPC routine

The thread's APC disable count after the DPC routine is called

The thread's APC disable count was changed during DPC routine execution.

The APC disable count is decremented in the TIMER_OR_DPC_INVALID context each time a driver calls KeEnterCriticalRegion, FsRtlEnterFileSystem, or acquires a mutex.

The APC disable count is incremented in the TIMER_OR_DPC_INVALID context each time a driver calls KeLeaveCriticalRegion, KeReleaseMutex, or FsRtlExitFileSystem.

0x5

Address of the DPC routine

The thread's APC disable count before the kernel calls the DPC routine

The thread's APC disable count after the DPC routine is called

The thread's APC disable count was changed during the execution of timer DPC routine.

The APC disable count is decremented each time a driver calls KeEnterCriticalRegion, FsRtlEnterFileSystem, or acquires a mutex.

The APC disable count is incremented each time a driver calls KeLeaveCriticalRegion, KeReleaseMutex, or FsRtlExitFileSystem.

Cause for TIMER_OR_DPC_INVALID

This condition is usually caused by a driver failing to cancel a timer or DPC before freeing the memory where it resides.

Resolution for TIMER_OR_DPC_INVALID

For TIMER_OR_DPC_INVALID, if you are the driver writer, use the information obtained through this bug check to fix the bugs in your code.

If you are a system administrator, you should unload the driver if the problem persists.

Official references for TIMER_OR_DPC_INVALID


Looking for a different code? Search another status or error code.