Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:docs:fapi:dosallochuge [2021/09/16 13:07] – prokushev | en:docs:fapi:dosallochuge [2021/10/16 14:05] (current) – prokushev | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | {{logos:os2.gif? | + | {{page>en:templates:fapiint}} |
| ====== DosAllocHuge ====== | ====== DosAllocHuge ====== | ||
| Line 16: | Line 17: | ||
| * 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 35: | Line 36: | ||
| ===== Return Code ===== | ===== Return Code ===== | ||
| - | | + | rc ([[USHORT]]) - return |
| Return code descriptions are: | Return code descriptions are: | ||
| Line 62: | Line 63: | ||
| **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 71: | ||
| * 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 90: | ||
| </ | </ | ||
| - | === 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 112: | ||
| </ | </ | ||
| - | === ASM Binding === | + | ==== MASM Binding ==== |
| <code asm> | <code asm> | ||
| EXTRN DosAllocHuge: | EXTRN DosAllocHuge: | ||
| Line 123: | Line 127: | ||
| Returns WORD | Returns WORD | ||
| </ | </ | ||
| - | ====== Note ====== | + | ===== Note ===== |
| Text based on [[http:// | Text based on [[http:// | ||




