Location:
e32std.h
Link against: euser.lib
UserHeap
Supported from 5.0
A set of static functions for constructing fixed length heaps and local or global heaps.
Defined in UserHeap
:
ChunkHeap()
, FixedHeap()
static RHeap* FixedHeap(TAny* aBase,TInt aMaxLength);
Creates a fixed length heap at a specified location. On
successful return from this function, aMaxLength
bytes are
committed by the chunk.
The heap cannot be extended.
Note that the heap is of type
EFixedAddress
.
|
|
static RHeap* ChunkHeap(const TDesC* aName,TInt aMinLength,TInt aMaxLength,TInt aGrowBy=KMinHeapGrowBy);
Creates a heap in a local or global chunk. The chunk hosting the heap can be local or global.
A local chunk is one which is private to the process creating it and is not intended for access by other user processes. A global chunk is one which is visible to all processes.
The hosting chunk is local, if the pointer aName
is
NULL
, otherwise the hosting chunk is global and the descriptor
*aName
is assumed to contain the name to be assigned to it.
Ownership of the host chunk is vested in the current process.
A minimum and a maximum size for the heap can be specified. On
successful return from this function, the size of the heap is at least
aMinLength
. If subsequent requests for allocation of memory from
the heap cannot be satisfied by compressing the heap, the size of the heap is
extended in increments of aGrowBy
until the request can be
satisfied. Attempts to extend the heap causes the size of the host chunk to be
adjusted.
Note:
The size of the heap cannot be adjusted by more than
aMaxLength
.
The heap is of type EChunkNormal
|
|