home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / cecko / install / devcpp4920.exe / include / oleidl.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-14  |  10.3 KB  |  294 lines

  1. #ifndef _OLEIDL_H
  2. #define _OLEIDL_H
  3.  
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7.  
  8. #include <objfwd.h>
  9. typedef interface IParseDisplayname *LPPARSEDISPLAYNAME;
  10. typedef interface IOleContainer *LPOLECONTAINER;
  11. typedef interface IOleClientSite *LPOLECLIENTSITE;
  12. typedef interface IOleObject *LPOLEOBJECT;
  13. typedef interface IDropTarget *LPDROPTARGET;
  14. typedef interface IDropSource *LPDROPSOURCE;
  15. typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
  16. typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
  17. typedef interface IEnumOLEVERB *LPENUMOLEVERB;
  18. typedef interface IOleWindow *LPOLEWINDOW;
  19. typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
  20. typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
  21. typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
  22. typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER;
  23. typedef interface IViewObject *LPVIEWOBJECT;
  24. typedef interface IViewObject2 *LPVIEWOBJECT2;
  25.  
  26. typedef enum tagOLEWHICHMK {
  27.     OLEWHICHMK_CONTAINER=1,
  28.     OLEWHICHMK_OBJREL,
  29.     OLEWHICHMK_OBJFULL
  30. } OLEWHICHMK;
  31. typedef enum tagOLEGETMONIKER {
  32.     OLEGETMONIKER_ONLYIFTHERE=1,
  33.     OLEGETMONIKER_FORCEASSIGN,
  34.     OLEGETMONIKER_UNASSIGN,
  35.     OLEGETMONIKER_TEMPFORUSER
  36. } OLEGETMONIKER;
  37. typedef enum tagDROPEFFECT {
  38.     DROPEFFECT_NONE=0,
  39.     DROPEFFECT_COPY=1,
  40.     DROPEFFECT_MOVE=2,
  41.     DROPEFFECT_LINK=4,
  42.     DROPEFFECT_SCROLL=0x80000000
  43. } DROPEFFECT;
  44. typedef struct tagOleMenuGroupWidths {
  45.     LONG width[6];
  46. } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
  47. typedef HGLOBAL HOLEMENU;
  48. typedef enum tagOLECLOSE {
  49.     OLECLOSE_SAVEIFDIRTY,
  50.     OLECLOSE_NOSAVE,
  51.     OLECLOSE_PROMPTSAVE
  52. } OLECLOSE;
  53. typedef struct tagOLEVERB {
  54.     LONG lVerb;
  55.     LPWSTR lpszVerbName;
  56.     DWORD fuFlags;
  57.     DWORD grfAttribs;
  58. } OLEVERB,*LPOLEVERB;
  59. typedef RECT BORDERWIDTHS;
  60. typedef LPRECT LPBORDERWIDTHS;
  61. typedef LPCRECT LPCBORDERWIDTHS;
  62. typedef struct tagOIFI {
  63.     UINT cb;
  64.     BOOL fMDIApp;
  65.     HWND hwndFrame;
  66.     HACCEL haccel;
  67.     UINT cAccelEntries;
  68. }OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
  69.  
  70. /*DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);*/
  71. DECLARE_ENUMERATOR(OLEVERB);
  72. typedef IEnumOLEVERB IEnumOleVerb;
  73.  
  74. EXTERN_C const IID IID_IParseDisplayName;
  75. #undef INTERFACE
  76. #define INTERFACE IParseDisplayName
  77. DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
  78. {
  79.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  80.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  81.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  82.     STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
  83. };
  84.  
  85. EXTERN_C const IID IID_IOleContainer;
  86. #undef INTERFACE
  87. #define INTERFACE IOleContainer
  88. DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
  89. {
  90.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  91.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  92.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  93.     STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
  94.     STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
  95.     STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
  96. };
  97.  
  98. EXTERN_C const IID IID_IOleClientSite;
  99. #undef INTERFACE
  100. #define INTERFACE IOleClientSite
  101. DECLARE_INTERFACE_(IOleClientSite,IUnknown)
  102. {
  103.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  104.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  105.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  106.     STDMETHOD(SaveObject)(THIS) PURE;
  107.     STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
  108.     STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
  109.     STDMETHOD(ShowObject)(THIS) PURE;
  110.     STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
  111.     STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
  112. };
  113.  
  114. EXTERN_C const IID IID_IOleObject;
  115. #undef INTERFACE
  116. #define INTERFACE IOleObject
  117. DECLARE_INTERFACE_(IOleObject,IUnknown)
  118. {
  119.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  120.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  121.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  122.     STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
  123.     STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
  124.     STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
  125.     STDMETHOD(Close)(THIS_ DWORD) PURE;
  126.     STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
  127.     STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
  128.     STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
  129.     STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
  130.     STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
  131.     STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
  132.     STDMETHOD(Update)(THIS) PURE;
  133.     STDMETHOD(IsUpToDate)(THIS) PURE;
  134.     STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
  135.     STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR) PURE;
  136.     STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
  137.     STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
  138.     STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
  139.     STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
  140.     STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
  141.     STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
  142.     STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
  143. };
  144.  
  145. EXTERN_C const IID IID_IOleWindow;
  146. #undef INTERFACE
  147. #define INTERFACE IOleWindow
  148. DECLARE_INTERFACE_(IOleWindow,IUnknown)
  149. {
  150.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  151.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  152.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  153.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  154.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  155. };
  156.  
  157. EXTERN_C const IID IID_IOleInPlaceUIWindow;
  158. #undef INTERFACE
  159. #define INTERFACE IOleInPlaceUIWindow
  160. DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
  161. {
  162.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  163.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  164.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  165.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  166.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  167.     STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
  168.     STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  169.     STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  170.     STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
  171. };
  172.  
  173. EXTERN_C const IID IID_IOleInPlaceActiveObject;
  174. #undef INTERFACE
  175. #define INTERFACE IOleInPlaceActiveObject
  176. DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
  177. {
  178.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  179.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  180.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  181.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  182.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  183.     STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
  184.     STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
  185.     STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
  186.     STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
  187.     STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
  188. };
  189.  
  190. EXTERN_C const IID IID_IOleInPlaceFrame;
  191. #undef INTERFACE
  192. #define INTERFACE IOleInPlaceFrame
  193. DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
  194. {
  195.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  196.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  197.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  198.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  199.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  200.     STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
  201.     STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  202.     STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  203.     STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
  204.     STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
  205.     STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
  206.     STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
  207.     STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
  208.     STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
  209.     STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
  210. };
  211.  
  212. EXTERN_C const IID IID_IOleAdviseHolder;
  213. #undef INTERFACE
  214. #define INTERFACE IOleAdviseHolder
  215. DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
  216. {
  217.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  218.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  219.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  220.     STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
  221.     STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
  222.     STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
  223.     STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
  224.     STDMETHOD(SendOnSave)(THIS) PURE;
  225.     STDMETHOD(SendOnClose)(THIS) PURE;
  226. };
  227.  
  228. EXTERN_C const IID IID_IDropSource;
  229. #undef INTERFACE
  230. #define INTERFACE IDropSource
  231. DECLARE_INTERFACE_(IDropSource,IUnknown)
  232. {
  233.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  234.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  235.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  236.     STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
  237.     STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
  238. };
  239.  
  240. EXTERN_C const IID IID_IDropTarget;
  241. #undef INTERFACE
  242. #define INTERFACE IDropTarget
  243. DECLARE_INTERFACE_(IDropTarget,IUnknown)
  244. {
  245.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  246.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  247.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  248.     STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
  249.     STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
  250.     STDMETHOD(DragLeave)(THIS) PURE;
  251.     STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
  252. };
  253.  
  254. typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
  255. EXTERN_C const IID IID_IViewObject;
  256. #undef INTERFACE
  257. #define INTERFACE IViewObject
  258. DECLARE_INTERFACE_(IViewObject,IUnknown)
  259. {
  260.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  261.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  262.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  263.     STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
  264.     STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
  265.     STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
  266.     STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
  267.     STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
  268.     STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
  269. };
  270.  
  271. EXTERN_C const IID IID_IViewObject2;
  272. #undef INTERFACE
  273. #define INTERFACE IViewObject2
  274. DECLARE_INTERFACE_(IViewObject2,IUnknown)
  275. {
  276.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  277.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  278.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  279.     STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
  280.     STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
  281.     STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
  282.     STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
  283.     STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
  284.     STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
  285.     STDMETHOD(GetExtent)(THIS_ DWORD,DWORD,DVTARGETDEVICE*,LPSIZEL) PURE;
  286. };
  287.  
  288.  
  289. #ifdef __cplusplus
  290. }
  291. #endif
  292. #endif
  293.  
  294.