--- Begin Message ---
Shachar Shemesh wrote:
[snip]

System locale affects all *A functions. I.e. - it affects all ANSI functions. Aside from this affect:

Of course, I took it as fact that the Ansi code page is determined by system locale and that means all *A functions are affected.


- String comparsions
 (IntlStrEqWorker[AW], lstrcmp[AW], lstrcmpi[AW])
 Uses system locale after trying thread locale (which is
 derived from user locale on thread creation).

Uses User locale. Not system locale. It determines the collation (sort order). Obviously, it affects the A functions (lstrcmpA, etc.), but no more nor less than it does CreateWindowA, FormatHardDiskA, or AnyOtherFunctionA.

I'm pretty much sure that if the comparsion fails (using thread locale (which is usually set to user locale)) and the system locale is different from the thread locale that it does second comparsion using the system locale. Unfortunately I can't think of any way to prove it currently. I have hard times thinking about how different locale can affect string comparsions ;-)


- Resource loading
 (FindResource & friends)
 Uses system locale after trying Default UI Language (see
 GetSystemDefaultUILanguage and GetUserDefaultUILanguage
 or NtQueryDefaultLanguage) and user locale.

Actually, here I don't think system locale affects at all. I'll be able to tell with more certainty later, though.

If you want I can write you very simple test case that proves that it uses system locale for resource loading.


[snip]

- Filip


--- End Message ---


Reply via email to