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