Texas Instruments TI89 Developer Guide - Page 890
HeapAlloc, HeapFree, HeapFreeIndir
UPC - 033317198566
View all Texas Instruments TI89 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 890 highlights
848 Appendix A: System Routines - Memory Management HeapAllocThrow Declaration: HANDLE HeapAllocThrow (DWORD Hlen) Category(ies): Memory Management Description: Allocate a block of heap memory of the given size and return its handle throwing a ER_MEMORY error if there is not enough memory (compared with HeapAlloc which returns H_NULL if there is not enough memory). Use HeapDeref to dereference the handle and get a pointer to the actual memory. Note that a pointer to the heap is valid only as long as heap compression is not done. Inputs: Hlen - Length of block of memory to allocate (all odd sizes are rounded up to be even). Outputs: HANDLE of memory block allocated, throws an ER_MEMORY error if not enough memory (HeapAlloc just returns H_NULL in that case). Assumptions: Hlen may not exceed 65520 bytes and the minimum block size is eight bytes. Side Effects: May cause heap compression. This routine may throw an ER_MEMORY error. Availability: All versions of the TI-89 / TI-92 Plus. TI-89 / TI-92 Plus Differences: None See Also: HeapAlloc, HeapFree, HeapFreeIndir Example: HANDLE hBlock1=0, hBlock2=0; /* set to 0 for HeapFreeIndir */ TRY hBlock1 = HeapAllocThrow( 1000 ); hBlock2 = HeapAllocThrow( 2000 use hBlock1, hBlock2, hBlock 3 . . . */ HeapFreeIndir( &hBlock1 ); HeapFreeIndir( &hBlock2 ); ONERR /* Free memory we may have allocated, Note: HeapFreeIndir checks * HANDLE first */ HeapFreeIndir( &hBlock1 ); HeapFreeIndir( &hBlock1 ); PASS; /* pass error on up */ ENDTRY } TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001