flat assembler
Message board for the users of flat assembler.

Index > Windows > widechar functions, GLA = 120

Author
Thread Post new topic Reply to topic
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 23 Oct 2010, 17:25
why windows 9X implement widechar functions, but when i try to call them i get "this call is only for win32 mode".

Why windows 9x has those exports, but has them nuimplemented?
Or maybe they added them later, when windows 2k come out?





I have more important issue, can i put widechar names into my iat, without risk that windows 9x wont load my file because of lacking exports?
Post 23 Oct 2010, 17:25
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 23 Oct 2010, 19:13
b1528932,

IAT refers to imported names, it doesn't contain them. Unicode names probably can be used via UTF-8.

Windows 9x does implement some xxxW() API (MessageBoxW(), for example). The reason of those unimplemented exports is that application compiled with #define UNICODE can detect OS version and say something before it gracefully exits (without those it can't even load).
Post 23 Oct 2010, 19:13
View user's profile Send private message Reply with quote
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 24 Oct 2010, 15:49
So microsoft was planning to add support for rest widechar later, after releasinjg certain 9x windows?

I wont find anywere windows without non-A/W exports? I always will have *A and *W functions, and i can safely assume that whatever i put on iat, it will load (wont find CreateProcess instead CreateProcessA/W, or just CreateProcessA, for example)?
Post 24 Oct 2010, 15:49
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 24 Oct 2010, 16:01
b1528932,

NTDLL!LdrpSnapIAT() will answer all your questions.
Post 24 Oct 2010, 16:01
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 24 Oct 2010, 16:29
AFAIK there were some downloadable packages that added some bits of unicode support to 9x. Can't remember the name though.

Why was this? Unicode was only starting, many things weren't yet implemented or even standardized. And it is also question of size: just unicode collation tables take several MB, and that was something you had to think about twice, back then. Especially if no one was going to use for next 2-3 years. I think I've read that Windows can't handle UTF-16 surrogate pairs to this day (dunno if true).
Post 24 Oct 2010, 16:29
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1150
Location: Russian Federation
comrade 24 Nov 2010, 11:26
http://support.microsoft.com/kb/210341

Windows 95 was designed to run on 8MB of RAM. A lot of features such as Unicode were skimped on. The Microsoft Layer for Unicode on Windows 95/98/ME Systems, which is what vid is referring to, is available here: http://msdn.microsoft.com/en-us/goglobal/bb688166.aspx (the download link is on the right-hand side).

baldr, win95 doesn't have ntdll.
Post 24 Nov 2010, 11:26
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 24 Nov 2010, 19:37
comrade,

We were talking about Win9x («Consumer Windows» in MS-speak), right? I don't remember whether original Win98 contains NTDLL.DLL; SE does (though my reference to LdrpSnapIAT() was about WRK: binary rarely answers questions as clear as the source).
Post 24 Nov 2010, 19:37
View user's profile Send private message Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1150
Location: Russian Federation
comrade 25 Nov 2010, 12:10
There could be one, mea culpa. The NTDLL in Win9x/SE is likely a compatibility-layer type DLL, not a real NTDLL that you would see in NT.
Post 25 Nov 2010, 12:10
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.