I was worried that mapping the file will fail if you're low on address space and are running this function on a large PE file. It ought to be possible to write a test to see how the function behaves when you've used up oodles of address space, though it'd be tricky to make the test reliable.
I see that Windows has a similar problem in MapFileAndCheckSum (which is said to be a caller of this function) http://www.daniweb.com/forums/thread122484.html so who knows, maybe Windows also maps the file...
On Saturday 17 July 2010 18:19:50 Dan Kegel wrote:
I was worried that mapping the file will fail if you're low on address space and are running this function on a large PE file. It ought to be possible to write a test to see how the function behaves when you've used up oodles of address space, though it'd be tricky to make the test reliable.
I see that Windows has a similar problem in MapFileAndCheckSum (which is said to be a caller of this function) http://www.daniweb.com/forums/thread122484.html so who knows, maybe Windows also maps the file...
A good question; using mapped file seemed like a good idea (much easier to deal with than reading chunks explicitly) and, frankly speaking, I didn't thought about possible virtual address space shortage as a side-effect. Anyway, I tried ImageGetDigestStream with a big file on Vista and apparently it uses whole file map as well - no problem here.