Ok, long story short, I have a very small test app which I am using to locate a flaw in Win2k or NTFS I think we've encountered. I am fairly certain the issue is actually a Windows bug, or an NTFS bug of some sort. Microsoft told me that they won't open a ticket to give me actual consultant assistance because VC++ 6.0 is an obsolete product. They pointed me to Visual C++ 2005 Express Edition, a free download, and said that if I could reproduce the problem with that, that I could open a ticket. I downloaded it and loaded it up, but, my goodness, it seems like an entirely different language! Nothing at all familiar to me. My VC++ 6.0 project certainly won't compile in it and I don't have time to learn a new platform today :)
So, since I'm in a time-crunch, I come here! If somebody who is familiar with the new technology could rebuild this very small test app and send me the complete set of project files, it would help me emmensly, as I could then verify the issue using a non-obsolete product and get MS assistance.. Open it up in VC++ 6.0 and see what it does, it's very straightforward. Then rebuild it to do the same thing.
In a nutshell, this app lets you specify a quantity, loads a source file (included in my zip) as an HBITMAP using MFC's LoadImage() and then saves it out, the specified number of times, to a filename that is generated using GetSystemTime (merely for unique names) in the e:\complete folder using SaveBitmap() (my own method you'll see in my code)
For what it's worth, the issue here is that once this creates around 20,000 files in a single folder, the partition, or MFT or something is going corrupt, and the OS can no longer reload. So if you're testing your work, keep your quantity value small (anything under 15,000, but you really only need 1 really to test and there is no issue with small numbers of files). Change the drive letters as you need, but again, don't run it with any big numbers as you risk taking down your machine. I've run it hundreds of times using a value < 10 with no issue. On every Win2k box we've tried it on, 20,000 times will hose your machine.
My entire VC++ 6.0 project file (as well as source.bmp file the code looks for) is located here:
Yes this sounds like an odd request, but I'm sure that anybody familiar with both VC++ 6.0 and the newer VC++ 2005 could do this very quickly, but it's worth 500 points to me. So the points go to whomever can get me a zip file containing a full project I can open in VC++ 2005 Express. Hopefully my existing code doesn't need too much modification and if the solution comes real quick, I'll post another follow up question merely to award an additional 500 points.
OR - if you look at this code and happen to know why the partition info would be wiped out having run it upwards of 20,000 times and can actually point me to the root cause/solution (ie. what I'm hoping the MS folks can do for me) then you'll get the points as well.
Could it be something in my code? Sure, possible, but I am really convinced this is an NTFS issue.