explorer:
[reactos.git] / reactos / w32api / include / oleidl.h
1 #ifndef _OLEIDL_H
2 #define _OLEIDL_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #include <objfwd.h>
12
13 #define MK_ALT 32
14
15 typedef interface IParseDisplayName *LPPARSEDISPLAYNAME;
16 typedef interface IOleContainer *LPOLECONTAINER;
17 typedef interface IOleClientSite *LPOLECLIENTSITE;
18 typedef interface IOleObject *LPOLEOBJECT;
19 typedef interface IDropTarget *LPDROPTARGET;
20 typedef interface IDropSource *LPDROPSOURCE;
21 typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
22 typedef interface IEnumOLEVERB *LPENUMOLEVERB;
23 typedef interface IOleWindow *LPOLEWINDOW;
24 typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
25 typedef interface IOleInPlaceObject *LPOLEINPLACEOBJECT;
26 typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
27 typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
28 typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER;
29 typedef interface IViewObject *LPVIEWOBJECT;
30 typedef interface IViewObject2 *LPVIEWOBJECT2;
31 typedef interface IOleCache *LPOLECACHE;
32 typedef interface IOleCache2 *LPOLECACHE2;
33 typedef interface IOleCacheControl *LPOLECACHECONTROL;
34
35 typedef enum tagBINDSPEED
36 {
37 BINDSPEED_INDEFINITE=1,
38 BINDSPEED_MODERATE,
39 BINDSPEED_IMMEDIATE
40 } BINDSPEED;
41 typedef enum tagOLEWHICHMK {
42 OLEWHICHMK_CONTAINER=1,
43 OLEWHICHMK_OBJREL,
44 OLEWHICHMK_OBJFULL
45 } OLEWHICHMK;
46 typedef enum tagOLEGETMONIKER {
47 OLEGETMONIKER_ONLYIFTHERE=1,
48 OLEGETMONIKER_FORCEASSIGN,
49 OLEGETMONIKER_UNASSIGN,
50 OLEGETMONIKER_TEMPFORUSER
51 } OLEGETMONIKER;
52 typedef enum tagUSERCLASSTYPE {
53 USERCLASSTYPE_FULL=1,
54 USERCLASSTYPE_SHORT,
55 USERCLASSTYPE_APPNAME
56 } USERCLASSTYPE;
57
58 #ifdef __GNUC__
59 __extension__ /* IS0 C says enums limited to range of int */
60 #endif
61 typedef enum tagDROPEFFECT {
62 DROPEFFECT_NONE=0,
63 DROPEFFECT_COPY=1,
64 DROPEFFECT_MOVE=2,
65 DROPEFFECT_LINK=4,
66 DROPEFFECT_SCROLL=0x80000000
67 } DROPEFFECT;
68 typedef struct tagOleMenuGroupWidths {
69 LONG width[6];
70 } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
71 typedef HGLOBAL HOLEMENU;
72 typedef enum tagOLECLOSE {
73 OLECLOSE_SAVEIFDIRTY,
74 OLECLOSE_NOSAVE,
75 OLECLOSE_PROMPTSAVE
76 } OLECLOSE;
77 typedef struct tagOLEVERB {
78 LONG lVerb;
79 LPWSTR lpszVerbName;
80 DWORD fuFlags;
81 DWORD grfAttribs;
82 } OLEVERB,*LPOLEVERB;
83 typedef RECT BORDERWIDTHS;
84 typedef LPRECT LPBORDERWIDTHS;
85 typedef LPCRECT LPCBORDERWIDTHS;
86 typedef struct tagOIFI {
87 UINT cb;
88 BOOL fMDIApp;
89 HWND hwndFrame;
90 HACCEL haccel;
91 UINT cAccelEntries;
92 }OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
93
94 DECLARE_ENUMERATOR(OLEVERB);
95 typedef IEnumOLEVERB IEnumOleVerb;
96
97 EXTERN_C const IID IID_IParseDisplayName;
98 #define INTERFACE IParseDisplayName
99 DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
100 {
101 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
102 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
103 STDMETHOD_(ULONG,Release)(THIS) PURE;
104 STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
105 };
106 #undef INTERFACE
107
108 #ifdef COBJMACROS
109 #define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
110 #define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
111 #define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
112 #define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
113 #endif
114
115 EXTERN_C const IID IID_IOleContainer;
116 #define INTERFACE IOleContainer
117 DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
118 {
119 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
120 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
121 STDMETHOD_(ULONG,Release)(THIS) PURE;
122 STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
123 STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
124 STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
125 };
126 #undef INTERFACE
127
128 #ifdef COBJMACROS
129 /*** IUnknown methods ***/
130 #define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
131 #define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
132 #define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
133 /*** IParseDisplayName methods ***/
134 #define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
135 /*** IOleContainer methods ***/
136 #define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
137 #define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
138 #endif
139
140 EXTERN_C const IID IID_IOleItemContainer;
141 #define INTERFACE IOleItemContainer
142 DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
143 {
144 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
145 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
146 STDMETHOD_(ULONG,Release)(THIS) PURE;
147 STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
148 STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
149 STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
150 STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
151 STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
152 STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
153 };
154 #undef INTERFACE
155
156 #ifdef COBJMACROS
157 #define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
158 #define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
159 #define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
160 #define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
161 #define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
162 #define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
163 #define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
164 #define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
165 #define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
166 #endif
167
168 EXTERN_C const IID IID_IOleClientSite;
169 #define INTERFACE IOleClientSite
170 DECLARE_INTERFACE_(IOleClientSite,IUnknown)
171 {
172 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
173 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
174 STDMETHOD_(ULONG,Release)(THIS) PURE;
175 STDMETHOD(SaveObject)(THIS) PURE;
176 STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
177 STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
178 STDMETHOD(ShowObject)(THIS) PURE;
179 STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
180 STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
181 };
182 #undef INTERFACE
183
184 #ifdef COBJMACROS
185 #define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
186 #define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
187 #define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
188 #define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
189 #define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
190 #define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
191 #define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
192 #define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
193 #define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
194 #endif
195
196 EXTERN_C const IID IID_IOleObject;
197 #define INTERFACE IOleObject
198 DECLARE_INTERFACE_(IOleObject,IUnknown)
199 {
200 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
201 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
202 STDMETHOD_(ULONG,Release)(THIS) PURE;
203 STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
204 STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
205 STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
206 STDMETHOD(Close)(THIS_ DWORD) PURE;
207 STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
208 STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
209 STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
210 STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
211 STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
212 STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
213 STDMETHOD(Update)(THIS) PURE;
214 STDMETHOD(IsUpToDate)(THIS) PURE;
215 STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
216 STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
217 STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
218 STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
219 STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
220 STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
221 STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
222 STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
223 STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
224 };
225 #undef INTERFACE
226
227 #ifdef COBJMACROS
228 #define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
229 #define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
230 #define IOleObject_Release(T) (T)->lpVtbl->Release(T)
231 #define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
232 #define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
233 #define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
234 #define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
235 #define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
236 #define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
237 #define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
238 #define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
239 #define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
240 #define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
241 #define IOleObject_Update(T) (T)->lpVtbl->Update(T)
242 #define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
243 #define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
244 #define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
245 #define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
246 #define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
247 #define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
248 #define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
249 #define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
250 #define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
251 #define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
252 #endif
253
254 EXTERN_C const IID IID_IOleWindow;
255 #define INTERFACE IOleWindow
256 DECLARE_INTERFACE_(IOleWindow,IUnknown)
257 {
258 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
259 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
260 STDMETHOD_(ULONG,Release)(THIS) PURE;
261 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
262 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
263 };
264 #undef INTERFACE
265
266 #ifdef COBJMACROS
267 #define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
268 #define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
269 #define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
270 #define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
271 #define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
272 #endif
273
274 EXTERN_C const IID IID_IOleInPlaceUIWindow;
275 #define INTERFACE IOleInPlaceUIWindow
276 DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
277 {
278 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
279 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
280 STDMETHOD_(ULONG,Release)(THIS) PURE;
281 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
282 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
283 STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
284 STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
285 STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
286 STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
287 };
288 #undef INTERFACE
289
290 #ifdef COBJMACROS
291 /*** IUnknown methods ***/
292 #define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
293 #define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
294 #define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
295 /*** IOleWindow methods ***/
296 #define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
297 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
298 /*** IOleInPlaceUIWindow methods ***/
299 #define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
300 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
301 #define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
302 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
303 #endif
304
305 EXTERN_C const IID IID_IOleInPlaceObject;
306 #define INTERFACE IOleInPlaceObject
307 DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
308 {
309 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
310 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
311 STDMETHOD_(ULONG,Release)(THIS) PURE;
312 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
313 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
314 STDMETHOD(InPlaceDeactivate)(THIS) PURE;
315 STDMETHOD(UIDeactivate)(THIS) PURE;
316 STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
317 STDMETHOD(ReactivateAndUndo)(THIS) PURE;
318 };
319 #undef INTERFACE
320
321 #ifdef COBJMACROS
322 /*** IUnknown methods ***/
323 #define IOleInPlaceObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
324 #define IOleInPlaceObject_AddRef(p) (p)->lpVtbl->AddRef(p)
325 #define IOleInPlaceObject_Release(p) (p)->lpVtbl->Release(p)
326 /*** IOleWindow methods ***/
327 #define IOleInPlaceObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
328 #define IOleInPlaceObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
329 /*** IOleInPlaceObject methods ***/
330 #define IOleInPlaceObject_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
331 #define IOleInPlaceObject_UIDeactivate(p) (p)->lpVtbl->UIDeactivate(p)
332 #define IOleInPlaceObject_SetObjectRects(p,a,b) (p)->lpVtbl->SetObjectRects(p,a,b)
333 #define IOleInPlaceObject_ReactivateAndUndo(p) (p)->lpVtbl->ReactivateAndUndo(p)
334 #endif
335
336 EXTERN_C const IID IID_IOleInPlaceActiveObject;
337 #define INTERFACE IOleInPlaceActiveObject
338 DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
339 {
340 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
341 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
342 STDMETHOD_(ULONG,Release)(THIS) PURE;
343 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
344 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
345 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
346 STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
347 STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
348 STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
349 STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
350 };
351 #undef INTERFACE
352
353 #ifdef COBJMACROS
354 /*** IUnknown methods ***/
355 #define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
356 #define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
357 #define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
358 /*** IOleWindow methods ***/
359 #define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
360 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
361 /*** IOleInPlaceActiveObject methods ***/
362 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
363 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
364 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
365 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
366 #define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
367 #endif
368
369 EXTERN_C const IID IID_IOleInPlaceFrame;
370 #define INTERFACE IOleInPlaceFrame
371 DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
372 {
373 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
374 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
375 STDMETHOD_(ULONG,Release)(THIS) PURE;
376 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
377 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
378 STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
379 STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
380 STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
381 STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
382 STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
383 STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
384 STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
385 STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
386 STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
387 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
388 };
389 #undef INTERFACE
390
391 #ifdef COBJMACROS
392 #define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
393 #define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
394 #define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
395 #define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
396 #define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
397 #define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
398 #define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
399 #define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
400 #define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
401 #define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
402 #define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
403 #define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
404 #define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
405 #define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
406 #define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
407 #endif
408
409 EXTERN_C const IID IID_IOleInPlaceSite;
410 #define INTERFACE IOleInPlaceSite
411 DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
412 {
413 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
414 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
415 STDMETHOD_(ULONG,Release)(THIS) PURE;
416 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
417 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
418 STDMETHOD(CanInPlaceActivate)(THIS) PURE;
419 STDMETHOD(OnInPlaceActivate)(THIS) PURE;
420 STDMETHOD(OnUIActivate)(THIS) PURE;
421 STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
422 STDMETHOD(Scroll)(THIS_ SIZE) PURE;
423 STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
424 STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
425 STDMETHOD(DiscardUndoState)(THIS) PURE;
426 STDMETHOD(DeactivateAndUndo)(THIS) PURE;
427 STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
428 };
429 #undef INTERFACE
430
431 #ifdef COBJMACROS
432 /*** IUnknown methods ***/
433 #define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
434 #define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
435 #define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
436 /*** IOleWindow methods ***/
437 #define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
438 #define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
439 /*** IOleInPlaceSite methods ***/
440 #define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
441 #define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
442 #define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
443 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
444 #define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
445 #define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
446 #define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
447 #define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
448 #define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
449 #define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
450 #endif
451
452 EXTERN_C const IID IID_IOleAdviseHolder;
453 #define INTERFACE IOleAdviseHolder
454 DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
455 {
456 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
457 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
458 STDMETHOD_(ULONG,Release)(THIS) PURE;
459 STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
460 STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
461 STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
462 STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
463 STDMETHOD(SendOnSave)(THIS) PURE;
464 STDMETHOD(SendOnClose)(THIS) PURE;
465 };
466 #undef INTERFACE
467
468 #ifdef COBJMACROS
469 #define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
470 #define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
471 #define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
472 #define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
473 #define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
474 #define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
475 #define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
476 #define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
477 #define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
478 #endif
479
480 EXTERN_C const IID IID_IDropSource;
481 #define INTERFACE IDropSource
482 DECLARE_INTERFACE_(IDropSource,IUnknown)
483 {
484 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
485 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
486 STDMETHOD_(ULONG,Release)(THIS) PURE;
487 STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
488 STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
489 };
490 #undef INTERFACE
491
492 #ifdef COBJMACROS
493 #define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
494 #define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
495 #define IDropSource_Release(T) (T)->lpVtbl->Release(T)
496 #define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
497 #define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
498 #endif
499
500 EXTERN_C const IID IID_IDropTarget;
501 #define INTERFACE IDropTarget
502 DECLARE_INTERFACE_(IDropTarget,IUnknown)
503 {
504 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
505 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
506 STDMETHOD_(ULONG,Release)(THIS) PURE;
507 STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
508 STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
509 STDMETHOD(DragLeave)(THIS) PURE;
510 STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
511 };
512 #undef INTERFACE
513
514 #ifdef COBJMACROS
515 #define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
516 #define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
517 #define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
518 #define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
519 #define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
520 #define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
521 #define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
522 #endif
523
524 typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
525 EXTERN_C const IID IID_IViewObject;
526 #define INTERFACE IViewObject
527 DECLARE_INTERFACE_(IViewObject,IUnknown)
528 {
529 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
530 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
531 STDMETHOD_(ULONG,Release)(THIS) PURE;
532 STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
533 STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
534 STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
535 STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
536 STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
537 STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
538 };
539 #undef INTERFACE
540
541 #ifdef COBJMACROS
542 #define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
543 #define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
544 #define IViewObject_Release(T) (T)->lpVtbl->Release(T)
545 #define IViewObject_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
546 #define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
547 #define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
548 #define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
549 #define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
550 #define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
551 #endif
552
553 EXTERN_C const IID IID_IViewObject2;
554 #define INTERFACE IViewObject2
555 DECLARE_INTERFACE_(IViewObject2,IViewObject)
556 {
557 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
558 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
559 STDMETHOD_(ULONG,Release)(THIS) PURE;
560 STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
561 STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
562 STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
563 STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
564 STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
565 STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
566 STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
567 };
568 #undef INTERFACE
569
570 #ifdef COBJMACROS
571 #define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
572 #define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
573 #define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
574 #define IViewObject2_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
575 #define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
576 #define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
577 #define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
578 #define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
579 #define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
580 #define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
581 #endif
582
583 EXTERN_C const IID IID_IOleCache;
584 #define INTERFACE IOleCache
585 DECLARE_INTERFACE_(IOleCache,IUnknown)
586 {
587 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
588 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
589 STDMETHOD_(ULONG,Release)(THIS) PURE;
590 STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
591 STDMETHOD(Uncache)(THIS_ DWORD) PURE;
592 STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**);
593 STDMETHOD(InitCache)(THIS_ LPDATAOBJECT);
594 STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL);
595 };
596 #undef INTERFACE
597
598 #ifdef COBJMACROS
599 #define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
600 #define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
601 #define IOleCache_Release(T) (T)->lpVtbl->Release(T)
602 #define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
603 #define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
604 #define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
605 #define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
606 #define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
607 #endif
608
609 EXTERN_C const IID IID_IOleCache2;
610 #define INTERFACE IOleCache2
611 DECLARE_INTERFACE_(IOleCache2,IOleCache)
612 {
613 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
614 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
615 STDMETHOD_(ULONG,Release)(THIS) PURE;
616 STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
617 STDMETHOD(Uncache)(THIS_ DWORD) PURE;
618 STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE;
619 STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE;
620 STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
621 STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE;
622 STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
623 };
624 #undef INTERFACE
625
626 #ifdef COBJMACROS
627 #define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
628 #define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
629 #define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
630 #define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
631 #define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
632 #define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
633 #define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
634 #define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
635 #define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
636 #define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
637 #endif
638
639 EXTERN_C const IID IID_IOleCacheControl;
640 #define INTERFACE IOleCacheControl
641 DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
642 {
643 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
644 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
645 STDMETHOD_(ULONG,Release)(THIS) PURE;
646 STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
647 STDMETHOD(OnStop)(THIS) PURE;
648 };
649 #undef INTERFACE
650
651 #ifdef __cplusplus
652 }
653 #endif
654 #endif
655