In which cases does program exit with 0x40010004 code?

On the theoretical side it could be anything, since TerminateProcess has an exit code parameter.

On the practical side, it’s most likely due to system shutdown. When Windows shuts down, it tries to exit running programs gracefully (more on that here). If they refuse to quit, they might be terminated by the system with the exit code 0x40010004. For example, if you have a GUI program that displays a modal dialog, and then you try to shut down the system, you will be prompted with a message that “xy.exe is preventing shutdown”. If you click “Force shutdown”, the process will be killed with exit code 0x40010004.

If you try to reproduce this, be aware that the program waiting on your application’s process HANDLE might be terminated before your main app.

Leave a Comment