Updated minor version number.
[wine/multimedia.git] / include / oleidl.h
blob11015bfef3594805183d6351c149bb1892840161
1 /*** Autogenerated by WIDL 0.1 from oleidl.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
5 #ifndef __WIDL_OLEIDL_H
6 #define __WIDL_OLEIDL_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <objidl.h>
11 typedef enum tagOLERENDER {
12 OLERENDER_NONE = 0,
13 OLERENDER_DRAW = 1,
14 OLERENDER_FORMAT = 2,
15 OLERENDER_ASIS = 3
16 } OLERENDER, *LPOLERENDER;
18 typedef struct tagOBJECTDESCRIPTOR {
19 ULONG cbSize;
20 CLSID clsid;
21 DWORD dwDrawAspect;
22 SIZEL sizel;
23 POINTL pointl;
24 DWORD dwStatus;
25 DWORD dwFullUserTypeName;
26 DWORD dwSrcOfCopy;
27 } OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
29 #ifndef __IOleWindow_FWD_DEFINED__
30 #define __IOleWindow_FWD_DEFINED__
31 typedef struct IOleWindow IOleWindow;
32 #endif
34 typedef IOleWindow *LPOLEWINDOW;
36 /*****************************************************************************
37 * IOleWindow interface
39 #ifndef __IOleWindow_INTERFACE_DEFINED__
40 #define __IOleWindow_INTERFACE_DEFINED__
42 DEFINE_GUID(IID_IOleWindow, 0x00000114, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
43 #if defined(__cplusplus) && !defined(CINTERFACE)
44 struct IOleWindow : public IUnknown
46 virtual HRESULT STDMETHODCALLTYPE GetWindow(
47 HWND* phwnd) = 0;
49 virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(
50 BOOL fEnterMode) = 0;
53 #else
54 typedef struct IOleWindowVtbl IOleWindowVtbl;
55 struct IOleWindow {
56 const IOleWindowVtbl* lpVtbl;
58 struct IOleWindowVtbl {
59 ICOM_MSVTABLE_COMPAT_FIELDS
61 /*** IUnknown methods ***/
62 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
63 IOleWindow* This,
64 REFIID riid,
65 void** ppvObject);
67 ULONG (STDMETHODCALLTYPE *AddRef)(
68 IOleWindow* This);
70 ULONG (STDMETHODCALLTYPE *Release)(
71 IOleWindow* This);
73 /*** IOleWindow methods ***/
74 HRESULT (STDMETHODCALLTYPE *GetWindow)(
75 IOleWindow* This,
76 HWND* phwnd);
78 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
79 IOleWindow* This,
80 BOOL fEnterMode);
84 /*** IUnknown methods ***/
85 #define IOleWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
86 #define IOleWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
87 #define IOleWindow_Release(p) (p)->lpVtbl->Release(p)
88 /*** IOleWindow methods ***/
89 #define IOleWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
90 #define IOleWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
92 #endif
94 #define IOleWindow_METHODS \
95 ICOM_MSVTABLE_COMPAT_FIELDS \
96 /*** IUnknown methods ***/ \
97 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
98 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
99 STDMETHOD_(ULONG,Release)(THIS) PURE; \
100 /*** IOleWindow methods ***/ \
101 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
102 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE;
104 HRESULT CALLBACK IOleWindow_GetWindow_Proxy(
105 IOleWindow* This,
106 HWND* phwnd);
107 void __RPC_STUB IOleWindow_GetWindow_Stub(
108 struct IRpcStubBuffer* This,
109 struct IRpcChannelBuffer* pRpcChannelBuffer,
110 PRPC_MESSAGE pRpcMessage,
111 DWORD* pdwStubPhase);
112 HRESULT CALLBACK IOleWindow_ContextSensitiveHelp_Proxy(
113 IOleWindow* This,
114 BOOL fEnterMode);
115 void __RPC_STUB IOleWindow_ContextSensitiveHelp_Stub(
116 struct IRpcStubBuffer* This,
117 struct IRpcChannelBuffer* pRpcChannelBuffer,
118 PRPC_MESSAGE pRpcMessage,
119 DWORD* pdwStubPhase);
121 #endif /* __IOleWindow_INTERFACE_DEFINED__ */
123 #ifndef __IOleInPlaceObject_FWD_DEFINED__
124 #define __IOleInPlaceObject_FWD_DEFINED__
125 typedef struct IOleInPlaceObject IOleInPlaceObject;
126 #endif
128 typedef IOleInPlaceObject *LPOLEINPLACEOBJECT;
130 /*****************************************************************************
131 * IOleInPlaceObject interface
133 #ifndef __IOleInPlaceObject_INTERFACE_DEFINED__
134 #define __IOleInPlaceObject_INTERFACE_DEFINED__
136 DEFINE_GUID(IID_IOleInPlaceObject, 0x00000113, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
137 #if defined(__cplusplus) && !defined(CINTERFACE)
138 struct IOleInPlaceObject : public IOleWindow
140 virtual HRESULT STDMETHODCALLTYPE InPlaceDeactivate(
141 ) = 0;
143 virtual HRESULT STDMETHODCALLTYPE UIDeactivate(
144 ) = 0;
146 virtual HRESULT STDMETHODCALLTYPE SetObjectRects(
147 LPCRECT lprcPosRect,
148 LPCRECT lprcClipRect) = 0;
150 virtual HRESULT STDMETHODCALLTYPE ReactivateAndUndo(
151 ) = 0;
154 #else
155 typedef struct IOleInPlaceObjectVtbl IOleInPlaceObjectVtbl;
156 struct IOleInPlaceObject {
157 const IOleInPlaceObjectVtbl* lpVtbl;
159 struct IOleInPlaceObjectVtbl {
160 ICOM_MSVTABLE_COMPAT_FIELDS
162 /*** IUnknown methods ***/
163 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
164 IOleInPlaceObject* This,
165 REFIID riid,
166 void** ppvObject);
168 ULONG (STDMETHODCALLTYPE *AddRef)(
169 IOleInPlaceObject* This);
171 ULONG (STDMETHODCALLTYPE *Release)(
172 IOleInPlaceObject* This);
174 /*** IOleWindow methods ***/
175 HRESULT (STDMETHODCALLTYPE *GetWindow)(
176 IOleInPlaceObject* This,
177 HWND* phwnd);
179 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
180 IOleInPlaceObject* This,
181 BOOL fEnterMode);
183 /*** IOleInPlaceObject methods ***/
184 HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
185 IOleInPlaceObject* This);
187 HRESULT (STDMETHODCALLTYPE *UIDeactivate)(
188 IOleInPlaceObject* This);
190 HRESULT (STDMETHODCALLTYPE *SetObjectRects)(
191 IOleInPlaceObject* This,
192 LPCRECT lprcPosRect,
193 LPCRECT lprcClipRect);
195 HRESULT (STDMETHODCALLTYPE *ReactivateAndUndo)(
196 IOleInPlaceObject* This);
200 /*** IUnknown methods ***/
201 #define IOleInPlaceObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
202 #define IOleInPlaceObject_AddRef(p) (p)->lpVtbl->AddRef(p)
203 #define IOleInPlaceObject_Release(p) (p)->lpVtbl->Release(p)
204 /*** IOleWindow methods ***/
205 #define IOleInPlaceObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
206 #define IOleInPlaceObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
207 /*** IOleInPlaceObject methods ***/
208 #define IOleInPlaceObject_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
209 #define IOleInPlaceObject_UIDeactivate(p) (p)->lpVtbl->UIDeactivate(p)
210 #define IOleInPlaceObject_SetObjectRects(p,a,b) (p)->lpVtbl->SetObjectRects(p,a,b)
211 #define IOleInPlaceObject_ReactivateAndUndo(p) (p)->lpVtbl->ReactivateAndUndo(p)
213 #endif
215 #define IOleInPlaceObject_METHODS \
216 ICOM_MSVTABLE_COMPAT_FIELDS \
217 /*** IUnknown methods ***/ \
218 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
219 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
220 STDMETHOD_(ULONG,Release)(THIS) PURE; \
221 /*** IOleWindow methods ***/ \
222 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
223 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
224 /*** IOleInPlaceObject methods ***/ \
225 STDMETHOD_(HRESULT,InPlaceDeactivate)(THIS) PURE; \
226 STDMETHOD_(HRESULT,UIDeactivate)(THIS) PURE; \
227 STDMETHOD_(HRESULT,SetObjectRects)(THIS_ LPCRECT lprcPosRect, LPCRECT lprcClipRect) PURE; \
228 STDMETHOD_(HRESULT,ReactivateAndUndo)(THIS) PURE;
230 HRESULT CALLBACK IOleInPlaceObject_InPlaceDeactivate_Proxy(
231 IOleInPlaceObject* This);
232 void __RPC_STUB IOleInPlaceObject_InPlaceDeactivate_Stub(
233 struct IRpcStubBuffer* This,
234 struct IRpcChannelBuffer* pRpcChannelBuffer,
235 PRPC_MESSAGE pRpcMessage,
236 DWORD* pdwStubPhase);
237 HRESULT CALLBACK IOleInPlaceObject_UIDeactivate_Proxy(
238 IOleInPlaceObject* This);
239 void __RPC_STUB IOleInPlaceObject_UIDeactivate_Stub(
240 struct IRpcStubBuffer* This,
241 struct IRpcChannelBuffer* pRpcChannelBuffer,
242 PRPC_MESSAGE pRpcMessage,
243 DWORD* pdwStubPhase);
244 HRESULT CALLBACK IOleInPlaceObject_SetObjectRects_Proxy(
245 IOleInPlaceObject* This,
246 LPCRECT lprcPosRect,
247 LPCRECT lprcClipRect);
248 void __RPC_STUB IOleInPlaceObject_SetObjectRects_Stub(
249 struct IRpcStubBuffer* This,
250 struct IRpcChannelBuffer* pRpcChannelBuffer,
251 PRPC_MESSAGE pRpcMessage,
252 DWORD* pdwStubPhase);
253 HRESULT CALLBACK IOleInPlaceObject_ReactivateAndUndo_Proxy(
254 IOleInPlaceObject* This);
255 void __RPC_STUB IOleInPlaceObject_ReactivateAndUndo_Stub(
256 struct IRpcStubBuffer* This,
257 struct IRpcChannelBuffer* pRpcChannelBuffer,
258 PRPC_MESSAGE pRpcMessage,
259 DWORD* pdwStubPhase);
261 #endif /* __IOleInPlaceObject_INTERFACE_DEFINED__ */
263 #ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
264 #define __IOleInPlaceUIWindow_FWD_DEFINED__
265 typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
266 #endif
268 #ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
269 #define __IOleInPlaceActiveObject_FWD_DEFINED__
270 typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
271 #endif
273 typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
275 struct tagMSG;
276 /*****************************************************************************
277 * IOleInPlaceActiveObject interface
279 #ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
280 #define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
282 DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
283 #if defined(__cplusplus) && !defined(CINTERFACE)
284 struct IOleInPlaceActiveObject : public IOleWindow
286 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
287 struct tagMSG {
288 HWND hwnd;
289 UINT message;
290 WPARAM wParam;
291 LPARAM lParam;
292 DWORD time;
293 POINT pt;
294 }* lpmsg) = 0;
296 virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
297 BOOL fActivate) = 0;
299 virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
300 BOOL fActivate) = 0;
302 virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
303 LPCRECT prcBorder,
304 IOleInPlaceUIWindow* pUIWindow,
305 BOOL fFrameWindow) = 0;
307 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
308 BOOL fEnable) = 0;
311 #else
312 typedef struct IOleInPlaceActiveObjectVtbl IOleInPlaceActiveObjectVtbl;
313 struct IOleInPlaceActiveObject {
314 const IOleInPlaceActiveObjectVtbl* lpVtbl;
316 struct IOleInPlaceActiveObjectVtbl {
317 ICOM_MSVTABLE_COMPAT_FIELDS
319 /*** IUnknown methods ***/
320 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
321 IOleInPlaceActiveObject* This,
322 REFIID riid,
323 void** ppvObject);
325 ULONG (STDMETHODCALLTYPE *AddRef)(
326 IOleInPlaceActiveObject* This);
328 ULONG (STDMETHODCALLTYPE *Release)(
329 IOleInPlaceActiveObject* This);
331 /*** IOleWindow methods ***/
332 HRESULT (STDMETHODCALLTYPE *GetWindow)(
333 IOleInPlaceActiveObject* This,
334 HWND* phwnd);
336 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
337 IOleInPlaceActiveObject* This,
338 BOOL fEnterMode);
340 /*** IOleInPlaceActiveObject methods ***/
341 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
342 IOleInPlaceActiveObject* This,
343 struct tagMSG* lpmsg);
345 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
346 IOleInPlaceActiveObject* This,
347 BOOL fActivate);
349 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
350 IOleInPlaceActiveObject* This,
351 BOOL fActivate);
353 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
354 IOleInPlaceActiveObject* This,
355 LPCRECT prcBorder,
356 IOleInPlaceUIWindow* pUIWindow,
357 BOOL fFrameWindow);
359 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
360 IOleInPlaceActiveObject* This,
361 BOOL fEnable);
365 /*** IUnknown methods ***/
366 #define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
367 #define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
368 #define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
369 /*** IOleWindow methods ***/
370 #define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
371 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
372 /*** IOleInPlaceActiveObject methods ***/
373 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
374 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
375 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
376 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
377 #define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
379 #endif
381 #define IOleInPlaceActiveObject_METHODS \
382 ICOM_MSVTABLE_COMPAT_FIELDS \
383 /*** IUnknown methods ***/ \
384 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
385 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
386 STDMETHOD_(ULONG,Release)(THIS) PURE; \
387 /*** IOleWindow methods ***/ \
388 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
389 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
390 /*** IOleInPlaceActiveObject methods ***/ \
391 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ struct tagMSG* lpmsg) PURE; \
392 STDMETHOD_(HRESULT,OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
393 STDMETHOD_(HRESULT,OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
394 STDMETHOD_(HRESULT,ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow) PURE; \
395 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE;
397 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
398 IOleInPlaceActiveObject* This);
399 void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
400 struct IRpcStubBuffer* This,
401 struct IRpcChannelBuffer* pRpcChannelBuffer,
402 PRPC_MESSAGE pRpcMessage,
403 DWORD* pdwStubPhase);
404 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
405 IOleInPlaceActiveObject* This,
406 struct tagMSG* lpmsg);
407 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
408 IOleInPlaceActiveObject* This);
409 HRESULT CALLBACK IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(
410 IOleInPlaceActiveObject* This,
411 BOOL fActivate);
412 void __RPC_STUB IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(
413 struct IRpcStubBuffer* This,
414 struct IRpcChannelBuffer* pRpcChannelBuffer,
415 PRPC_MESSAGE pRpcMessage,
416 DWORD* pdwStubPhase);
417 HRESULT CALLBACK IOleInPlaceActiveObject_OnDocWindowActivate_Proxy(
418 IOleInPlaceActiveObject* This,
419 BOOL fActivate);
420 void __RPC_STUB IOleInPlaceActiveObject_OnDocWindowActivate_Stub(
421 struct IRpcStubBuffer* This,
422 struct IRpcChannelBuffer* pRpcChannelBuffer,
423 PRPC_MESSAGE pRpcMessage,
424 DWORD* pdwStubPhase);
425 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
426 IOleInPlaceActiveObject* This,
427 LPCRECT prcBorder,
428 REFIID riid,
429 IOleInPlaceUIWindow* pUIWindow,
430 BOOL fFrameWindow);
431 void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
432 struct IRpcStubBuffer* This,
433 struct IRpcChannelBuffer* pRpcChannelBuffer,
434 PRPC_MESSAGE pRpcMessage,
435 DWORD* pdwStubPhase);
436 HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy(
437 IOleInPlaceActiveObject* This,
438 LPCRECT prcBorder,
439 IOleInPlaceUIWindow* pUIWindow,
440 BOOL fFrameWindow);
441 HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub(
442 IOleInPlaceActiveObject* This,
443 LPCRECT prcBorder,
444 REFIID riid,
445 IOleInPlaceUIWindow* pUIWindow,
446 BOOL fFrameWindow);
447 HRESULT CALLBACK IOleInPlaceActiveObject_EnableModeless_Proxy(
448 IOleInPlaceActiveObject* This,
449 BOOL fEnable);
450 void __RPC_STUB IOleInPlaceActiveObject_EnableModeless_Stub(
451 struct IRpcStubBuffer* This,
452 struct IRpcChannelBuffer* pRpcChannelBuffer,
453 PRPC_MESSAGE pRpcMessage,
454 DWORD* pdwStubPhase);
456 #endif /* __IOleInPlaceActiveObject_INTERFACE_DEFINED__ */
458 typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
460 typedef RECT BORDERWIDTHS;
462 typedef LPRECT LPBORDERWIDTHS;
464 typedef LPCRECT LPCBORDERWIDTHS;
466 /*****************************************************************************
467 * IOleInPlaceUIWindow interface
469 #ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
470 #define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
472 DEFINE_GUID(IID_IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
473 #if defined(__cplusplus) && !defined(CINTERFACE)
474 struct IOleInPlaceUIWindow : public IOleWindow
476 virtual HRESULT STDMETHODCALLTYPE GetBorder(
477 LPRECT lprectBorder) = 0;
479 virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(
480 LPCBORDERWIDTHS pborderwidths) = 0;
482 virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(
483 LPCBORDERWIDTHS pborderwidths) = 0;
485 virtual HRESULT STDMETHODCALLTYPE SetActiveObject(
486 IOleInPlaceActiveObject* pActiveObject,
487 LPCOLESTR pszObjName) = 0;
490 #else
491 typedef struct IOleInPlaceUIWindowVtbl IOleInPlaceUIWindowVtbl;
492 struct IOleInPlaceUIWindow {
493 const IOleInPlaceUIWindowVtbl* lpVtbl;
495 struct IOleInPlaceUIWindowVtbl {
496 ICOM_MSVTABLE_COMPAT_FIELDS
498 /*** IUnknown methods ***/
499 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
500 IOleInPlaceUIWindow* This,
501 REFIID riid,
502 void** ppvObject);
504 ULONG (STDMETHODCALLTYPE *AddRef)(
505 IOleInPlaceUIWindow* This);
507 ULONG (STDMETHODCALLTYPE *Release)(
508 IOleInPlaceUIWindow* This);
510 /*** IOleWindow methods ***/
511 HRESULT (STDMETHODCALLTYPE *GetWindow)(
512 IOleInPlaceUIWindow* This,
513 HWND* phwnd);
515 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
516 IOleInPlaceUIWindow* This,
517 BOOL fEnterMode);
519 /*** IOleInPlaceUIWindow methods ***/
520 HRESULT (STDMETHODCALLTYPE *GetBorder)(
521 IOleInPlaceUIWindow* This,
522 LPRECT lprectBorder);
524 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
525 IOleInPlaceUIWindow* This,
526 LPCBORDERWIDTHS pborderwidths);
528 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
529 IOleInPlaceUIWindow* This,
530 LPCBORDERWIDTHS pborderwidths);
532 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
533 IOleInPlaceUIWindow* This,
534 IOleInPlaceActiveObject* pActiveObject,
535 LPCOLESTR pszObjName);
539 /*** IUnknown methods ***/
540 #define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
541 #define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
542 #define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
543 /*** IOleWindow methods ***/
544 #define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
545 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
546 /*** IOleInPlaceUIWindow methods ***/
547 #define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
548 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
549 #define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
550 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
552 #endif
554 #define IOleInPlaceUIWindow_METHODS \
555 ICOM_MSVTABLE_COMPAT_FIELDS \
556 /*** IUnknown methods ***/ \
557 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
558 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
559 STDMETHOD_(ULONG,Release)(THIS) PURE; \
560 /*** IOleWindow methods ***/ \
561 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
562 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
563 /*** IOleInPlaceUIWindow methods ***/ \
564 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
565 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
566 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
567 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE;
569 HRESULT CALLBACK IOleInPlaceUIWindow_GetBorder_Proxy(
570 IOleInPlaceUIWindow* This,
571 LPRECT lprectBorder);
572 void __RPC_STUB IOleInPlaceUIWindow_GetBorder_Stub(
573 struct IRpcStubBuffer* This,
574 struct IRpcChannelBuffer* pRpcChannelBuffer,
575 PRPC_MESSAGE pRpcMessage,
576 DWORD* pdwStubPhase);
577 HRESULT CALLBACK IOleInPlaceUIWindow_RequestBorderSpace_Proxy(
578 IOleInPlaceUIWindow* This,
579 LPCBORDERWIDTHS pborderwidths);
580 void __RPC_STUB IOleInPlaceUIWindow_RequestBorderSpace_Stub(
581 struct IRpcStubBuffer* This,
582 struct IRpcChannelBuffer* pRpcChannelBuffer,
583 PRPC_MESSAGE pRpcMessage,
584 DWORD* pdwStubPhase);
585 HRESULT CALLBACK IOleInPlaceUIWindow_SetBorderSpace_Proxy(
586 IOleInPlaceUIWindow* This,
587 LPCBORDERWIDTHS pborderwidths);
588 void __RPC_STUB IOleInPlaceUIWindow_SetBorderSpace_Stub(
589 struct IRpcStubBuffer* This,
590 struct IRpcChannelBuffer* pRpcChannelBuffer,
591 PRPC_MESSAGE pRpcMessage,
592 DWORD* pdwStubPhase);
593 HRESULT CALLBACK IOleInPlaceUIWindow_SetActiveObject_Proxy(
594 IOleInPlaceUIWindow* This,
595 IOleInPlaceActiveObject* pActiveObject,
596 LPCOLESTR pszObjName);
597 void __RPC_STUB IOleInPlaceUIWindow_SetActiveObject_Stub(
598 struct IRpcStubBuffer* This,
599 struct IRpcChannelBuffer* pRpcChannelBuffer,
600 PRPC_MESSAGE pRpcMessage,
601 DWORD* pdwStubPhase);
603 #endif /* __IOleInPlaceUIWindow_INTERFACE_DEFINED__ */
605 #ifndef __IOleInPlaceFrame_FWD_DEFINED__
606 #define __IOleInPlaceFrame_FWD_DEFINED__
607 typedef struct IOleInPlaceFrame IOleInPlaceFrame;
608 #endif
610 typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
612 typedef struct tagOleInPlaceFrameInfo {
613 UINT cb;
614 BOOL fMDIApp;
615 HWND hwndFrame;
616 HACCEL haccel;
617 UINT cAccelEntries;
618 } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
620 typedef struct tagOleMenuGroupWidths {
621 LONG width[6];
622 } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
624 typedef HGLOBAL HOLEMENU;
626 /*****************************************************************************
627 * IOleInPlaceFrame interface
629 #ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
630 #define __IOleInPlaceFrame_INTERFACE_DEFINED__
632 DEFINE_GUID(IID_IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
633 #if defined(__cplusplus) && !defined(CINTERFACE)
634 struct IOleInPlaceFrame : public IOleInPlaceUIWindow
636 virtual HRESULT STDMETHODCALLTYPE InsertMenus(
637 HMENU hmenuShared,
638 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
640 virtual HRESULT STDMETHODCALLTYPE SetMenu(
641 HMENU hmenuShared,
642 HOLEMENU holemenu,
643 HWND hwndActiveObject) = 0;
645 virtual HRESULT STDMETHODCALLTYPE RemoveMenus(
646 HMENU hmenuShared) = 0;
648 virtual HRESULT STDMETHODCALLTYPE SetStatusText(
649 LPCOLESTR pszStatusText) = 0;
651 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
652 BOOL fEnable) = 0;
654 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
655 struct tagMSG* lpmsg,
656 WORD wID) = 0;
659 #else
660 typedef struct IOleInPlaceFrameVtbl IOleInPlaceFrameVtbl;
661 struct IOleInPlaceFrame {
662 const IOleInPlaceFrameVtbl* lpVtbl;
664 struct IOleInPlaceFrameVtbl {
665 ICOM_MSVTABLE_COMPAT_FIELDS
667 /*** IUnknown methods ***/
668 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
669 IOleInPlaceFrame* This,
670 REFIID riid,
671 void** ppvObject);
673 ULONG (STDMETHODCALLTYPE *AddRef)(
674 IOleInPlaceFrame* This);
676 ULONG (STDMETHODCALLTYPE *Release)(
677 IOleInPlaceFrame* This);
679 /*** IOleWindow methods ***/
680 HRESULT (STDMETHODCALLTYPE *GetWindow)(
681 IOleInPlaceFrame* This,
682 HWND* phwnd);
684 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
685 IOleInPlaceFrame* This,
686 BOOL fEnterMode);
688 /*** IOleInPlaceUIWindow methods ***/
689 HRESULT (STDMETHODCALLTYPE *GetBorder)(
690 IOleInPlaceFrame* This,
691 LPRECT lprectBorder);
693 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
694 IOleInPlaceFrame* This,
695 LPCBORDERWIDTHS pborderwidths);
697 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
698 IOleInPlaceFrame* This,
699 LPCBORDERWIDTHS pborderwidths);
701 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
702 IOleInPlaceFrame* This,
703 IOleInPlaceActiveObject* pActiveObject,
704 LPCOLESTR pszObjName);
706 /*** IOleInPlaceFrame methods ***/
707 HRESULT (STDMETHODCALLTYPE *InsertMenus)(
708 IOleInPlaceFrame* This,
709 HMENU hmenuShared,
710 LPOLEMENUGROUPWIDTHS lpMenuWidths);
712 HRESULT (STDMETHODCALLTYPE *SetMenu)(
713 IOleInPlaceFrame* This,
714 HMENU hmenuShared,
715 HOLEMENU holemenu,
716 HWND hwndActiveObject);
718 HRESULT (STDMETHODCALLTYPE *RemoveMenus)(
719 IOleInPlaceFrame* This,
720 HMENU hmenuShared);
722 HRESULT (STDMETHODCALLTYPE *SetStatusText)(
723 IOleInPlaceFrame* This,
724 LPCOLESTR pszStatusText);
726 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
727 IOleInPlaceFrame* This,
728 BOOL fEnable);
730 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
731 IOleInPlaceFrame* This,
732 struct tagMSG* lpmsg,
733 WORD wID);
737 /*** IUnknown methods ***/
738 #define IOleInPlaceFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
739 #define IOleInPlaceFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
740 #define IOleInPlaceFrame_Release(p) (p)->lpVtbl->Release(p)
741 /*** IOleWindow methods ***/
742 #define IOleInPlaceFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
743 #define IOleInPlaceFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
744 /*** IOleInPlaceUIWindow methods ***/
745 #define IOleInPlaceFrame_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
746 #define IOleInPlaceFrame_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
747 #define IOleInPlaceFrame_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
748 #define IOleInPlaceFrame_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
749 /*** IOleInPlaceFrame methods ***/
750 #define IOleInPlaceFrame_InsertMenus(p,a,b) (p)->lpVtbl->InsertMenus(p,a,b)
751 #define IOleInPlaceFrame_SetMenu(p,a,b,c) (p)->lpVtbl->SetMenu(p,a,b,c)
752 #define IOleInPlaceFrame_RemoveMenus(p,a) (p)->lpVtbl->RemoveMenus(p,a)
753 #define IOleInPlaceFrame_SetStatusText(p,a) (p)->lpVtbl->SetStatusText(p,a)
754 #define IOleInPlaceFrame_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
755 #define IOleInPlaceFrame_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
757 #endif
759 #define IOleInPlaceFrame_METHODS \
760 ICOM_MSVTABLE_COMPAT_FIELDS \
761 /*** IUnknown methods ***/ \
762 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
763 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
764 STDMETHOD_(ULONG,Release)(THIS) PURE; \
765 /*** IOleWindow methods ***/ \
766 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
767 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
768 /*** IOleInPlaceUIWindow methods ***/ \
769 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
770 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
771 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
772 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE; \
773 /*** IOleInPlaceFrame methods ***/ \
774 STDMETHOD_(HRESULT,InsertMenus)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
775 STDMETHOD_(HRESULT,SetMenu)(THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
776 STDMETHOD_(HRESULT,RemoveMenus)(THIS_ HMENU hmenuShared) PURE; \
777 STDMETHOD_(HRESULT,SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
778 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
779 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ struct tagMSG* lpmsg, WORD wID) PURE;
781 HRESULT CALLBACK IOleInPlaceFrame_InsertMenus_Proxy(
782 IOleInPlaceFrame* This,
783 HMENU hmenuShared,
784 LPOLEMENUGROUPWIDTHS lpMenuWidths);
785 void __RPC_STUB IOleInPlaceFrame_InsertMenus_Stub(
786 struct IRpcStubBuffer* This,
787 struct IRpcChannelBuffer* pRpcChannelBuffer,
788 PRPC_MESSAGE pRpcMessage,
789 DWORD* pdwStubPhase);
790 HRESULT CALLBACK IOleInPlaceFrame_SetMenu_Proxy(
791 IOleInPlaceFrame* This,
792 HMENU hmenuShared,
793 HOLEMENU holemenu,
794 HWND hwndActiveObject);
795 void __RPC_STUB IOleInPlaceFrame_SetMenu_Stub(
796 struct IRpcStubBuffer* This,
797 struct IRpcChannelBuffer* pRpcChannelBuffer,
798 PRPC_MESSAGE pRpcMessage,
799 DWORD* pdwStubPhase);
800 HRESULT CALLBACK IOleInPlaceFrame_RemoveMenus_Proxy(
801 IOleInPlaceFrame* This,
802 HMENU hmenuShared);
803 void __RPC_STUB IOleInPlaceFrame_RemoveMenus_Stub(
804 struct IRpcStubBuffer* This,
805 struct IRpcChannelBuffer* pRpcChannelBuffer,
806 PRPC_MESSAGE pRpcMessage,
807 DWORD* pdwStubPhase);
808 HRESULT CALLBACK IOleInPlaceFrame_SetStatusText_Proxy(
809 IOleInPlaceFrame* This,
810 LPCOLESTR pszStatusText);
811 void __RPC_STUB IOleInPlaceFrame_SetStatusText_Stub(
812 struct IRpcStubBuffer* This,
813 struct IRpcChannelBuffer* pRpcChannelBuffer,
814 PRPC_MESSAGE pRpcMessage,
815 DWORD* pdwStubPhase);
816 HRESULT CALLBACK IOleInPlaceFrame_EnableModeless_Proxy(
817 IOleInPlaceFrame* This,
818 BOOL fEnable);
819 void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(
820 struct IRpcStubBuffer* This,
821 struct IRpcChannelBuffer* pRpcChannelBuffer,
822 PRPC_MESSAGE pRpcMessage,
823 DWORD* pdwStubPhase);
824 HRESULT CALLBACK IOleInPlaceFrame_TranslateAccelerator_Proxy(
825 IOleInPlaceFrame* This,
826 struct tagMSG* lpmsg,
827 WORD wID);
828 void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(
829 struct IRpcStubBuffer* This,
830 struct IRpcChannelBuffer* pRpcChannelBuffer,
831 PRPC_MESSAGE pRpcMessage,
832 DWORD* pdwStubPhase);
834 #endif /* __IOleInPlaceFrame_INTERFACE_DEFINED__ */
836 #ifndef __IOleInPlaceSite_FWD_DEFINED__
837 #define __IOleInPlaceSite_FWD_DEFINED__
838 typedef struct IOleInPlaceSite IOleInPlaceSite;
839 #endif
841 typedef IOleInPlaceSite *LPOLEINPLACESITE;
843 /*****************************************************************************
844 * IOleInPlaceSite interface
846 #ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
847 #define __IOleInPlaceSite_INTERFACE_DEFINED__
849 DEFINE_GUID(IID_IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
850 #if defined(__cplusplus) && !defined(CINTERFACE)
851 struct IOleInPlaceSite : public IOleWindow
853 virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate(
854 ) = 0;
856 virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate(
857 ) = 0;
859 virtual HRESULT STDMETHODCALLTYPE OnUIActivate(
860 ) = 0;
862 virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
863 IOleInPlaceFrame** ppFrame,
864 IOleInPlaceUIWindow** ppDoc,
865 LPRECT lprcPosRect,
866 LPRECT lprcClipRect,
867 LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
869 virtual HRESULT STDMETHODCALLTYPE Scroll(
870 SIZE scrollExtant) = 0;
872 virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(
873 BOOL fUndoable) = 0;
875 virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(
876 ) = 0;
878 virtual HRESULT STDMETHODCALLTYPE DiscardUndoState(
879 ) = 0;
881 virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo(
882 ) = 0;
884 virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(
885 LPCRECT lprcPosRect) = 0;
888 #else
889 typedef struct IOleInPlaceSiteVtbl IOleInPlaceSiteVtbl;
890 struct IOleInPlaceSite {
891 const IOleInPlaceSiteVtbl* lpVtbl;
893 struct IOleInPlaceSiteVtbl {
894 ICOM_MSVTABLE_COMPAT_FIELDS
896 /*** IUnknown methods ***/
897 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
898 IOleInPlaceSite* This,
899 REFIID riid,
900 void** ppvObject);
902 ULONG (STDMETHODCALLTYPE *AddRef)(
903 IOleInPlaceSite* This);
905 ULONG (STDMETHODCALLTYPE *Release)(
906 IOleInPlaceSite* This);
908 /*** IOleWindow methods ***/
909 HRESULT (STDMETHODCALLTYPE *GetWindow)(
910 IOleInPlaceSite* This,
911 HWND* phwnd);
913 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
914 IOleInPlaceSite* This,
915 BOOL fEnterMode);
917 /*** IOleInPlaceSite methods ***/
918 HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
919 IOleInPlaceSite* This);
921 HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
922 IOleInPlaceSite* This);
924 HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
925 IOleInPlaceSite* This);
927 HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
928 IOleInPlaceSite* This,
929 IOleInPlaceFrame** ppFrame,
930 IOleInPlaceUIWindow** ppDoc,
931 LPRECT lprcPosRect,
932 LPRECT lprcClipRect,
933 LPOLEINPLACEFRAMEINFO lpFrameInfo);
935 HRESULT (STDMETHODCALLTYPE *Scroll)(
936 IOleInPlaceSite* This,
937 SIZE scrollExtant);
939 HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
940 IOleInPlaceSite* This,
941 BOOL fUndoable);
943 HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
944 IOleInPlaceSite* This);
946 HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
947 IOleInPlaceSite* This);
949 HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
950 IOleInPlaceSite* This);
952 HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
953 IOleInPlaceSite* This,
954 LPCRECT lprcPosRect);
958 /*** IUnknown methods ***/
959 #define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
960 #define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
961 #define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
962 /*** IOleWindow methods ***/
963 #define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
964 #define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
965 /*** IOleInPlaceSite methods ***/
966 #define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
967 #define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
968 #define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
969 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
970 #define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
971 #define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
972 #define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
973 #define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
974 #define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
975 #define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
977 #endif
979 #define IOleInPlaceSite_METHODS \
980 ICOM_MSVTABLE_COMPAT_FIELDS \
981 /*** IUnknown methods ***/ \
982 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
983 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
984 STDMETHOD_(ULONG,Release)(THIS) PURE; \
985 /*** IOleWindow methods ***/ \
986 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
987 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
988 /*** IOleInPlaceSite methods ***/ \
989 STDMETHOD_(HRESULT,CanInPlaceActivate)(THIS) PURE; \
990 STDMETHOD_(HRESULT,OnInPlaceActivate)(THIS) PURE; \
991 STDMETHOD_(HRESULT,OnUIActivate)(THIS) PURE; \
992 STDMETHOD_(HRESULT,GetWindowContext)(THIS_ IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
993 STDMETHOD_(HRESULT,Scroll)(THIS_ SIZE scrollExtant) PURE; \
994 STDMETHOD_(HRESULT,OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
995 STDMETHOD_(HRESULT,OnInPlaceDeactivate)(THIS) PURE; \
996 STDMETHOD_(HRESULT,DiscardUndoState)(THIS) PURE; \
997 STDMETHOD_(HRESULT,DeactivateAndUndo)(THIS) PURE; \
998 STDMETHOD_(HRESULT,OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
1000 HRESULT CALLBACK IOleInPlaceSite_CanInPlaceActivate_Proxy(
1001 IOleInPlaceSite* This);
1002 void __RPC_STUB IOleInPlaceSite_CanInPlaceActivate_Stub(
1003 struct IRpcStubBuffer* This,
1004 struct IRpcChannelBuffer* pRpcChannelBuffer,
1005 PRPC_MESSAGE pRpcMessage,
1006 DWORD* pdwStubPhase);
1007 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceActivate_Proxy(
1008 IOleInPlaceSite* This);
1009 void __RPC_STUB IOleInPlaceSite_OnInPlaceActivate_Stub(
1010 struct IRpcStubBuffer* This,
1011 struct IRpcChannelBuffer* pRpcChannelBuffer,
1012 PRPC_MESSAGE pRpcMessage,
1013 DWORD* pdwStubPhase);
1014 HRESULT CALLBACK IOleInPlaceSite_OnUIActivate_Proxy(
1015 IOleInPlaceSite* This);
1016 void __RPC_STUB IOleInPlaceSite_OnUIActivate_Stub(
1017 struct IRpcStubBuffer* This,
1018 struct IRpcChannelBuffer* pRpcChannelBuffer,
1019 PRPC_MESSAGE pRpcMessage,
1020 DWORD* pdwStubPhase);
1021 HRESULT CALLBACK IOleInPlaceSite_GetWindowContext_Proxy(
1022 IOleInPlaceSite* This,
1023 IOleInPlaceFrame** ppFrame,
1024 IOleInPlaceUIWindow** ppDoc,
1025 LPRECT lprcPosRect,
1026 LPRECT lprcClipRect,
1027 LPOLEINPLACEFRAMEINFO lpFrameInfo);
1028 void __RPC_STUB IOleInPlaceSite_GetWindowContext_Stub(
1029 struct IRpcStubBuffer* This,
1030 struct IRpcChannelBuffer* pRpcChannelBuffer,
1031 PRPC_MESSAGE pRpcMessage,
1032 DWORD* pdwStubPhase);
1033 HRESULT CALLBACK IOleInPlaceSite_Scroll_Proxy(
1034 IOleInPlaceSite* This,
1035 SIZE scrollExtant);
1036 void __RPC_STUB IOleInPlaceSite_Scroll_Stub(
1037 struct IRpcStubBuffer* This,
1038 struct IRpcChannelBuffer* pRpcChannelBuffer,
1039 PRPC_MESSAGE pRpcMessage,
1040 DWORD* pdwStubPhase);
1041 HRESULT CALLBACK IOleInPlaceSite_OnUIDeactivate_Proxy(
1042 IOleInPlaceSite* This,
1043 BOOL fUndoable);
1044 void __RPC_STUB IOleInPlaceSite_OnUIDeactivate_Stub(
1045 struct IRpcStubBuffer* This,
1046 struct IRpcChannelBuffer* pRpcChannelBuffer,
1047 PRPC_MESSAGE pRpcMessage,
1048 DWORD* pdwStubPhase);
1049 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceDeactivate_Proxy(
1050 IOleInPlaceSite* This);
1051 void __RPC_STUB IOleInPlaceSite_OnInPlaceDeactivate_Stub(
1052 struct IRpcStubBuffer* This,
1053 struct IRpcChannelBuffer* pRpcChannelBuffer,
1054 PRPC_MESSAGE pRpcMessage,
1055 DWORD* pdwStubPhase);
1056 HRESULT CALLBACK IOleInPlaceSite_DiscardUndoState_Proxy(
1057 IOleInPlaceSite* This);
1058 void __RPC_STUB IOleInPlaceSite_DiscardUndoState_Stub(
1059 struct IRpcStubBuffer* This,
1060 struct IRpcChannelBuffer* pRpcChannelBuffer,
1061 PRPC_MESSAGE pRpcMessage,
1062 DWORD* pdwStubPhase);
1063 HRESULT CALLBACK IOleInPlaceSite_DeactivateAndUndo_Proxy(
1064 IOleInPlaceSite* This);
1065 void __RPC_STUB IOleInPlaceSite_DeactivateAndUndo_Stub(
1066 struct IRpcStubBuffer* This,
1067 struct IRpcChannelBuffer* pRpcChannelBuffer,
1068 PRPC_MESSAGE pRpcMessage,
1069 DWORD* pdwStubPhase);
1070 HRESULT CALLBACK IOleInPlaceSite_OnPosRectChange_Proxy(
1071 IOleInPlaceSite* This,
1072 LPCRECT lprcPosRect);
1073 void __RPC_STUB IOleInPlaceSite_OnPosRectChange_Stub(
1074 struct IRpcStubBuffer* This,
1075 struct IRpcChannelBuffer* pRpcChannelBuffer,
1076 PRPC_MESSAGE pRpcMessage,
1077 DWORD* pdwStubPhase);
1079 #endif /* __IOleInPlaceSite_INTERFACE_DEFINED__ */
1081 #ifndef __IParseDisplayName_FWD_DEFINED__
1082 #define __IParseDisplayName_FWD_DEFINED__
1083 typedef struct IParseDisplayName IParseDisplayName;
1084 #endif
1086 typedef IParseDisplayName *LPPARSEDISPLAYNAME;
1088 /*****************************************************************************
1089 * IParseDisplayName interface
1091 #ifndef __IParseDisplayName_INTERFACE_DEFINED__
1092 #define __IParseDisplayName_INTERFACE_DEFINED__
1094 DEFINE_GUID(IID_IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1095 #if defined(__cplusplus) && !defined(CINTERFACE)
1096 struct IParseDisplayName : public IUnknown
1098 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
1099 IBindCtx* pbc,
1100 LPOLESTR pszDisplayName,
1101 ULONG* pchEaten,
1102 IMoniker** ppmkOut) = 0;
1105 #else
1106 typedef struct IParseDisplayNameVtbl IParseDisplayNameVtbl;
1107 struct IParseDisplayName {
1108 const IParseDisplayNameVtbl* lpVtbl;
1110 struct IParseDisplayNameVtbl {
1111 ICOM_MSVTABLE_COMPAT_FIELDS
1113 /*** IUnknown methods ***/
1114 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1115 IParseDisplayName* This,
1116 REFIID riid,
1117 void** ppvObject);
1119 ULONG (STDMETHODCALLTYPE *AddRef)(
1120 IParseDisplayName* This);
1122 ULONG (STDMETHODCALLTYPE *Release)(
1123 IParseDisplayName* This);
1125 /*** IParseDisplayName methods ***/
1126 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1127 IParseDisplayName* This,
1128 IBindCtx* pbc,
1129 LPOLESTR pszDisplayName,
1130 ULONG* pchEaten,
1131 IMoniker** ppmkOut);
1135 /*** IUnknown methods ***/
1136 #define IParseDisplayName_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1137 #define IParseDisplayName_AddRef(p) (p)->lpVtbl->AddRef(p)
1138 #define IParseDisplayName_Release(p) (p)->lpVtbl->Release(p)
1139 /*** IParseDisplayName methods ***/
1140 #define IParseDisplayName_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1142 #endif
1144 #define IParseDisplayName_METHODS \
1145 ICOM_MSVTABLE_COMPAT_FIELDS \
1146 /*** IUnknown methods ***/ \
1147 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1148 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1149 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1150 /*** IParseDisplayName methods ***/ \
1151 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE;
1153 HRESULT CALLBACK IParseDisplayName_ParseDisplayName_Proxy(
1154 IParseDisplayName* This,
1155 IBindCtx* pbc,
1156 LPOLESTR pszDisplayName,
1157 ULONG* pchEaten,
1158 IMoniker** ppmkOut);
1159 void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(
1160 struct IRpcStubBuffer* This,
1161 struct IRpcChannelBuffer* pRpcChannelBuffer,
1162 PRPC_MESSAGE pRpcMessage,
1163 DWORD* pdwStubPhase);
1165 #endif /* __IParseDisplayName_INTERFACE_DEFINED__ */
1167 #ifndef __IOleContainer_FWD_DEFINED__
1168 #define __IOleContainer_FWD_DEFINED__
1169 typedef struct IOleContainer IOleContainer;
1170 #endif
1172 typedef IOleContainer *LPOLECONTAINER;
1174 /*****************************************************************************
1175 * IOleContainer interface
1177 #ifndef __IOleContainer_INTERFACE_DEFINED__
1178 #define __IOleContainer_INTERFACE_DEFINED__
1180 DEFINE_GUID(IID_IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1181 #if defined(__cplusplus) && !defined(CINTERFACE)
1182 struct IOleContainer : public IParseDisplayName
1184 virtual HRESULT STDMETHODCALLTYPE EnumObjects(
1185 DWORD grfFlags,
1186 IEnumUnknown** ppenum) = 0;
1188 virtual HRESULT STDMETHODCALLTYPE LockContainer(
1189 BOOL fLock) = 0;
1192 #else
1193 typedef struct IOleContainerVtbl IOleContainerVtbl;
1194 struct IOleContainer {
1195 const IOleContainerVtbl* lpVtbl;
1197 struct IOleContainerVtbl {
1198 ICOM_MSVTABLE_COMPAT_FIELDS
1200 /*** IUnknown methods ***/
1201 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1202 IOleContainer* This,
1203 REFIID riid,
1204 void** ppvObject);
1206 ULONG (STDMETHODCALLTYPE *AddRef)(
1207 IOleContainer* This);
1209 ULONG (STDMETHODCALLTYPE *Release)(
1210 IOleContainer* This);
1212 /*** IParseDisplayName methods ***/
1213 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1214 IOleContainer* This,
1215 IBindCtx* pbc,
1216 LPOLESTR pszDisplayName,
1217 ULONG* pchEaten,
1218 IMoniker** ppmkOut);
1220 /*** IOleContainer methods ***/
1221 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1222 IOleContainer* This,
1223 DWORD grfFlags,
1224 IEnumUnknown** ppenum);
1226 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1227 IOleContainer* This,
1228 BOOL fLock);
1232 /*** IUnknown methods ***/
1233 #define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1234 #define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1235 #define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
1236 /*** IParseDisplayName methods ***/
1237 #define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1238 /*** IOleContainer methods ***/
1239 #define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1240 #define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1242 #endif
1244 #define IOleContainer_METHODS \
1245 ICOM_MSVTABLE_COMPAT_FIELDS \
1246 /*** IUnknown methods ***/ \
1247 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1248 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1249 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1250 /*** IParseDisplayName methods ***/ \
1251 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1252 /*** IOleContainer methods ***/ \
1253 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1254 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE;
1256 HRESULT CALLBACK IOleContainer_EnumObjects_Proxy(
1257 IOleContainer* This,
1258 DWORD grfFlags,
1259 IEnumUnknown** ppenum);
1260 void __RPC_STUB IOleContainer_EnumObjects_Stub(
1261 struct IRpcStubBuffer* This,
1262 struct IRpcChannelBuffer* pRpcChannelBuffer,
1263 PRPC_MESSAGE pRpcMessage,
1264 DWORD* pdwStubPhase);
1265 HRESULT CALLBACK IOleContainer_LockContainer_Proxy(
1266 IOleContainer* This,
1267 BOOL fLock);
1268 void __RPC_STUB IOleContainer_LockContainer_Stub(
1269 struct IRpcStubBuffer* This,
1270 struct IRpcChannelBuffer* pRpcChannelBuffer,
1271 PRPC_MESSAGE pRpcMessage,
1272 DWORD* pdwStubPhase);
1274 #endif /* __IOleContainer_INTERFACE_DEFINED__ */
1276 #ifndef __IOleItemContainer_FWD_DEFINED__
1277 #define __IOleItemContainer_FWD_DEFINED__
1278 typedef struct IOleItemContainer IOleItemContainer;
1279 #endif
1281 typedef IOleItemContainer *LPOLEITEMCONTAINER;
1283 typedef enum tagBINDSPEED {
1284 BINDSPEED_INDEFINITE = 1,
1285 BINDSPEED_MODERATE = 2,
1286 BINDSPEED_IMMEDIATE = 3
1287 } BINDSPEED;
1289 typedef enum tagOLECONTF {
1290 OLECONTF_EMBEDDINGS = 1,
1291 OLECONTF_LINKS = 2,
1292 OLECONTF_OTHERS = 4,
1293 OLECONTF_OLNYUSER = 8,
1294 OLECONTF_ONLYIFRUNNING = 16
1295 } OLECONTF;
1297 #ifdef __WINESRC__
1298 #undef GetObject
1299 #endif
1300 /*****************************************************************************
1301 * IOleItemContainer interface
1303 #ifndef __IOleItemContainer_INTERFACE_DEFINED__
1304 #define __IOleItemContainer_INTERFACE_DEFINED__
1306 DEFINE_GUID(IID_IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1307 #if defined(__cplusplus) && !defined(CINTERFACE)
1308 struct IOleItemContainer : public IOleContainer
1310 virtual HRESULT STDMETHODCALLTYPE GetObject(
1311 LPOLESTR pszItem,
1312 DWORD dwSpeedNeeded,
1313 IBindCtx* pbc,
1314 REFIID riid,
1315 void** ppvObject) = 0;
1317 virtual HRESULT STDMETHODCALLTYPE GetObjectStorage(
1318 LPOLESTR pszItem,
1319 IBindCtx* pbc,
1320 REFIID riid,
1321 void** ppvStorage) = 0;
1323 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1324 LPOLESTR pszItem) = 0;
1327 #else
1328 typedef struct IOleItemContainerVtbl IOleItemContainerVtbl;
1329 struct IOleItemContainer {
1330 const IOleItemContainerVtbl* lpVtbl;
1332 struct IOleItemContainerVtbl {
1333 ICOM_MSVTABLE_COMPAT_FIELDS
1335 /*** IUnknown methods ***/
1336 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1337 IOleItemContainer* This,
1338 REFIID riid,
1339 void** ppvObject);
1341 ULONG (STDMETHODCALLTYPE *AddRef)(
1342 IOleItemContainer* This);
1344 ULONG (STDMETHODCALLTYPE *Release)(
1345 IOleItemContainer* This);
1347 /*** IParseDisplayName methods ***/
1348 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1349 IOleItemContainer* This,
1350 IBindCtx* pbc,
1351 LPOLESTR pszDisplayName,
1352 ULONG* pchEaten,
1353 IMoniker** ppmkOut);
1355 /*** IOleContainer methods ***/
1356 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1357 IOleItemContainer* This,
1358 DWORD grfFlags,
1359 IEnumUnknown** ppenum);
1361 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1362 IOleItemContainer* This,
1363 BOOL fLock);
1365 /*** IOleItemContainer methods ***/
1366 HRESULT (STDMETHODCALLTYPE *GetObject)(
1367 IOleItemContainer* This,
1368 LPOLESTR pszItem,
1369 DWORD dwSpeedNeeded,
1370 IBindCtx* pbc,
1371 REFIID riid,
1372 void** ppvObject);
1374 HRESULT (STDMETHODCALLTYPE *GetObjectStorage)(
1375 IOleItemContainer* This,
1376 LPOLESTR pszItem,
1377 IBindCtx* pbc,
1378 REFIID riid,
1379 void** ppvStorage);
1381 HRESULT (STDMETHODCALLTYPE *IsRunning)(
1382 IOleItemContainer* This,
1383 LPOLESTR pszItem);
1387 /*** IUnknown methods ***/
1388 #define IOleItemContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1389 #define IOleItemContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1390 #define IOleItemContainer_Release(p) (p)->lpVtbl->Release(p)
1391 /*** IParseDisplayName methods ***/
1392 #define IOleItemContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1393 /*** IOleContainer methods ***/
1394 #define IOleItemContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1395 #define IOleItemContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1396 /*** IOleItemContainer methods ***/
1397 #define IOleItemContainer_GetObject(p,a,b,c,d,e) (p)->lpVtbl->GetObject(p,a,b,c,d,e)
1398 #define IOleItemContainer_GetObjectStorage(p,a,b,c,d) (p)->lpVtbl->GetObjectStorage(p,a,b,c,d)
1399 #define IOleItemContainer_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1401 #endif
1403 #define IOleItemContainer_METHODS \
1404 ICOM_MSVTABLE_COMPAT_FIELDS \
1405 /*** IUnknown methods ***/ \
1406 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1407 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1408 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1409 /*** IParseDisplayName methods ***/ \
1410 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1411 /*** IOleContainer methods ***/ \
1412 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1413 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE; \
1414 /*** IOleItemContainer methods ***/ \
1415 STDMETHOD_(HRESULT,GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx* pbc, REFIID riid, void** ppvObject) PURE; \
1416 STDMETHOD_(HRESULT,GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx* pbc, REFIID riid, void** ppvStorage) PURE; \
1417 STDMETHOD_(HRESULT,IsRunning)(THIS_ LPOLESTR pszItem) PURE;
1419 HRESULT CALLBACK IOleItemContainer_GetObject_Proxy(
1420 IOleItemContainer* This,
1421 LPOLESTR pszItem,
1422 DWORD dwSpeedNeeded,
1423 IBindCtx* pbc,
1424 REFIID riid,
1425 void** ppvObject);
1426 void __RPC_STUB IOleItemContainer_GetObject_Stub(
1427 struct IRpcStubBuffer* This,
1428 struct IRpcChannelBuffer* pRpcChannelBuffer,
1429 PRPC_MESSAGE pRpcMessage,
1430 DWORD* pdwStubPhase);
1431 HRESULT CALLBACK IOleItemContainer_GetObjectStorage_Proxy(
1432 IOleItemContainer* This,
1433 LPOLESTR pszItem,
1434 IBindCtx* pbc,
1435 REFIID riid,
1436 void** ppvStorage);
1437 void __RPC_STUB IOleItemContainer_GetObjectStorage_Stub(
1438 struct IRpcStubBuffer* This,
1439 struct IRpcChannelBuffer* pRpcChannelBuffer,
1440 PRPC_MESSAGE pRpcMessage,
1441 DWORD* pdwStubPhase);
1442 HRESULT CALLBACK IOleItemContainer_IsRunning_Proxy(
1443 IOleItemContainer* This,
1444 LPOLESTR pszItem);
1445 void __RPC_STUB IOleItemContainer_IsRunning_Stub(
1446 struct IRpcStubBuffer* This,
1447 struct IRpcChannelBuffer* pRpcChannelBuffer,
1448 PRPC_MESSAGE pRpcMessage,
1449 DWORD* pdwStubPhase);
1451 #endif /* __IOleItemContainer_INTERFACE_DEFINED__ */
1453 #ifndef __IOleLink_FWD_DEFINED__
1454 #define __IOleLink_FWD_DEFINED__
1455 typedef struct IOleLink IOleLink;
1456 #endif
1458 typedef IOleLink *LPOLELINK;
1460 typedef enum tagOLEUPDATE {
1461 OLEUPDATE_ALWAYS = 1,
1462 OLEUPDATE_ONCALL = 3
1463 } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE;
1465 typedef enum tagOLELINKBIND {
1466 OLELINKBIND_EVENIFCLASSDIFF = 1
1467 } OLELINKBIND;
1469 /*****************************************************************************
1470 * IOleLink interface
1472 #ifndef __IOleLink_INTERFACE_DEFINED__
1473 #define __IOleLink_INTERFACE_DEFINED__
1475 DEFINE_GUID(IID_IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1476 #if defined(__cplusplus) && !defined(CINTERFACE)
1477 struct IOleLink : public IUnknown
1479 virtual HRESULT STDMETHODCALLTYPE SetUpdateOptions(
1480 DWORD dwUpdateOpt) = 0;
1482 virtual HRESULT STDMETHODCALLTYPE GetUpdateOptions(
1483 DWORD* pdwUpdateOpt) = 0;
1485 virtual HRESULT STDMETHODCALLTYPE SetSourceMoniker(
1486 IMoniker* pmk,
1487 REFCLSID rclsid) = 0;
1489 virtual HRESULT STDMETHODCALLTYPE GetSourceMoniker(
1490 IMoniker** ppmk) = 0;
1492 virtual HRESULT STDMETHODCALLTYPE SetSourceDisplayName(
1493 LPCOLESTR pszStatusText) = 0;
1495 virtual HRESULT STDMETHODCALLTYPE GetSourceDisplayName(
1496 LPOLESTR* ppszDisplayName) = 0;
1498 virtual HRESULT STDMETHODCALLTYPE BindToSource(
1499 DWORD bindflags,
1500 IBindCtx* pbc) = 0;
1502 virtual HRESULT STDMETHODCALLTYPE BindIfRunning(
1503 ) = 0;
1505 virtual HRESULT STDMETHODCALLTYPE GetBoundSource(
1506 IUnknown** ppunk) = 0;
1508 virtual HRESULT STDMETHODCALLTYPE UnbindSource(
1509 ) = 0;
1511 virtual HRESULT STDMETHODCALLTYPE Update(
1512 IBindCtx* pbc) = 0;
1515 #else
1516 typedef struct IOleLinkVtbl IOleLinkVtbl;
1517 struct IOleLink {
1518 const IOleLinkVtbl* lpVtbl;
1520 struct IOleLinkVtbl {
1521 ICOM_MSVTABLE_COMPAT_FIELDS
1523 /*** IUnknown methods ***/
1524 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1525 IOleLink* This,
1526 REFIID riid,
1527 void** ppvObject);
1529 ULONG (STDMETHODCALLTYPE *AddRef)(
1530 IOleLink* This);
1532 ULONG (STDMETHODCALLTYPE *Release)(
1533 IOleLink* This);
1535 /*** IOleLink methods ***/
1536 HRESULT (STDMETHODCALLTYPE *SetUpdateOptions)(
1537 IOleLink* This,
1538 DWORD dwUpdateOpt);
1540 HRESULT (STDMETHODCALLTYPE *GetUpdateOptions)(
1541 IOleLink* This,
1542 DWORD* pdwUpdateOpt);
1544 HRESULT (STDMETHODCALLTYPE *SetSourceMoniker)(
1545 IOleLink* This,
1546 IMoniker* pmk,
1547 REFCLSID rclsid);
1549 HRESULT (STDMETHODCALLTYPE *GetSourceMoniker)(
1550 IOleLink* This,
1551 IMoniker** ppmk);
1553 HRESULT (STDMETHODCALLTYPE *SetSourceDisplayName)(
1554 IOleLink* This,
1555 LPCOLESTR pszStatusText);
1557 HRESULT (STDMETHODCALLTYPE *GetSourceDisplayName)(
1558 IOleLink* This,
1559 LPOLESTR* ppszDisplayName);
1561 HRESULT (STDMETHODCALLTYPE *BindToSource)(
1562 IOleLink* This,
1563 DWORD bindflags,
1564 IBindCtx* pbc);
1566 HRESULT (STDMETHODCALLTYPE *BindIfRunning)(
1567 IOleLink* This);
1569 HRESULT (STDMETHODCALLTYPE *GetBoundSource)(
1570 IOleLink* This,
1571 IUnknown** ppunk);
1573 HRESULT (STDMETHODCALLTYPE *UnbindSource)(
1574 IOleLink* This);
1576 HRESULT (STDMETHODCALLTYPE *Update)(
1577 IOleLink* This,
1578 IBindCtx* pbc);
1582 /*** IUnknown methods ***/
1583 #define IOleLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1584 #define IOleLink_AddRef(p) (p)->lpVtbl->AddRef(p)
1585 #define IOleLink_Release(p) (p)->lpVtbl->Release(p)
1586 /*** IOleLink methods ***/
1587 #define IOleLink_SetUpdateOptions(p,a) (p)->lpVtbl->SetUpdateOptions(p,a)
1588 #define IOleLink_GetUpdateOptions(p,a) (p)->lpVtbl->GetUpdateOptions(p,a)
1589 #define IOleLink_SetSourceMoniker(p,a,b) (p)->lpVtbl->SetSourceMoniker(p,a,b)
1590 #define IOleLink_GetSourceMoniker(p,a) (p)->lpVtbl->GetSourceMoniker(p,a)
1591 #define IOleLink_SetSourceDisplayName(p,a) (p)->lpVtbl->SetSourceDisplayName(p,a)
1592 #define IOleLink_GetSourceDisplayName(p,a) (p)->lpVtbl->GetSourceDisplayName(p,a)
1593 #define IOleLink_BindToSource(p,a,b) (p)->lpVtbl->BindToSource(p,a,b)
1594 #define IOleLink_BindIfRunning(p) (p)->lpVtbl->BindIfRunning(p)
1595 #define IOleLink_GetBoundSource(p,a) (p)->lpVtbl->GetBoundSource(p,a)
1596 #define IOleLink_UnbindSource(p) (p)->lpVtbl->UnbindSource(p)
1597 #define IOleLink_Update(p,a) (p)->lpVtbl->Update(p,a)
1599 #endif
1601 #define IOleLink_METHODS \
1602 ICOM_MSVTABLE_COMPAT_FIELDS \
1603 /*** IUnknown methods ***/ \
1604 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1605 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1606 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1607 /*** IOleLink methods ***/ \
1608 STDMETHOD_(HRESULT,SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
1609 STDMETHOD_(HRESULT,GetUpdateOptions)(THIS_ DWORD* pdwUpdateOpt) PURE; \
1610 STDMETHOD_(HRESULT,SetSourceMoniker)(THIS_ IMoniker* pmk, REFCLSID rclsid) PURE; \
1611 STDMETHOD_(HRESULT,GetSourceMoniker)(THIS_ IMoniker** ppmk) PURE; \
1612 STDMETHOD_(HRESULT,SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
1613 STDMETHOD_(HRESULT,GetSourceDisplayName)(THIS_ LPOLESTR* ppszDisplayName) PURE; \
1614 STDMETHOD_(HRESULT,BindToSource)(THIS_ DWORD bindflags, IBindCtx* pbc) PURE; \
1615 STDMETHOD_(HRESULT,BindIfRunning)(THIS) PURE; \
1616 STDMETHOD_(HRESULT,GetBoundSource)(THIS_ IUnknown** ppunk) PURE; \
1617 STDMETHOD_(HRESULT,UnbindSource)(THIS) PURE; \
1618 STDMETHOD_(HRESULT,Update)(THIS_ IBindCtx* pbc) PURE;
1620 HRESULT CALLBACK IOleLink_SetUpdateOptions_Proxy(
1621 IOleLink* This,
1622 DWORD dwUpdateOpt);
1623 void __RPC_STUB IOleLink_SetUpdateOptions_Stub(
1624 struct IRpcStubBuffer* This,
1625 struct IRpcChannelBuffer* pRpcChannelBuffer,
1626 PRPC_MESSAGE pRpcMessage,
1627 DWORD* pdwStubPhase);
1628 HRESULT CALLBACK IOleLink_GetUpdateOptions_Proxy(
1629 IOleLink* This,
1630 DWORD* pdwUpdateOpt);
1631 void __RPC_STUB IOleLink_GetUpdateOptions_Stub(
1632 struct IRpcStubBuffer* This,
1633 struct IRpcChannelBuffer* pRpcChannelBuffer,
1634 PRPC_MESSAGE pRpcMessage,
1635 DWORD* pdwStubPhase);
1636 HRESULT CALLBACK IOleLink_SetSourceMoniker_Proxy(
1637 IOleLink* This,
1638 IMoniker* pmk,
1639 REFCLSID rclsid);
1640 void __RPC_STUB IOleLink_SetSourceMoniker_Stub(
1641 struct IRpcStubBuffer* This,
1642 struct IRpcChannelBuffer* pRpcChannelBuffer,
1643 PRPC_MESSAGE pRpcMessage,
1644 DWORD* pdwStubPhase);
1645 HRESULT CALLBACK IOleLink_GetSourceMoniker_Proxy(
1646 IOleLink* This,
1647 IMoniker** ppmk);
1648 void __RPC_STUB IOleLink_GetSourceMoniker_Stub(
1649 struct IRpcStubBuffer* This,
1650 struct IRpcChannelBuffer* pRpcChannelBuffer,
1651 PRPC_MESSAGE pRpcMessage,
1652 DWORD* pdwStubPhase);
1653 HRESULT CALLBACK IOleLink_SetSourceDisplayName_Proxy(
1654 IOleLink* This,
1655 LPCOLESTR pszStatusText);
1656 void __RPC_STUB IOleLink_SetSourceDisplayName_Stub(
1657 struct IRpcStubBuffer* This,
1658 struct IRpcChannelBuffer* pRpcChannelBuffer,
1659 PRPC_MESSAGE pRpcMessage,
1660 DWORD* pdwStubPhase);
1661 HRESULT CALLBACK IOleLink_GetSourceDisplayName_Proxy(
1662 IOleLink* This,
1663 LPOLESTR* ppszDisplayName);
1664 void __RPC_STUB IOleLink_GetSourceDisplayName_Stub(
1665 struct IRpcStubBuffer* This,
1666 struct IRpcChannelBuffer* pRpcChannelBuffer,
1667 PRPC_MESSAGE pRpcMessage,
1668 DWORD* pdwStubPhase);
1669 HRESULT CALLBACK IOleLink_BindToSource_Proxy(
1670 IOleLink* This,
1671 DWORD bindflags,
1672 IBindCtx* pbc);
1673 void __RPC_STUB IOleLink_BindToSource_Stub(
1674 struct IRpcStubBuffer* This,
1675 struct IRpcChannelBuffer* pRpcChannelBuffer,
1676 PRPC_MESSAGE pRpcMessage,
1677 DWORD* pdwStubPhase);
1678 HRESULT CALLBACK IOleLink_BindIfRunning_Proxy(
1679 IOleLink* This);
1680 void __RPC_STUB IOleLink_BindIfRunning_Stub(
1681 struct IRpcStubBuffer* This,
1682 struct IRpcChannelBuffer* pRpcChannelBuffer,
1683 PRPC_MESSAGE pRpcMessage,
1684 DWORD* pdwStubPhase);
1685 HRESULT CALLBACK IOleLink_GetBoundSource_Proxy(
1686 IOleLink* This,
1687 IUnknown** ppunk);
1688 void __RPC_STUB IOleLink_GetBoundSource_Stub(
1689 struct IRpcStubBuffer* This,
1690 struct IRpcChannelBuffer* pRpcChannelBuffer,
1691 PRPC_MESSAGE pRpcMessage,
1692 DWORD* pdwStubPhase);
1693 HRESULT CALLBACK IOleLink_UnbindSource_Proxy(
1694 IOleLink* This);
1695 void __RPC_STUB IOleLink_UnbindSource_Stub(
1696 struct IRpcStubBuffer* This,
1697 struct IRpcChannelBuffer* pRpcChannelBuffer,
1698 PRPC_MESSAGE pRpcMessage,
1699 DWORD* pdwStubPhase);
1700 HRESULT CALLBACK IOleLink_Update_Proxy(
1701 IOleLink* This,
1702 IBindCtx* pbc);
1703 void __RPC_STUB IOleLink_Update_Stub(
1704 struct IRpcStubBuffer* This,
1705 struct IRpcChannelBuffer* pRpcChannelBuffer,
1706 PRPC_MESSAGE pRpcMessage,
1707 DWORD* pdwStubPhase);
1709 #endif /* __IOleLink_INTERFACE_DEFINED__ */
1711 #ifndef __IOleClientSite_FWD_DEFINED__
1712 #define __IOleClientSite_FWD_DEFINED__
1713 typedef struct IOleClientSite IOleClientSite;
1714 #endif
1716 typedef IOleClientSite *LPOLECLIENTSITE;
1718 /*****************************************************************************
1719 * IOleClientSite interface
1721 #ifndef __IOleClientSite_INTERFACE_DEFINED__
1722 #define __IOleClientSite_INTERFACE_DEFINED__
1724 DEFINE_GUID(IID_IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1725 #if defined(__cplusplus) && !defined(CINTERFACE)
1726 struct IOleClientSite : public IUnknown
1728 virtual HRESULT STDMETHODCALLTYPE SaveObject(
1729 ) = 0;
1731 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
1732 DWORD dwAssign,
1733 DWORD dwWhichMoniker,
1734 IMoniker** ppmk) = 0;
1736 virtual HRESULT STDMETHODCALLTYPE GetContainer(
1737 IOleContainer** ppContainer) = 0;
1739 virtual HRESULT STDMETHODCALLTYPE ShowObject(
1740 ) = 0;
1742 virtual HRESULT STDMETHODCALLTYPE OnShowWindow(
1743 BOOL fShow) = 0;
1745 virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(
1746 ) = 0;
1749 #else
1750 typedef struct IOleClientSiteVtbl IOleClientSiteVtbl;
1751 struct IOleClientSite {
1752 const IOleClientSiteVtbl* lpVtbl;
1754 struct IOleClientSiteVtbl {
1755 ICOM_MSVTABLE_COMPAT_FIELDS
1757 /*** IUnknown methods ***/
1758 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1759 IOleClientSite* This,
1760 REFIID riid,
1761 void** ppvObject);
1763 ULONG (STDMETHODCALLTYPE *AddRef)(
1764 IOleClientSite* This);
1766 ULONG (STDMETHODCALLTYPE *Release)(
1767 IOleClientSite* This);
1769 /*** IOleClientSite methods ***/
1770 HRESULT (STDMETHODCALLTYPE *SaveObject)(
1771 IOleClientSite* This);
1773 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1774 IOleClientSite* This,
1775 DWORD dwAssign,
1776 DWORD dwWhichMoniker,
1777 IMoniker** ppmk);
1779 HRESULT (STDMETHODCALLTYPE *GetContainer)(
1780 IOleClientSite* This,
1781 IOleContainer** ppContainer);
1783 HRESULT (STDMETHODCALLTYPE *ShowObject)(
1784 IOleClientSite* This);
1786 HRESULT (STDMETHODCALLTYPE *OnShowWindow)(
1787 IOleClientSite* This,
1788 BOOL fShow);
1790 HRESULT (STDMETHODCALLTYPE *RequestNewObjectLayout)(
1791 IOleClientSite* This);
1795 /*** IUnknown methods ***/
1796 #define IOleClientSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1797 #define IOleClientSite_AddRef(p) (p)->lpVtbl->AddRef(p)
1798 #define IOleClientSite_Release(p) (p)->lpVtbl->Release(p)
1799 /*** IOleClientSite methods ***/
1800 #define IOleClientSite_SaveObject(p) (p)->lpVtbl->SaveObject(p)
1801 #define IOleClientSite_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
1802 #define IOleClientSite_GetContainer(p,a) (p)->lpVtbl->GetContainer(p,a)
1803 #define IOleClientSite_ShowObject(p) (p)->lpVtbl->ShowObject(p)
1804 #define IOleClientSite_OnShowWindow(p,a) (p)->lpVtbl->OnShowWindow(p,a)
1805 #define IOleClientSite_RequestNewObjectLayout(p) (p)->lpVtbl->RequestNewObjectLayout(p)
1807 #endif
1809 #define IOleClientSite_METHODS \
1810 ICOM_MSVTABLE_COMPAT_FIELDS \
1811 /*** IUnknown methods ***/ \
1812 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1813 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1814 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1815 /*** IOleClientSite methods ***/ \
1816 STDMETHOD_(HRESULT,SaveObject)(THIS) PURE; \
1817 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
1818 STDMETHOD_(HRESULT,GetContainer)(THIS_ IOleContainer** ppContainer) PURE; \
1819 STDMETHOD_(HRESULT,ShowObject)(THIS) PURE; \
1820 STDMETHOD_(HRESULT,OnShowWindow)(THIS_ BOOL fShow) PURE; \
1821 STDMETHOD_(HRESULT,RequestNewObjectLayout)(THIS) PURE;
1823 HRESULT CALLBACK IOleClientSite_SaveObject_Proxy(
1824 IOleClientSite* This);
1825 void __RPC_STUB IOleClientSite_SaveObject_Stub(
1826 struct IRpcStubBuffer* This,
1827 struct IRpcChannelBuffer* pRpcChannelBuffer,
1828 PRPC_MESSAGE pRpcMessage,
1829 DWORD* pdwStubPhase);
1830 HRESULT CALLBACK IOleClientSite_GetMoniker_Proxy(
1831 IOleClientSite* This,
1832 DWORD dwAssign,
1833 DWORD dwWhichMoniker,
1834 IMoniker** ppmk);
1835 void __RPC_STUB IOleClientSite_GetMoniker_Stub(
1836 struct IRpcStubBuffer* This,
1837 struct IRpcChannelBuffer* pRpcChannelBuffer,
1838 PRPC_MESSAGE pRpcMessage,
1839 DWORD* pdwStubPhase);
1840 HRESULT CALLBACK IOleClientSite_GetContainer_Proxy(
1841 IOleClientSite* This,
1842 IOleContainer** ppContainer);
1843 void __RPC_STUB IOleClientSite_GetContainer_Stub(
1844 struct IRpcStubBuffer* This,
1845 struct IRpcChannelBuffer* pRpcChannelBuffer,
1846 PRPC_MESSAGE pRpcMessage,
1847 DWORD* pdwStubPhase);
1848 HRESULT CALLBACK IOleClientSite_ShowObject_Proxy(
1849 IOleClientSite* This);
1850 void __RPC_STUB IOleClientSite_ShowObject_Stub(
1851 struct IRpcStubBuffer* This,
1852 struct IRpcChannelBuffer* pRpcChannelBuffer,
1853 PRPC_MESSAGE pRpcMessage,
1854 DWORD* pdwStubPhase);
1855 HRESULT CALLBACK IOleClientSite_OnShowWindow_Proxy(
1856 IOleClientSite* This,
1857 BOOL fShow);
1858 void __RPC_STUB IOleClientSite_OnShowWindow_Stub(
1859 struct IRpcStubBuffer* This,
1860 struct IRpcChannelBuffer* pRpcChannelBuffer,
1861 PRPC_MESSAGE pRpcMessage,
1862 DWORD* pdwStubPhase);
1863 HRESULT CALLBACK IOleClientSite_RequestNewObjectLayout_Proxy(
1864 IOleClientSite* This);
1865 void __RPC_STUB IOleClientSite_RequestNewObjectLayout_Stub(
1866 struct IRpcStubBuffer* This,
1867 struct IRpcChannelBuffer* pRpcChannelBuffer,
1868 PRPC_MESSAGE pRpcMessage,
1869 DWORD* pdwStubPhase);
1871 #endif /* __IOleClientSite_INTERFACE_DEFINED__ */
1873 #ifndef __IOleCache_FWD_DEFINED__
1874 #define __IOleCache_FWD_DEFINED__
1875 typedef struct IOleCache IOleCache;
1876 #endif
1878 typedef IOleCache *LPOLECACHE;
1880 /*****************************************************************************
1881 * IOleCache interface
1883 #ifndef __IOleCache_INTERFACE_DEFINED__
1884 #define __IOleCache_INTERFACE_DEFINED__
1886 DEFINE_GUID(IID_IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1887 #if defined(__cplusplus) && !defined(CINTERFACE)
1888 struct IOleCache : public IUnknown
1890 virtual HRESULT STDMETHODCALLTYPE Cache(
1891 FORMATETC* pformatetc,
1892 DWORD advf,
1893 DWORD* pdwConnection) = 0;
1895 virtual HRESULT STDMETHODCALLTYPE Uncache(
1896 DWORD dwConnection) = 0;
1898 virtual HRESULT STDMETHODCALLTYPE EnumCache(
1899 IEnumSTATDATA** ppenumSTATDATA) = 0;
1901 virtual HRESULT STDMETHODCALLTYPE InitCache(
1902 IDataObject* pDataObject) = 0;
1904 virtual HRESULT STDMETHODCALLTYPE SetData(
1905 FORMATETC* pformatetc,
1906 STGMEDIUM* pmedium,
1907 BOOL fRelease) = 0;
1910 #else
1911 typedef struct IOleCacheVtbl IOleCacheVtbl;
1912 struct IOleCache {
1913 const IOleCacheVtbl* lpVtbl;
1915 struct IOleCacheVtbl {
1916 ICOM_MSVTABLE_COMPAT_FIELDS
1918 /*** IUnknown methods ***/
1919 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1920 IOleCache* This,
1921 REFIID riid,
1922 void** ppvObject);
1924 ULONG (STDMETHODCALLTYPE *AddRef)(
1925 IOleCache* This);
1927 ULONG (STDMETHODCALLTYPE *Release)(
1928 IOleCache* This);
1930 /*** IOleCache methods ***/
1931 HRESULT (STDMETHODCALLTYPE *Cache)(
1932 IOleCache* This,
1933 FORMATETC* pformatetc,
1934 DWORD advf,
1935 DWORD* pdwConnection);
1937 HRESULT (STDMETHODCALLTYPE *Uncache)(
1938 IOleCache* This,
1939 DWORD dwConnection);
1941 HRESULT (STDMETHODCALLTYPE *EnumCache)(
1942 IOleCache* This,
1943 IEnumSTATDATA** ppenumSTATDATA);
1945 HRESULT (STDMETHODCALLTYPE *InitCache)(
1946 IOleCache* This,
1947 IDataObject* pDataObject);
1949 HRESULT (STDMETHODCALLTYPE *SetData)(
1950 IOleCache* This,
1951 FORMATETC* pformatetc,
1952 STGMEDIUM* pmedium,
1953 BOOL fRelease);
1957 /*** IUnknown methods ***/
1958 #define IOleCache_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1959 #define IOleCache_AddRef(p) (p)->lpVtbl->AddRef(p)
1960 #define IOleCache_Release(p) (p)->lpVtbl->Release(p)
1961 /*** IOleCache methods ***/
1962 #define IOleCache_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
1963 #define IOleCache_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
1964 #define IOleCache_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
1965 #define IOleCache_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
1966 #define IOleCache_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
1968 #endif
1970 #define IOleCache_METHODS \
1971 ICOM_MSVTABLE_COMPAT_FIELDS \
1972 /*** IUnknown methods ***/ \
1973 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1974 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1975 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1976 /*** IOleCache methods ***/ \
1977 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
1978 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
1979 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
1980 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
1981 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE;
1983 HRESULT CALLBACK IOleCache_Cache_Proxy(
1984 IOleCache* This,
1985 FORMATETC* pformatetc,
1986 DWORD advf,
1987 DWORD* pdwConnection);
1988 void __RPC_STUB IOleCache_Cache_Stub(
1989 struct IRpcStubBuffer* This,
1990 struct IRpcChannelBuffer* pRpcChannelBuffer,
1991 PRPC_MESSAGE pRpcMessage,
1992 DWORD* pdwStubPhase);
1993 HRESULT CALLBACK IOleCache_Uncache_Proxy(
1994 IOleCache* This,
1995 DWORD dwConnection);
1996 void __RPC_STUB IOleCache_Uncache_Stub(
1997 struct IRpcStubBuffer* This,
1998 struct IRpcChannelBuffer* pRpcChannelBuffer,
1999 PRPC_MESSAGE pRpcMessage,
2000 DWORD* pdwStubPhase);
2001 HRESULT CALLBACK IOleCache_EnumCache_Proxy(
2002 IOleCache* This,
2003 IEnumSTATDATA** ppenumSTATDATA);
2004 void __RPC_STUB IOleCache_EnumCache_Stub(
2005 struct IRpcStubBuffer* This,
2006 struct IRpcChannelBuffer* pRpcChannelBuffer,
2007 PRPC_MESSAGE pRpcMessage,
2008 DWORD* pdwStubPhase);
2009 HRESULT CALLBACK IOleCache_InitCache_Proxy(
2010 IOleCache* This,
2011 IDataObject* pDataObject);
2012 void __RPC_STUB IOleCache_InitCache_Stub(
2013 struct IRpcStubBuffer* This,
2014 struct IRpcChannelBuffer* pRpcChannelBuffer,
2015 PRPC_MESSAGE pRpcMessage,
2016 DWORD* pdwStubPhase);
2017 HRESULT CALLBACK IOleCache_SetData_Proxy(
2018 IOleCache* This,
2019 FORMATETC* pformatetc,
2020 STGMEDIUM* pmedium,
2021 BOOL fRelease);
2022 void __RPC_STUB IOleCache_SetData_Stub(
2023 struct IRpcStubBuffer* This,
2024 struct IRpcChannelBuffer* pRpcChannelBuffer,
2025 PRPC_MESSAGE pRpcMessage,
2026 DWORD* pdwStubPhase);
2028 #endif /* __IOleCache_INTERFACE_DEFINED__ */
2030 #ifndef __IOleCache2_FWD_DEFINED__
2031 #define __IOleCache2_FWD_DEFINED__
2032 typedef struct IOleCache2 IOleCache2;
2033 #endif
2035 typedef IOleCache2 *LPOLECACHE2;
2037 #define UPDFCACHE_NODATACACHE (0x1)
2039 #define UPDFCACHE_ONSAVECACHE (0x2)
2041 #define UPDFCACHE_ONSTOPCACHE (0x4)
2043 #define UPDFCACHE_NORMALCACHE (0x8)
2045 #define UPDFCACHE_IFBLANK (0x10)
2047 #define UPDFCACHE_ONLYIFBLANK (0x80000000)
2049 #define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
2051 #define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
2053 #define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)
2055 typedef enum tagDISCARDCACHE {
2056 DISCARDCACHE_SAVEIFDIRTY = 0,
2057 DISCARDCACHE_NOSAVE = 1
2058 } DISCARDCACHE;
2060 /*****************************************************************************
2061 * IOleCache2 interface
2063 #ifndef __IOleCache2_INTERFACE_DEFINED__
2064 #define __IOleCache2_INTERFACE_DEFINED__
2066 DEFINE_GUID(IID_IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2067 #if defined(__cplusplus) && !defined(CINTERFACE)
2068 struct IOleCache2 : public IOleCache
2070 virtual HRESULT STDMETHODCALLTYPE UpdateCache(
2071 LPDATAOBJECT pDataObject,
2072 DWORD grfUpdf,
2073 LPVOID pReserved) = 0;
2075 virtual HRESULT STDMETHODCALLTYPE DiscardCache(
2076 DWORD dwDiscardOptions) = 0;
2079 #else
2080 typedef struct IOleCache2Vtbl IOleCache2Vtbl;
2081 struct IOleCache2 {
2082 const IOleCache2Vtbl* lpVtbl;
2084 struct IOleCache2Vtbl {
2085 ICOM_MSVTABLE_COMPAT_FIELDS
2087 /*** IUnknown methods ***/
2088 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2089 IOleCache2* This,
2090 REFIID riid,
2091 void** ppvObject);
2093 ULONG (STDMETHODCALLTYPE *AddRef)(
2094 IOleCache2* This);
2096 ULONG (STDMETHODCALLTYPE *Release)(
2097 IOleCache2* This);
2099 /*** IOleCache methods ***/
2100 HRESULT (STDMETHODCALLTYPE *Cache)(
2101 IOleCache2* This,
2102 FORMATETC* pformatetc,
2103 DWORD advf,
2104 DWORD* pdwConnection);
2106 HRESULT (STDMETHODCALLTYPE *Uncache)(
2107 IOleCache2* This,
2108 DWORD dwConnection);
2110 HRESULT (STDMETHODCALLTYPE *EnumCache)(
2111 IOleCache2* This,
2112 IEnumSTATDATA** ppenumSTATDATA);
2114 HRESULT (STDMETHODCALLTYPE *InitCache)(
2115 IOleCache2* This,
2116 IDataObject* pDataObject);
2118 HRESULT (STDMETHODCALLTYPE *SetData)(
2119 IOleCache2* This,
2120 FORMATETC* pformatetc,
2121 STGMEDIUM* pmedium,
2122 BOOL fRelease);
2124 /*** IOleCache2 methods ***/
2125 HRESULT (STDMETHODCALLTYPE *UpdateCache)(
2126 IOleCache2* This,
2127 LPDATAOBJECT pDataObject,
2128 DWORD grfUpdf,
2129 LPVOID pReserved);
2131 HRESULT (STDMETHODCALLTYPE *DiscardCache)(
2132 IOleCache2* This,
2133 DWORD dwDiscardOptions);
2137 /*** IUnknown methods ***/
2138 #define IOleCache2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2139 #define IOleCache2_AddRef(p) (p)->lpVtbl->AddRef(p)
2140 #define IOleCache2_Release(p) (p)->lpVtbl->Release(p)
2141 /*** IOleCache methods ***/
2142 #define IOleCache2_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
2143 #define IOleCache2_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
2144 #define IOleCache2_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
2145 #define IOleCache2_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
2146 #define IOleCache2_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
2147 /*** IOleCache2 methods ***/
2148 #define IOleCache2_UpdateCache(p,a,b,c) (p)->lpVtbl->UpdateCache(p,a,b,c)
2149 #define IOleCache2_DiscardCache(p,a) (p)->lpVtbl->DiscardCache(p,a)
2151 #endif
2153 #define IOleCache2_METHODS \
2154 ICOM_MSVTABLE_COMPAT_FIELDS \
2155 /*** IUnknown methods ***/ \
2156 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2157 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2158 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2159 /*** IOleCache methods ***/ \
2160 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
2161 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
2162 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
2163 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
2164 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
2165 /*** IOleCache2 methods ***/ \
2166 STDMETHOD_(HRESULT,UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
2167 STDMETHOD_(HRESULT,DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
2169 HRESULT CALLBACK IOleCache2_RemoteUpdateCache_Proxy(
2170 IOleCache2* This,
2171 LPDATAOBJECT pDataObject,
2172 DWORD grfUpdf,
2173 LONG_PTR pReserved);
2174 void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(
2175 struct IRpcStubBuffer* This,
2176 struct IRpcChannelBuffer* pRpcChannelBuffer,
2177 PRPC_MESSAGE pRpcMessage,
2178 DWORD* pdwStubPhase);
2179 HRESULT CALLBACK IOleCache2_UpdateCache_Proxy(
2180 IOleCache2* This,
2181 LPDATAOBJECT pDataObject,
2182 DWORD grfUpdf,
2183 LPVOID pReserved);
2184 HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub(
2185 IOleCache2* This,
2186 LPDATAOBJECT pDataObject,
2187 DWORD grfUpdf,
2188 LONG_PTR pReserved);
2189 HRESULT CALLBACK IOleCache2_DiscardCache_Proxy(
2190 IOleCache2* This,
2191 DWORD dwDiscardOptions);
2192 void __RPC_STUB IOleCache2_DiscardCache_Stub(
2193 struct IRpcStubBuffer* This,
2194 struct IRpcChannelBuffer* pRpcChannelBuffer,
2195 PRPC_MESSAGE pRpcMessage,
2196 DWORD* pdwStubPhase);
2198 #endif /* __IOleCache2_INTERFACE_DEFINED__ */
2200 #ifndef __IOleCacheControl_FWD_DEFINED__
2201 #define __IOleCacheControl_FWD_DEFINED__
2202 typedef struct IOleCacheControl IOleCacheControl;
2203 #endif
2205 typedef IOleCacheControl *LPOLECACHECONTROL;
2207 /*****************************************************************************
2208 * IOleCacheControl interface
2210 #ifndef __IOleCacheControl_INTERFACE_DEFINED__
2211 #define __IOleCacheControl_INTERFACE_DEFINED__
2213 DEFINE_GUID(IID_IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2214 #if defined(__cplusplus) && !defined(CINTERFACE)
2215 struct IOleCacheControl : public IUnknown
2217 virtual HRESULT STDMETHODCALLTYPE OnRun(
2218 LPDATAOBJECT pDataObject) = 0;
2220 virtual HRESULT STDMETHODCALLTYPE OnStop(
2221 ) = 0;
2224 #else
2225 typedef struct IOleCacheControlVtbl IOleCacheControlVtbl;
2226 struct IOleCacheControl {
2227 const IOleCacheControlVtbl* lpVtbl;
2229 struct IOleCacheControlVtbl {
2230 ICOM_MSVTABLE_COMPAT_FIELDS
2232 /*** IUnknown methods ***/
2233 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2234 IOleCacheControl* This,
2235 REFIID riid,
2236 void** ppvObject);
2238 ULONG (STDMETHODCALLTYPE *AddRef)(
2239 IOleCacheControl* This);
2241 ULONG (STDMETHODCALLTYPE *Release)(
2242 IOleCacheControl* This);
2244 /*** IOleCacheControl methods ***/
2245 HRESULT (STDMETHODCALLTYPE *OnRun)(
2246 IOleCacheControl* This,
2247 LPDATAOBJECT pDataObject);
2249 HRESULT (STDMETHODCALLTYPE *OnStop)(
2250 IOleCacheControl* This);
2254 /*** IUnknown methods ***/
2255 #define IOleCacheControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2256 #define IOleCacheControl_AddRef(p) (p)->lpVtbl->AddRef(p)
2257 #define IOleCacheControl_Release(p) (p)->lpVtbl->Release(p)
2258 /*** IOleCacheControl methods ***/
2259 #define IOleCacheControl_OnRun(p,a) (p)->lpVtbl->OnRun(p,a)
2260 #define IOleCacheControl_OnStop(p) (p)->lpVtbl->OnStop(p)
2262 #endif
2264 #define IOleCacheControl_METHODS \
2265 ICOM_MSVTABLE_COMPAT_FIELDS \
2266 /*** IUnknown methods ***/ \
2267 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2268 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2269 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2270 /*** IOleCacheControl methods ***/ \
2271 STDMETHOD_(HRESULT,OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
2272 STDMETHOD_(HRESULT,OnStop)(THIS) PURE;
2274 HRESULT CALLBACK IOleCacheControl_OnRun_Proxy(
2275 IOleCacheControl* This,
2276 LPDATAOBJECT pDataObject);
2277 void __RPC_STUB IOleCacheControl_OnRun_Stub(
2278 struct IRpcStubBuffer* This,
2279 struct IRpcChannelBuffer* pRpcChannelBuffer,
2280 PRPC_MESSAGE pRpcMessage,
2281 DWORD* pdwStubPhase);
2282 HRESULT CALLBACK IOleCacheControl_OnStop_Proxy(
2283 IOleCacheControl* This);
2284 void __RPC_STUB IOleCacheControl_OnStop_Stub(
2285 struct IRpcStubBuffer* This,
2286 struct IRpcChannelBuffer* pRpcChannelBuffer,
2287 PRPC_MESSAGE pRpcMessage,
2288 DWORD* pdwStubPhase);
2290 #endif /* __IOleCacheControl_INTERFACE_DEFINED__ */
2292 #ifndef __IEnumOLEVERB_FWD_DEFINED__
2293 #define __IEnumOLEVERB_FWD_DEFINED__
2294 typedef struct IEnumOLEVERB IEnumOLEVERB;
2295 #endif
2297 typedef IEnumOLEVERB *LPENUMOLEVERB;
2299 typedef struct tagOLEVERB {
2300 LONG lVerb;
2301 LPOLESTR lpszVerbName;
2302 DWORD fuFlags;
2303 DWORD grfAttribs;
2304 } OLEVERB, *LPOLEVERB;
2306 typedef enum tagOLEVERBATTRIB {
2307 OLEVERBATTRIB_NEVERDIRTIES = 1,
2308 OLEVERBATTRIB_ONCONTAINERMENU = 2
2309 } OLEVERBATTRIB;
2311 /*****************************************************************************
2312 * IEnumOLEVERB interface
2314 #ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
2315 #define __IEnumOLEVERB_INTERFACE_DEFINED__
2317 DEFINE_GUID(IID_IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2318 #if defined(__cplusplus) && !defined(CINTERFACE)
2319 struct IEnumOLEVERB : public IUnknown
2321 virtual HRESULT STDMETHODCALLTYPE Next(
2322 ULONG celt,
2323 LPOLEVERB rgelt,
2324 ULONG* pceltFetched) = 0;
2326 virtual HRESULT STDMETHODCALLTYPE Skip(
2327 ULONG celt) = 0;
2329 virtual HRESULT STDMETHODCALLTYPE Reset(
2330 ) = 0;
2332 virtual HRESULT STDMETHODCALLTYPE Clone(
2333 IEnumOLEVERB** ppenum) = 0;
2336 #else
2337 typedef struct IEnumOLEVERBVtbl IEnumOLEVERBVtbl;
2338 struct IEnumOLEVERB {
2339 const IEnumOLEVERBVtbl* lpVtbl;
2341 struct IEnumOLEVERBVtbl {
2342 ICOM_MSVTABLE_COMPAT_FIELDS
2344 /*** IUnknown methods ***/
2345 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2346 IEnumOLEVERB* This,
2347 REFIID riid,
2348 void** ppvObject);
2350 ULONG (STDMETHODCALLTYPE *AddRef)(
2351 IEnumOLEVERB* This);
2353 ULONG (STDMETHODCALLTYPE *Release)(
2354 IEnumOLEVERB* This);
2356 /*** IEnumOLEVERB methods ***/
2357 HRESULT (STDMETHODCALLTYPE *Next)(
2358 IEnumOLEVERB* This,
2359 ULONG celt,
2360 LPOLEVERB rgelt,
2361 ULONG* pceltFetched);
2363 HRESULT (STDMETHODCALLTYPE *Skip)(
2364 IEnumOLEVERB* This,
2365 ULONG celt);
2367 HRESULT (STDMETHODCALLTYPE *Reset)(
2368 IEnumOLEVERB* This);
2370 HRESULT (STDMETHODCALLTYPE *Clone)(
2371 IEnumOLEVERB* This,
2372 IEnumOLEVERB** ppenum);
2376 /*** IUnknown methods ***/
2377 #define IEnumOLEVERB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2378 #define IEnumOLEVERB_AddRef(p) (p)->lpVtbl->AddRef(p)
2379 #define IEnumOLEVERB_Release(p) (p)->lpVtbl->Release(p)
2380 /*** IEnumOLEVERB methods ***/
2381 #define IEnumOLEVERB_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2382 #define IEnumOLEVERB_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2383 #define IEnumOLEVERB_Reset(p) (p)->lpVtbl->Reset(p)
2384 #define IEnumOLEVERB_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2386 #endif
2388 #define IEnumOLEVERB_METHODS \
2389 ICOM_MSVTABLE_COMPAT_FIELDS \
2390 /*** IUnknown methods ***/ \
2391 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2392 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2393 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2394 /*** IEnumOLEVERB methods ***/ \
2395 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG* pceltFetched) PURE; \
2396 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2397 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2398 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumOLEVERB** ppenum) PURE;
2400 HRESULT CALLBACK IEnumOLEVERB_RemoteNext_Proxy(
2401 IEnumOLEVERB* This,
2402 ULONG celt,
2403 LPOLEVERB rgelt,
2404 ULONG* pceltFetched);
2405 void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(
2406 struct IRpcStubBuffer* This,
2407 struct IRpcChannelBuffer* pRpcChannelBuffer,
2408 PRPC_MESSAGE pRpcMessage,
2409 DWORD* pdwStubPhase);
2410 HRESULT CALLBACK IEnumOLEVERB_Next_Proxy(
2411 IEnumOLEVERB* This,
2412 ULONG celt,
2413 LPOLEVERB rgelt,
2414 ULONG* pceltFetched);
2415 HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub(
2416 IEnumOLEVERB* This,
2417 ULONG celt,
2418 LPOLEVERB rgelt,
2419 ULONG* pceltFetched);
2420 HRESULT CALLBACK IEnumOLEVERB_Skip_Proxy(
2421 IEnumOLEVERB* This,
2422 ULONG celt);
2423 void __RPC_STUB IEnumOLEVERB_Skip_Stub(
2424 struct IRpcStubBuffer* This,
2425 struct IRpcChannelBuffer* pRpcChannelBuffer,
2426 PRPC_MESSAGE pRpcMessage,
2427 DWORD* pdwStubPhase);
2428 HRESULT CALLBACK IEnumOLEVERB_Reset_Proxy(
2429 IEnumOLEVERB* This);
2430 void __RPC_STUB IEnumOLEVERB_Reset_Stub(
2431 struct IRpcStubBuffer* This,
2432 struct IRpcChannelBuffer* pRpcChannelBuffer,
2433 PRPC_MESSAGE pRpcMessage,
2434 DWORD* pdwStubPhase);
2435 HRESULT CALLBACK IEnumOLEVERB_Clone_Proxy(
2436 IEnumOLEVERB* This,
2437 IEnumOLEVERB** ppenum);
2438 void __RPC_STUB IEnumOLEVERB_Clone_Stub(
2439 struct IRpcStubBuffer* This,
2440 struct IRpcChannelBuffer* pRpcChannelBuffer,
2441 PRPC_MESSAGE pRpcMessage,
2442 DWORD* pdwStubPhase);
2444 #endif /* __IEnumOLEVERB_INTERFACE_DEFINED__ */
2446 #ifndef __IOleObject_FWD_DEFINED__
2447 #define __IOleObject_FWD_DEFINED__
2448 typedef struct IOleObject IOleObject;
2449 #endif
2451 typedef IOleObject *LPOLEOBJECT;
2453 typedef enum tagOLEGETMONIKER {
2454 OLEGETMONIKER_ONLYIFTHERE = 1,
2455 OLEGETMONIKER_FORCEASSIGN = 2,
2456 OLEGETMONIKER_UNASSIGN = 3,
2457 OLEGETMONIKER_TEMPFORUSER = 4
2458 } OLEGETMONIKER;
2460 typedef enum tagOLEWHICHMK {
2461 OLEWHICHMK_CONTAINER = 1,
2462 OLEWHICHMK_OBJREL = 2,
2463 OLEWHICHMK_OBJFULL = 3
2464 } OLEWHICHMK;
2466 typedef enum tagUSERCLASSTYPE {
2467 USERCLASSTYPE_FULL = 1,
2468 USERCLASSTYPE_SHORT = 2,
2469 USERCLASSTYPE_APPNAME = 3
2470 } USERCLASSTYPE;
2472 typedef enum tagOLEMISC {
2473 OLEMISC_RECOMPOSEONRESIZE = 0x1,
2474 OLEMISC_ONLYICONIC = 0x2,
2475 OLEMISC_INSERTNOTREPLACE = 0x4,
2476 OLEMISC_STATIC = 0x8,
2477 OLEMISC_CANTLINKINSIDE = 0x10,
2478 OLEMISC_CANLINKBYOLE1 = 0x20,
2479 OLEMISC_ISLINKOBJECT = 0x40,
2480 OLEMISC_INSIDEOUT = 0x80,
2481 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
2482 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
2483 OLEMISC_INVISIBLEATRUNTIME = 0x400,
2484 OLEMISC_ALWAYSRUN = 0x800,
2485 OLEMISC_ACTSLIKEBUTTON = 0x1000,
2486 OLEMISC_ACTSLIKELABEL = 0x2000,
2487 OLEMISC_NOUIACTIVATE = 0x4000,
2488 OLEMISC_ALIGNABLE = 0x8000,
2489 OLEMISC_SIMPLEFRAME = 0x10000,
2490 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
2491 OLEMISC_IMEMODE = 0x40000,
2492 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
2493 OLEMISC_WANTSTOMENUMERGE = 0x100000,
2494 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
2495 } OLEMISC;
2497 typedef enum tagOLECLOSE {
2498 OLECLOSE_SAVEIFDIRTY = 0,
2499 OLECLOSE_NOSAVE = 1,
2500 OLECLOSE_PROMPTSAVE = 2
2501 } OLECLOSE;
2503 /*****************************************************************************
2504 * IOleObject interface
2506 #ifndef __IOleObject_INTERFACE_DEFINED__
2507 #define __IOleObject_INTERFACE_DEFINED__
2509 DEFINE_GUID(IID_IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2510 #if defined(__cplusplus) && !defined(CINTERFACE)
2511 struct IOleObject : public IUnknown
2513 virtual HRESULT STDMETHODCALLTYPE SetClientSite(
2514 IOleClientSite* pClientSite) = 0;
2516 virtual HRESULT STDMETHODCALLTYPE GetClientSite(
2517 IOleClientSite** ppClientSite) = 0;
2519 virtual HRESULT STDMETHODCALLTYPE SetHostNames(
2520 LPCOLESTR szContainerApp,
2521 LPCOLESTR szContainerObj) = 0;
2523 virtual HRESULT STDMETHODCALLTYPE Close(
2524 DWORD dwSaveOption) = 0;
2526 virtual HRESULT STDMETHODCALLTYPE SetMoniker(
2527 DWORD dwWhichMoniker,
2528 IMoniker* pmk) = 0;
2530 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
2531 DWORD dwAssign,
2532 DWORD dwWhichMoniker,
2533 IMoniker** ppmk) = 0;
2535 virtual HRESULT STDMETHODCALLTYPE InitFromData(
2536 IDataObject* pDataObject,
2537 BOOL fCreation,
2538 DWORD dwReserved) = 0;
2540 virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
2541 DWORD dwReserved,
2542 IDataObject** ppDataObject) = 0;
2544 virtual HRESULT STDMETHODCALLTYPE DoVerb(
2545 LONG iVerb,
2546 struct tagMSG* lpmsg,
2547 IOleClientSite* pActiveSite,
2548 LONG lindex,
2549 HWND hwndParent,
2550 LPCRECT lprcPosRect) = 0;
2552 virtual HRESULT STDMETHODCALLTYPE EnumVerbs(
2553 IEnumOLEVERB** ppEnumOleVerb) = 0;
2555 virtual HRESULT STDMETHODCALLTYPE Update(
2556 ) = 0;
2558 virtual HRESULT STDMETHODCALLTYPE IsUpToDate(
2559 ) = 0;
2561 virtual HRESULT STDMETHODCALLTYPE GetUserClassID(
2562 CLSID* pClsid) = 0;
2564 virtual HRESULT STDMETHODCALLTYPE GetUserType(
2565 DWORD dwFormOfType,
2566 LPOLESTR* pszUserType) = 0;
2568 virtual HRESULT STDMETHODCALLTYPE SetExtent(
2569 DWORD dwDrawAspect,
2570 SIZEL* psizel) = 0;
2572 virtual HRESULT STDMETHODCALLTYPE GetExtent(
2573 DWORD dwDrawAspect,
2574 SIZEL* psizel) = 0;
2576 virtual HRESULT STDMETHODCALLTYPE Advise(
2577 IAdviseSink* pAdvSink,
2578 DWORD* pdwConnection) = 0;
2580 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2581 DWORD dwConnection) = 0;
2583 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2584 IEnumSTATDATA** ppenumAdvise) = 0;
2586 virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(
2587 DWORD dwAspect,
2588 DWORD* pdwStatus) = 0;
2590 virtual HRESULT STDMETHODCALLTYPE SetColorScheme(
2591 LOGPALETTE* pLogpal) = 0;
2594 #else
2595 typedef struct IOleObjectVtbl IOleObjectVtbl;
2596 struct IOleObject {
2597 const IOleObjectVtbl* lpVtbl;
2599 struct IOleObjectVtbl {
2600 ICOM_MSVTABLE_COMPAT_FIELDS
2602 /*** IUnknown methods ***/
2603 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2604 IOleObject* This,
2605 REFIID riid,
2606 void** ppvObject);
2608 ULONG (STDMETHODCALLTYPE *AddRef)(
2609 IOleObject* This);
2611 ULONG (STDMETHODCALLTYPE *Release)(
2612 IOleObject* This);
2614 /*** IOleObject methods ***/
2615 HRESULT (STDMETHODCALLTYPE *SetClientSite)(
2616 IOleObject* This,
2617 IOleClientSite* pClientSite);
2619 HRESULT (STDMETHODCALLTYPE *GetClientSite)(
2620 IOleObject* This,
2621 IOleClientSite** ppClientSite);
2623 HRESULT (STDMETHODCALLTYPE *SetHostNames)(
2624 IOleObject* This,
2625 LPCOLESTR szContainerApp,
2626 LPCOLESTR szContainerObj);
2628 HRESULT (STDMETHODCALLTYPE *Close)(
2629 IOleObject* This,
2630 DWORD dwSaveOption);
2632 HRESULT (STDMETHODCALLTYPE *SetMoniker)(
2633 IOleObject* This,
2634 DWORD dwWhichMoniker,
2635 IMoniker* pmk);
2637 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
2638 IOleObject* This,
2639 DWORD dwAssign,
2640 DWORD dwWhichMoniker,
2641 IMoniker** ppmk);
2643 HRESULT (STDMETHODCALLTYPE *InitFromData)(
2644 IOleObject* This,
2645 IDataObject* pDataObject,
2646 BOOL fCreation,
2647 DWORD dwReserved);
2649 HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
2650 IOleObject* This,
2651 DWORD dwReserved,
2652 IDataObject** ppDataObject);
2654 HRESULT (STDMETHODCALLTYPE *DoVerb)(
2655 IOleObject* This,
2656 LONG iVerb,
2657 struct tagMSG* lpmsg,
2658 IOleClientSite* pActiveSite,
2659 LONG lindex,
2660 HWND hwndParent,
2661 LPCRECT lprcPosRect);
2663 HRESULT (STDMETHODCALLTYPE *EnumVerbs)(
2664 IOleObject* This,
2665 IEnumOLEVERB** ppEnumOleVerb);
2667 HRESULT (STDMETHODCALLTYPE *Update)(
2668 IOleObject* This);
2670 HRESULT (STDMETHODCALLTYPE *IsUpToDate)(
2671 IOleObject* This);
2673 HRESULT (STDMETHODCALLTYPE *GetUserClassID)(
2674 IOleObject* This,
2675 CLSID* pClsid);
2677 HRESULT (STDMETHODCALLTYPE *GetUserType)(
2678 IOleObject* This,
2679 DWORD dwFormOfType,
2680 LPOLESTR* pszUserType);
2682 HRESULT (STDMETHODCALLTYPE *SetExtent)(
2683 IOleObject* This,
2684 DWORD dwDrawAspect,
2685 SIZEL* psizel);
2687 HRESULT (STDMETHODCALLTYPE *GetExtent)(
2688 IOleObject* This,
2689 DWORD dwDrawAspect,
2690 SIZEL* psizel);
2692 HRESULT (STDMETHODCALLTYPE *Advise)(
2693 IOleObject* This,
2694 IAdviseSink* pAdvSink,
2695 DWORD* pdwConnection);
2697 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2698 IOleObject* This,
2699 DWORD dwConnection);
2701 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
2702 IOleObject* This,
2703 IEnumSTATDATA** ppenumAdvise);
2705 HRESULT (STDMETHODCALLTYPE *GetMiscStatus)(
2706 IOleObject* This,
2707 DWORD dwAspect,
2708 DWORD* pdwStatus);
2710 HRESULT (STDMETHODCALLTYPE *SetColorScheme)(
2711 IOleObject* This,
2712 LOGPALETTE* pLogpal);
2716 /*** IUnknown methods ***/
2717 #define IOleObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2718 #define IOleObject_AddRef(p) (p)->lpVtbl->AddRef(p)
2719 #define IOleObject_Release(p) (p)->lpVtbl->Release(p)
2720 /*** IOleObject methods ***/
2721 #define IOleObject_SetClientSite(p,a) (p)->lpVtbl->SetClientSite(p,a)
2722 #define IOleObject_GetClientSite(p,a) (p)->lpVtbl->GetClientSite(p,a)
2723 #define IOleObject_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
2724 #define IOleObject_Close(p,a) (p)->lpVtbl->Close(p,a)
2725 #define IOleObject_SetMoniker(p,a,b) (p)->lpVtbl->SetMoniker(p,a,b)
2726 #define IOleObject_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
2727 #define IOleObject_InitFromData(p,a,b,c) (p)->lpVtbl->InitFromData(p,a,b,c)
2728 #define IOleObject_GetClipboardData(p,a,b) (p)->lpVtbl->GetClipboardData(p,a,b)
2729 #define IOleObject_DoVerb(p,a,b,c,d,e,f) (p)->lpVtbl->DoVerb(p,a,b,c,d,e,f)
2730 #define IOleObject_EnumVerbs(p,a) (p)->lpVtbl->EnumVerbs(p,a)
2731 #define IOleObject_Update(p) (p)->lpVtbl->Update(p)
2732 #define IOleObject_IsUpToDate(p) (p)->lpVtbl->IsUpToDate(p)
2733 #define IOleObject_GetUserClassID(p,a) (p)->lpVtbl->GetUserClassID(p,a)
2734 #define IOleObject_GetUserType(p,a,b) (p)->lpVtbl->GetUserType(p,a,b)
2735 #define IOleObject_SetExtent(p,a,b) (p)->lpVtbl->SetExtent(p,a,b)
2736 #define IOleObject_GetExtent(p,a,b) (p)->lpVtbl->GetExtent(p,a,b)
2737 #define IOleObject_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
2738 #define IOleObject_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
2739 #define IOleObject_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
2740 #define IOleObject_GetMiscStatus(p,a,b) (p)->lpVtbl->GetMiscStatus(p,a,b)
2741 #define IOleObject_SetColorScheme(p,a) (p)->lpVtbl->SetColorScheme(p,a)
2743 #endif
2745 #define IOleObject_METHODS \
2746 ICOM_MSVTABLE_COMPAT_FIELDS \
2747 /*** IUnknown methods ***/ \
2748 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2749 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2750 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2751 /*** IOleObject methods ***/ \
2752 STDMETHOD_(HRESULT,SetClientSite)(THIS_ IOleClientSite* pClientSite) PURE; \
2753 STDMETHOD_(HRESULT,GetClientSite)(THIS_ IOleClientSite** ppClientSite) PURE; \
2754 STDMETHOD_(HRESULT,SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
2755 STDMETHOD_(HRESULT,Close)(THIS_ DWORD dwSaveOption) PURE; \
2756 STDMETHOD_(HRESULT,SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker* pmk) PURE; \
2757 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
2758 STDMETHOD_(HRESULT,InitFromData)(THIS_ IDataObject* pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
2759 STDMETHOD_(HRESULT,GetClipboardData)(THIS_ DWORD dwReserved, IDataObject** ppDataObject) PURE; \
2760 STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, struct tagMSG* lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
2761 STDMETHOD_(HRESULT,EnumVerbs)(THIS_ IEnumOLEVERB** ppEnumOleVerb) PURE; \
2762 STDMETHOD_(HRESULT,Update)(THIS) PURE; \
2763 STDMETHOD_(HRESULT,IsUpToDate)(THIS) PURE; \
2764 STDMETHOD_(HRESULT,GetUserClassID)(THIS_ CLSID* pClsid) PURE; \
2765 STDMETHOD_(HRESULT,GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR* pszUserType) PURE; \
2766 STDMETHOD_(HRESULT,SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2767 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2768 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
2769 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
2770 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
2771 STDMETHOD_(HRESULT,GetMiscStatus)(THIS_ DWORD dwAspect, DWORD* pdwStatus) PURE; \
2772 STDMETHOD_(HRESULT,SetColorScheme)(THIS_ LOGPALETTE* pLogpal) PURE;
2774 HRESULT CALLBACK IOleObject_SetClientSite_Proxy(
2775 IOleObject* This,
2776 IOleClientSite* pClientSite);
2777 void __RPC_STUB IOleObject_SetClientSite_Stub(
2778 struct IRpcStubBuffer* This,
2779 struct IRpcChannelBuffer* pRpcChannelBuffer,
2780 PRPC_MESSAGE pRpcMessage,
2781 DWORD* pdwStubPhase);
2782 HRESULT CALLBACK IOleObject_GetClientSite_Proxy(
2783 IOleObject* This,
2784 IOleClientSite** ppClientSite);
2785 void __RPC_STUB IOleObject_GetClientSite_Stub(
2786 struct IRpcStubBuffer* This,
2787 struct IRpcChannelBuffer* pRpcChannelBuffer,
2788 PRPC_MESSAGE pRpcMessage,
2789 DWORD* pdwStubPhase);
2790 HRESULT CALLBACK IOleObject_SetHostNames_Proxy(
2791 IOleObject* This,
2792 LPCOLESTR szContainerApp,
2793 LPCOLESTR szContainerObj);
2794 void __RPC_STUB IOleObject_SetHostNames_Stub(
2795 struct IRpcStubBuffer* This,
2796 struct IRpcChannelBuffer* pRpcChannelBuffer,
2797 PRPC_MESSAGE pRpcMessage,
2798 DWORD* pdwStubPhase);
2799 HRESULT CALLBACK IOleObject_Close_Proxy(
2800 IOleObject* This,
2801 DWORD dwSaveOption);
2802 void __RPC_STUB IOleObject_Close_Stub(
2803 struct IRpcStubBuffer* This,
2804 struct IRpcChannelBuffer* pRpcChannelBuffer,
2805 PRPC_MESSAGE pRpcMessage,
2806 DWORD* pdwStubPhase);
2807 HRESULT CALLBACK IOleObject_SetMoniker_Proxy(
2808 IOleObject* This,
2809 DWORD dwWhichMoniker,
2810 IMoniker* pmk);
2811 void __RPC_STUB IOleObject_SetMoniker_Stub(
2812 struct IRpcStubBuffer* This,
2813 struct IRpcChannelBuffer* pRpcChannelBuffer,
2814 PRPC_MESSAGE pRpcMessage,
2815 DWORD* pdwStubPhase);
2816 HRESULT CALLBACK IOleObject_GetMoniker_Proxy(
2817 IOleObject* This,
2818 DWORD dwAssign,
2819 DWORD dwWhichMoniker,
2820 IMoniker** ppmk);
2821 void __RPC_STUB IOleObject_GetMoniker_Stub(
2822 struct IRpcStubBuffer* This,
2823 struct IRpcChannelBuffer* pRpcChannelBuffer,
2824 PRPC_MESSAGE pRpcMessage,
2825 DWORD* pdwStubPhase);
2826 HRESULT CALLBACK IOleObject_InitFromData_Proxy(
2827 IOleObject* This,
2828 IDataObject* pDataObject,
2829 BOOL fCreation,
2830 DWORD dwReserved);
2831 void __RPC_STUB IOleObject_InitFromData_Stub(
2832 struct IRpcStubBuffer* This,
2833 struct IRpcChannelBuffer* pRpcChannelBuffer,
2834 PRPC_MESSAGE pRpcMessage,
2835 DWORD* pdwStubPhase);
2836 HRESULT CALLBACK IOleObject_GetClipboardData_Proxy(
2837 IOleObject* This,
2838 DWORD dwReserved,
2839 IDataObject** ppDataObject);
2840 void __RPC_STUB IOleObject_GetClipboardData_Stub(
2841 struct IRpcStubBuffer* This,
2842 struct IRpcChannelBuffer* pRpcChannelBuffer,
2843 PRPC_MESSAGE pRpcMessage,
2844 DWORD* pdwStubPhase);
2845 HRESULT CALLBACK IOleObject_DoVerb_Proxy(
2846 IOleObject* This,
2847 LONG iVerb,
2848 struct tagMSG* lpmsg,
2849 IOleClientSite* pActiveSite,
2850 LONG lindex,
2851 HWND hwndParent,
2852 LPCRECT lprcPosRect);
2853 void __RPC_STUB IOleObject_DoVerb_Stub(
2854 struct IRpcStubBuffer* This,
2855 struct IRpcChannelBuffer* pRpcChannelBuffer,
2856 PRPC_MESSAGE pRpcMessage,
2857 DWORD* pdwStubPhase);
2858 HRESULT CALLBACK IOleObject_EnumVerbs_Proxy(
2859 IOleObject* This,
2860 IEnumOLEVERB** ppEnumOleVerb);
2861 void __RPC_STUB IOleObject_EnumVerbs_Stub(
2862 struct IRpcStubBuffer* This,
2863 struct IRpcChannelBuffer* pRpcChannelBuffer,
2864 PRPC_MESSAGE pRpcMessage,
2865 DWORD* pdwStubPhase);
2866 HRESULT CALLBACK IOleObject_Update_Proxy(
2867 IOleObject* This);
2868 void __RPC_STUB IOleObject_Update_Stub(
2869 struct IRpcStubBuffer* This,
2870 struct IRpcChannelBuffer* pRpcChannelBuffer,
2871 PRPC_MESSAGE pRpcMessage,
2872 DWORD* pdwStubPhase);
2873 HRESULT CALLBACK IOleObject_IsUpToDate_Proxy(
2874 IOleObject* This);
2875 void __RPC_STUB IOleObject_IsUpToDate_Stub(
2876 struct IRpcStubBuffer* This,
2877 struct IRpcChannelBuffer* pRpcChannelBuffer,
2878 PRPC_MESSAGE pRpcMessage,
2879 DWORD* pdwStubPhase);
2880 HRESULT CALLBACK IOleObject_GetUserClassID_Proxy(
2881 IOleObject* This,
2882 CLSID* pClsid);
2883 void __RPC_STUB IOleObject_GetUserClassID_Stub(
2884 struct IRpcStubBuffer* This,
2885 struct IRpcChannelBuffer* pRpcChannelBuffer,
2886 PRPC_MESSAGE pRpcMessage,
2887 DWORD* pdwStubPhase);
2888 HRESULT CALLBACK IOleObject_GetUserType_Proxy(
2889 IOleObject* This,
2890 DWORD dwFormOfType,
2891 LPOLESTR* pszUserType);
2892 void __RPC_STUB IOleObject_GetUserType_Stub(
2893 struct IRpcStubBuffer* This,
2894 struct IRpcChannelBuffer* pRpcChannelBuffer,
2895 PRPC_MESSAGE pRpcMessage,
2896 DWORD* pdwStubPhase);
2897 HRESULT CALLBACK IOleObject_SetExtent_Proxy(
2898 IOleObject* This,
2899 DWORD dwDrawAspect,
2900 SIZEL* psizel);
2901 void __RPC_STUB IOleObject_SetExtent_Stub(
2902 struct IRpcStubBuffer* This,
2903 struct IRpcChannelBuffer* pRpcChannelBuffer,
2904 PRPC_MESSAGE pRpcMessage,
2905 DWORD* pdwStubPhase);
2906 HRESULT CALLBACK IOleObject_GetExtent_Proxy(
2907 IOleObject* This,
2908 DWORD dwDrawAspect,
2909 SIZEL* psizel);
2910 void __RPC_STUB IOleObject_GetExtent_Stub(
2911 struct IRpcStubBuffer* This,
2912 struct IRpcChannelBuffer* pRpcChannelBuffer,
2913 PRPC_MESSAGE pRpcMessage,
2914 DWORD* pdwStubPhase);
2915 HRESULT CALLBACK IOleObject_Advise_Proxy(
2916 IOleObject* This,
2917 IAdviseSink* pAdvSink,
2918 DWORD* pdwConnection);
2919 void __RPC_STUB IOleObject_Advise_Stub(
2920 struct IRpcStubBuffer* This,
2921 struct IRpcChannelBuffer* pRpcChannelBuffer,
2922 PRPC_MESSAGE pRpcMessage,
2923 DWORD* pdwStubPhase);
2924 HRESULT CALLBACK IOleObject_Unadvise_Proxy(
2925 IOleObject* This,
2926 DWORD dwConnection);
2927 void __RPC_STUB IOleObject_Unadvise_Stub(
2928 struct IRpcStubBuffer* This,
2929 struct IRpcChannelBuffer* pRpcChannelBuffer,
2930 PRPC_MESSAGE pRpcMessage,
2931 DWORD* pdwStubPhase);
2932 HRESULT CALLBACK IOleObject_EnumAdvise_Proxy(
2933 IOleObject* This,
2934 IEnumSTATDATA** ppenumAdvise);
2935 void __RPC_STUB IOleObject_EnumAdvise_Stub(
2936 struct IRpcStubBuffer* This,
2937 struct IRpcChannelBuffer* pRpcChannelBuffer,
2938 PRPC_MESSAGE pRpcMessage,
2939 DWORD* pdwStubPhase);
2940 HRESULT CALLBACK IOleObject_GetMiscStatus_Proxy(
2941 IOleObject* This,
2942 DWORD dwAspect,
2943 DWORD* pdwStatus);
2944 void __RPC_STUB IOleObject_GetMiscStatus_Stub(
2945 struct IRpcStubBuffer* This,
2946 struct IRpcChannelBuffer* pRpcChannelBuffer,
2947 PRPC_MESSAGE pRpcMessage,
2948 DWORD* pdwStubPhase);
2949 HRESULT CALLBACK IOleObject_SetColorScheme_Proxy(
2950 IOleObject* This,
2951 LOGPALETTE* pLogpal);
2952 void __RPC_STUB IOleObject_SetColorScheme_Stub(
2953 struct IRpcStubBuffer* This,
2954 struct IRpcChannelBuffer* pRpcChannelBuffer,
2955 PRPC_MESSAGE pRpcMessage,
2956 DWORD* pdwStubPhase);
2958 #endif /* __IOleObject_INTERFACE_DEFINED__ */
2960 #ifndef __IOleAdviseHolder_FWD_DEFINED__
2961 #define __IOleAdviseHolder_FWD_DEFINED__
2962 typedef struct IOleAdviseHolder IOleAdviseHolder;
2963 #endif
2965 typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
2967 /*****************************************************************************
2968 * IOleAdviseHolder interface
2970 #ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
2971 #define __IOleAdviseHolder_INTERFACE_DEFINED__
2973 DEFINE_GUID(IID_IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2974 #if defined(__cplusplus) && !defined(CINTERFACE)
2975 struct IOleAdviseHolder : public IUnknown
2977 virtual HRESULT STDMETHODCALLTYPE Advise(
2978 IAdviseSink* pAdvise,
2979 DWORD* pdwConnection) = 0;
2981 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2982 DWORD dwConnection) = 0;
2984 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2985 IEnumSTATDATA** ppenumAdvise) = 0;
2987 virtual HRESULT STDMETHODCALLTYPE SendOnRename(
2988 IMoniker* pmk) = 0;
2990 virtual HRESULT STDMETHODCALLTYPE SendOnSave(
2991 ) = 0;
2993 virtual HRESULT STDMETHODCALLTYPE SendOnClose(
2994 ) = 0;
2997 #else
2998 typedef struct IOleAdviseHolderVtbl IOleAdviseHolderVtbl;
2999 struct IOleAdviseHolder {
3000 const IOleAdviseHolderVtbl* lpVtbl;
3002 struct IOleAdviseHolderVtbl {
3003 ICOM_MSVTABLE_COMPAT_FIELDS
3005 /*** IUnknown methods ***/
3006 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3007 IOleAdviseHolder* This,
3008 REFIID riid,
3009 void** ppvObject);
3011 ULONG (STDMETHODCALLTYPE *AddRef)(
3012 IOleAdviseHolder* This);
3014 ULONG (STDMETHODCALLTYPE *Release)(
3015 IOleAdviseHolder* This);
3017 /*** IOleAdviseHolder methods ***/
3018 HRESULT (STDMETHODCALLTYPE *Advise)(
3019 IOleAdviseHolder* This,
3020 IAdviseSink* pAdvise,
3021 DWORD* pdwConnection);
3023 HRESULT (STDMETHODCALLTYPE *Unadvise)(
3024 IOleAdviseHolder* This,
3025 DWORD dwConnection);
3027 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
3028 IOleAdviseHolder* This,
3029 IEnumSTATDATA** ppenumAdvise);
3031 HRESULT (STDMETHODCALLTYPE *SendOnRename)(
3032 IOleAdviseHolder* This,
3033 IMoniker* pmk);
3035 HRESULT (STDMETHODCALLTYPE *SendOnSave)(
3036 IOleAdviseHolder* This);
3038 HRESULT (STDMETHODCALLTYPE *SendOnClose)(
3039 IOleAdviseHolder* This);
3043 /*** IUnknown methods ***/
3044 #define IOleAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3045 #define IOleAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
3046 #define IOleAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
3047 /*** IOleAdviseHolder methods ***/
3048 #define IOleAdviseHolder_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
3049 #define IOleAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3050 #define IOleAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
3051 #define IOleAdviseHolder_SendOnRename(p,a) (p)->lpVtbl->SendOnRename(p,a)
3052 #define IOleAdviseHolder_SendOnSave(p) (p)->lpVtbl->SendOnSave(p)
3053 #define IOleAdviseHolder_SendOnClose(p) (p)->lpVtbl->SendOnClose(p)
3055 #endif
3057 #define IOleAdviseHolder_METHODS \
3058 ICOM_MSVTABLE_COMPAT_FIELDS \
3059 /*** IUnknown methods ***/ \
3060 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3061 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3062 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3063 /*** IOleAdviseHolder methods ***/ \
3064 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
3065 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
3066 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
3067 STDMETHOD_(HRESULT,SendOnRename)(THIS_ IMoniker* pmk) PURE; \
3068 STDMETHOD_(HRESULT,SendOnSave)(THIS) PURE; \
3069 STDMETHOD_(HRESULT,SendOnClose)(THIS) PURE;
3071 HRESULT CALLBACK IOleAdviseHolder_Advise_Proxy(
3072 IOleAdviseHolder* This,
3073 IAdviseSink* pAdvise,
3074 DWORD* pdwConnection);
3075 void __RPC_STUB IOleAdviseHolder_Advise_Stub(
3076 struct IRpcStubBuffer* This,
3077 struct IRpcChannelBuffer* pRpcChannelBuffer,
3078 PRPC_MESSAGE pRpcMessage,
3079 DWORD* pdwStubPhase);
3080 HRESULT CALLBACK IOleAdviseHolder_Unadvise_Proxy(
3081 IOleAdviseHolder* This,
3082 DWORD dwConnection);
3083 void __RPC_STUB IOleAdviseHolder_Unadvise_Stub(
3084 struct IRpcStubBuffer* This,
3085 struct IRpcChannelBuffer* pRpcChannelBuffer,
3086 PRPC_MESSAGE pRpcMessage,
3087 DWORD* pdwStubPhase);
3088 HRESULT CALLBACK IOleAdviseHolder_EnumAdvise_Proxy(
3089 IOleAdviseHolder* This,
3090 IEnumSTATDATA** ppenumAdvise);
3091 void __RPC_STUB IOleAdviseHolder_EnumAdvise_Stub(
3092 struct IRpcStubBuffer* This,
3093 struct IRpcChannelBuffer* pRpcChannelBuffer,
3094 PRPC_MESSAGE pRpcMessage,
3095 DWORD* pdwStubPhase);
3096 HRESULT CALLBACK IOleAdviseHolder_SendOnRename_Proxy(
3097 IOleAdviseHolder* This,
3098 IMoniker* pmk);
3099 void __RPC_STUB IOleAdviseHolder_SendOnRename_Stub(
3100 struct IRpcStubBuffer* This,
3101 struct IRpcChannelBuffer* pRpcChannelBuffer,
3102 PRPC_MESSAGE pRpcMessage,
3103 DWORD* pdwStubPhase);
3104 HRESULT CALLBACK IOleAdviseHolder_SendOnSave_Proxy(
3105 IOleAdviseHolder* This);
3106 void __RPC_STUB IOleAdviseHolder_SendOnSave_Stub(
3107 struct IRpcStubBuffer* This,
3108 struct IRpcChannelBuffer* pRpcChannelBuffer,
3109 PRPC_MESSAGE pRpcMessage,
3110 DWORD* pdwStubPhase);
3111 HRESULT CALLBACK IOleAdviseHolder_SendOnClose_Proxy(
3112 IOleAdviseHolder* This);
3113 void __RPC_STUB IOleAdviseHolder_SendOnClose_Stub(
3114 struct IRpcStubBuffer* This,
3115 struct IRpcChannelBuffer* pRpcChannelBuffer,
3116 PRPC_MESSAGE pRpcMessage,
3117 DWORD* pdwStubPhase);
3119 #endif /* __IOleAdviseHolder_INTERFACE_DEFINED__ */
3121 #ifndef __IContinue_FWD_DEFINED__
3122 #define __IContinue_FWD_DEFINED__
3123 typedef struct IContinue IContinue;
3124 #endif
3126 /*****************************************************************************
3127 * IContinue interface
3129 #ifndef __IContinue_INTERFACE_DEFINED__
3130 #define __IContinue_INTERFACE_DEFINED__
3132 DEFINE_GUID(IID_IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3133 #if defined(__cplusplus) && !defined(CINTERFACE)
3134 struct IContinue : public IUnknown
3136 virtual HRESULT STDMETHODCALLTYPE FContinue(
3137 ) = 0;
3140 #else
3141 typedef struct IContinueVtbl IContinueVtbl;
3142 struct IContinue {
3143 const IContinueVtbl* lpVtbl;
3145 struct IContinueVtbl {
3146 ICOM_MSVTABLE_COMPAT_FIELDS
3148 /*** IUnknown methods ***/
3149 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3150 IContinue* This,
3151 REFIID riid,
3152 void** ppvObject);
3154 ULONG (STDMETHODCALLTYPE *AddRef)(
3155 IContinue* This);
3157 ULONG (STDMETHODCALLTYPE *Release)(
3158 IContinue* This);
3160 /*** IContinue methods ***/
3161 HRESULT (STDMETHODCALLTYPE *FContinue)(
3162 IContinue* This);
3166 /*** IUnknown methods ***/
3167 #define IContinue_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3168 #define IContinue_AddRef(p) (p)->lpVtbl->AddRef(p)
3169 #define IContinue_Release(p) (p)->lpVtbl->Release(p)
3170 /*** IContinue methods ***/
3171 #define IContinue_FContinue(p) (p)->lpVtbl->FContinue(p)
3173 #endif
3175 #define IContinue_METHODS \
3176 ICOM_MSVTABLE_COMPAT_FIELDS \
3177 /*** IUnknown methods ***/ \
3178 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3179 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3180 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3181 /*** IContinue methods ***/ \
3182 STDMETHOD_(HRESULT,FContinue)(THIS) PURE;
3184 HRESULT CALLBACK IContinue_FContinue_Proxy(
3185 IContinue* This);
3186 void __RPC_STUB IContinue_FContinue_Stub(
3187 struct IRpcStubBuffer* This,
3188 struct IRpcChannelBuffer* pRpcChannelBuffer,
3189 PRPC_MESSAGE pRpcMessage,
3190 DWORD* pdwStubPhase);
3192 #endif /* __IContinue_INTERFACE_DEFINED__ */
3194 #ifndef __IViewObject_FWD_DEFINED__
3195 #define __IViewObject_FWD_DEFINED__
3196 typedef struct IViewObject IViewObject;
3197 #endif
3199 typedef IViewObject *LPVIEWOBJECT;
3201 /*****************************************************************************
3202 * IViewObject interface
3204 #ifndef __IViewObject_INTERFACE_DEFINED__
3205 #define __IViewObject_INTERFACE_DEFINED__
3207 DEFINE_GUID(IID_IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3208 #if defined(__cplusplus) && !defined(CINTERFACE)
3209 struct IViewObject : public IUnknown
3211 virtual HRESULT STDMETHODCALLTYPE Draw(
3212 DWORD dwDrawAspect,
3213 LONG lindex,
3214 void* pvAspect,
3215 DVTARGETDEVICE* ptd,
3216 HDC hdcTargetDev,
3217 HDC hdcDraw,
3218 LPCRECTL lprcBounds,
3219 LPCRECTL lprcWBounds,
3220 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3221 ULONG_PTR dwContinue) = 0;
3223 virtual HRESULT STDMETHODCALLTYPE GetColorSet(
3224 DWORD dwDrawAspect,
3225 LONG lindex,
3226 void* pvAspect,
3227 DVTARGETDEVICE* ptd,
3228 HDC hicTargetDev,
3229 LOGPALETTE** ppColorSet) = 0;
3231 virtual HRESULT STDMETHODCALLTYPE Freeze(
3232 DWORD dwDrawAspect,
3233 LONG lindex,
3234 void* pvAspect,
3235 DWORD* pdwFreeze) = 0;
3237 virtual HRESULT STDMETHODCALLTYPE Unfreeze(
3238 DWORD dwFreeze) = 0;
3240 virtual HRESULT STDMETHODCALLTYPE SetAdvise(
3241 DWORD aspects,
3242 DWORD advf,
3243 IAdviseSink* pAdvSink) = 0;
3245 virtual HRESULT STDMETHODCALLTYPE GetAdvise(
3246 DWORD* pAspects,
3247 DWORD* pAdvf,
3248 IAdviseSink** ppAdvSink) = 0;
3251 #else
3252 typedef struct IViewObjectVtbl IViewObjectVtbl;
3253 struct IViewObject {
3254 const IViewObjectVtbl* lpVtbl;
3256 struct IViewObjectVtbl {
3257 ICOM_MSVTABLE_COMPAT_FIELDS
3259 /*** IUnknown methods ***/
3260 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3261 IViewObject* This,
3262 REFIID riid,
3263 void** ppvObject);
3265 ULONG (STDMETHODCALLTYPE *AddRef)(
3266 IViewObject* This);
3268 ULONG (STDMETHODCALLTYPE *Release)(
3269 IViewObject* This);
3271 /*** IViewObject methods ***/
3272 HRESULT (STDMETHODCALLTYPE *Draw)(
3273 IViewObject* This,
3274 DWORD dwDrawAspect,
3275 LONG lindex,
3276 void* pvAspect,
3277 DVTARGETDEVICE* ptd,
3278 HDC hdcTargetDev,
3279 HDC hdcDraw,
3280 LPCRECTL lprcBounds,
3281 LPCRECTL lprcWBounds,
3282 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3283 ULONG_PTR dwContinue);
3285 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3286 IViewObject* This,
3287 DWORD dwDrawAspect,
3288 LONG lindex,
3289 void* pvAspect,
3290 DVTARGETDEVICE* ptd,
3291 HDC hicTargetDev,
3292 LOGPALETTE** ppColorSet);
3294 HRESULT (STDMETHODCALLTYPE *Freeze)(
3295 IViewObject* This,
3296 DWORD dwDrawAspect,
3297 LONG lindex,
3298 void* pvAspect,
3299 DWORD* pdwFreeze);
3301 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3302 IViewObject* This,
3303 DWORD dwFreeze);
3305 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3306 IViewObject* This,
3307 DWORD aspects,
3308 DWORD advf,
3309 IAdviseSink* pAdvSink);
3311 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3312 IViewObject* This,
3313 DWORD* pAspects,
3314 DWORD* pAdvf,
3315 IAdviseSink** ppAdvSink);
3319 /*** IUnknown methods ***/
3320 #define IViewObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3321 #define IViewObject_AddRef(p) (p)->lpVtbl->AddRef(p)
3322 #define IViewObject_Release(p) (p)->lpVtbl->Release(p)
3323 /*** IViewObject methods ***/
3324 #define IViewObject_Draw(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Draw(p,a,b,c,d,e,f,g,h,i,j)
3325 #define IViewObject_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3326 #define IViewObject_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3327 #define IViewObject_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3328 #define IViewObject_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3329 #define IViewObject_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3331 #endif
3333 #define IViewObject_METHODS \
3334 ICOM_MSVTABLE_COMPAT_FIELDS \
3335 /*** IUnknown methods ***/ \
3336 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3337 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3338 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3339 /*** IViewObject methods ***/ \
3340 STDMETHOD_(HRESULT,Draw)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) PURE; \
3341 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3342 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3343 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3344 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3345 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE;
3347 HRESULT CALLBACK IViewObject_RemoteDraw_Proxy(
3348 IViewObject* This,
3349 DWORD dwDrawAspect,
3350 LONG lindex,
3351 ULONG_PTR pvAspect,
3352 DVTARGETDEVICE* ptd,
3353 ULONG_PTR hdcTargetDev,
3354 ULONG_PTR hdcDraw,
3355 LPCRECTL lprcBounds,
3356 LPCRECTL lprcWBounds,
3357 IContinue* pContinue);
3358 void __RPC_STUB IViewObject_RemoteDraw_Stub(
3359 struct IRpcStubBuffer* This,
3360 struct IRpcChannelBuffer* pRpcChannelBuffer,
3361 PRPC_MESSAGE pRpcMessage,
3362 DWORD* pdwStubPhase);
3363 HRESULT CALLBACK IViewObject_Draw_Proxy(
3364 IViewObject* This,
3365 DWORD dwDrawAspect,
3366 LONG lindex,
3367 void* pvAspect,
3368 DVTARGETDEVICE* ptd,
3369 HDC hdcTargetDev,
3370 HDC hdcDraw,
3371 LPCRECTL lprcBounds,
3372 LPCRECTL lprcWBounds,
3373 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3374 ULONG_PTR dwContinue);
3375 HRESULT __RPC_STUB IViewObject_Draw_Stub(
3376 IViewObject* This,
3377 DWORD dwDrawAspect,
3378 LONG lindex,
3379 ULONG_PTR pvAspect,
3380 DVTARGETDEVICE* ptd,
3381 ULONG_PTR hdcTargetDev,
3382 ULONG_PTR hdcDraw,
3383 LPCRECTL lprcBounds,
3384 LPCRECTL lprcWBounds,
3385 IContinue* pContinue);
3386 HRESULT CALLBACK IViewObject_RemoteGetColorSet_Proxy(
3387 IViewObject* This,
3388 DWORD dwDrawAspect,
3389 LONG lindex,
3390 ULONG_PTR pvAspect,
3391 DVTARGETDEVICE* ptd,
3392 ULONG_PTR hicTargetDev,
3393 LOGPALETTE** ppColorSet);
3394 void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(
3395 struct IRpcStubBuffer* This,
3396 struct IRpcChannelBuffer* pRpcChannelBuffer,
3397 PRPC_MESSAGE pRpcMessage,
3398 DWORD* pdwStubPhase);
3399 HRESULT CALLBACK IViewObject_GetColorSet_Proxy(
3400 IViewObject* This,
3401 DWORD dwDrawAspect,
3402 LONG lindex,
3403 void* pvAspect,
3404 DVTARGETDEVICE* ptd,
3405 HDC hicTargetDev,
3406 LOGPALETTE** ppColorSet);
3407 HRESULT __RPC_STUB IViewObject_GetColorSet_Stub(
3408 IViewObject* This,
3409 DWORD dwDrawAspect,
3410 LONG lindex,
3411 ULONG_PTR pvAspect,
3412 DVTARGETDEVICE* ptd,
3413 ULONG_PTR hicTargetDev,
3414 LOGPALETTE** ppColorSet);
3415 HRESULT CALLBACK IViewObject_RemoteFreeze_Proxy(
3416 IViewObject* This,
3417 DWORD dwDrawAspect,
3418 LONG lindex,
3419 ULONG_PTR pvAspect,
3420 DWORD* pdwFreeze);
3421 void __RPC_STUB IViewObject_RemoteFreeze_Stub(
3422 struct IRpcStubBuffer* This,
3423 struct IRpcChannelBuffer* pRpcChannelBuffer,
3424 PRPC_MESSAGE pRpcMessage,
3425 DWORD* pdwStubPhase);
3426 HRESULT CALLBACK IViewObject_Freeze_Proxy(
3427 IViewObject* This,
3428 DWORD dwDrawAspect,
3429 LONG lindex,
3430 void* pvAspect,
3431 DWORD* pdwFreeze);
3432 HRESULT __RPC_STUB IViewObject_Freeze_Stub(
3433 IViewObject* This,
3434 DWORD dwDrawAspect,
3435 LONG lindex,
3436 ULONG_PTR pvAspect,
3437 DWORD* pdwFreeze);
3438 HRESULT CALLBACK IViewObject_Unfreeze_Proxy(
3439 IViewObject* This,
3440 DWORD dwFreeze);
3441 void __RPC_STUB IViewObject_Unfreeze_Stub(
3442 struct IRpcStubBuffer* This,
3443 struct IRpcChannelBuffer* pRpcChannelBuffer,
3444 PRPC_MESSAGE pRpcMessage,
3445 DWORD* pdwStubPhase);
3446 HRESULT CALLBACK IViewObject_SetAdvise_Proxy(
3447 IViewObject* This,
3448 DWORD aspects,
3449 DWORD advf,
3450 IAdviseSink* pAdvSink);
3451 void __RPC_STUB IViewObject_SetAdvise_Stub(
3452 struct IRpcStubBuffer* This,
3453 struct IRpcChannelBuffer* pRpcChannelBuffer,
3454 PRPC_MESSAGE pRpcMessage,
3455 DWORD* pdwStubPhase);
3456 HRESULT CALLBACK IViewObject_RemoteGetAdvise_Proxy(
3457 IViewObject* This,
3458 DWORD* pAspects,
3459 DWORD* pAdvf,
3460 IAdviseSink** ppAdvSink);
3461 void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(
3462 struct IRpcStubBuffer* This,
3463 struct IRpcChannelBuffer* pRpcChannelBuffer,
3464 PRPC_MESSAGE pRpcMessage,
3465 DWORD* pdwStubPhase);
3466 HRESULT CALLBACK IViewObject_GetAdvise_Proxy(
3467 IViewObject* This,
3468 DWORD* pAspects,
3469 DWORD* pAdvf,
3470 IAdviseSink** ppAdvSink);
3471 HRESULT __RPC_STUB IViewObject_GetAdvise_Stub(
3472 IViewObject* This,
3473 DWORD* pAspects,
3474 DWORD* pAdvf,
3475 IAdviseSink** ppAdvSink);
3477 #endif /* __IViewObject_INTERFACE_DEFINED__ */
3479 #ifndef __IViewObject2_FWD_DEFINED__
3480 #define __IViewObject2_FWD_DEFINED__
3481 typedef struct IViewObject2 IViewObject2;
3482 #endif
3484 typedef IViewObject2 *LPVIEWOBJECT2;
3486 /*****************************************************************************
3487 * IViewObject2 interface
3489 #ifndef __IViewObject2_INTERFACE_DEFINED__
3490 #define __IViewObject2_INTERFACE_DEFINED__
3492 DEFINE_GUID(IID_IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3493 #if defined(__cplusplus) && !defined(CINTERFACE)
3494 struct IViewObject2 : public IViewObject
3496 virtual HRESULT STDMETHODCALLTYPE GetExtent(
3497 DWORD dwDrawAspect,
3498 LONG lindex,
3499 DVTARGETDEVICE* ptd,
3500 LPSIZEL lpsizel) = 0;
3503 #else
3504 typedef struct IViewObject2Vtbl IViewObject2Vtbl;
3505 struct IViewObject2 {
3506 const IViewObject2Vtbl* lpVtbl;
3508 struct IViewObject2Vtbl {
3509 ICOM_MSVTABLE_COMPAT_FIELDS
3511 /*** IUnknown methods ***/
3512 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3513 IViewObject2* This,
3514 REFIID riid,
3515 void** ppvObject);
3517 ULONG (STDMETHODCALLTYPE *AddRef)(
3518 IViewObject2* This);
3520 ULONG (STDMETHODCALLTYPE *Release)(
3521 IViewObject2* This);
3523 /*** IViewObject methods ***/
3524 HRESULT (STDMETHODCALLTYPE *Draw)(
3525 IViewObject2* This,
3526 DWORD dwDrawAspect,
3527 LONG lindex,
3528 void* pvAspect,
3529 DVTARGETDEVICE* ptd,
3530 HDC hdcTargetDev,
3531 HDC hdcDraw,
3532 LPCRECTL lprcBounds,
3533 LPCRECTL lprcWBounds,
3534 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3535 ULONG_PTR dwContinue);
3537 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3538 IViewObject2* This,
3539 DWORD dwDrawAspect,
3540 LONG lindex,
3541 void* pvAspect,
3542 DVTARGETDEVICE* ptd,
3543 HDC hicTargetDev,
3544 LOGPALETTE** ppColorSet);
3546 HRESULT (STDMETHODCALLTYPE *Freeze)(
3547 IViewObject2* This,
3548 DWORD dwDrawAspect,
3549 LONG lindex,
3550 void* pvAspect,
3551 DWORD* pdwFreeze);
3553 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3554 IViewObject2* This,
3555 DWORD dwFreeze);
3557 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3558 IViewObject2* This,
3559 DWORD aspects,
3560 DWORD advf,
3561 IAdviseSink* pAdvSink);
3563 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3564 IViewObject2* This,
3565 DWORD* pAspects,
3566 DWORD* pAdvf,
3567 IAdviseSink** ppAdvSink);
3569 /*** IViewObject2 methods ***/
3570 HRESULT (STDMETHODCALLTYPE *GetExtent)(
3571 IViewObject2* This,
3572 DWORD dwDrawAspect,
3573 LONG lindex,
3574 DVTARGETDEVICE* ptd,
3575 LPSIZEL lpsizel);
3579 /*** IUnknown methods ***/
3580 #define IViewObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3581 #define IViewObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
3582 #define IViewObject2_Release(p) (p)->lpVtbl->Release(p)
3583 /*** IViewObject methods ***/
3584 #define IViewObject2_Draw(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Draw(p,a,b,c,d,e,f,g,h,i,j)
3585 #define IViewObject2_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3586 #define IViewObject2_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3587 #define IViewObject2_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3588 #define IViewObject2_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3589 #define IViewObject2_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3590 /*** IViewObject2 methods ***/
3591 #define IViewObject2_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
3593 #endif
3595 #define IViewObject2_METHODS \
3596 ICOM_MSVTABLE_COMPAT_FIELDS \
3597 /*** IUnknown methods ***/ \
3598 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3599 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3600 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3601 /*** IViewObject methods ***/ \
3602 STDMETHOD_(HRESULT,Draw)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) PURE; \
3603 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3604 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3605 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3606 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3607 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE; \
3608 /*** IViewObject2 methods ***/ \
3609 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel) PURE;
3611 HRESULT CALLBACK IViewObject2_GetExtent_Proxy(
3612 IViewObject2* This,
3613 DWORD dwDrawAspect,
3614 LONG lindex,
3615 DVTARGETDEVICE* ptd,
3616 LPSIZEL lpsizel);
3617 void __RPC_STUB IViewObject2_GetExtent_Stub(
3618 struct IRpcStubBuffer* This,
3619 struct IRpcChannelBuffer* pRpcChannelBuffer,
3620 PRPC_MESSAGE pRpcMessage,
3621 DWORD* pdwStubPhase);
3623 #endif /* __IViewObject2_INTERFACE_DEFINED__ */
3625 #ifndef __IDropSource_FWD_DEFINED__
3626 #define __IDropSource_FWD_DEFINED__
3627 typedef struct IDropSource IDropSource;
3628 #endif
3630 typedef IDropSource *LPDROPSOURCE;
3632 /*****************************************************************************
3633 * IDropSource interface
3635 #ifndef __IDropSource_INTERFACE_DEFINED__
3636 #define __IDropSource_INTERFACE_DEFINED__
3638 DEFINE_GUID(IID_IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3639 #if defined(__cplusplus) && !defined(CINTERFACE)
3640 struct IDropSource : public IUnknown
3642 virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(
3643 BOOL fEscapePressed,
3644 DWORD grfKeyState) = 0;
3646 virtual HRESULT STDMETHODCALLTYPE GiveFeedback(
3647 DWORD dwEffect) = 0;
3650 #else
3651 typedef struct IDropSourceVtbl IDropSourceVtbl;
3652 struct IDropSource {
3653 const IDropSourceVtbl* lpVtbl;
3655 struct IDropSourceVtbl {
3656 ICOM_MSVTABLE_COMPAT_FIELDS
3658 /*** IUnknown methods ***/
3659 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3660 IDropSource* This,
3661 REFIID riid,
3662 void** ppvObject);
3664 ULONG (STDMETHODCALLTYPE *AddRef)(
3665 IDropSource* This);
3667 ULONG (STDMETHODCALLTYPE *Release)(
3668 IDropSource* This);
3670 /*** IDropSource methods ***/
3671 HRESULT (STDMETHODCALLTYPE *QueryContinueDrag)(
3672 IDropSource* This,
3673 BOOL fEscapePressed,
3674 DWORD grfKeyState);
3676 HRESULT (STDMETHODCALLTYPE *GiveFeedback)(
3677 IDropSource* This,
3678 DWORD dwEffect);
3682 /*** IUnknown methods ***/
3683 #define IDropSource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3684 #define IDropSource_AddRef(p) (p)->lpVtbl->AddRef(p)
3685 #define IDropSource_Release(p) (p)->lpVtbl->Release(p)
3686 /*** IDropSource methods ***/
3687 #define IDropSource_QueryContinueDrag(p,a,b) (p)->lpVtbl->QueryContinueDrag(p,a,b)
3688 #define IDropSource_GiveFeedback(p,a) (p)->lpVtbl->GiveFeedback(p,a)
3690 #endif
3692 #define IDropSource_METHODS \
3693 ICOM_MSVTABLE_COMPAT_FIELDS \
3694 /*** IUnknown methods ***/ \
3695 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3696 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3697 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3698 /*** IDropSource methods ***/ \
3699 STDMETHOD_(HRESULT,QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
3700 STDMETHOD_(HRESULT,GiveFeedback)(THIS_ DWORD dwEffect) PURE;
3702 HRESULT CALLBACK IDropSource_QueryContinueDrag_Proxy(
3703 IDropSource* This,
3704 BOOL fEscapePressed,
3705 DWORD grfKeyState);
3706 void __RPC_STUB IDropSource_QueryContinueDrag_Stub(
3707 struct IRpcStubBuffer* This,
3708 struct IRpcChannelBuffer* pRpcChannelBuffer,
3709 PRPC_MESSAGE pRpcMessage,
3710 DWORD* pdwStubPhase);
3711 HRESULT CALLBACK IDropSource_GiveFeedback_Proxy(
3712 IDropSource* This,
3713 DWORD dwEffect);
3714 void __RPC_STUB IDropSource_GiveFeedback_Stub(
3715 struct IRpcStubBuffer* This,
3716 struct IRpcChannelBuffer* pRpcChannelBuffer,
3717 PRPC_MESSAGE pRpcMessage,
3718 DWORD* pdwStubPhase);
3720 #endif /* __IDropSource_INTERFACE_DEFINED__ */
3722 #ifndef __IDropTarget_FWD_DEFINED__
3723 #define __IDropTarget_FWD_DEFINED__
3724 typedef struct IDropTarget IDropTarget;
3725 #endif
3727 typedef IDropTarget *LPDROPTARGET;
3729 #define MK_ALT (0x20)
3731 #define DROPEFFECT_NONE (0)
3733 #define DROPEFFECT_COPY (1)
3735 #define DROPEFFECT_MOVE (2)
3737 #define DROPEFFECT_LINK (4)
3739 #define DROPEFFECT_SCROLL (0x80000000)
3741 #define DD_DEFSCROLLINSET (11)
3743 #define DD_DEFSCROLLDELAY (50)
3745 #define DD_DEFSCROLLINTERVAL (50)
3747 #define DD_DEFDRAGDELAY (200)
3749 #define DD_DEFDRAGMINDIST (2)
3751 /*****************************************************************************
3752 * IDropTarget interface
3754 #ifndef __IDropTarget_INTERFACE_DEFINED__
3755 #define __IDropTarget_INTERFACE_DEFINED__
3757 DEFINE_GUID(IID_IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3758 #if defined(__cplusplus) && !defined(CINTERFACE)
3759 struct IDropTarget : public IUnknown
3761 virtual HRESULT STDMETHODCALLTYPE DragEnter(
3762 IDataObject* pDataObj,
3763 DWORD grfKeyState,
3764 POINTL pt,
3765 DWORD* pdwEffect) = 0;
3767 virtual HRESULT STDMETHODCALLTYPE DragOver(
3768 DWORD grfKeyState,
3769 POINTL pt,
3770 DWORD* pdwEffect) = 0;
3772 virtual HRESULT STDMETHODCALLTYPE DragLeave(
3773 ) = 0;
3775 virtual HRESULT STDMETHODCALLTYPE Drop(
3776 IDataObject* pDataObj,
3777 DWORD grfKeyState,
3778 POINTL pt,
3779 DWORD* pdwEffect) = 0;
3782 #else
3783 typedef struct IDropTargetVtbl IDropTargetVtbl;
3784 struct IDropTarget {
3785 const IDropTargetVtbl* lpVtbl;
3787 struct IDropTargetVtbl {
3788 ICOM_MSVTABLE_COMPAT_FIELDS
3790 /*** IUnknown methods ***/
3791 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3792 IDropTarget* This,
3793 REFIID riid,
3794 void** ppvObject);
3796 ULONG (STDMETHODCALLTYPE *AddRef)(
3797 IDropTarget* This);
3799 ULONG (STDMETHODCALLTYPE *Release)(
3800 IDropTarget* This);
3802 /*** IDropTarget methods ***/
3803 HRESULT (STDMETHODCALLTYPE *DragEnter)(
3804 IDropTarget* This,
3805 IDataObject* pDataObj,
3806 DWORD grfKeyState,
3807 POINTL pt,
3808 DWORD* pdwEffect);
3810 HRESULT (STDMETHODCALLTYPE *DragOver)(
3811 IDropTarget* This,
3812 DWORD grfKeyState,
3813 POINTL pt,
3814 DWORD* pdwEffect);
3816 HRESULT (STDMETHODCALLTYPE *DragLeave)(
3817 IDropTarget* This);
3819 HRESULT (STDMETHODCALLTYPE *Drop)(
3820 IDropTarget* This,
3821 IDataObject* pDataObj,
3822 DWORD grfKeyState,
3823 POINTL pt,
3824 DWORD* pdwEffect);
3828 /*** IUnknown methods ***/
3829 #define IDropTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3830 #define IDropTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
3831 #define IDropTarget_Release(p) (p)->lpVtbl->Release(p)
3832 /*** IDropTarget methods ***/
3833 #define IDropTarget_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3834 #define IDropTarget_DragOver(p,a,b,c) (p)->lpVtbl->DragOver(p,a,b,c)
3835 #define IDropTarget_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3836 #define IDropTarget_Drop(p,a,b,c,d) (p)->lpVtbl->Drop(p,a,b,c,d)
3838 #endif
3840 #define IDropTarget_METHODS \
3841 ICOM_MSVTABLE_COMPAT_FIELDS \
3842 /*** IUnknown methods ***/ \
3843 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3844 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3845 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3846 /*** IDropTarget methods ***/ \
3847 STDMETHOD_(HRESULT,DragEnter)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3848 STDMETHOD_(HRESULT,DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3849 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3850 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE;
3852 HRESULT CALLBACK IDropTarget_DragEnter_Proxy(
3853 IDropTarget* This,
3854 IDataObject* pDataObj,
3855 DWORD grfKeyState,
3856 POINTL pt,
3857 DWORD* pdwEffect);
3858 void __RPC_STUB IDropTarget_DragEnter_Stub(
3859 struct IRpcStubBuffer* This,
3860 struct IRpcChannelBuffer* pRpcChannelBuffer,
3861 PRPC_MESSAGE pRpcMessage,
3862 DWORD* pdwStubPhase);
3863 HRESULT CALLBACK IDropTarget_DragOver_Proxy(
3864 IDropTarget* This,
3865 DWORD grfKeyState,
3866 POINTL pt,
3867 DWORD* pdwEffect);
3868 void __RPC_STUB IDropTarget_DragOver_Stub(
3869 struct IRpcStubBuffer* This,
3870 struct IRpcChannelBuffer* pRpcChannelBuffer,
3871 PRPC_MESSAGE pRpcMessage,
3872 DWORD* pdwStubPhase);
3873 HRESULT CALLBACK IDropTarget_DragLeave_Proxy(
3874 IDropTarget* This);
3875 void __RPC_STUB IDropTarget_DragLeave_Stub(
3876 struct IRpcStubBuffer* This,
3877 struct IRpcChannelBuffer* pRpcChannelBuffer,
3878 PRPC_MESSAGE pRpcMessage,
3879 DWORD* pdwStubPhase);
3880 HRESULT CALLBACK IDropTarget_Drop_Proxy(
3881 IDropTarget* This,
3882 IDataObject* pDataObj,
3883 DWORD grfKeyState,
3884 POINTL pt,
3885 DWORD* pdwEffect);
3886 void __RPC_STUB IDropTarget_Drop_Stub(
3887 struct IRpcStubBuffer* This,
3888 struct IRpcChannelBuffer* pRpcChannelBuffer,
3889 PRPC_MESSAGE pRpcMessage,
3890 DWORD* pdwStubPhase);
3892 #endif /* __IDropTarget_INTERFACE_DEFINED__ */
3894 #ifdef __cplusplus
3896 #endif
3897 #endif /* __WIDL_OLEIDL_H */