All the declares are included later in the post and clarified why NSW wasn't working on a cache. But whatever you say, I'm done, all you're really interested in is blanket invalidating every word I say.

Your code isn't posted either. You just posted a declare using 'cEnumW32' and just claimed "oh well it uses FindFirst/FindNext W". At least my code is all there, even if you're coming at me over how it's organized and that you'd have to make a sub to start it. I can't find the code for cEnumW32 anywhere, so I'll play the "you didn't do it right" game too. How do I know you didn't actually use lower level or differently-optimized code for some/all of the enum routine? Sarcasm aside, I would like to see that class.