\n
Microsoft Invisible Computing

BitmapHeap Concrete Class

A heap implementation that uses a recursive bitmap for bookkeeping. The space overhead is relative to the size of the heap rather than to the number of allocations. Allows freeing from the middle of a block. Better performer in systems with data caches.

Implements IHeap

Methods

HeapQueryInterface implements IUnknown.QueryInterface
Source in bm_heap.c

Determines which interfaces an object supports and returns a valid pointer to an interface.

HeapAddRef implements IUnknown.AddRef
Source in bm_heap.c

Increments the reference count of the object.

HeapRelease implements IUnknown.Release
Source in bm_heap.c

Decrements the reference count of an object. When the count goes to zero, the object is destroyed.

HeapAlloc implements IHeap.Alloc
Source in bm_heap.c

Allocates a heap block of at least Size bytes from the given heap.

HeapRealloc implements IHeap.Realloc
Source in bm_heap.c

Changes the size of a previously allocated memory block.

HeapFree implements IHeap.Free
Source in bm_heap.c bm_heap.c

Frees a block of memory previously allocated through a call to the IHeap.Alloc or IHeap.Realloc methods.

HeapSize implements IHeap.Size
Source in bm_heap.c

Returns the usable size of the memory block pointed by pMem, a block that was allocated out of the given heap. Returns 0 if error.

HeapValidate implements IHeap.Validate
Source in bm_heap.c

Validates the internal heap data structures. Checks the entire heap when pMem is NULL, otherwise verifies that the specified memory block is valid.

HeapExtract implements IHeap.Extract
Source in bm_heap.c

Allocates memory at a specific address, from the given heap.

HeapStatus implements IHeap.Status
Source in bm_heap.c

Returns status information about this heap

HeapCreateHeap implements IHeap.CreateHeap
Source in bm_heap.c

Create a new heap instance, either through allocating memory from this or from implementation specific resources.

©2006 Microsoft Corporation. All rights reserved. Terms of Use Privacy Statement Accessibility End User License Agreement