Hi All,
As you probably know, the latest release of MASM32 has a pair of bugs in the kernel32 library referred to Module32First / Module32Next and Process32First / Process32Next API functions. According to Microsoft MSDN, the ANSI versions are not Module32FirstA / Module32NextA nor Process32FirstA / Process32NextA, but Module32First / Module32Next and Process32First / Process32Next. So when you call Module32First, even if the __UNICODE__ constant is set, you are calling the ANSI version, which is Module32First, and the same happens for Module32Next, Process32First and Process32Next (no problem with Unicode versions as they are Module32FirstW, Module32NextW, etc.). These bugs cause serious problems when you are using the ANSI versions of any of those functions.
I have fixed the problem modifying the kernel32.inc file (lines 1582 to 1586 and 1712 to 1716) and rebuilding the kernel32.lib. Now everything works fine, so I attach both files for those who want to fix them. Just replace kernel32.inc (in MASM32 include folder) and kernel32.lib (in MAMS32 lib folder) with the ones attached to this post.
Regards,
Ramon