Widl Fixes

Jon Griffiths jon_p_griffiths at yahoo.com
Sat Mar 15 06:35:53 CST 2003


Hi,

--- Ove Kaaven <ovek at 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 at yahoo.com

__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - establish your business online
http://webhosting.yahoo.com



More information about the wine-devel mailing list