3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
36 typedef _COM_interface IParseDisplayName *LPPARSEDISPLAYNAME;
37 typedef _COM_interface IOleContainer *LPOLECONTAINER;
38 typedef _COM_interface IOleClientSite *LPOLECLIENTSITE;
39 typedef _COM_interface IOleObject *LPOLEOBJECT;
40 typedef _COM_interface IDropTarget *LPDROPTARGET;
41 typedef _COM_interface IDropSource *LPDROPSOURCE;
42 typedef _COM_interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
43 typedef _COM_interface IEnumOLEVERB *LPENUMOLEVERB;
44 typedef _COM_interface IOleWindow *LPOLEWINDOW;
45 typedef _COM_interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
46 typedef _COM_interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
47 typedef _COM_interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
48 typedef _COM_interface IOleAdviseHolder *LPOLEADVISEHOLDER;
49 typedef _COM_interface IViewObject *LPVIEWOBJECT;
50 typedef _COM_interface IViewObject2 *LPVIEWOBJECT2;
51 typedef _COM_interface IOleCache *LPOLECACHE;
52 typedef _COM_interface IOleCache2 *LPOLECACHE2;
53 typedef _COM_interface IOleCacheControl *LPOLECACHECONTROL;
55 typedef enum tagBINDSPEED
57 BINDSPEED_INDEFINITE=1,
61 typedef enum tagOLEWHICHMK {
62 OLEWHICHMK_CONTAINER=1,
66 typedef enum tagOLEGETMONIKER {
67 OLEGETMONIKER_ONLYIFTHERE=1,
68 OLEGETMONIKER_FORCEASSIGN,
69 OLEGETMONIKER_UNASSIGN,
70 OLEGETMONIKER_TEMPFORUSER
72 typedef enum tagUSERCLASSTYPE {
78 __extension__ /* IS0 C says enums limited to range of int */
79 typedef enum tagDROPEFFECT {
84 DROPEFFECT_SCROLL=0x80000000
86 typedef struct tagOleMenuGroupWidths {
88 } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
89 typedef HGLOBAL HOLEMENU;
90 typedef enum tagOLECLOSE {
95 typedef struct tagOLEVERB {
100 } OLEVERB,*LPOLEVERB;
101 typedef RECT BORDERWIDTHS;
102 typedef LPRECT LPBORDERWIDTHS;
103 typedef LPCRECT LPCBORDERWIDTHS;
104 typedef struct tagOIFI {
110 }OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
112 DECLARE_ENUMERATOR(OLEVERB);
113 typedef IEnumOLEVERB IEnumOleVerb;
115 EXTERN_C const IID IID_IParseDisplayName;
116 #define INTERFACE IParseDisplayName
117 DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
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;
127 #define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
128 #define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
129 #define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
130 #define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
133 EXTERN_C const IID IID_IOleContainer;
134 #define INTERFACE IOleContainer
135 DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
137 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
138 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
139 STDMETHOD_(ULONG,Release)(THIS) PURE;
140 STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
141 STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
142 STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
146 EXTERN_C const IID IID_IOleItemContainer;
147 #define INTERFACE IOleItemContainer
148 DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
150 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
151 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
152 STDMETHOD_(ULONG,Release)(THIS) PURE;
153 STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
154 STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
155 STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
156 STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
157 STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
158 STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
163 #define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
164 #define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
165 #define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
166 #define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
167 #define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
168 #define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
169 #define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
170 #define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
171 #define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
174 EXTERN_C const IID IID_IOleClientSite;
175 #define INTERFACE IOleClientSite
176 DECLARE_INTERFACE_(IOleClientSite,IUnknown)
178 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
179 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
180 STDMETHOD_(ULONG,Release)(THIS) PURE;
181 STDMETHOD(SaveObject)(THIS) PURE;
182 STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
183 STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
184 STDMETHOD(ShowObject)(THIS) PURE;
185 STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
186 STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
191 #define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
192 #define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
193 #define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
194 #define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
195 #define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
196 #define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
197 #define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
198 #define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
199 #define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
202 EXTERN_C const IID IID_IOleObject;
203 #define INTERFACE IOleObject
204 DECLARE_INTERFACE_(IOleObject,IUnknown)
206 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
207 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
208 STDMETHOD_(ULONG,Release)(THIS) PURE;
209 STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
210 STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
211 STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
212 STDMETHOD(Close)(THIS_ DWORD) PURE;
213 STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
214 STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
215 STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
216 STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
217 STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
218 STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
219 STDMETHOD(Update)(THIS) PURE;
220 STDMETHOD(IsUpToDate)(THIS) PURE;
221 STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
222 STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
223 STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
224 STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
225 STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
226 STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
227 STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
228 STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
229 STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
234 #define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
235 #define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
236 #define IOleObject_Release(T) (T)->lpVtbl->Release(T)
237 #define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
238 #define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
239 #define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
240 #define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
241 #define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
242 #define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
243 #define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
244 #define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
245 #define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
246 #define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
247 #define IOleObject_Update(T) (T)->lpVtbl->Update(T)
248 #define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
249 #define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
250 #define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
251 #define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
252 #define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
253 #define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
254 #define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
255 #define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
256 #define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
257 #define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
260 EXTERN_C const IID IID_IOleWindow;
261 #define INTERFACE IOleWindow
262 DECLARE_INTERFACE_(IOleWindow,IUnknown)
264 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
265 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
266 STDMETHOD_(ULONG,Release)(THIS) PURE;
267 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
268 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
273 #define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
274 #define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
275 #define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
276 #define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
277 #define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
280 EXTERN_C const IID IID_IOleInPlaceUIWindow;
281 #define INTERFACE IOleInPlaceUIWindow
282 DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
284 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
285 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
286 STDMETHOD_(ULONG,Release)(THIS) PURE;
287 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
288 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
289 STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
290 STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
291 STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
292 STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
296 EXTERN_C const IID IID_IOleInPlaceObject;
297 #define INTERFACE IOleInPlaceObject
298 DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
300 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
301 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
302 STDMETHOD_(ULONG,Release)(THIS) PURE;
303 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
304 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
305 STDMETHOD(InPlaceDeactivate)(THIS) PURE;
306 STDMETHOD(UIDeactivate)(THIS) PURE;
307 STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
308 STDMETHOD(ReactivateAndUndo)(THIS) PURE;
312 EXTERN_C const IID IID_IOleInPlaceActiveObject;
313 #define INTERFACE IOleInPlaceActiveObject
314 DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
316 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
317 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
318 STDMETHOD_(ULONG,Release)(THIS) PURE;
319 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
320 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
321 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
322 STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
323 STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
324 STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
325 STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
329 EXTERN_C const IID IID_IOleInPlaceFrame;
330 #define INTERFACE IOleInPlaceFrame
331 DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
333 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
334 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
335 STDMETHOD_(ULONG,Release)(THIS) PURE;
336 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
337 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
338 STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
339 STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
340 STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
341 STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
342 STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
343 STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
344 STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
345 STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
346 STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
347 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
352 #define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
353 #define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
354 #define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
355 #define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
356 #define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
357 #define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
358 #define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
359 #define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
360 #define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
361 #define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
362 #define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
363 #define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
364 #define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
365 #define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
366 #define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
369 EXTERN_C const IID IID_IOleInPlaceSite;
370 #define INTERFACE IOleInPlaceSite
371 DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
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(CanInPlaceActivate)(THIS) PURE;
379 STDMETHOD(OnInPlaceActivate)(THIS) PURE;
380 STDMETHOD(OnUIActivate)(THIS) PURE;
381 STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
382 STDMETHOD(Scroll)(THIS_ SIZE) PURE;
383 STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
384 STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
385 STDMETHOD(DiscardUndoState)(THIS) PURE;
386 STDMETHOD(DeactivateAndUndo)(THIS) PURE;
387 STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
391 EXTERN_C const IID IID_IOleAdviseHolder;
392 #define INTERFACE IOleAdviseHolder
393 DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
395 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
396 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
397 STDMETHOD_(ULONG,Release)(THIS) PURE;
398 STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
399 STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
400 STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
401 STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
402 STDMETHOD(SendOnSave)(THIS) PURE;
403 STDMETHOD(SendOnClose)(THIS) PURE;
408 #define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
409 #define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
410 #define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
411 #define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
412 #define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
413 #define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
414 #define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
415 #define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
416 #define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
419 EXTERN_C const IID IID_IDropSource;
420 #define INTERFACE IDropSource
421 DECLARE_INTERFACE_(IDropSource,IUnknown)
423 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
424 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
425 STDMETHOD_(ULONG,Release)(THIS) PURE;
426 STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
427 STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
432 #define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
433 #define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
434 #define IDropSource_Release(T) (T)->lpVtbl->Release(T)
435 #define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
436 #define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
439 EXTERN_C const IID IID_IDropTarget;
440 #define INTERFACE IDropTarget
441 DECLARE_INTERFACE_(IDropTarget,IUnknown)
443 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
444 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
445 STDMETHOD_(ULONG,Release)(THIS) PURE;
446 STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
447 STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
448 STDMETHOD(DragLeave)(THIS) PURE;
449 STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
454 #define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
455 #define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
456 #define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
457 #define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
458 #define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
459 #define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
460 #define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
463 typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
464 EXTERN_C const IID IID_IViewObject;
465 #define INTERFACE IViewObject
466 DECLARE_INTERFACE_(IViewObject,IUnknown)
468 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
469 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
470 STDMETHOD_(ULONG,Release)(THIS) PURE;
471 STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
472 STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
473 STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
474 STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
475 STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
476 STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
481 #define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
482 #define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
483 #define IViewObject_Release(T) (T)->lpVtbl->Release(T)
484 #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)
485 #define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
486 #define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
487 #define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
488 #define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
489 #define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
492 EXTERN_C const IID IID_IViewObject2;
493 #define INTERFACE IViewObject2
494 DECLARE_INTERFACE_(IViewObject2,IViewObject)
496 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
497 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
498 STDMETHOD_(ULONG,Release)(THIS) PURE;
499 STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
500 STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
501 STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
502 STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
503 STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
504 STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
505 STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
510 #define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
511 #define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
512 #define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
513 #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)
514 #define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
515 #define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
516 #define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
517 #define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
518 #define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
519 #define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
522 EXTERN_C const IID IID_IOleCache;
523 #define INTERFACE IOleCache
524 DECLARE_INTERFACE_(IOleCache,IUnknown)
526 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
527 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
528 STDMETHOD_(ULONG,Release)(THIS) PURE;
529 STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
530 STDMETHOD(Uncache)(THIS_ DWORD) PURE;
531 STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**);
532 STDMETHOD(InitCache)(THIS_ LPDATAOBJECT);
533 STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL);
538 #define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
539 #define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
540 #define IOleCache_Release(T) (T)->lpVtbl->Release(T)
541 #define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
542 #define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
543 #define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
544 #define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
545 #define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
548 EXTERN_C const IID IID_IOleCache2;
549 #define INTERFACE IOleCache2
550 DECLARE_INTERFACE_(IOleCache2,IOleCache)
552 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
553 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
554 STDMETHOD_(ULONG,Release)(THIS) PURE;
555 STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
556 STDMETHOD(Uncache)(THIS_ DWORD) PURE;
557 STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE;
558 STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE;
559 STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
560 STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE;
561 STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
566 #define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
567 #define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
568 #define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
569 #define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
570 #define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
571 #define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
572 #define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
573 #define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
574 #define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
575 #define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
578 EXTERN_C const IID IID_IOleCacheControl;
579 #define INTERFACE IOleCacheControl
580 DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
582 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
583 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
584 STDMETHOD_(ULONG,Release)(THIS) PURE;
585 STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
586 STDMETHOD(OnStop)(THIS) PURE;