DosSizeSeg: Difference between revisions
Appearance
m Ak120 moved page OS2 API:CPI:LEGACY:DosSizeSeg to DosSizeSeg |
mNo edit summary |
||
Line 1: | Line 1: | ||
This call returns the size of a segment. | |||
This | |||
This function has been eliminated since OS/2 2.0 | |||
This | |||
==Syntax== | ==Syntax== | ||
DosSizeSeg (Selector, Size) | |||
DosSizeSeg | |||
==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. | ||
;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 | |||
==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: | [[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