[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: more TEB problems
From:       "Juergen Schmied" <juergen.schmied () debitel ! net>
Date:       1999-12-30 19:13:51
[Download RAW message or body]

I looked a bit deeper (its easy to find since you have only to look 
for the sequence 64 A1 18 00 00 00) in it and discovered some 
more TEB-uses:
----------
    void * ClientId.UniqueThread; /* 0x24 */
--> win95: Thread ID (might be the same)

    struct _PEB *	ProcessEnvironmentBlock; /* 0x30 */
--> (really often used!) defined as PDB, with a comment relating to 
NT3.51 so I think here are the win95 and NT structures mixed 
already and the nt structure is in place. How is this used within 
win95?

    unsigned long	CurrentLocale; /* 0xC4 */
--> collision with TLS-Array

these are only a few...
-----------

I don't think its a goot idea to mix the win95 and the nt teb. We will 
end up with a mess where nobody knows what is what and which 
field is nt, win95 or wine related.

IMHO a better solution is to use a union of the 3 (win95/nt/wine) 
tebs and accessing fields with eg. teb->win95.fieldname. This 
would allow also to adjust the order of fields (later, if we really need 
it) more easily with:

#define schema_used win95

teb->schema_used.filedname

as example the tls-array could be moved out of the way with this 
solution since it occupates quite a few fields used by nt.

> I see no problem with adding all the NT fields that don't conflict
> with the Win95 ones. This should solve most of the problems, as 
there
> are only few fields that we use that are actually in conflict.
This might be not enough in the long run. If we'd like to run things 
like the native user32.dll we can't get along without a compile time 
decision about the teb layout.

The alternative would be to say: forget to run something below a 
comctl32.dll and would rule out as example the nt-ole-stuff and 
advapi32.dll (everything what uses rpcrt4.dll) since it produces 
unpredictable side effects.

Bye
Juergen

---
juergen.schmied@debitel.net

... from sunny Berlin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic