NAME
        CxMsgData -- obtain a pointer to a commodity message's data area. (V36)
   SYNOPSIS
        data = CxMsgData(cxm);
        D0               A0
        aptr cxmsgdata(struct cxmsg *);
   FUNCTION
        Most commodity messages contain meaningful data such as an inputevent
        structure. This function returns a pointer to this data.
        You may get a commodity message from a synchronous (custom object) or
        asynchronous (sender object) source. In the second case, 'data' is
        not valid after you have replied to the message.
   INPUTS
        cxm - the commodity message to get the data pointer from (may be NULL)
   RESULTS
        data - a pointer to the message's data, or NULL if 'cxm' is NULL.
               The meaning of the data varies depending on which kind of
               object is being inspected.
   BUGS
        Until V38, passing a NULL 'cxm' parameter would cause low-memory
        access and unpredictable results.
        Until V40, whenever the data pointer is a (struct InputEvent), the
        ie_EventAddress field of these structures was not reliable whenever
        the message was generated by a sender object.
   SEE ALSO
        cx_lib/cxsender(), cx_lib/cxcustom()