Mercurial > projects > dwt2
view org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/ole/win32/OLEIDL.d @ 112:9f4c18c268b2
Update to compile and execute with dmd 2.052.
author | kntroh |
---|---|
date | Wed, 16 Mar 2011 21:53:53 +0900 |
parents | 2e09b0e6857a |
children |
line wrap: on
line source
module org.eclipse.swt.internal.ole.win32.OLEIDL; //+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992-1997. // // File: oadvhr.idl // //-------------------------------------------------------------------------- import org.eclipse.swt.internal.win32.WINTYPES; import org.eclipse.swt.internal.ole.win32.extras; import org.eclipse.swt.internal.ole.win32.OBJIDL; import org.eclipse.swt.internal.ole.win32.COMTYPES; //private import std.c.windows.windows; //private import std.c.windows.com; extern( Windows ) { //interface IOleInPlaceActiveObject; //interface IEnumOLEVERB; interface IOleAdviseHolder : IUnknown { HRESULT Advise( IAdviseSink pAdvise, DWORD * pdwConnection ); HRESULT Unadvise( DWORD dwConnection ); HRESULT EnumAdvise ( IEnumSTATDATA ppenumAdvise ); HRESULT SendOnRename( IMoniker pmk ); HRESULT SendOnSave(); HRESULT SendOnClose(); } alias IOleAdviseHolder LPOLEADVISEHOLDER; interface IOleCache : IUnknown { HRESULT Cache( FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection ); HRESULT Uncache( DWORD dwConnection ); HRESULT EnumCache( IEnumSTATDATA * ppenumSTATDATA ); HRESULT InitCache( IDataObject pDataObject ); HRESULT SetData( FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease ); } alias IOleCache LPOLECACHE; interface IOleCache2 : IOleCache { // Cache update Flags /* 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))); // IOleCache2::DiscardCache options typedef [v1_enum] enum tagDISCARDCACHE { DISCARDCACHE_SAVEIFDIRTY = 0, // Save all dirty cache before discarding DISCARDCACHE_NOSAVE = 1 // Don't save dirty caches before // discarding } DISCARDCACHE; */ HRESULT UpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved ); // [call_as(UpdateCache)] // HRESULT RemoteUpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, DWORD pReserved ); HRESULT DiscardCache( DWORD dwDiscardOptions ); } alias IOleCache2 LPOLECACHE2; interface IOleCacheControl : IUnknown { HRESULT OnRun( LPDATAOBJECT pDataObject ); HRESULT OnStop(); } alias IOleCacheControl LPOLECACHECONTROL; interface IParseDisplayName : IUnknown { HRESULT ParseDisplayName( IBindCtx pbc, LPOLESTR pszDisplayName, ULONG * pchEaten, IMoniker * ppmkOut ); } alias IParseDisplayName LPPARSEDISPLAYNAME; interface IOleContainer : IParseDisplayName { HRESULT EnumObjects( DWORD grfFlags, IEnumUnknown * ppenum ); HRESULT LockContainer( BOOL fLock ); } alias IOleContainer LPOLECONTAINER; interface IOleClientSite : IUnknown { HRESULT SaveObject(); HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); HRESULT GetContainer( IOleContainer * ppContainer ); HRESULT ShowObject(); HRESULT OnShowWindow( BOOL fShow ); HRESULT RequestNewObjectLayout(); } alias IOleClientSite LPOLECLIENTSITE; enum OLEGETMONIKER { OLEGETMONIKER_ONLYIFTHERE = 1, OLEGETMONIKER_FORCEASSIGN = 2, OLEGETMONIKER_UNASSIGN = 3, OLEGETMONIKER_TEMPFORUSER = 4 } enum OLEWHICHMK { OLEWHICHMK_CONTAINER = 1, OLEWHICHMK_OBJREL = 2, OLEWHICHMK_OBJFULL = 3 } enum USERCLASSTYPE { USERCLASSTYPE_FULL = 1, USERCLASSTYPE_SHORT = 2, USERCLASSTYPE_APPNAME = 3, } enum OLEMISC { OLEMISC_RECOMPOSEONRESIZE = 0x00000001, OLEMISC_ONLYICONIC = 0x00000002, OLEMISC_INSERTNOTREPLACE = 0x00000004, OLEMISC_STATIC = 0x00000008, OLEMISC_CANTLINKINSIDE = 0x00000010, OLEMISC_CANLINKBYOLE1 = 0x00000020, OLEMISC_ISLINKOBJECT = 0x00000040, OLEMISC_INSIDEOUT = 0x00000080, OLEMISC_ACTIVATEWHENVISIBLE = 0x00000100, OLEMISC_RENDERINGISDEVICEINDEPENDENT= 0x00000200, OLEMISC_INVISIBLEATRUNTIME = 0x00000400, OLEMISC_ALWAYSRUN = 0x00000800, OLEMISC_ACTSLIKEBUTTON = 0x00001000, OLEMISC_ACTSLIKELABEL = 0x00002000, OLEMISC_NOUIACTIVATE = 0x00004000, OLEMISC_ALIGNABLE = 0x00008000, OLEMISC_SIMPLEFRAME = 0x00010000, OLEMISC_SETCLIENTSITEFIRST = 0x00020000, OLEMISC_IMEMODE = 0x00040000, OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x00080000, OLEMISC_WANTSTOMENUMERGE = 0x00100000, OLEMISC_SUPPORTSMULTILEVELUNDO = 0x00200000 } enum OLECLOSE { OLECLOSE_SAVEIFDIRTY = 0, OLECLOSE_NOSAVE = 1, OLECLOSE_PROMPTSAVE = 2, SAVEIFDIRTY = 0, NOSAVE = 1, PROMPTSAVE = 2 } interface IOleObject : IUnknown { HRESULT SetClientSite( IOleClientSite pClientSite ); HRESULT GetClientSite( IOleClientSite * ppClientSite ); HRESULT SetHostNames( LPCOLESTR szContainerApp, LPCOLESTR szContainerObj ); HRESULT Close( DWORD dwSaveOption ); HRESULT SetMoniker( DWORD dwWhichMoniker, IMoniker pmk ); HRESULT GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * ppmk ); HRESULT InitFromData( IDataObject pDataObject, BOOL fCreation, DWORD dwReserved ); HRESULT GetClipboardData( DWORD dwReserved, IDataObject * ppDataObject ); HRESULT DoVerb( LONG iVerb, LPMSG lpmsg, IOleClientSite pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect ); HRESULT EnumVerbs( IEnumOLEVERB * ppEnumOleVerb ); HRESULT Update(); HRESULT IsUpToDate(); HRESULT GetUserClassID( CLSID * pClsid ); HRESULT GetUserType( DWORD dwFormOfType, LPOLESTR * pszUserType ); HRESULT SetExtent( DWORD dwDrawAspect, SIZEL * psizel ); HRESULT GetExtent( DWORD dwDrawAspect, SIZEL * psizel ); HRESULT Advise( IAdviseSink pAdvSink, DWORD * pdwConnection ); HRESULT Unadvise( DWORD dwConnection ); HRESULT EnumAdvise( IEnumSTATDATA * ppenumAdvise ); HRESULT GetMiscStatus( DWORD dwAspect, DWORD *pdwStatus ); HRESULT SetColorScheme( LOGPALETTE *pLogpal ); } alias IOleObject LPOLEOBJECT; enum OLERENDER { OLERENDER_NONE = 0, OLERENDER_DRAW = 1, OLERENDER_FORMAT = 2, OLERENDER_ASIS = 3, NONE = 0, DRAW = 1, FORMAT = 2, ASIS = 3 } alias OLERENDER * LPOLERENDER; interface IOLETypes { } /****** OLE value types ***********************************************/ /* rendering options */ /****** Clipboard Data structures *****************************************/ struct OBJECTDESCRIPTOR { ULONG cbSize; // Size of structure in bytes CLSID clsid; // CLSID of data being transferred DWORD dwDrawAspect; // Display aspect of the object // normally DVASPECT_CONTENT or ICON. // dwDrawAspect will be 0 (which is NOT // DVASPECT_CONTENT) if the copier or // dragsource didn't draw the object to // begin with. SIZEL sizel; // size of the object in HIMETRIC // sizel is opt.: will be (0,0) for apps // which don't draw the object being // transferred POINTL pointl; // Offset in HIMETRIC units from the // upper-left corner of the obj where the // mouse went down for the drag. // NOTE: y coordinates increase downward. // x coordinates increase to right // pointl is opt.; it is only meaningful // if object is transfered via drag/drop. // (0, 0) if mouse position is unspecified // (eg. when obj transfered via clipboard) DWORD dwStatus; // Misc. status flags for object. Flags are // defined by OLEMISC enum. these flags // are as would be returned // by IOleObject::GetMiscStatus. DWORD dwFullUserTypeName; // Offset from beginning of structure to // null-terminated string that specifies // Full User Type Name of the object. // 0 indicates string not present. DWORD dwSrcOfCopy; // Offset from beginning of structure to // null-terminated string that specifies // source of the transfer. // dwSrcOfCOpy is normally implemented as // the display name of the temp-for-user // moniker which identifies the source of // the data. // 0 indicates string not present. // NOTE: moniker assignment is NOT forced. // see IOleObject::GetMoniker( // OLEGETMONIKER_TEMPFORUSER) /* variable sized string data may appear here */ } alias OBJECTDESCRIPTOR LINKSRCDESCRIPTOR; alias OBJECTDESCRIPTOR * POBJECTDESCRIPTOR; alias OBJECTDESCRIPTOR * LPOBJECTDESCRIPTOR; alias OBJECTDESCRIPTOR * PLINKSRCDESCRIPTOR; alias OBJECTDESCRIPTOR * LPLINKSRCDESCRIPTOR; interface IOleWindow : IUnknown { HRESULT GetWindow( HWND * phwnd ); HRESULT ContextSensitiveHelp( BOOL fEnterMode ); } alias IOleWindow LPOLEWINDOW; enum OLEUPDATE { OLEUPDATE_ALWAYS=1, OLEUPDATE_ONCALL=3 } alias OLEUPDATE * LPOLEUPDATE; alias OLEUPDATE * POLEUPDATE; // for IOleLink::BindToSource enum OLELINKBIND { OLELINKBIND_EVENIFCLASSDIFF = 1, } interface IOleLink : IUnknown { /* Link update options */ HRESULT SetUpdateOptions( DWORD dwUpdateOpt ); HRESULT GetUpdateOptions( DWORD * pdwUpdateOpt ); HRESULT SetSourceMoniker( IMoniker pmk, REFCLSID rclsid ); HRESULT GetSourceMoniker( IMoniker * ppmk ); HRESULT SetSourceDisplayName( LPCOLESTR pszStatusText ); HRESULT GetSourceDisplayName( LPOLESTR * ppszDisplayName ); HRESULT BindToSource( DWORD bindflags, IBindCtx pbc ); HRESULT BindIfRunning(); HRESULT GetBoundSource( IUnknown * ppunk ); HRESULT UnbindSource(); HRESULT Update( IBindCtx pbc ); } alias IOleLink LPOLELINK; enum BINDSPEED { BINDSPEED_INDEFINITE = 1, BINDSPEED_MODERATE = 2, BINDSPEED_IMMEDIATE = 3 } enum OLECONTF { OLECONTF_EMBEDDINGS = 1, OLECONTF_LINKS = 2, OLECONTF_OTHERS = 4, OLECONTF_ONLYUSER = 8, OLECONTF_ONLYIFRUNNING = 16 } interface IOleItemContainer : IOleContainer { HRESULT GetObject( LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx pbc, REFIID riid, void **ppvObject); HRESULT GetObjectStorage( LPOLESTR pszItem, IBindCtx pbc, REFIID riid, void **ppvStorage); HRESULT IsRunning(LPOLESTR pszItem); } alias IOleItemContainer LPOLEITEMCONTAINER; alias RECT BORDERWIDTHS; alias LPRECT LPBORDERWIDTHS; alias LPCRECT LPCBORDERWIDTHS; interface IOleInPlaceUIWindow : IOleWindow { HRESULT GetBorder( LPRECT lprectBorder ); HRESULT RequestBorderSpace( LPCBORDERWIDTHS pborderwidths ); HRESULT SetBorderSpace( LPCBORDERWIDTHS pborderwidths ); HRESULT SetActiveObject( LPOLEINPLACEACTIVEOBJECT pActiveObject, LPCOLESTR pszObjName ); } alias IOleInPlaceUIWindow LPOLEINPLACEUIWINDOW; interface IOleInPlaceActiveObject : IOleWindow { HRESULT TranslateAccelerator( LPMSG lpmsg ); HRESULT OnFrameWindowActivate( BOOL fActivate ); HRESULT OnDocWindowActivate( BOOL fActivate ); HRESULT ResizeBorder( LPCRECT prcBorder, IOleInPlaceUIWindow pUIWindow, BOOL fFrameWindow ); HRESULT EnableModeless ( BOOL fEnable ); } alias IOleInPlaceActiveObject LPOLEINPLACEACTIVEOBJECT; struct OLEINPLACEFRAMEINFO // OleInPlaceFrameInfo { UINT cb; BOOL fMDIApp; HWND hwndFrame; HACCEL haccel; UINT cAccelEntries; } alias OLEINPLACEFRAMEINFO * LPOLEINPLACEFRAMEINFO; struct OLEMENUGROUPWIDTHS { LONG width[6]; } alias OLEMENUGROUPWIDTHS * LPOLEMENUGROUPWIDTHS; alias HGLOBAL HOLEMENU; interface IOleInPlaceFrame : IOleInPlaceUIWindow { HRESULT InsertMenus( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths ); HRESULT SetMenu( HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject ); HRESULT RemoveMenus( HMENU hmenuShared ); HRESULT SetStatusText( LPCOLESTR pszStatusText ); HRESULT EnableModeless( BOOL fEnable ); HRESULT TranslateAccelerator( LPMSG lpmsg, WORD wID ); } alias IOleInPlaceFrame LPOLEINPLACEFRAME; interface IOleInPlaceObject : IOleWindow { HRESULT InPlaceDeactivate(); HRESULT UIDeactivate(); HRESULT SetObjectRects( LPCRECT lprcPosRect, LPCRECT lprcClipRect ); HRESULT ReactivateAndUndo(); } alias IOleInPlaceObject LPOLEINPLACEOBJECT; interface IOleInPlaceSite : IOleWindow { HRESULT CanInPlaceActivate(); HRESULT OnInPlaceActivate(); HRESULT OnUIActivate(); HRESULT GetWindowContext( IOleInPlaceFrame * ppFrame, IOleInPlaceUIWindow * ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo ); HRESULT Scroll( SIZE scrollExtant ); HRESULT OnUIDeactivate( BOOL fUndoable ); HRESULT OnInPlaceDeactivate(); HRESULT DiscardUndoState(); HRESULT DeactivateAndUndo(); HRESULT OnPosRectChange( LPCRECT lprcPosRect ); } alias IOleInPlaceSite LPOLEINPLACESITE; interface IContinue : IUnknown { HRESULT FContinue(); } interface IViewObject : IUnknown { HRESULT Draw( DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL function(DWORD dwContinue) pfnContinue, DWORD dwContinue ); HRESULT GetColorSet( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet ); HRESULT Freeze( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze ); HRESULT Unfreeze( DWORD dwFreeze ); HRESULT SetAdvise( DWORD aspects, DWORD advf, IAdviseSink pAdvSink ); HRESULT GetAdvise( DWORD * pAspects, DWORD * pAdvf, IAdviseSink * ppAdvSink ); } alias IViewObject LPVIEWOBJECT; interface IViewObject2 : IViewObject { HRESULT GetExtent( DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel ); } alias IViewObject2 LPVIEWOBJECT2; interface IDropSource : IUnknown { HRESULT QueryContinueDrag( BOOL fEscapePressed, DWORD grfKeyState ); HRESULT GiveFeedback( DWORD dwEffect ); } alias IDropSource LPDROPSOURCE; const DWORD MK_ALT = 0x0020; 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; interface IDropTarget : IUnknown { HRESULT DragEnter( IDataObject pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); HRESULT DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ); HRESULT DragLeave(); HRESULT Drop(IDataObject pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect); } alias IDropTarget LPDROPTARGET; struct OLEVERB { LONG lVerb; LPOLESTR lpszVerbName; DWORD fuFlags; DWORD grfAttribs; } alias OLEVERB * LPOLEVERB; // Bitwise verb attributes used in OLEVERB.grfAttribs enum OLEVERBATTRIB // bitwise { OLEVERBATTRIB_NEVERDIRTIES = 1, OLEVERBATTRIB_ONCONTAINERMENU = 2, NEVERDIRTIES = 1, ONCONTAINERMENU = 2 } interface IEnumOLEVERB : IUnknown { HRESULT Next( ULONG celt, LPOLEVERB rgelt, ULONG * pceltFetched ); HRESULT Skip( ULONG celt ); HRESULT Reset(); HRESULT Clone( IEnumOLEVERB * ppenum ); } alias IEnumOLEVERB LPENUMOLEVERB; } /* extern(Windows) */