Trouble with VirtualQuery()

Daniel Walker diwalker at earthlink.net
Sun Apr 22 09:26:30 CDT 2001


	I've been investigating the free Borland ilink32.exe , the one that
locks under wine. Has this been discussed already? Well anyway, it
probes several memory address with VirtualQuery(). This first location
is 0x80000000 . On a normal windows system that would be system memory. 
Wine claims that area as free memory. Well apparently ilink32 doesn't
want to see that region as free memory so it goes into an endless loop .
There is a big list of memory location that it checks and if it doesn't
get an acceptable result (Reserved) then it goes into an endless loop.

If I set all the address to,

	info->State             = MEM_RESERVED;
        info->Protect           = PAGE_NOACCESS;
        info->AllocationProtect = PAGE_NOACCESS;
        info->Type              = MEM_PRIVATE;

Then ilink32 doesn't lock, but it has four internal memory errors. It
still doesn't work, but it exit with an error.
	

Here is the first set of addressed,

0x80000000
0x80FFF000
0x81FFE000
0x82FFD000 
0x83FFC000 
0xADC00000 
0xAEBFF000 
0xBFB70000
0xA0000000 
0x83FFE000 
0x81FFF000 
0xA1FFF000 
0x90000000 
0x91FFF000 
0xB1BFE000 
0x91FFF000 
0x98000000 
0x99FFF000 
0xB8000000 
0xBA000000

						Daniel Walker




More information about the wine-devel mailing list