[ros-kernel] Re: Status of Explorer under ReactOS- Bug #42 (more fixes)

Ge van Geldorp ge at gse.nl
Sun Nov 9 09:58:34 CET 2003


> From: Martin Fuchs
> Sent: Sunday, November 09, 2003 02:19
> To: ros-general at reactos.com
> Subject: [ros-general] Re: [ros-kernel] Re: Status of 
> Explorer under ReactOS- Bug #42 (more fixes)
> 
> 
> On Sun 9. November 2003 00:59, Jonathan Wilson wrote:
> > Here is what happens on real windows under different cases: 
> (note that 
> > anytime I refer to GetWindowLong, I also mean the return value one 
> > would get from calling SetWindowLong since its the same 
> thing) Anytime 
> > I refer to [SetGet]WindowLong[AW], I refer to calling it with 
> > GWL_WNDPROC as the parameter
> ...
> 
> This all sounds reasonable.
> We should implement it this way.

Yes, Jonathan is right. I was convinced there could be only one window
proc stored, but I was wrong. Standard controls really do have 2 window
procs.

As for the encoding of the handles, we can't use the current ReactOS
system (setting bit 0x80000000 to indicate a handle), 'cause a valid ROS
window proc can be located above 0x80000000 (/3GB behaviour). Let's
adopt the Microsoft way here too and set the top 16 bits of a handle to
1 (0xffff0000) and use the lower 16 bits as index into a table
containing entries like this:

struct WndProcHandle
{
  WNDPROC WindowProc;
  BOOL IsUnicode;
};

Mark, does this interfere with the message delivery redesign you're
doing?

Gé van Geldorp.




More information about the Ros-kernel mailing list