no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Next revision | |||
— | en:docs:fapi:dossubset [2018/08/30 16:58] – created prokushev | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | This call is used to initialize a segment or to reset a reallocated segment for suballocation. | ||
+ | |||
+ | ==Syntax== | ||
+ | | ||
+ | |||
+ | ==Parameters== | ||
+ | ; | ||
+ | ;Flags (USHORT) - input : | ||
+ | 0 = Increasing the size of a segment already initialized. | ||
+ | 1 = Initializing a segment. | ||
+ | ;Size (USHORT) - input : Segment size in bytes. | ||
+ | |||
+ | ==Return Code== | ||
+ | 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, | ||
+ | |||
+ | If a segment allocated by a DosAllocSeg call has already been set for suballocation, | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ==Example Code== | ||
+ | === C Binding=== | ||
+ | <PRE> | ||
+ | #define INCL_DOSMEMMGR | ||
+ | |||
+ | USHORT | ||
+ | |||
+ | SEL SegSelector; | ||
+ | USHORT | ||
+ | USHORT | ||
+ | |||
+ | USHORT | ||
+ | </ | ||
+ | |||
+ | ===MASM Binding=== | ||
+ | <PRE> | ||
+ | EXTRN DosSubSet: | ||
+ | INCL_DOSMEMMGR | ||
+ | |||
+ | PUSH | ||
+ | PUSH | ||
+ | PUSH | ||
+ | CALL | ||
+ | |||
+ | Returns WORD | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Note ====== | ||
+ | |||
+ | Text based on http:// | ||
+ | |||
+ | {{page> | ||