Hi,
--- Ove Kaaven ovek@arcticnet.no wrote:
Could you explain the reason behind the last line, "Don't dump full struct/enum definitions in prototypes", since this shouldn't happen in any case.
The following idl file, "foo.idl", cut down from my oleidl.idl for example purposes:
--------------------------------- import "objidl.idl";
interface IOleClientSite; interface IOleObject;
typedef LPCRECT LPCBORDERWIDTHS;
[ object, uuid(00000112-0000-0000-C000-000000000046) ] interface IOleObject : IUnknown { typedef IOleObject* LPOLEOBJECT;
HRESULT DoVerb( [in] LONG iVerb, [in] struct tagMSG* lpmsg, [in] IOleClientSite* pActiveSite, [in] LONG lindex, [in] HWND hwndParent, [in] LPCRECT lprcPosRect); } ---------------------------------
Produces as its output when run with -b -h:
struct IOleObject: IUnknown { virtual HRESULT CALLBACK DoVerb( LONG iVerb, struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; }* lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
The patch I sent fixes this problem; if you think theres a better way to fix it then let me know, I'll strip that change out and re-send just the other fixes.
I didn't think RPC supported this.
Fair enough, probably best left as it is then.
Cheers, Jon
===== "Don't wait for the seas to part, or messiahs to come; Don't you sit around and waste this chance..." - Live
jon_p_griffiths@yahoo.com
__________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com