Virtual memory under Win95
Dmitry Timoshkov
dmitry at sloboda.ru
Sun Apr 22 05:15:05 CDT 2001
I wtote:
> "Rein Klazes" <rklazes at xs4all.nl> wrote:
>
> > win95 on a vmware machine.
> >
> > H:\>test
> > hMapping = 0005
> > p = 826DB000
> > VirtualQuery(826DB000) ret=0x1c
> > BaseAddress = 826DB000
> > AllocationBase = 826DB000
> > AllocationProtect = 0x00000001
> > RegionSize = 0x0400f000
> > State = 00002000
> > Protect = 00000001
> > Type = 00020000
>
> This means that Win95/98 doesn't free region allocated with SEC_RESERVE flag set.
> Could you please test other SEC_ flags? Is the result the same?
Comment about SEC_RESERVE in memory/virtual.c tells enough, besides the fact that Win95
does not unmap regions allocated with that flag set. Attached patch makes the debugged
installer proceed much further with -winver win95 switch now. Unfortunately currently
there is no way to distinguish regions allocated with SEC_RESERVE flag set.
Now installer DebugBreak's after another VirtualQuery call.
Could you (or anybody else with a Win95 machine) add the following lines at the end
of the previous test program and report the result?
dwRet = VirtualQuery(p + 0x10000, &info, sizeof(info));
printf("VirtualQuery(%p) ret=0x%lx\n"
"BaseAddress = %p\n"
"AllocationBase = %p\n"
"AllocationProtect = 0x%08lx\n"
"RegionSize = 0x%08lx\n"
"State = %08lx\n"
"Protect = %08lx\n"
"Type = %08lx\n",
p + 0x10000, dwRet,
info.BaseAddress,
info.AllocationBase,
info.AllocationProtect,
info.RegionSize,
info.State,
info.Protect,
info.Type);
As usually thanks in advance (to Uwe Bonnes too! He sent his result privately).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: virtual.c.diff
Type: application/octet-stream
Size: 744 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20010422/13d35017/virtual.c.obj
More information about the wine-devel
mailing list