| /* | |
| * Copyright (C) 1999 Paul Quinn | |
| * Copyright (C) 1999 Francis Beaudet | |
| * Copyright (C) 2003 Alexandre Julliard | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| */ | |
| import "objidl.idl"; | |
| /***************************************************************************** | |
| * IOleTypes interface | |
| */ | |
| [ | |
| uuid(b0916c84-7416-101a-bcea-08002b2b79ef) | |
| ] | |
| interface IOLETypes | |
| { | |
| typedef enum tagOLERENDER | |
| { | |
| OLERENDER_NONE = 0, | |
| OLERENDER_DRAW = 1, | |
| OLERENDER_FORMAT = 2, | |
| OLERENDER_ASIS = 3 | |
| } OLERENDER, *LPOLERENDER; | |
| typedef struct tagOBJECTDESCRIPTOR | |
| { | |
| ULONG cbSize; | |
| CLSID clsid; | |
| DWORD dwDrawAspect; | |
| SIZEL sizel; | |
| POINTL pointl; | |
| DWORD dwStatus; | |
| DWORD dwFullUserTypeName; | |
| DWORD dwSrcOfCopy; | |
| } OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, | |
| LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR; | |
| } | |
| /***************************************************************************** | |
| * IOleWindow interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000114-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleWindow : IUnknown | |
| { | |
| typedef [unique] IOleWindow *LPOLEWINDOW; | |
| HRESULT GetWindow( | |
| [out] HWND *phwnd); | |
| HRESULT ContextSensitiveHelp( | |
| [in] BOOL fEnterMode); | |
| } | |
| /***************************************************************************** | |
| * IOleInPlaceObject interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000113-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleInPlaceObject : IOleWindow | |
| { | |
| typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT; | |
| HRESULT InPlaceDeactivate(); | |
| HRESULT UIDeactivate(); | |
| HRESULT SetObjectRects( | |
| [in] LPCRECT lprcPosRect, | |
| [in] LPCRECT lprcClipRect); | |
| HRESULT ReactivateAndUndo(); | |
| } | |
| /* avoid conflict with Wine Unicode macros */ | |
| cpp_quote("#ifdef __WINESRC__") | |
| cpp_quote("#undef TranslateAccelerator") | |
| cpp_quote("#endif") | |
| /***************************************************************************** | |
| * IOleInPlaceActiveObject interface | |
| */ | |
| interface IOleInPlaceUIWindow; /* forward declaration */ | |
| [ | |
| object, | |
| uuid(00000117-0000-0000-c000-000000000046) | |
| ] | |
| interface IOleInPlaceActiveObject : IOleWindow | |
| { | |
| typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; | |
| [local] | |
| HRESULT TranslateAccelerator( | |
| [in] LPMSG lpmsg); | |
| [call_as(TranslateAccelerator)] | |
| HRESULT RemoteTranslateAccelerator(); | |
| HRESULT OnFrameWindowActivate( | |
| [in] BOOL fActivate); | |
| HRESULT OnDocWindowActivate( | |
| [in] BOOL fActivate); | |
| [local] | |
| HRESULT ResizeBorder( | |
| [in] LPCRECT prcBorder, | |
| [in, unique] IOleInPlaceUIWindow *pUIWindow, | |
| [in] BOOL fFrameWindow); | |
| [call_as(ResizeBorder)] | |
| HRESULT RemoteResizeBorder( | |
| [in] LPCRECT prcBorder, | |
| [in] REFIID riid, | |
| [in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow, | |
| [in] BOOL fFrameWindow); | |
| HRESULT EnableModeless( | |
| [in] BOOL fEnable); | |
| } | |
| /***************************************************************************** | |
| * IOleInPlaceUIWindow interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000115-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleInPlaceUIWindow : IOleWindow | |
| { | |
| typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW; | |
| typedef RECT BORDERWIDTHS; | |
| typedef LPRECT LPBORDERWIDTHS; | |
| typedef LPCRECT LPCBORDERWIDTHS; | |
| HRESULT GetBorder( | |
| [out] LPRECT lprectBorder); | |
| HRESULT RequestBorderSpace( | |
| [in, unique] LPCBORDERWIDTHS pborderwidths); | |
| HRESULT SetBorderSpace( | |
| [in, unique] LPCBORDERWIDTHS pborderwidths); | |
| HRESULT SetActiveObject( | |
| [in, unique] IOleInPlaceActiveObject *pActiveObject, | |
| [in, string, unique] LPCOLESTR pszObjName); | |
| } | |
| /***************************************************************************** | |
| * IOleInPlaceFrame interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000116-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleInPlaceFrame : IOleInPlaceUIWindow | |
| { | |
| typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME; | |
| typedef struct tagOleInPlaceFrameInfo | |
| { | |
| UINT cb; | |
| BOOL fMDIApp; | |
| HWND hwndFrame; | |
| HACCEL haccel; | |
| UINT cAccelEntries; | |
| } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO; | |
| typedef struct tagOleMenuGroupWidths | |
| { | |
| LONG width[ 6 ]; | |
| } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS; | |
| typedef HGLOBAL HOLEMENU; | |
| HRESULT InsertMenus( | |
| [in] HMENU hmenuShared, | |
| [in,out] LPOLEMENUGROUPWIDTHS lpMenuWidths); | |
| HRESULT SetMenu( | |
| [in] HMENU hmenuShared, | |
| [in] HOLEMENU holemenu, | |
| [in] HWND hwndActiveObject); | |
| HRESULT RemoveMenus( | |
| [in] HMENU hmenuShared); | |
| HRESULT SetStatusText( | |
| [in, unique] LPCOLESTR pszStatusText); | |
| HRESULT EnableModeless( | |
| [in] BOOL fEnable); | |
| HRESULT TranslateAccelerator( | |
| [in] LPMSG lpmsg, | |
| [in] WORD wID); | |
| } | |
| /***************************************************************************** | |
| * IOleInPlaceSite interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000119-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleInPlaceSite : IOleWindow | |
| { | |
| typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE; | |
| HRESULT CanInPlaceActivate(); | |
| HRESULT OnInPlaceActivate(); | |
| HRESULT OnUIActivate(); | |
| HRESULT GetWindowContext( | |
| [out] IOleInPlaceFrame **ppFrame, | |
| [out] IOleInPlaceUIWindow **ppDoc, | |
| [out] LPRECT lprcPosRect, | |
| [out] LPRECT lprcClipRect, | |
| [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo); | |
| HRESULT Scroll( | |
| [in] SIZE scrollExtant); | |
| HRESULT OnUIDeactivate( | |
| [in] BOOL fUndoable); | |
| HRESULT OnInPlaceDeactivate(); | |
| HRESULT DiscardUndoState(); | |
| HRESULT DeactivateAndUndo(); | |
| HRESULT OnPosRectChange( | |
| [in] LPCRECT lprcPosRect); | |
| } | |
| /***************************************************************************** | |
| * IParseDisplayName interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000011a-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IParseDisplayName : IUnknown | |
| { | |
| typedef [unique] IParseDisplayName *LPPARSEDISPLAYNAME; | |
| HRESULT ParseDisplayName( | |
| [in, unique] IBindCtx *pbc, | |
| [in] LPOLESTR pszDisplayName, | |
| [out] ULONG *pchEaten, | |
| [out] IMoniker **ppmkOut); | |
| } | |
| /***************************************************************************** | |
| * IOleContainer interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000011b-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleContainer : IParseDisplayName | |
| { | |
| typedef [unique] IOleContainer *LPOLECONTAINER; | |
| HRESULT EnumObjects( | |
| [in] DWORD grfFlags, | |
| [out] IEnumUnknown **ppenum); | |
| HRESULT LockContainer( | |
| [in] BOOL fLock); | |
| } | |
| /***************************************************************************** | |
| * IOleItemContainer interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000011c-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleItemContainer : IOleContainer | |
| { | |
| typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER; | |
| typedef enum tagBINDSPEED | |
| { | |
| BINDSPEED_INDEFINITE = 1, | |
| BINDSPEED_MODERATE = 2, | |
| BINDSPEED_IMMEDIATE = 3 | |
| } BINDSPEED; | |
| typedef enum tagOLECONTF | |
| { | |
| OLECONTF_EMBEDDINGS = 1, | |
| OLECONTF_LINKS = 2, | |
| OLECONTF_OTHERS = 4, | |
| OLECONTF_OLNYUSER = 8, | |
| OLECONTF_ONLYIFRUNNING = 16 | |
| } OLECONTF; | |
| cpp_quote("#ifdef __WINESRC__") | |
| cpp_quote("#undef GetObject") | |
| cpp_quote("#endif") | |
| HRESULT GetObject( | |
| [in] LPOLESTR pszItem, | |
| [in] DWORD dwSpeedNeeded, | |
| [in, unique] IBindCtx *pbc, | |
| [in] REFIID riid, | |
| [out, iid_is(riid)] void **ppvObject); | |
| HRESULT GetObjectStorage( | |
| [in] LPOLESTR pszItem, | |
| [in, unique] IBindCtx *pbc, | |
| [in] REFIID riid, | |
| [out, iid_is(riid)] void **ppvStorage); | |
| HRESULT IsRunning( | |
| [in] LPOLESTR pszItem); | |
| } | |
| /***************************************************************************** | |
| * IOleLink interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000011d-0000-0000-c000-000000000046) | |
| ] | |
| interface IOleLink : IUnknown | |
| { | |
| typedef [unique] IOleLink *LPOLELINK; | |
| typedef enum tagOLEUPDATE | |
| { | |
| OLEUPDATE_ALWAYS = 1, | |
| OLEUPDATE_ONCALL = 3 | |
| } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE; | |
| typedef enum tagOLELINKBIND | |
| { | |
| OLELINKBIND_EVENIFCLASSDIFF = 1 | |
| } OLELINKBIND; | |
| HRESULT SetUpdateOptions( | |
| [in] DWORD dwUpdateOpt); | |
| HRESULT GetUpdateOptions( | |
| [out] DWORD *pdwUpdateOpt); | |
| HRESULT SetSourceMoniker( | |
| [in, unique] IMoniker *pmk, | |
| [in] REFCLSID rclsid); | |
| HRESULT GetSourceMoniker( | |
| [out] IMoniker **ppmk); | |
| HRESULT SetSourceDisplayName( | |
| [in]LPCOLESTR pszStatusText); | |
| HRESULT GetSourceDisplayName( | |
| [out] LPOLESTR *ppszDisplayName); | |
| HRESULT BindToSource( | |
| [in] DWORD bindflags, | |
| [in, unique] IBindCtx *pbc); | |
| HRESULT BindIfRunning(); | |
| HRESULT GetBoundSource( | |
| [out] IUnknown **ppunk); | |
| HRESULT UnbindSource(); | |
| HRESULT Update( | |
| [in, unique] IBindCtx *pbc); | |
| } | |
| /***************************************************************************** | |
| * IOleClientSite interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000118-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleClientSite : IUnknown | |
| { | |
| typedef [unique] IOleClientSite * LPOLECLIENTSITE; | |
| HRESULT SaveObject(); | |
| HRESULT GetMoniker( | |
| [in] DWORD dwAssign, | |
| [in] DWORD dwWhichMoniker, | |
| [out] IMoniker **ppmk); | |
| HRESULT GetContainer( | |
| [out] IOleContainer **ppContainer); | |
| HRESULT ShowObject(); | |
| HRESULT OnShowWindow( | |
| [in] BOOL fShow); | |
| HRESULT RequestNewObjectLayout(); | |
| } | |
| /***************************************************************************** | |
| * IOleCache interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000011e-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleCache : IUnknown | |
| { | |
| typedef [unique] IOleCache *LPOLECACHE; | |
| HRESULT Cache( | |
| [in, unique] FORMATETC *pformatetc, | |
| [in] DWORD advf, | |
| [out] DWORD *pdwConnection); | |
| HRESULT Uncache( | |
| [in] DWORD dwConnection); | |
| HRESULT EnumCache( | |
| [out] IEnumSTATDATA **ppenumSTATDATA); | |
| HRESULT InitCache( | |
| [in, unique] IDataObject *pDataObject); | |
| HRESULT SetData( | |
| [in, unique] FORMATETC *pformatetc, | |
| [in, unique] STGMEDIUM *pmedium, | |
| [in] BOOL fRelease); | |
| } | |
| /***************************************************************************** | |
| * IOleCache2 interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000128-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleCache2 : IOleCache | |
| { | |
| typedef [unique] IOleCache2 *LPOLECACHE2; | |
| const DWORD UPDFCACHE_NODATACACHE = 0x00000001; | |
| const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002; | |
| const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004; | |
| const DWORD UPDFCACHE_NORMALCACHE = 0x00000008; | |
| const DWORD UPDFCACHE_IFBLANK = 0x00000010; | |
| const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000; | |
| const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE); | |
| const DWORD UPDFCACHE_ALL = ((DWORD)(~(UPDFCACHE_ONLYIFBLANK))); | |
| const DWORD UPDFCACHE_ALLBUTNODATACACHE = (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE))); | |
| typedef enum tagDISCARDCACHE | |
| { | |
| DISCARDCACHE_SAVEIFDIRTY = 0, | |
| DISCARDCACHE_NOSAVE = 1 | |
| } DISCARDCACHE; | |
| [local] | |
| HRESULT UpdateCache( | |
| [in] LPDATAOBJECT pDataObject, | |
| [in] DWORD grfUpdf, | |
| [in] LPVOID pReserved); | |
| [call_as(UpdateCache)] | |
| HRESULT RemoteUpdateCache( | |
| [in] LPDATAOBJECT pDataObject, | |
| [in] DWORD grfUpdf, | |
| [in] LONG_PTR pReserved); | |
| HRESULT DiscardCache( | |
| [in] DWORD dwDiscardOptions); | |
| } | |
| /***************************************************************************** | |
| * IOleCacheControl interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000129-0000-0000-c000-000000000046) | |
| ] | |
| interface IOleCacheControl : IUnknown | |
| { | |
| typedef [unique] IOleCacheControl *LPOLECACHECONTROL; | |
| HRESULT OnRun( | |
| LPDATAOBJECT pDataObject); | |
| HRESULT OnStop(); | |
| } | |
| /***************************************************************************** | |
| * IEnumOLEVERB interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000104-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IEnumOLEVERB : IUnknown | |
| { | |
| typedef [unique] IEnumOLEVERB *LPENUMOLEVERB; | |
| typedef struct tagOLEVERB | |
| { | |
| LONG lVerb; | |
| LPOLESTR lpszVerbName; | |
| DWORD fuFlags; | |
| DWORD grfAttribs; | |
| } OLEVERB, *LPOLEVERB; | |
| typedef enum tagOLEVERBATTRIB | |
| { | |
| OLEVERBATTRIB_NEVERDIRTIES = 1, | |
| OLEVERBATTRIB_ONCONTAINERMENU = 2 | |
| } OLEVERBATTRIB; | |
| [local] | |
| HRESULT Next( | |
| [in] ULONG celt, | |
| [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, | |
| [out] ULONG *pceltFetched); | |
| [call_as(Next)] | |
| HRESULT RemoteNext( | |
| [in] ULONG celt, | |
| [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, | |
| [out] ULONG *pceltFetched); | |
| HRESULT Skip( | |
| [in] ULONG celt); | |
| HRESULT Reset(); | |
| HRESULT Clone( | |
| [out] IEnumOLEVERB **ppenum); | |
| } | |
| /***************************************************************************** | |
| * IOleObject interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000112-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IOleObject : IUnknown | |
| { | |
| typedef [unique] IOleObject *LPOLEOBJECT; | |
| typedef enum tagOLEGETMONIKER | |
| { | |
| OLEGETMONIKER_ONLYIFTHERE = 1, | |
| OLEGETMONIKER_FORCEASSIGN = 2, | |
| OLEGETMONIKER_UNASSIGN = 3, | |
| OLEGETMONIKER_TEMPFORUSER = 4 | |
| } OLEGETMONIKER; | |
| typedef enum tagOLEWHICHMK | |
| { | |
| OLEWHICHMK_CONTAINER = 1, | |
| OLEWHICHMK_OBJREL = 2, | |
| OLEWHICHMK_OBJFULL = 3 | |
| } OLEWHICHMK; | |
| typedef enum tagUSERCLASSTYPE | |
| { | |
| USERCLASSTYPE_FULL = 1, | |
| USERCLASSTYPE_SHORT = 2, | |
| USERCLASSTYPE_APPNAME = 3 | |
| } USERCLASSTYPE; | |
| typedef enum tagOLEMISC | |
| { | |
| OLEMISC_RECOMPOSEONRESIZE = 0x1, | |
| OLEMISC_ONLYICONIC = 0x2, | |
| OLEMISC_INSERTNOTREPLACE = 0x4, | |
| OLEMISC_STATIC = 0x8, | |
| OLEMISC_CANTLINKINSIDE = 0x10, | |
| OLEMISC_CANLINKBYOLE1 = 0x20, | |
| OLEMISC_ISLINKOBJECT = 0x40, | |
| OLEMISC_INSIDEOUT = 0x80, | |
| OLEMISC_ACTIVATEWHENVISIBLE = 0x100, | |
| OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, | |
| OLEMISC_INVISIBLEATRUNTIME = 0x400, | |
| OLEMISC_ALWAYSRUN = 0x800, | |
| OLEMISC_ACTSLIKEBUTTON = 0x1000, | |
| OLEMISC_ACTSLIKELABEL = 0x2000, | |
| OLEMISC_NOUIACTIVATE = 0x4000, | |
| OLEMISC_ALIGNABLE = 0x8000, | |
| OLEMISC_SIMPLEFRAME = 0x10000, | |
| OLEMISC_SETCLIENTSITEFIRST = 0x20000, | |
| OLEMISC_IMEMODE = 0x40000, | |
| OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, | |
| OLEMISC_WANTSTOMENUMERGE = 0x100000, | |
| OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 | |
| } OLEMISC; | |
| typedef enum tagOLECLOSE | |
| { | |
| OLECLOSE_SAVEIFDIRTY = 0, | |
| OLECLOSE_NOSAVE = 1, | |
| OLECLOSE_PROMPTSAVE = 2 | |
| } OLECLOSE; | |
| HRESULT SetClientSite( | |
| [in, unique] IOleClientSite *pClientSite); | |
| HRESULT GetClientSite( | |
| [out] IOleClientSite **ppClientSite); | |
| HRESULT SetHostNames( | |
| [in] LPCOLESTR szContainerApp, | |
| [in, unique] LPCOLESTR szContainerObj); | |
| HRESULT Close( | |
| [in] DWORD dwSaveOption); | |
| HRESULT SetMoniker( | |
| [in] DWORD dwWhichMoniker, | |
| [in, unique] IMoniker *pmk); | |
| HRESULT GetMoniker( | |
| [in] DWORD dwAssign, | |
| [in] DWORD dwWhichMoniker, | |
| [out] IMoniker **ppmk); | |
| HRESULT InitFromData( | |
| [in, unique] IDataObject *pDataObject, | |
| [in] BOOL fCreation, | |
| [in] DWORD dwReserved); | |
| HRESULT GetClipboardData( | |
| [in] DWORD dwReserved, | |
| [out] IDataObject **ppDataObject); | |
| HRESULT DoVerb( | |
| [in] LONG iVerb, | |
| [in, unique] LPMSG lpmsg, | |
| [in, unique] IOleClientSite *pActiveSite, | |
| [in] LONG lindex, | |
| [in] HWND hwndParent, | |
| [in, unique] LPCRECT lprcPosRect); | |
| HRESULT EnumVerbs( | |
| [out] IEnumOLEVERB **ppEnumOleVerb); | |
| HRESULT Update(); | |
| HRESULT IsUpToDate(); | |
| HRESULT GetUserClassID( | |
| [out] CLSID *pClsid); | |
| HRESULT GetUserType( | |
| [in] DWORD dwFormOfType, | |
| [out] LPOLESTR *pszUserType); | |
| HRESULT SetExtent( | |
| [in] DWORD dwDrawAspect, | |
| [in] SIZEL *psizel); | |
| HRESULT GetExtent( | |
| [in] DWORD dwDrawAspect, | |
| [out] SIZEL *psizel); | |
| HRESULT Advise( | |
| [in, unique] IAdviseSink *pAdvSink, | |
| [out] DWORD *pdwConnection); | |
| HRESULT Unadvise( | |
| [in] DWORD dwConnection); | |
| HRESULT EnumAdvise( | |
| [out] IEnumSTATDATA **ppenumAdvise); | |
| HRESULT GetMiscStatus( | |
| [in] DWORD dwAspect, | |
| [out] DWORD *pdwStatus); | |
| HRESULT SetColorScheme( | |
| [in] LOGPALETTE *pLogpal); | |
| } | |
| /***************************************************************************** | |
| * IOleAdviseHolder interface | |
| */ | |
| [ | |
| local, | |
| object, | |
| uuid(00000111-0000-0000-c000-000000000046) | |
| ] | |
| interface IOleAdviseHolder : IUnknown | |
| { | |
| typedef [unique] IOleAdviseHolder * LPOLEADVISEHOLDER; | |
| HRESULT Advise( | |
| [in, unique] IAdviseSink *pAdvise, | |
| [out] DWORD *pdwConnection); | |
| HRESULT Unadvise( | |
| [in] DWORD dwConnection); | |
| HRESULT EnumAdvise( | |
| [out] IEnumSTATDATA **ppenumAdvise); | |
| HRESULT SendOnRename( | |
| [in, unique] IMoniker *pmk); | |
| HRESULT SendOnSave(); | |
| HRESULT SendOnClose(); | |
| } | |
| /***************************************************************************** | |
| * IContinue interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000012a-0000-0000-c000-000000000046) | |
| ] | |
| interface IContinue : IUnknown | |
| { | |
| HRESULT FContinue(); | |
| } | |
| /***************************************************************************** | |
| * IViewObject interface | |
| */ | |
| [ | |
| object, | |
| uuid(0000010d-0000-0000-c000-000000000046) | |
| ] | |
| interface IViewObject : IUnknown | |
| { | |
| typedef [unique] IViewObject *LPVIEWOBJECT; | |
| [local] | |
| HRESULT Draw( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in, unique] void * pvAspect, | |
| [in, unique] DVTARGETDEVICE *ptd, | |
| [in] HDC hdcTargetDev, | |
| [in] HDC hdcDraw, | |
| [in] LPCRECTL lprcBounds, | |
| [in, unique] LPCRECTL lprcWBounds, | |
| [in] BOOL (*pfnContinue)(ULONG_PTR dwContinue), | |
| [in] ULONG_PTR dwContinue); | |
| [call_as(Draw)] | |
| HRESULT RemoteDraw( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in] ULONG_PTR pvAspect, | |
| [in, unique] DVTARGETDEVICE *ptd, | |
| [in] ULONG_PTR hdcTargetDev, | |
| [in] ULONG_PTR hdcDraw, | |
| [in] LPCRECTL lprcBounds, | |
| [in, unique] LPCRECTL lprcWBounds, | |
| [in] IContinue *pContinue); | |
| [local] | |
| HRESULT GetColorSet( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in, unique] void *pvAspect, | |
| [in, unique] DVTARGETDEVICE *ptd, | |
| [in] HDC hicTargetDev, | |
| [out] LOGPALETTE **ppColorSet); | |
| [call_as(GetColorSet)] | |
| HRESULT RemoteGetColorSet( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in] ULONG_PTR pvAspect, | |
| [in, unique] DVTARGETDEVICE *ptd, | |
| [in] ULONG_PTR hicTargetDev, | |
| [out] LOGPALETTE **ppColorSet); | |
| [local] | |
| HRESULT Freeze( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in, unique] void *pvAspect, | |
| [out] DWORD *pdwFreeze); | |
| [call_as(Freeze)] | |
| HRESULT RemoteFreeze( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in] ULONG_PTR pvAspect, | |
| [out] DWORD *pdwFreeze); | |
| HRESULT Unfreeze( | |
| [in] DWORD dwFreeze); | |
| HRESULT SetAdvise( | |
| [in] DWORD aspects, | |
| [in] DWORD advf, | |
| [in, unique] IAdviseSink *pAdvSink); | |
| [local] | |
| HRESULT GetAdvise( | |
| [out, unique] DWORD *pAspects, | |
| [out, unique] DWORD *pAdvf, | |
| [out] IAdviseSink **ppAdvSink); | |
| [call_as(GetAdvise)] | |
| HRESULT RemoteGetAdvise( | |
| [out] DWORD *pAspects, | |
| [out] DWORD *pAdvf, | |
| [out] IAdviseSink **ppAdvSink); | |
| } | |
| /***************************************************************************** | |
| * IViewObject2 interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000127-0000-0000-c000-000000000046) | |
| ] | |
| interface IViewObject2 : IViewObject | |
| { | |
| typedef [unique] IViewObject2 *LPVIEWOBJECT2; | |
| HRESULT GetExtent( | |
| [in] DWORD dwDrawAspect, | |
| [in] LONG lindex, | |
| [in, unique] DVTARGETDEVICE* ptd, | |
| [out] LPSIZEL lpsizel); | |
| } | |
| /***************************************************************************** | |
| * IDropSource interface | |
| */ | |
| [ | |
| local, | |
| object, | |
| uuid(00000121-0000-0000-c000-000000000046) | |
| ] | |
| interface IDropSource : IUnknown | |
| { | |
| typedef [unique] IDropSource *LPDROPSOURCE; | |
| HRESULT QueryContinueDrag( | |
| [in] BOOL fEscapePressed, | |
| [in] DWORD grfKeyState); | |
| HRESULT GiveFeedback( | |
| [in] DWORD dwEffect); | |
| } | |
| /***************************************************************************** | |
| * IDropTarget interface | |
| */ | |
| [ | |
| object, | |
| uuid(00000122-0000-0000-c000-000000000046), | |
| pointer_default(unique) | |
| ] | |
| interface IDropTarget : IUnknown | |
| { | |
| typedef [unique] IDropTarget *LPDROPTARGET; | |
| const DWORD MK_ALT = 0x20; | |
| const DWORD DROPEFFECT_NONE = 0; | |
| const DWORD DROPEFFECT_COPY = 1; | |
| const DWORD DROPEFFECT_MOVE = 2; | |
| const DWORD DROPEFFECT_LINK = 4; | |
| const DWORD DROPEFFECT_SCROLL = 0x80000000; | |
| const DWORD DD_DEFSCROLLINSET = 11; | |
| const DWORD DD_DEFSCROLLDELAY = 50; | |
| const DWORD DD_DEFSCROLLINTERVAL = 50; | |
| const DWORD DD_DEFDRAGDELAY = 200; | |
| const DWORD DD_DEFDRAGMINDIST = 2; | |
| HRESULT DragEnter( | |
| [in, unique] IDataObject *pDataObj, | |
| [in] DWORD grfKeyState, | |
| [in] POINTL pt, | |
| [in, out] DWORD *pdwEffect); | |
| HRESULT DragOver( | |
| [in] DWORD grfKeyState, | |
| [in] POINTL pt, | |
| [in, out] DWORD *pdwEffect); | |
| HRESULT DragLeave(); | |
| HRESULT Drop( | |
| [in, unique] IDataObject *pDataObj, | |
| [in] DWORD grfKeyState, | |
| [in] POINTL pt, | |
| [in, out] DWORD *pdwEffect); | |
| } |