DosReallocHuge
Bindings: C, MASM
This call changes the size of memory originally allocated by DosAllocHuge.
DosReallocHuge (NumSeg, Size, Selector)
NumSeg (USHORT) - input
Number of 65536 byte segments requested.
Size (USHORT) - input
Number of bytes requested in the last non-65536 byte segment. A value
of 0 indicates none.
Selector (SEL) - input
Selector returned on a previous DosAllocHuge.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
8 ERROR_NOT_ENOUGH_MEMORY
87 ERROR_INVALID_PARAMETER
Remarks
DosReallocHuge is called to change the size of unshared or shared huge
memory allocated by DosAllocHuge. The selector used for this call must be
the one returned by the DosAllocHuge request.
Normally, segments allocated as shared (AllocFlags bits 0 and 1 were set)
cannot be decreased in size. However, if AllocFlags bit 3 was also set,
the shared segment's size can be decreased.
DosReallocHuge is also called to reallocate a segment allocated as
discardable (AllocFlags bit 2 set) after the segment is discarded by the
system. The call to DosReallocHuge automatically locks the segment for
access by the caller, the same as if a DosLockSeg had been issued.
Note: This request may be issued from privilege level 2 or 3. However,
only a privilege level 3 huge segment is valid.
Family API Considerations
Some options operate differently in the DOS mode than in the OS/2 mode.
Therefore, the following restriction applies to DosReallocHuge when
coding for the DOS mode:
The requested Size value is rounded up to the next paragraph (16-byte).
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs