https://bugs.winehq.org/show_bug.cgi?id=53014
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- (In reply to jswinebz from comment #10)
PS: what exactly was the link to the /tests/ (line 377) code supposed to demonstrate?
...
375 376 module[module_str.Length] = 0; 377 ok( GetModuleHandleW(module) == GetModuleHandleW(L"user32.dll"), 378 "GetIconInfoEx wrong module %s\n", wine_dbgstr_w(module) );
It certainly doesn't appear to show that "UNICODE_STRING Length handling really uses characters in this case, see related tests"
It shows this in line 376. Running on Windows, Length field here is 6, corresponding to the string "USER32". If it was in bytes you'd get a bunch of trailing 0xcc chars, and that would fail module handle check.