Jump to content

DosSizeSeg: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
{{Legacy
|RepFunc=N/A
|Remarks=This function has been eliminated since OS/2 2.0.
}}
This call returns the size of a segment.
This call returns the size of a segment.


Line 13: Line 9:


==Return Code==
==Return Code==
rc (USHORT) - return
;rc (USHORT) - return:Return code description is:
Return code description is:
* 0 NO_ERROR
* 0   NO_ERROR


==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.


==Example Code==
==Bindings==
=== C Binding===
=== C ===
<PRE>
<PRE>
#define INCL_DOSMEMMGR
#define INCL_DOSMEMMGR
Line 27: Line 22:
USHORT  rc = DosSizeSeg(Selector, Size);
USHORT  rc = DosSizeSeg(Selector, Size);


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


USHORT           rc;            /* return code */
USHORT rc;            /* return code */
</PRE>
</PRE>


===MASM Binding===
===MASM===
<PRE>
<PRE>
EXTRN  DosSizeSeg:FAR
EXTRN  DosSizeSeg:FAR
Line 44: Line 39:
Returns WORD
Returns WORD
</PRE>
</PRE>
==Related Functions==
*


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

Revision as of 14:38, 24 November 2019

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