Jump to content

DosSizeSeg: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
[[image:legacy.png]]
This call returns the size of a segment.
This function has been eliminated since OS/2 2.0 [https://books.google.com.ec/books?id=u7WbsmbttwYC&pg=PT372&lpg=PT372&dq#v=onepage&q&f=false]


 
This function has been eliminated since OS/2 2.0
==Description==
This call returns the size of a segment.


==Syntax==
==Syntax==
<PRE>
  DosSizeSeg (Selector, Size)
  DosSizeSeg
 
    (Selector, Size)
</PRE>


==Parameters==
==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.  
;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.
; 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==
==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==
==Example Code==
=== C Binding===
=== C Binding===
Line 54: Line 46:
*  
*  


[[Category:The OS/2 API Project]]
[[Category:Dos]]

Revision as of 06:43, 16 February 2017

This call returns the size of a segment.

This function has been eliminated since OS/2 2.0

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.

Example Code

C Binding

#define INCL_DOSMEMMGR

USHORT  rc = DosSizeSeg(Selector, Size);

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

USHORT           rc;            /* return code */

MASM Binding

EXTRN  DosSizeSeg:FAR
INCL_DOSMEMMGR      EQU 1

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

Returns WORD

Related Functions