There’s obviously a problem somewhere in my code, but I am too novice to realize what it might be.
I’ve designed a simple program to calculate various cryptographic hashes of files. It seems to work great (I’ve even got it using multiple threads) on smaller files… but when I try to test it on a large ISO file (nearly 4GB), my computer very reliably crashes with a KERNEL_DATA_INPAGE_ERROR.
Am I doing something rather inefficiently? It seems to me like too much memory is being used up, despite the fact that I’ve tried to limit the use of memory at one time… I wonder if it’s my code, or if it’s something wrong with my computer…
fwiw I’ve got an i5 processor running 4 threads, and 4GB of ram using Windows 7 x64.
Here’s my code: http://pastebin.com/KA3KrStf
The problem is almost certainly not in your program. User mode code does not produce kernel faults. The problem is either in your hardware or the drivers. You should direct your search in that direction rather than investigating your code.