The event handler is stored in a HandlerDesc data structure as a PFNHANDLER, along with a pointer to a block of memory allocate and owned by the draw decorator implementation. This pointer will be passed into the draw decorator's event handler with each event to be processed. The HandlerDesc data structure also contains a PFNFREEHANDLER that will be called when the draw decorator is released so that the decorator may free the private memory allocated and passed to the event handler.
IDrawDecorator_SetHandler() associates a given HandlerDesc data structure with a particular draw decorator.
IDrawDecorator_SetHandler() inherits wholly from IDecorator_SetHandler().
void IDrawDecorator_SetHandler(IDrawDecorator *p, HandlerDesc *pd);