[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