I need to send a custom message where the LPARAM is a pointer to the following structure:

typedef struct _AdViewerEventArgs
CComBSTR itemType;
CComVariant data;
CComVariant state;
LONG result;
CComPtr<IDispatch> handled;
} AdViewerEventArgs;

SendMessage(hWnd,IDM_GETEVENTARGSITEMTYPE,0,AdView erEventArgs*)

Is this doable?

Here are two of my current problems:

1) I need to declare the structure in SilkTest but the data required isn't supported, so it needs to be replaced.
CComBSTR may be replaced as STRING, but I don't know about CComVariant and CComPtr<IDispatch>. Any hints?

2) LPARAM can only be a LONG or a STRING. For this particular message LPARAM needs to be a POINTER.
Can I modify the LPARAM definition in mswtype.inc? Any hints of what data type can be used for pointers?

3) Is there a better way to do this? Any pointers on what to try?

Thank you.