en:docs:fapi:dosallochuge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:docs:fapi:dosallochuge [2021/09/16 13:07] prokusheven:docs:fapi:dosallochuge [2021/09/17 09:18] prokushev
Line 16: Line 16:
   * Size ([[USHORT]]) - input : Number of bytes to be allocated in the last (non-65536-byte) segment. A value of zero indicates none.   * Size ([[USHORT]]) - input : Number of bytes to be allocated in the last (non-65536-byte) segment. A value of zero indicates none.
   * Selector ([[PSEL]]) - output : Address where the selector of the first segment allocated is returned.   * Selector ([[PSEL]]) - output : Address where the selector of the first segment allocated is returned.
-  * MaxNumSeg ([[USHORT]]) - input : Maximum number of 65536-byte segments this object occupies as a result of any subsequent [[DosReallocHuge]]. If MaxNumSeg is 0, OS/2 assumes this segment will never be increased by DosReallocHuge beyond its original size, though it may be decreased. This value is ignored in the DOS mode.+  * MaxNumSeg ([[USHORT]]) - input : Maximum number of 65536-byte segments this object occupies as a result of any subsequent [[DosReallocHuge]]. If MaxNumSeg is 0, OS/2 assumes this segment will never be increased by [[DosReallocHuge]] beyond its original size, though it may be decreased. This value is ignored in the DOS mode.
   * AllocFlags ([[USHORT]]) - input : Bit indicators describing the characteristics of the segment allocated. The bits that can be set and their meanings are:   * AllocFlags ([[USHORT]]) - input : Bit indicators describing the characteristics of the segment allocated. The bits that can be set and their meanings are:
  
-^ Bit ^        Description ^+^ Bit ^ Description ^
 | 15-4 | Reserved and must be set to zero. | | 15-4 | Reserved and must be set to zero. |
 | 3  | If segment is shared, it can be decreased in size by [[DosReallocHuge]]. | | 3  | If segment is shared, it can be decreased in size by [[DosReallocHuge]]. |
Line 62: Line 62:
 **Note:** This request may be issued from privilege level 2. However, the segment is allocated as a privilege level 3 segment. **Note:** This request may be issued from privilege level 2. However, the segment is allocated as a privilege level 3 segment.
  
-===Family API Considerations===+==== Family API Considerations ===
  
 Some options operate differently in the DOS mode than in the OS/2 mode. Therefore, the following considerations apply to DosAllocHuge when coding for the DOS mode: Some options operate differently in the DOS mode than in the OS/2 mode. Therefore, the following considerations apply to DosAllocHuge when coding for the DOS mode:
Line 69: Line 70:
   * Selector is the actual segment address allocated.    * Selector is the actual segment address allocated. 
  
-==Example Code== +===== Example Code ===== 
-=== C Binding===+ 
 +==== C Binding ====
  
 <code c> <code c>
Line 87: Line 89:
 </code> </code>
  
-=== Example ===+==== Example ====
  
 This example requests a block of memory with 4 segments, the last segment having 1,040 bytes. The block of memory will never be larger than 8 segments. The memory can be shared with DosGiveSeg API calls. The system can discard the memory if it needs too.  This example requests a block of memory with 4 segments, the last segment having 1,040 bytes. The block of memory will never be larger than 8 segments. The memory can be shared with DosGiveSeg API calls. The system can discard the memory if it needs too. 
Line 109: Line 111:
 </code> </code>
  
-=== ASM Binding ===+==== MASM Binding ===
 <code asm> <code asm>
   EXTRN  DosAllocHuge:FAR   EXTRN  DosAllocHuge:FAR
Line 123: Line 126:
   Returns WORD   Returns WORD
 </code> </code>
-====== Note ======+===== Note =====
  
 Text based on [[http://www.edm2.com/index.php/DosAllocHuge]] Text based on [[http://www.edm2.com/index.php/DosAllocHuge]]