Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:docs:fapi:dossuballoc [2020/12/04 13:01] – prokushev | en:docs:fapi:dossuballoc [2021/12/05 11:05] (current) – prokushev | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | {{logos:os2.gif? | + | {{page>en:templates:fapiint}} |
| ====== DosSubAlloc ====== | ====== DosSubAlloc ====== | ||
| - | This call suballocates portions of a segment allocated by DosAllocSeg or DosAllocShrSeg, | + | This call suballocates portions of a segment allocated by [[DosAllocSeg]] or [[DosAllocShrSeg]], and initialized by [[DosSubSet]]. |
| - | ==Syntax== | + | ===== Syntax ===== |
| - | | + | <code c> |
| + | DosSubAlloc (SegSelector, | ||
| + | </ | ||
| - | ==Parameters== | + | ===== Parameters ===== |
| - | ;SegSelector (SEL) - input : Data segment selector that allocates the memory. | + | |
| - | ;BlockOffset (PUSHORT) - output : Address of the allocated block offset. | + | |
| - | ;Size (USHORT) - input : Memory block size requested in bytes. | + | |
| + | | ||
| + | |||
| + | ===== Return Code ===== | ||
| + | |||
| + | rc ([[USHORT]]) - return | ||
| - | ==Return Code== | ||
| - | rc (USHORT) - return | ||
| Return code descriptions are: | Return code descriptions are: | ||
| - | * 0 NO_ERROR | ||
| - | * 311 ERROR_DOSSUB_NOMEM | ||
| - | * 313 ERROR_DOSSUB_BADSIZE | ||
| - | ==Remarks== | + | * 0 NO_ERROR |
| + | * 311 ERROR_DOSSUB_NOMEM | ||
| + | * 313 ERROR_DOSSUB_BADSIZE | ||
| + | |||
| + | ===== Remarks ===== | ||
| Before a segment allocated by [[DosAllocSeg]] or [[DosAllocShrSeg]] can be suballocated, | Before a segment allocated by [[DosAllocSeg]] or [[DosAllocShrSeg]] can be suballocated, | ||
| - | Allocation size must be a multiple of four bytes. Otherwise, it is rounded up to a multiple of four bytes. The maximum value for the size parameter is the size that was set with DosSubSet minus 8. Note that no paragraph (16-byte) alignment is required; all requests are serviced on a byte alignment basis. | + | Allocation size must be a multiple of four bytes. Otherwise, it is rounded up to a multiple of four bytes. The maximum value for the size parameter is the size that was set with [[DosSubSet]] minus 8. Note that no paragraph (16-byte) alignment is required; all requests are serviced on a byte alignment basis. |
| - | A suballocated block of memory in a suballocated segment is freed by a call to DosSubFree. | + | A suballocated block of memory in a suballocated segment is freed by a call to [[DosSubFree]]. |
| - | ==Example Code== | + | ===== Example Code ===== |
| - | ===C Binding=== | + | |
| - | <PRE> | + | ==== C Binding ==== |
| + | |||
| + | <code c> | ||
| #define INCL_DOSMEMMGR | #define INCL_DOSMEMMGR | ||
| Line 39: | Line 48: | ||
| USHORT | USHORT | ||
| - | </PRE> | + | </code> |
| - | ===MASM Binding=== | + | ==== MASM Binding ==== |
| - | <PRE> | + | |
| + | <code asm> | ||
| EXTRN DosSubAlloc: | EXTRN DosSubAlloc: | ||
| INCL_DOSMEMMGR | INCL_DOSMEMMGR | ||
| Line 50: | Line 60: | ||
| PUSH | PUSH | ||
| CALL | CALL | ||
| + | </ | ||
| Returns WORD | Returns WORD | ||
| - | </ | ||
| - | |||
| - | |||
| - | ====== Note ====== | + | ===== Note ===== |
| Text based on [[http:// | Text based on [[http:// | ||




