Hi Roth, Win32::AdminMisd package is wonderful, but as you know, there is a bug in GetFileInfo() that sometimes causes perl.exe to crash. I did look into your source code and found the problem is in adminmisc.cpp DiscoverAndAddValue(). The original implemetation relies on pVar->wValueLength to determine if there are more strings in the resource structure. This is not always accurate and I could not find documents supporting this method on MS site. I re-implemented DiscoverAndAddValue(), instead of discover strings on the fly, my code looks for pre-defined strings. I tested with several hundred files and so far no crash, and the output is always the same as using your original implementation. Attached please find the new implemetation of DiscoverAndAddValue().
With regards Yimin -------------------------------------------------------------------------- Global Internet phone calls, voicemail, fax, e-mail and instant messaging. Sign-up today at http://www.hotvoice.com
DiscoverAndAddValue.cpp
Description: Binary data
