DosReallocSeg
Bindings: C, MASM
This call reallocates a segment after discard or changes the size of a
segment already allocated.
DosReallocSeg (Size, Selector)
Size (USHORT) - input
New requested segment size (in bytes). A value of 0 indicates 65536
bytes.
Selector (SEL) - input
Segment to be resized.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
5 ERROR_ACCESS_DENIED
8 ERROR_NOT_ENOUGH_MEMORY
Remarks
DosReallocSeg is called to change the size of an unshared or shared
segment allocated with a DosAllocSeg 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.
DosReallocSeg 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 DosReallocSeg 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, and the
segment being resized can be either a privilege level 2 or
privilege level 3 segment.
To change the size of huge memory allocated by DosAllocHuge, see
DosReallocHuge.
Family API Considerations
Some options operate differently in the DOS mode than in the OS/2 mode.
Therefore, the following restriction applies to DosReallocSeg 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