You can make a generic baseclass, with a virtual callback function, that your costumers have to inherit from. Then, instead of void *pThis; you can say MyBaseClass *pThis; pThis->CallBackFunction(); - Anders Money talks, but all mine ever says is "Goodbye!"