MSLU: reported bugs and known issues
(The Microsoft Layer for Unicode on Windows 95, 98, and Me Systems)
(Originally posted 27 April 2002; last updated 10 December 2004)
By popular request, this page is going to list known issues that are either under investigation or fixed for a future release. Most issues start life being reported
in the microsoft.public.platformsdk.mslayerforunicode newsgroup on the msnews.microsoft.com news server and you can often see discussion about the issues there while
they are under investigation.
If you have any questions about or problems with MSLU, whether or not they are related to issues listed below, you should feel free to ask them in the
mslayerforunicode newsgroup (available via both NNTP and
HTML). You can also come by with
good news, if you want to. :-)
MSLU's RegEnumValueW and RegEnumKeyExW APIs are documented as returning the size of the value/key names without the trailing NULL, but they are including the trailing NULL in the count. As a workaround, you can take advantage of the fact these strings are NULL-terminated to get the actual length.
There is a typo in the spelling of a function name in the MSLU loader which causes the loader to be unable to find the mmioOpenW function. The code in the DLL is fine, so as a workaround you can use GetProcAddress(GetModuleHandleA("unicows.dll"), "mmioOpenW") to get a function pointer to call. MSLU will properly forward the call to the OS when you are not on a Win9x platform.
MSLU's RealGetWindowClassW is erroneously trying to call the RealGetWindowClassA API on Win9x platforms; it should be looking for RealGetWindowClass (without the 'A' suffix, the only function that is exported on Win9x platforms). As a workaround, you can temporarily use a loader override for MSLU's function.
There are several reported problems with the FindTextW/ReplaceTextW APIs, the causes of which are understood and are now being addressed.
are not copying the lpstrFilter member of the OPENFILENAME
struct in the two notifications (OFNHookProc
). The value is set properly on return, though. As a workaround, you can simply remember what the lpstrFilter was when the dialog was initialized.
There are problems with both ChangeDisplaySettingsW and ChangeDisplaySettingsExW related to NULL parameters being passed. The workaround is to not pass NULL.
This page is obviously not on the Microsoft web site, but it is maintained by an employee of Microsoft who is the principal developer for MSLU. Certain factors
beyond normal control can cause there to be a difference between what you see here and what is eventually released. As they say, this posting is provided "AS IS"
with no warranties, and confers no rights. With that said, best efforts to keep this page accurate will be made any time such a difference does, in fact, exist.
Problems with this site? Please contact the
with your comments, questions, or suggestions.