DosSubSet
Bindings: C, MASM
This call is used to initialize a segment or to reset a reallocated
segment for suballocation.
DosSubSet (SegSelector, Flags, Size)
SegSelector (SEL) - input
Target data segment selector.
Flags (USHORT) - input
0 = Increasing the size of a segment already initialized.
1 = Initializing a segment.
Size (USHORT) - input
Segment size in bytes.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
310 ERROR_DOSSUB_SHRINK
313 ERROR_DOSSUB_BADSIZE
314 ERROR_DOSSUB_BADFLAG
Remarks
To initialize a segment for suballocation, issue DosSubSet before issuing
DosSubAlloc and set Flags = 1. The segment must have been allocated with
DosAllocSeg or DosAllocShrSeg.
If a segment allocated by a DosAllocSeg call has already been set for
suballocation, and a call to DosSubAlloc returns Error_DOSSUB_NOMEM, the
segment's size can be increased by a call to DosReallocSeg. After
reallocation, the segment must be reset by a DosSubSet. Failure to reset
the segment after changing its size can yield unpredictable results.
The size parameter should be a multiple of four bytes, or it is rounded
up to a multiple of four. Note in DosSubSet, a size parameter of 0
indicates the segment is 64KB, while in DosSubAlloc and DosSubFree, a
size parameter of 0 is an error. Other than this special case of 0
meaning 64KB, the minimum size that can be set is 12 bytes.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs