[ros-dev] RE: [ros-cvs] CVS Update: reactos
Thomas Weidenmueller
w3seek at reactos.com
Fri Oct 1 16:32:49 CEST 2004
Anich Gregor wrote:
>Doesn't the registry expand strings of type REG_EXPAND_SZ with environment
>vars, and leaves REG_SZ untouched?
>
no it doesn't. It's the callers responsibility. The only case where the
registry code (advapi only) touches the data is when setting or querying
a REG_SZ or REG_EXPAND_SZ with an ansi (A) function, then it converts
the data from unicode to ansi or vice versa and makes it null-terminated
if necessary. But that's about it.
>But still it tells the program which reads
>the key wether it is reading REG_SZ or REG_EXPAND_SZ and some lazy coders
>seem to rely on reading REG_SZ while we want the keys to be expanded so we
>have to make them REG_EXPAND_SZ which is why the programs fail?
>
>
That's not necessarily due to laziness of some coders. The program or
library is fully responsible for processing the data it received from
the registry - there's nothing we can do about it except copy bad design
(as in registry values).
>So if we had another type, REG_FOO, we could make our registry code expand
>environment vars for this type, but return REG_SZ as type to the program
>instead of REG_FOO, or would that not work/be a bad idea?
>
>
That is a bad idea, you'd have to modify advapi to do stuff it shouldn't
do. now imagine a driver or program uses the ntoskrnl/ntdll versions
directly...
Regards,
Thomas
More information about the Ros-dev
mailing list