: : Yes, I agree. But, by "Win32 APIs" I meant... well, have you ever read Richter's "Advanced Windows"?
: No I haven't... nor I have any idea about who he is...
*LOL* He wrote "Advanced Windows" for MS Press, a very good book about very advanced topics - IE: processes, threads, kernel structure, and memory management.
: : Anyway, I consider the "Win32 API" to be the WinNT APIs, which Win9X APIs are a subset of.
: That's not it! NT native API is not
the Win32 API, it is... the NT native API! On NT-based systems, the Win32 API are actually translated into some other NT native API... think of it (NT native) as a lower layer... in fact, all NT device drivers must
Okay, it's just a matter of words, then... but I didn't knew about these things about drivers, though they were easy to guess.
: : XP is really built on NT? I really don't believe so... it may be Unicode, or whatever, but don't tell me it's a NT-based system..
: Unicode has nothing to do with API. It's a character format fully incompatible with ANSI, and NT kernels offer native support for it.
: Since Windows XP shares the same driver model (the lower programming layer) as Windows 2000, then it's entirely built on an NT kernel. You can read it on M$'s site, too.
: XP also has several Win32 compatibility modes (other than the ordinary one), which allow it to be bug-by-bug compatible with earlier versions of Windows (namely, 95 & 98).
I know what Unicode is.
Besides, for Unicode characters in the ANSI set, conversion is *very* easy: drop every even byte, and you're done. Or, cast Unicode strings into a "short*", then assign the whole "short" value to a "char" type. It will do.
I didn't knew about Xp's compatibility modes, though.