Microsoft KB Archive/12245

INF: Heap Placement in Memory ID Number: Q12245

2.00 3.00 WINDOWS

Summary:

The Windows system uses LocalInit(ds,0,size_in_bytes) to align the heap. The first 16 bytes in DS are the NULL segment. It contains a block of “reserved pointers.” These are the heap pointers. The heap is located in DS by subtracting the size of the heap from the end of DGROUP and filling in the start of the heap pointer with the resulting offset from the end of DGROUP. This procedure avoids data-stack/heap collision.