PurifyPostAlloc

Custom Memory Allocation Example

Related Topics

Description

Provides Purify with information about a completed memory allocation. Call this function right after invoking custom memory block allocation code.

Syntax

void *PurifyPostAlloc(void *pActual, unsigned int dwFlags)

 

pActual

A pointer to the actual base (including red zones) of the memory block that has been allocated.

dwFlags

May include any of the following flags, or 0 to indicate none of them:

 

Flag

Meaning

PURIFY_TRACK_AS_HEAP

The block is allocated within a Windows heap

PURIFY_TRACK_NO_REDZONE

Purify should not pad the block with red zones 

Returns

Where n is a pointer to the base of the block that has been allocated, within the block's red zones.

Notes

§      This function supplies Purify with information about a completed memory block allocation. It also provides the memory block's base address, adjusted to point within its red zones, for use by your code that works with the memory block. Red zones provide Purify array-bounds detection to any of your code that will use the block after its allocation. Use this function in conjunction with the PurifyPreAlloc() function, which indicates to Purify when an allocation is pending.

§      This function is a member of Purify's memory tracking interface. The example code provided for Purify's memory tracking interface demonstrates this function.

§      This function is necessary only for custom memory allocation routines. Purify automatically intercepts standard Windows and C runtime allocation API functions.

(C) Copyright IBM Corporation 1992, 2010.