pCxt: A pointer to private data allocated and managed by the caller that has registered a custom handler. This data pointer will be passed into the PFNFREEHANDLER to allow the callback to free any complex memory allocations associated with the storage block.
typedef void (*PFNFREEHANDLER)(void *pCxt);
When the installed free function is called by the IHandler, it must NOT call back into the object through the context pointer (pCxt). For example, in a free function installed for a form, you must not call an IForm function with the form pointer, because the form is in the process of being destroyed and is in an indeterminate state. The free function should only use the pointer to access the installed handler's own members that need to be cleaned up.