Allocates a block of page-aligned linear address space. The
base address of the block may be specified by the client,
and pages within the block may be committed or uncommitted.
Call With
AX = 0504H
EBX = desired page-aligned linear address of memory
block,
or zero if linear address unspecified
ECX = size of block (bytes, must be nonzero)
EDX = flags
Bit
Significance
0
0 = create uncommitted pages
1 = create committed pages
1-31
reserved, should be zero
Returns if function successful
Carry flag = clear
EBX = linear address of memory block
ESI = handle for memory block
if function unsuccessful
Carry flag = set
AX = error code
8001H
unsupported function (16-bit host)
8012H
linear memory unavailable
8013H
physical memory unavailable
8014H
backing store unavailable
8016H
handle unavailable
8021H
invalid value (ECX = 0)
8025H
invalid linear address (EBX not page aligned)
Notes
A DPMI 1.0 host that is 16-bit only will not support this
function.
A 16-bit client of a 32-bit DPMI 1.0 host can use this
function.
The allocated block is always page-aligned. If a specific linear
address is not requested (EBX = 0), the DPMI host allocates the memory
block at any available page-aligned linear address. If a specific
linear address is requested (EBX nonzero), the host either allocates
the block at the specified address or returns error code 8012H (linear memory
unavailable).
Int 31H Function 0501H, which can also
be used to allocate linear memory blocks, does not necessarily
page-align its blocks and does not have the ability to create
uncommitted pages or allocate a block at a specific linear
address.
Please take a moment to fill out
this visitor survey You can help support this site by
visiting the advertisers that sponsor it! (only once each, though)