KERNEL: Implement undocumented SetCPGlobal API call
Dmitry Timoshkov
dmitry at baikal.ru
Tue Mar 29 22:10:28 CST 2005
"Troy Rollo" <wine at troy.rollo.name> wrote:
> > What app does depend on it?
>
> I can't name a specific app that depends on it already (other than Windows
> login management processes),
I wonder then how did you discover its existence and syntax and how did you test
its real behaviour?
> but:
>
> - the call has some fairly obvious uses such that it is not out of the
> question for an app to use it;
I'd say that an obvious one is SetThreadLocale.
> - similar API calls to change the OEM code page are documented;
What are they? Could you list that API calls?
> - documented facilities in the API necessarily imply the existence of this API
> call;
and this API has enough power to break an app without a notice.
> and
> - I am considering using it myself.
>
> While the MultiByteToWideChar API can have its behaviour varied by changing
> the first parameter from CP_ACP to some global, the *A calls cannot. Thus
> this API call may be important for a server app not compiled for Unicode (or
> which uses C libraries without a Unicode interface) which receives, for
> example, file names from a client application.
Do you have an evidence that Windows does it in the same way?
> In fact I had an enquiry a week or so ago from our London office which
> involved a problem for which the use of this API call is the only reasonable
> solution.
>
> Ideally the altered code page setting would be inherited by any child process
> created by the parent.
No. It's better to change the locale of your system to an appropriate one.
--
Dmitry.
More information about the wine-devel
mailing list