Jump to content

DosSizeSeg: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
Line 13: Line 13:


==Remarks==
==Remarks==
This function provides compatibility for family applications that must run in DOS or OS/2 mode. DosSizeSeg returns the actual size of memory allocated by a DosAllocSeg or DosAllocHuge request and is intended for use when the application is running in DOS mode, where allocations are rounded up to the next paragraph.
This function provides compatibility for family applications that must run in DOS or OS/2 mode. DosSizeSeg returns the actual size of memory allocated by a [[DosAllocSeg]] or [[DosAllocHuge]] request and is intended for use when the application is running in DOS mode, where allocations are rounded up to the next paragraph.


==Bindings==
==Bindings==
Line 40: Line 40:
</PRE>
</PRE>


[[Category:Dos]]
[[Category:Dos16]]

Latest revision as of 08:05, 26 January 2020

This call returns the size of a segment.

Syntax

DosSizeSeg (Selector, Size)

Parameters

Selector (SEL) - input
Selector/segment of the segment for which size is to be determined. This must be the base selector in the case of a huge segment.
Size (PULONG) - output
Address of the returned segment size. For non-huge segments, size is in the range 0 through 64KB. For huge segments, size equals (NUMSEG << 16) + ASIZE where NUMSEG and ASIZE are the last values passed successfully to DosAllocHuge or DosReallocHuge for this huge segment.

Return Code

rc (USHORT) - return
Return code description is:
  • 0 NO_ERROR

Remarks

This function provides compatibility for family applications that must run in DOS or OS/2 mode. DosSizeSeg returns the actual size of memory allocated by a DosAllocSeg or DosAllocHuge request and is intended for use when the application is running in DOS mode, where allocations are rounded up to the next paragraph.

Bindings

C

#define INCL_DOSMEMMGR

USHORT  rc = DosSizeSeg(Selector, Size);

SEL     Selector;      /* Selector/Segment */
PULONG  Size;          /* Size of segment (returned) */

USHORT  rc;            /* return code */

MASM

EXTRN  DosSizeSeg:FAR
INCL_DOSMEMMGR      EQU 1

PUSH   WORD    Selector      ;Selector/Segment
PUSH@  DWORD   Size          ;Size of segment (returned)
CALL   DosSizeSeg

Returns WORD