Use docbook2txt to generate the text output instead of adhoc hacks.
[wine/multimedia.git] / include / oleidl.h
blob6b76ba2c4f42ad63c635f84e4d0c6c015aef3b2d
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 /*****************************************************************************
276 * IOleInPlaceActiveObject interface
278 #ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
279 #define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
281 DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
282 #if defined(__cplusplus) && !defined(CINTERFACE)
283 struct IOleInPlaceActiveObject : public IOleWindow
285 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
286 LPMSG lpmsg) = 0;
288 virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
289 BOOL fActivate) = 0;
291 virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
292 BOOL fActivate) = 0;
294 virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
295 LPCRECT prcBorder,
296 IOleInPlaceUIWindow* pUIWindow,
297 BOOL fFrameWindow) = 0;
299 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
300 BOOL fEnable) = 0;
303 #else
304 typedef struct IOleInPlaceActiveObjectVtbl IOleInPlaceActiveObjectVtbl;
305 struct IOleInPlaceActiveObject {
306 const IOleInPlaceActiveObjectVtbl* lpVtbl;
308 struct IOleInPlaceActiveObjectVtbl {
309 ICOM_MSVTABLE_COMPAT_FIELDS
311 /*** IUnknown methods ***/
312 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
313 IOleInPlaceActiveObject* This,
314 REFIID riid,
315 void** ppvObject);
317 ULONG (STDMETHODCALLTYPE *AddRef)(
318 IOleInPlaceActiveObject* This);
320 ULONG (STDMETHODCALLTYPE *Release)(
321 IOleInPlaceActiveObject* This);
323 /*** IOleWindow methods ***/
324 HRESULT (STDMETHODCALLTYPE *GetWindow)(
325 IOleInPlaceActiveObject* This,
326 HWND* phwnd);
328 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
329 IOleInPlaceActiveObject* This,
330 BOOL fEnterMode);
332 /*** IOleInPlaceActiveObject methods ***/
333 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
334 IOleInPlaceActiveObject* This,
335 LPMSG lpmsg);
337 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
338 IOleInPlaceActiveObject* This,
339 BOOL fActivate);
341 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
342 IOleInPlaceActiveObject* This,
343 BOOL fActivate);
345 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
346 IOleInPlaceActiveObject* This,
347 LPCRECT prcBorder,
348 IOleInPlaceUIWindow* pUIWindow,
349 BOOL fFrameWindow);
351 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
352 IOleInPlaceActiveObject* This,
353 BOOL fEnable);
357 /*** IUnknown methods ***/
358 #define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
359 #define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
360 #define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
361 /*** IOleWindow methods ***/
362 #define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
363 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
364 /*** IOleInPlaceActiveObject methods ***/
365 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
366 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
367 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
368 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
369 #define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
371 #endif
373 #define IOleInPlaceActiveObject_METHODS \
374 ICOM_MSVTABLE_COMPAT_FIELDS \
375 /*** IUnknown methods ***/ \
376 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
377 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
378 STDMETHOD_(ULONG,Release)(THIS) PURE; \
379 /*** IOleWindow methods ***/ \
380 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
381 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
382 /*** IOleInPlaceActiveObject methods ***/ \
383 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
384 STDMETHOD_(HRESULT,OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
385 STDMETHOD_(HRESULT,OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
386 STDMETHOD_(HRESULT,ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow) PURE; \
387 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE;
389 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
390 IOleInPlaceActiveObject* This);
391 void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
392 struct IRpcStubBuffer* This,
393 struct IRpcChannelBuffer* pRpcChannelBuffer,
394 PRPC_MESSAGE pRpcMessage,
395 DWORD* pdwStubPhase);
396 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
397 IOleInPlaceActiveObject* This,
398 LPMSG lpmsg);
399 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
400 IOleInPlaceActiveObject* This);
401 HRESULT CALLBACK IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(
402 IOleInPlaceActiveObject* This,
403 BOOL fActivate);
404 void __RPC_STUB IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(
405 struct IRpcStubBuffer* This,
406 struct IRpcChannelBuffer* pRpcChannelBuffer,
407 PRPC_MESSAGE pRpcMessage,
408 DWORD* pdwStubPhase);
409 HRESULT CALLBACK IOleInPlaceActiveObject_OnDocWindowActivate_Proxy(
410 IOleInPlaceActiveObject* This,
411 BOOL fActivate);
412 void __RPC_STUB IOleInPlaceActiveObject_OnDocWindowActivate_Stub(
413 struct IRpcStubBuffer* This,
414 struct IRpcChannelBuffer* pRpcChannelBuffer,
415 PRPC_MESSAGE pRpcMessage,
416 DWORD* pdwStubPhase);
417 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
418 IOleInPlaceActiveObject* This,
419 LPCRECT prcBorder,
420 REFIID riid,
421 IOleInPlaceUIWindow* pUIWindow,
422 BOOL fFrameWindow);
423 void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
424 struct IRpcStubBuffer* This,
425 struct IRpcChannelBuffer* pRpcChannelBuffer,
426 PRPC_MESSAGE pRpcMessage,
427 DWORD* pdwStubPhase);
428 HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy(
429 IOleInPlaceActiveObject* This,
430 LPCRECT prcBorder,
431 IOleInPlaceUIWindow* pUIWindow,
432 BOOL fFrameWindow);
433 HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub(
434 IOleInPlaceActiveObject* This,
435 LPCRECT prcBorder,
436 REFIID riid,
437 IOleInPlaceUIWindow* pUIWindow,
438 BOOL fFrameWindow);
439 HRESULT CALLBACK IOleInPlaceActiveObject_EnableModeless_Proxy(
440 IOleInPlaceActiveObject* This,
441 BOOL fEnable);
442 void __RPC_STUB IOleInPlaceActiveObject_EnableModeless_Stub(
443 struct IRpcStubBuffer* This,
444 struct IRpcChannelBuffer* pRpcChannelBuffer,
445 PRPC_MESSAGE pRpcMessage,
446 DWORD* pdwStubPhase);
448 #endif /* __IOleInPlaceActiveObject_INTERFACE_DEFINED__ */
450 typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
452 typedef RECT BORDERWIDTHS;
454 typedef LPRECT LPBORDERWIDTHS;
456 typedef LPCRECT LPCBORDERWIDTHS;
458 /*****************************************************************************
459 * IOleInPlaceUIWindow interface
461 #ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
462 #define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
464 DEFINE_GUID(IID_IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
465 #if defined(__cplusplus) && !defined(CINTERFACE)
466 struct IOleInPlaceUIWindow : public IOleWindow
468 virtual HRESULT STDMETHODCALLTYPE GetBorder(
469 LPRECT lprectBorder) = 0;
471 virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(
472 LPCBORDERWIDTHS pborderwidths) = 0;
474 virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(
475 LPCBORDERWIDTHS pborderwidths) = 0;
477 virtual HRESULT STDMETHODCALLTYPE SetActiveObject(
478 IOleInPlaceActiveObject* pActiveObject,
479 LPCOLESTR pszObjName) = 0;
482 #else
483 typedef struct IOleInPlaceUIWindowVtbl IOleInPlaceUIWindowVtbl;
484 struct IOleInPlaceUIWindow {
485 const IOleInPlaceUIWindowVtbl* lpVtbl;
487 struct IOleInPlaceUIWindowVtbl {
488 ICOM_MSVTABLE_COMPAT_FIELDS
490 /*** IUnknown methods ***/
491 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
492 IOleInPlaceUIWindow* This,
493 REFIID riid,
494 void** ppvObject);
496 ULONG (STDMETHODCALLTYPE *AddRef)(
497 IOleInPlaceUIWindow* This);
499 ULONG (STDMETHODCALLTYPE *Release)(
500 IOleInPlaceUIWindow* This);
502 /*** IOleWindow methods ***/
503 HRESULT (STDMETHODCALLTYPE *GetWindow)(
504 IOleInPlaceUIWindow* This,
505 HWND* phwnd);
507 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
508 IOleInPlaceUIWindow* This,
509 BOOL fEnterMode);
511 /*** IOleInPlaceUIWindow methods ***/
512 HRESULT (STDMETHODCALLTYPE *GetBorder)(
513 IOleInPlaceUIWindow* This,
514 LPRECT lprectBorder);
516 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
517 IOleInPlaceUIWindow* This,
518 LPCBORDERWIDTHS pborderwidths);
520 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
521 IOleInPlaceUIWindow* This,
522 LPCBORDERWIDTHS pborderwidths);
524 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
525 IOleInPlaceUIWindow* This,
526 IOleInPlaceActiveObject* pActiveObject,
527 LPCOLESTR pszObjName);
531 /*** IUnknown methods ***/
532 #define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
533 #define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
534 #define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
535 /*** IOleWindow methods ***/
536 #define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
537 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
538 /*** IOleInPlaceUIWindow methods ***/
539 #define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
540 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
541 #define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
542 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
544 #endif
546 #define IOleInPlaceUIWindow_METHODS \
547 ICOM_MSVTABLE_COMPAT_FIELDS \
548 /*** IUnknown methods ***/ \
549 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
550 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
551 STDMETHOD_(ULONG,Release)(THIS) PURE; \
552 /*** IOleWindow methods ***/ \
553 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
554 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
555 /*** IOleInPlaceUIWindow methods ***/ \
556 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
557 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
558 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
559 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE;
561 HRESULT CALLBACK IOleInPlaceUIWindow_GetBorder_Proxy(
562 IOleInPlaceUIWindow* This,
563 LPRECT lprectBorder);
564 void __RPC_STUB IOleInPlaceUIWindow_GetBorder_Stub(
565 struct IRpcStubBuffer* This,
566 struct IRpcChannelBuffer* pRpcChannelBuffer,
567 PRPC_MESSAGE pRpcMessage,
568 DWORD* pdwStubPhase);
569 HRESULT CALLBACK IOleInPlaceUIWindow_RequestBorderSpace_Proxy(
570 IOleInPlaceUIWindow* This,
571 LPCBORDERWIDTHS pborderwidths);
572 void __RPC_STUB IOleInPlaceUIWindow_RequestBorderSpace_Stub(
573 struct IRpcStubBuffer* This,
574 struct IRpcChannelBuffer* pRpcChannelBuffer,
575 PRPC_MESSAGE pRpcMessage,
576 DWORD* pdwStubPhase);
577 HRESULT CALLBACK IOleInPlaceUIWindow_SetBorderSpace_Proxy(
578 IOleInPlaceUIWindow* This,
579 LPCBORDERWIDTHS pborderwidths);
580 void __RPC_STUB IOleInPlaceUIWindow_SetBorderSpace_Stub(
581 struct IRpcStubBuffer* This,
582 struct IRpcChannelBuffer* pRpcChannelBuffer,
583 PRPC_MESSAGE pRpcMessage,
584 DWORD* pdwStubPhase);
585 HRESULT CALLBACK IOleInPlaceUIWindow_SetActiveObject_Proxy(
586 IOleInPlaceUIWindow* This,
587 IOleInPlaceActiveObject* pActiveObject,
588 LPCOLESTR pszObjName);
589 void __RPC_STUB IOleInPlaceUIWindow_SetActiveObject_Stub(
590 struct IRpcStubBuffer* This,
591 struct IRpcChannelBuffer* pRpcChannelBuffer,
592 PRPC_MESSAGE pRpcMessage,
593 DWORD* pdwStubPhase);
595 #endif /* __IOleInPlaceUIWindow_INTERFACE_DEFINED__ */
597 #ifndef __IOleInPlaceFrame_FWD_DEFINED__
598 #define __IOleInPlaceFrame_FWD_DEFINED__
599 typedef struct IOleInPlaceFrame IOleInPlaceFrame;
600 #endif
602 typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
604 typedef struct tagOleInPlaceFrameInfo {
605 UINT cb;
606 BOOL fMDIApp;
607 HWND hwndFrame;
608 HACCEL haccel;
609 UINT cAccelEntries;
610 } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
612 typedef struct tagOleMenuGroupWidths {
613 LONG width[6];
614 } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
616 typedef HGLOBAL HOLEMENU;
618 /*****************************************************************************
619 * IOleInPlaceFrame interface
621 #ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
622 #define __IOleInPlaceFrame_INTERFACE_DEFINED__
624 DEFINE_GUID(IID_IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
625 #if defined(__cplusplus) && !defined(CINTERFACE)
626 struct IOleInPlaceFrame : public IOleInPlaceUIWindow
628 virtual HRESULT STDMETHODCALLTYPE InsertMenus(
629 HMENU hmenuShared,
630 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
632 virtual HRESULT STDMETHODCALLTYPE SetMenu(
633 HMENU hmenuShared,
634 HOLEMENU holemenu,
635 HWND hwndActiveObject) = 0;
637 virtual HRESULT STDMETHODCALLTYPE RemoveMenus(
638 HMENU hmenuShared) = 0;
640 virtual HRESULT STDMETHODCALLTYPE SetStatusText(
641 LPCOLESTR pszStatusText) = 0;
643 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
644 BOOL fEnable) = 0;
646 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
647 LPMSG lpmsg,
648 WORD wID) = 0;
651 #else
652 typedef struct IOleInPlaceFrameVtbl IOleInPlaceFrameVtbl;
653 struct IOleInPlaceFrame {
654 const IOleInPlaceFrameVtbl* lpVtbl;
656 struct IOleInPlaceFrameVtbl {
657 ICOM_MSVTABLE_COMPAT_FIELDS
659 /*** IUnknown methods ***/
660 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
661 IOleInPlaceFrame* This,
662 REFIID riid,
663 void** ppvObject);
665 ULONG (STDMETHODCALLTYPE *AddRef)(
666 IOleInPlaceFrame* This);
668 ULONG (STDMETHODCALLTYPE *Release)(
669 IOleInPlaceFrame* This);
671 /*** IOleWindow methods ***/
672 HRESULT (STDMETHODCALLTYPE *GetWindow)(
673 IOleInPlaceFrame* This,
674 HWND* phwnd);
676 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
677 IOleInPlaceFrame* This,
678 BOOL fEnterMode);
680 /*** IOleInPlaceUIWindow methods ***/
681 HRESULT (STDMETHODCALLTYPE *GetBorder)(
682 IOleInPlaceFrame* This,
683 LPRECT lprectBorder);
685 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
686 IOleInPlaceFrame* This,
687 LPCBORDERWIDTHS pborderwidths);
689 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
690 IOleInPlaceFrame* This,
691 LPCBORDERWIDTHS pborderwidths);
693 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
694 IOleInPlaceFrame* This,
695 IOleInPlaceActiveObject* pActiveObject,
696 LPCOLESTR pszObjName);
698 /*** IOleInPlaceFrame methods ***/
699 HRESULT (STDMETHODCALLTYPE *InsertMenus)(
700 IOleInPlaceFrame* This,
701 HMENU hmenuShared,
702 LPOLEMENUGROUPWIDTHS lpMenuWidths);
704 HRESULT (STDMETHODCALLTYPE *SetMenu)(
705 IOleInPlaceFrame* This,
706 HMENU hmenuShared,
707 HOLEMENU holemenu,
708 HWND hwndActiveObject);
710 HRESULT (STDMETHODCALLTYPE *RemoveMenus)(
711 IOleInPlaceFrame* This,
712 HMENU hmenuShared);
714 HRESULT (STDMETHODCALLTYPE *SetStatusText)(
715 IOleInPlaceFrame* This,
716 LPCOLESTR pszStatusText);
718 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
719 IOleInPlaceFrame* This,
720 BOOL fEnable);
722 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
723 IOleInPlaceFrame* This,
724 LPMSG lpmsg,
725 WORD wID);
729 /*** IUnknown methods ***/
730 #define IOleInPlaceFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
731 #define IOleInPlaceFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
732 #define IOleInPlaceFrame_Release(p) (p)->lpVtbl->Release(p)
733 /*** IOleWindow methods ***/
734 #define IOleInPlaceFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
735 #define IOleInPlaceFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
736 /*** IOleInPlaceUIWindow methods ***/
737 #define IOleInPlaceFrame_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
738 #define IOleInPlaceFrame_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
739 #define IOleInPlaceFrame_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
740 #define IOleInPlaceFrame_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
741 /*** IOleInPlaceFrame methods ***/
742 #define IOleInPlaceFrame_InsertMenus(p,a,b) (p)->lpVtbl->InsertMenus(p,a,b)
743 #define IOleInPlaceFrame_SetMenu(p,a,b,c) (p)->lpVtbl->SetMenu(p,a,b,c)
744 #define IOleInPlaceFrame_RemoveMenus(p,a) (p)->lpVtbl->RemoveMenus(p,a)
745 #define IOleInPlaceFrame_SetStatusText(p,a) (p)->lpVtbl->SetStatusText(p,a)
746 #define IOleInPlaceFrame_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
747 #define IOleInPlaceFrame_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
749 #endif
751 #define IOleInPlaceFrame_METHODS \
752 ICOM_MSVTABLE_COMPAT_FIELDS \
753 /*** IUnknown methods ***/ \
754 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
755 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
756 STDMETHOD_(ULONG,Release)(THIS) PURE; \
757 /*** IOleWindow methods ***/ \
758 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
759 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
760 /*** IOleInPlaceUIWindow methods ***/ \
761 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
762 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
763 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
764 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE; \
765 /*** IOleInPlaceFrame methods ***/ \
766 STDMETHOD_(HRESULT,InsertMenus)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
767 STDMETHOD_(HRESULT,SetMenu)(THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
768 STDMETHOD_(HRESULT,RemoveMenus)(THIS_ HMENU hmenuShared) PURE; \
769 STDMETHOD_(HRESULT,SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
770 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
771 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg, WORD wID) PURE;
773 HRESULT CALLBACK IOleInPlaceFrame_InsertMenus_Proxy(
774 IOleInPlaceFrame* This,
775 HMENU hmenuShared,
776 LPOLEMENUGROUPWIDTHS lpMenuWidths);
777 void __RPC_STUB IOleInPlaceFrame_InsertMenus_Stub(
778 struct IRpcStubBuffer* This,
779 struct IRpcChannelBuffer* pRpcChannelBuffer,
780 PRPC_MESSAGE pRpcMessage,
781 DWORD* pdwStubPhase);
782 HRESULT CALLBACK IOleInPlaceFrame_SetMenu_Proxy(
783 IOleInPlaceFrame* This,
784 HMENU hmenuShared,
785 HOLEMENU holemenu,
786 HWND hwndActiveObject);
787 void __RPC_STUB IOleInPlaceFrame_SetMenu_Stub(
788 struct IRpcStubBuffer* This,
789 struct IRpcChannelBuffer* pRpcChannelBuffer,
790 PRPC_MESSAGE pRpcMessage,
791 DWORD* pdwStubPhase);
792 HRESULT CALLBACK IOleInPlaceFrame_RemoveMenus_Proxy(
793 IOleInPlaceFrame* This,
794 HMENU hmenuShared);
795 void __RPC_STUB IOleInPlaceFrame_RemoveMenus_Stub(
796 struct IRpcStubBuffer* This,
797 struct IRpcChannelBuffer* pRpcChannelBuffer,
798 PRPC_MESSAGE pRpcMessage,
799 DWORD* pdwStubPhase);
800 HRESULT CALLBACK IOleInPlaceFrame_SetStatusText_Proxy(
801 IOleInPlaceFrame* This,
802 LPCOLESTR pszStatusText);
803 void __RPC_STUB IOleInPlaceFrame_SetStatusText_Stub(
804 struct IRpcStubBuffer* This,
805 struct IRpcChannelBuffer* pRpcChannelBuffer,
806 PRPC_MESSAGE pRpcMessage,
807 DWORD* pdwStubPhase);
808 HRESULT CALLBACK IOleInPlaceFrame_EnableModeless_Proxy(
809 IOleInPlaceFrame* This,
810 BOOL fEnable);
811 void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(
812 struct IRpcStubBuffer* This,
813 struct IRpcChannelBuffer* pRpcChannelBuffer,
814 PRPC_MESSAGE pRpcMessage,
815 DWORD* pdwStubPhase);
816 HRESULT CALLBACK IOleInPlaceFrame_TranslateAccelerator_Proxy(
817 IOleInPlaceFrame* This,
818 LPMSG lpmsg,
819 WORD wID);
820 void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(
821 struct IRpcStubBuffer* This,
822 struct IRpcChannelBuffer* pRpcChannelBuffer,
823 PRPC_MESSAGE pRpcMessage,
824 DWORD* pdwStubPhase);
826 #endif /* __IOleInPlaceFrame_INTERFACE_DEFINED__ */
828 #ifndef __IOleInPlaceSite_FWD_DEFINED__
829 #define __IOleInPlaceSite_FWD_DEFINED__
830 typedef struct IOleInPlaceSite IOleInPlaceSite;
831 #endif
833 typedef IOleInPlaceSite *LPOLEINPLACESITE;
835 /*****************************************************************************
836 * IOleInPlaceSite interface
838 #ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
839 #define __IOleInPlaceSite_INTERFACE_DEFINED__
841 DEFINE_GUID(IID_IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
842 #if defined(__cplusplus) && !defined(CINTERFACE)
843 struct IOleInPlaceSite : public IOleWindow
845 virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate(
846 ) = 0;
848 virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate(
849 ) = 0;
851 virtual HRESULT STDMETHODCALLTYPE OnUIActivate(
852 ) = 0;
854 virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
855 IOleInPlaceFrame** ppFrame,
856 IOleInPlaceUIWindow** ppDoc,
857 LPRECT lprcPosRect,
858 LPRECT lprcClipRect,
859 LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
861 virtual HRESULT STDMETHODCALLTYPE Scroll(
862 SIZE scrollExtant) = 0;
864 virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(
865 BOOL fUndoable) = 0;
867 virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(
868 ) = 0;
870 virtual HRESULT STDMETHODCALLTYPE DiscardUndoState(
871 ) = 0;
873 virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo(
874 ) = 0;
876 virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(
877 LPCRECT lprcPosRect) = 0;
880 #else
881 typedef struct IOleInPlaceSiteVtbl IOleInPlaceSiteVtbl;
882 struct IOleInPlaceSite {
883 const IOleInPlaceSiteVtbl* lpVtbl;
885 struct IOleInPlaceSiteVtbl {
886 ICOM_MSVTABLE_COMPAT_FIELDS
888 /*** IUnknown methods ***/
889 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
890 IOleInPlaceSite* This,
891 REFIID riid,
892 void** ppvObject);
894 ULONG (STDMETHODCALLTYPE *AddRef)(
895 IOleInPlaceSite* This);
897 ULONG (STDMETHODCALLTYPE *Release)(
898 IOleInPlaceSite* This);
900 /*** IOleWindow methods ***/
901 HRESULT (STDMETHODCALLTYPE *GetWindow)(
902 IOleInPlaceSite* This,
903 HWND* phwnd);
905 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
906 IOleInPlaceSite* This,
907 BOOL fEnterMode);
909 /*** IOleInPlaceSite methods ***/
910 HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
911 IOleInPlaceSite* This);
913 HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
914 IOleInPlaceSite* This);
916 HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
917 IOleInPlaceSite* This);
919 HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
920 IOleInPlaceSite* This,
921 IOleInPlaceFrame** ppFrame,
922 IOleInPlaceUIWindow** ppDoc,
923 LPRECT lprcPosRect,
924 LPRECT lprcClipRect,
925 LPOLEINPLACEFRAMEINFO lpFrameInfo);
927 HRESULT (STDMETHODCALLTYPE *Scroll)(
928 IOleInPlaceSite* This,
929 SIZE scrollExtant);
931 HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
932 IOleInPlaceSite* This,
933 BOOL fUndoable);
935 HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
936 IOleInPlaceSite* This);
938 HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
939 IOleInPlaceSite* This);
941 HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
942 IOleInPlaceSite* This);
944 HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
945 IOleInPlaceSite* This,
946 LPCRECT lprcPosRect);
950 /*** IUnknown methods ***/
951 #define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
952 #define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
953 #define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
954 /*** IOleWindow methods ***/
955 #define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
956 #define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
957 /*** IOleInPlaceSite methods ***/
958 #define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
959 #define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
960 #define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
961 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
962 #define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
963 #define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
964 #define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
965 #define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
966 #define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
967 #define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
969 #endif
971 #define IOleInPlaceSite_METHODS \
972 ICOM_MSVTABLE_COMPAT_FIELDS \
973 /*** IUnknown methods ***/ \
974 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
975 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
976 STDMETHOD_(ULONG,Release)(THIS) PURE; \
977 /*** IOleWindow methods ***/ \
978 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
979 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
980 /*** IOleInPlaceSite methods ***/ \
981 STDMETHOD_(HRESULT,CanInPlaceActivate)(THIS) PURE; \
982 STDMETHOD_(HRESULT,OnInPlaceActivate)(THIS) PURE; \
983 STDMETHOD_(HRESULT,OnUIActivate)(THIS) PURE; \
984 STDMETHOD_(HRESULT,GetWindowContext)(THIS_ IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
985 STDMETHOD_(HRESULT,Scroll)(THIS_ SIZE scrollExtant) PURE; \
986 STDMETHOD_(HRESULT,OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
987 STDMETHOD_(HRESULT,OnInPlaceDeactivate)(THIS) PURE; \
988 STDMETHOD_(HRESULT,DiscardUndoState)(THIS) PURE; \
989 STDMETHOD_(HRESULT,DeactivateAndUndo)(THIS) PURE; \
990 STDMETHOD_(HRESULT,OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
992 HRESULT CALLBACK IOleInPlaceSite_CanInPlaceActivate_Proxy(
993 IOleInPlaceSite* This);
994 void __RPC_STUB IOleInPlaceSite_CanInPlaceActivate_Stub(
995 struct IRpcStubBuffer* This,
996 struct IRpcChannelBuffer* pRpcChannelBuffer,
997 PRPC_MESSAGE pRpcMessage,
998 DWORD* pdwStubPhase);
999 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceActivate_Proxy(
1000 IOleInPlaceSite* This);
1001 void __RPC_STUB IOleInPlaceSite_OnInPlaceActivate_Stub(
1002 struct IRpcStubBuffer* This,
1003 struct IRpcChannelBuffer* pRpcChannelBuffer,
1004 PRPC_MESSAGE pRpcMessage,
1005 DWORD* pdwStubPhase);
1006 HRESULT CALLBACK IOleInPlaceSite_OnUIActivate_Proxy(
1007 IOleInPlaceSite* This);
1008 void __RPC_STUB IOleInPlaceSite_OnUIActivate_Stub(
1009 struct IRpcStubBuffer* This,
1010 struct IRpcChannelBuffer* pRpcChannelBuffer,
1011 PRPC_MESSAGE pRpcMessage,
1012 DWORD* pdwStubPhase);
1013 HRESULT CALLBACK IOleInPlaceSite_GetWindowContext_Proxy(
1014 IOleInPlaceSite* This,
1015 IOleInPlaceFrame** ppFrame,
1016 IOleInPlaceUIWindow** ppDoc,
1017 LPRECT lprcPosRect,
1018 LPRECT lprcClipRect,
1019 LPOLEINPLACEFRAMEINFO lpFrameInfo);
1020 void __RPC_STUB IOleInPlaceSite_GetWindowContext_Stub(
1021 struct IRpcStubBuffer* This,
1022 struct IRpcChannelBuffer* pRpcChannelBuffer,
1023 PRPC_MESSAGE pRpcMessage,
1024 DWORD* pdwStubPhase);
1025 HRESULT CALLBACK IOleInPlaceSite_Scroll_Proxy(
1026 IOleInPlaceSite* This,
1027 SIZE scrollExtant);
1028 void __RPC_STUB IOleInPlaceSite_Scroll_Stub(
1029 struct IRpcStubBuffer* This,
1030 struct IRpcChannelBuffer* pRpcChannelBuffer,
1031 PRPC_MESSAGE pRpcMessage,
1032 DWORD* pdwStubPhase);
1033 HRESULT CALLBACK IOleInPlaceSite_OnUIDeactivate_Proxy(
1034 IOleInPlaceSite* This,
1035 BOOL fUndoable);
1036 void __RPC_STUB IOleInPlaceSite_OnUIDeactivate_Stub(
1037 struct IRpcStubBuffer* This,
1038 struct IRpcChannelBuffer* pRpcChannelBuffer,
1039 PRPC_MESSAGE pRpcMessage,
1040 DWORD* pdwStubPhase);
1041 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceDeactivate_Proxy(
1042 IOleInPlaceSite* This);
1043 void __RPC_STUB IOleInPlaceSite_OnInPlaceDeactivate_Stub(
1044 struct IRpcStubBuffer* This,
1045 struct IRpcChannelBuffer* pRpcChannelBuffer,
1046 PRPC_MESSAGE pRpcMessage,
1047 DWORD* pdwStubPhase);
1048 HRESULT CALLBACK IOleInPlaceSite_DiscardUndoState_Proxy(
1049 IOleInPlaceSite* This);
1050 void __RPC_STUB IOleInPlaceSite_DiscardUndoState_Stub(
1051 struct IRpcStubBuffer* This,
1052 struct IRpcChannelBuffer* pRpcChannelBuffer,
1053 PRPC_MESSAGE pRpcMessage,
1054 DWORD* pdwStubPhase);
1055 HRESULT CALLBACK IOleInPlaceSite_DeactivateAndUndo_Proxy(
1056 IOleInPlaceSite* This);
1057 void __RPC_STUB IOleInPlaceSite_DeactivateAndUndo_Stub(
1058 struct IRpcStubBuffer* This,
1059 struct IRpcChannelBuffer* pRpcChannelBuffer,
1060 PRPC_MESSAGE pRpcMessage,
1061 DWORD* pdwStubPhase);
1062 HRESULT CALLBACK IOleInPlaceSite_OnPosRectChange_Proxy(
1063 IOleInPlaceSite* This,
1064 LPCRECT lprcPosRect);
1065 void __RPC_STUB IOleInPlaceSite_OnPosRectChange_Stub(
1066 struct IRpcStubBuffer* This,
1067 struct IRpcChannelBuffer* pRpcChannelBuffer,
1068 PRPC_MESSAGE pRpcMessage,
1069 DWORD* pdwStubPhase);
1071 #endif /* __IOleInPlaceSite_INTERFACE_DEFINED__ */
1073 #ifndef __IParseDisplayName_FWD_DEFINED__
1074 #define __IParseDisplayName_FWD_DEFINED__
1075 typedef struct IParseDisplayName IParseDisplayName;
1076 #endif
1078 typedef IParseDisplayName *LPPARSEDISPLAYNAME;
1080 /*****************************************************************************
1081 * IParseDisplayName interface
1083 #ifndef __IParseDisplayName_INTERFACE_DEFINED__
1084 #define __IParseDisplayName_INTERFACE_DEFINED__
1086 DEFINE_GUID(IID_IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1087 #if defined(__cplusplus) && !defined(CINTERFACE)
1088 struct IParseDisplayName : public IUnknown
1090 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
1091 IBindCtx* pbc,
1092 LPOLESTR pszDisplayName,
1093 ULONG* pchEaten,
1094 IMoniker** ppmkOut) = 0;
1097 #else
1098 typedef struct IParseDisplayNameVtbl IParseDisplayNameVtbl;
1099 struct IParseDisplayName {
1100 const IParseDisplayNameVtbl* lpVtbl;
1102 struct IParseDisplayNameVtbl {
1103 ICOM_MSVTABLE_COMPAT_FIELDS
1105 /*** IUnknown methods ***/
1106 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1107 IParseDisplayName* This,
1108 REFIID riid,
1109 void** ppvObject);
1111 ULONG (STDMETHODCALLTYPE *AddRef)(
1112 IParseDisplayName* This);
1114 ULONG (STDMETHODCALLTYPE *Release)(
1115 IParseDisplayName* This);
1117 /*** IParseDisplayName methods ***/
1118 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1119 IParseDisplayName* This,
1120 IBindCtx* pbc,
1121 LPOLESTR pszDisplayName,
1122 ULONG* pchEaten,
1123 IMoniker** ppmkOut);
1127 /*** IUnknown methods ***/
1128 #define IParseDisplayName_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1129 #define IParseDisplayName_AddRef(p) (p)->lpVtbl->AddRef(p)
1130 #define IParseDisplayName_Release(p) (p)->lpVtbl->Release(p)
1131 /*** IParseDisplayName methods ***/
1132 #define IParseDisplayName_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1134 #endif
1136 #define IParseDisplayName_METHODS \
1137 ICOM_MSVTABLE_COMPAT_FIELDS \
1138 /*** IUnknown methods ***/ \
1139 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1140 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1141 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1142 /*** IParseDisplayName methods ***/ \
1143 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE;
1145 HRESULT CALLBACK IParseDisplayName_ParseDisplayName_Proxy(
1146 IParseDisplayName* This,
1147 IBindCtx* pbc,
1148 LPOLESTR pszDisplayName,
1149 ULONG* pchEaten,
1150 IMoniker** ppmkOut);
1151 void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(
1152 struct IRpcStubBuffer* This,
1153 struct IRpcChannelBuffer* pRpcChannelBuffer,
1154 PRPC_MESSAGE pRpcMessage,
1155 DWORD* pdwStubPhase);
1157 #endif /* __IParseDisplayName_INTERFACE_DEFINED__ */
1159 #ifndef __IOleContainer_FWD_DEFINED__
1160 #define __IOleContainer_FWD_DEFINED__
1161 typedef struct IOleContainer IOleContainer;
1162 #endif
1164 typedef IOleContainer *LPOLECONTAINER;
1166 /*****************************************************************************
1167 * IOleContainer interface
1169 #ifndef __IOleContainer_INTERFACE_DEFINED__
1170 #define __IOleContainer_INTERFACE_DEFINED__
1172 DEFINE_GUID(IID_IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1173 #if defined(__cplusplus) && !defined(CINTERFACE)
1174 struct IOleContainer : public IParseDisplayName
1176 virtual HRESULT STDMETHODCALLTYPE EnumObjects(
1177 DWORD grfFlags,
1178 IEnumUnknown** ppenum) = 0;
1180 virtual HRESULT STDMETHODCALLTYPE LockContainer(
1181 BOOL fLock) = 0;
1184 #else
1185 typedef struct IOleContainerVtbl IOleContainerVtbl;
1186 struct IOleContainer {
1187 const IOleContainerVtbl* lpVtbl;
1189 struct IOleContainerVtbl {
1190 ICOM_MSVTABLE_COMPAT_FIELDS
1192 /*** IUnknown methods ***/
1193 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1194 IOleContainer* This,
1195 REFIID riid,
1196 void** ppvObject);
1198 ULONG (STDMETHODCALLTYPE *AddRef)(
1199 IOleContainer* This);
1201 ULONG (STDMETHODCALLTYPE *Release)(
1202 IOleContainer* This);
1204 /*** IParseDisplayName methods ***/
1205 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1206 IOleContainer* This,
1207 IBindCtx* pbc,
1208 LPOLESTR pszDisplayName,
1209 ULONG* pchEaten,
1210 IMoniker** ppmkOut);
1212 /*** IOleContainer methods ***/
1213 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1214 IOleContainer* This,
1215 DWORD grfFlags,
1216 IEnumUnknown** ppenum);
1218 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1219 IOleContainer* This,
1220 BOOL fLock);
1224 /*** IUnknown methods ***/
1225 #define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1226 #define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1227 #define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
1228 /*** IParseDisplayName methods ***/
1229 #define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1230 /*** IOleContainer methods ***/
1231 #define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1232 #define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1234 #endif
1236 #define IOleContainer_METHODS \
1237 ICOM_MSVTABLE_COMPAT_FIELDS \
1238 /*** IUnknown methods ***/ \
1239 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1240 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1241 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1242 /*** IParseDisplayName methods ***/ \
1243 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1244 /*** IOleContainer methods ***/ \
1245 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1246 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE;
1248 HRESULT CALLBACK IOleContainer_EnumObjects_Proxy(
1249 IOleContainer* This,
1250 DWORD grfFlags,
1251 IEnumUnknown** ppenum);
1252 void __RPC_STUB IOleContainer_EnumObjects_Stub(
1253 struct IRpcStubBuffer* This,
1254 struct IRpcChannelBuffer* pRpcChannelBuffer,
1255 PRPC_MESSAGE pRpcMessage,
1256 DWORD* pdwStubPhase);
1257 HRESULT CALLBACK IOleContainer_LockContainer_Proxy(
1258 IOleContainer* This,
1259 BOOL fLock);
1260 void __RPC_STUB IOleContainer_LockContainer_Stub(
1261 struct IRpcStubBuffer* This,
1262 struct IRpcChannelBuffer* pRpcChannelBuffer,
1263 PRPC_MESSAGE pRpcMessage,
1264 DWORD* pdwStubPhase);
1266 #endif /* __IOleContainer_INTERFACE_DEFINED__ */
1268 #ifndef __IOleItemContainer_FWD_DEFINED__
1269 #define __IOleItemContainer_FWD_DEFINED__
1270 typedef struct IOleItemContainer IOleItemContainer;
1271 #endif
1273 typedef IOleItemContainer *LPOLEITEMCONTAINER;
1275 typedef enum tagBINDSPEED {
1276 BINDSPEED_INDEFINITE = 1,
1277 BINDSPEED_MODERATE = 2,
1278 BINDSPEED_IMMEDIATE = 3
1279 } BINDSPEED;
1281 typedef enum tagOLECONTF {
1282 OLECONTF_EMBEDDINGS = 1,
1283 OLECONTF_LINKS = 2,
1284 OLECONTF_OTHERS = 4,
1285 OLECONTF_OLNYUSER = 8,
1286 OLECONTF_ONLYIFRUNNING = 16
1287 } OLECONTF;
1289 #ifdef __WINESRC__
1290 #undef GetObject
1291 #endif
1292 /*****************************************************************************
1293 * IOleItemContainer interface
1295 #ifndef __IOleItemContainer_INTERFACE_DEFINED__
1296 #define __IOleItemContainer_INTERFACE_DEFINED__
1298 DEFINE_GUID(IID_IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1299 #if defined(__cplusplus) && !defined(CINTERFACE)
1300 struct IOleItemContainer : public IOleContainer
1302 virtual HRESULT STDMETHODCALLTYPE GetObject(
1303 LPOLESTR pszItem,
1304 DWORD dwSpeedNeeded,
1305 IBindCtx* pbc,
1306 REFIID riid,
1307 void** ppvObject) = 0;
1309 virtual HRESULT STDMETHODCALLTYPE GetObjectStorage(
1310 LPOLESTR pszItem,
1311 IBindCtx* pbc,
1312 REFIID riid,
1313 void** ppvStorage) = 0;
1315 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1316 LPOLESTR pszItem) = 0;
1319 #else
1320 typedef struct IOleItemContainerVtbl IOleItemContainerVtbl;
1321 struct IOleItemContainer {
1322 const IOleItemContainerVtbl* lpVtbl;
1324 struct IOleItemContainerVtbl {
1325 ICOM_MSVTABLE_COMPAT_FIELDS
1327 /*** IUnknown methods ***/
1328 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1329 IOleItemContainer* This,
1330 REFIID riid,
1331 void** ppvObject);
1333 ULONG (STDMETHODCALLTYPE *AddRef)(
1334 IOleItemContainer* This);
1336 ULONG (STDMETHODCALLTYPE *Release)(
1337 IOleItemContainer* This);
1339 /*** IParseDisplayName methods ***/
1340 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1341 IOleItemContainer* This,
1342 IBindCtx* pbc,
1343 LPOLESTR pszDisplayName,
1344 ULONG* pchEaten,
1345 IMoniker** ppmkOut);
1347 /*** IOleContainer methods ***/
1348 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1349 IOleItemContainer* This,
1350 DWORD grfFlags,
1351 IEnumUnknown** ppenum);
1353 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1354 IOleItemContainer* This,
1355 BOOL fLock);
1357 /*** IOleItemContainer methods ***/
1358 HRESULT (STDMETHODCALLTYPE *GetObject)(
1359 IOleItemContainer* This,
1360 LPOLESTR pszItem,
1361 DWORD dwSpeedNeeded,
1362 IBindCtx* pbc,
1363 REFIID riid,
1364 void** ppvObject);
1366 HRESULT (STDMETHODCALLTYPE *GetObjectStorage)(
1367 IOleItemContainer* This,
1368 LPOLESTR pszItem,
1369 IBindCtx* pbc,
1370 REFIID riid,
1371 void** ppvStorage);
1373 HRESULT (STDMETHODCALLTYPE *IsRunning)(
1374 IOleItemContainer* This,
1375 LPOLESTR pszItem);
1379 /*** IUnknown methods ***/
1380 #define IOleItemContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1381 #define IOleItemContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1382 #define IOleItemContainer_Release(p) (p)->lpVtbl->Release(p)
1383 /*** IParseDisplayName methods ***/
1384 #define IOleItemContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1385 /*** IOleContainer methods ***/
1386 #define IOleItemContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1387 #define IOleItemContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1388 /*** IOleItemContainer methods ***/
1389 #define IOleItemContainer_GetObject(p,a,b,c,d,e) (p)->lpVtbl->GetObject(p,a,b,c,d,e)
1390 #define IOleItemContainer_GetObjectStorage(p,a,b,c,d) (p)->lpVtbl->GetObjectStorage(p,a,b,c,d)
1391 #define IOleItemContainer_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1393 #endif
1395 #define IOleItemContainer_METHODS \
1396 ICOM_MSVTABLE_COMPAT_FIELDS \
1397 /*** IUnknown methods ***/ \
1398 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1399 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1400 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1401 /*** IParseDisplayName methods ***/ \
1402 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1403 /*** IOleContainer methods ***/ \
1404 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1405 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE; \
1406 /*** IOleItemContainer methods ***/ \
1407 STDMETHOD_(HRESULT,GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx* pbc, REFIID riid, void** ppvObject) PURE; \
1408 STDMETHOD_(HRESULT,GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx* pbc, REFIID riid, void** ppvStorage) PURE; \
1409 STDMETHOD_(HRESULT,IsRunning)(THIS_ LPOLESTR pszItem) PURE;
1411 HRESULT CALLBACK IOleItemContainer_GetObject_Proxy(
1412 IOleItemContainer* This,
1413 LPOLESTR pszItem,
1414 DWORD dwSpeedNeeded,
1415 IBindCtx* pbc,
1416 REFIID riid,
1417 void** ppvObject);
1418 void __RPC_STUB IOleItemContainer_GetObject_Stub(
1419 struct IRpcStubBuffer* This,
1420 struct IRpcChannelBuffer* pRpcChannelBuffer,
1421 PRPC_MESSAGE pRpcMessage,
1422 DWORD* pdwStubPhase);
1423 HRESULT CALLBACK IOleItemContainer_GetObjectStorage_Proxy(
1424 IOleItemContainer* This,
1425 LPOLESTR pszItem,
1426 IBindCtx* pbc,
1427 REFIID riid,
1428 void** ppvStorage);
1429 void __RPC_STUB IOleItemContainer_GetObjectStorage_Stub(
1430 struct IRpcStubBuffer* This,
1431 struct IRpcChannelBuffer* pRpcChannelBuffer,
1432 PRPC_MESSAGE pRpcMessage,
1433 DWORD* pdwStubPhase);
1434 HRESULT CALLBACK IOleItemContainer_IsRunning_Proxy(
1435 IOleItemContainer* This,
1436 LPOLESTR pszItem);
1437 void __RPC_STUB IOleItemContainer_IsRunning_Stub(
1438 struct IRpcStubBuffer* This,
1439 struct IRpcChannelBuffer* pRpcChannelBuffer,
1440 PRPC_MESSAGE pRpcMessage,
1441 DWORD* pdwStubPhase);
1443 #endif /* __IOleItemContainer_INTERFACE_DEFINED__ */
1445 #ifndef __IOleLink_FWD_DEFINED__
1446 #define __IOleLink_FWD_DEFINED__
1447 typedef struct IOleLink IOleLink;
1448 #endif
1450 typedef IOleLink *LPOLELINK;
1452 typedef enum tagOLEUPDATE {
1453 OLEUPDATE_ALWAYS = 1,
1454 OLEUPDATE_ONCALL = 3
1455 } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE;
1457 typedef enum tagOLELINKBIND {
1458 OLELINKBIND_EVENIFCLASSDIFF = 1
1459 } OLELINKBIND;
1461 /*****************************************************************************
1462 * IOleLink interface
1464 #ifndef __IOleLink_INTERFACE_DEFINED__
1465 #define __IOleLink_INTERFACE_DEFINED__
1467 DEFINE_GUID(IID_IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1468 #if defined(__cplusplus) && !defined(CINTERFACE)
1469 struct IOleLink : public IUnknown
1471 virtual HRESULT STDMETHODCALLTYPE SetUpdateOptions(
1472 DWORD dwUpdateOpt) = 0;
1474 virtual HRESULT STDMETHODCALLTYPE GetUpdateOptions(
1475 DWORD* pdwUpdateOpt) = 0;
1477 virtual HRESULT STDMETHODCALLTYPE SetSourceMoniker(
1478 IMoniker* pmk,
1479 REFCLSID rclsid) = 0;
1481 virtual HRESULT STDMETHODCALLTYPE GetSourceMoniker(
1482 IMoniker** ppmk) = 0;
1484 virtual HRESULT STDMETHODCALLTYPE SetSourceDisplayName(
1485 LPCOLESTR pszStatusText) = 0;
1487 virtual HRESULT STDMETHODCALLTYPE GetSourceDisplayName(
1488 LPOLESTR* ppszDisplayName) = 0;
1490 virtual HRESULT STDMETHODCALLTYPE BindToSource(
1491 DWORD bindflags,
1492 IBindCtx* pbc) = 0;
1494 virtual HRESULT STDMETHODCALLTYPE BindIfRunning(
1495 ) = 0;
1497 virtual HRESULT STDMETHODCALLTYPE GetBoundSource(
1498 IUnknown** ppunk) = 0;
1500 virtual HRESULT STDMETHODCALLTYPE UnbindSource(
1501 ) = 0;
1503 virtual HRESULT STDMETHODCALLTYPE Update(
1504 IBindCtx* pbc) = 0;
1507 #else
1508 typedef struct IOleLinkVtbl IOleLinkVtbl;
1509 struct IOleLink {
1510 const IOleLinkVtbl* lpVtbl;
1512 struct IOleLinkVtbl {
1513 ICOM_MSVTABLE_COMPAT_FIELDS
1515 /*** IUnknown methods ***/
1516 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1517 IOleLink* This,
1518 REFIID riid,
1519 void** ppvObject);
1521 ULONG (STDMETHODCALLTYPE *AddRef)(
1522 IOleLink* This);
1524 ULONG (STDMETHODCALLTYPE *Release)(
1525 IOleLink* This);
1527 /*** IOleLink methods ***/
1528 HRESULT (STDMETHODCALLTYPE *SetUpdateOptions)(
1529 IOleLink* This,
1530 DWORD dwUpdateOpt);
1532 HRESULT (STDMETHODCALLTYPE *GetUpdateOptions)(
1533 IOleLink* This,
1534 DWORD* pdwUpdateOpt);
1536 HRESULT (STDMETHODCALLTYPE *SetSourceMoniker)(
1537 IOleLink* This,
1538 IMoniker* pmk,
1539 REFCLSID rclsid);
1541 HRESULT (STDMETHODCALLTYPE *GetSourceMoniker)(
1542 IOleLink* This,
1543 IMoniker** ppmk);
1545 HRESULT (STDMETHODCALLTYPE *SetSourceDisplayName)(
1546 IOleLink* This,
1547 LPCOLESTR pszStatusText);
1549 HRESULT (STDMETHODCALLTYPE *GetSourceDisplayName)(
1550 IOleLink* This,
1551 LPOLESTR* ppszDisplayName);
1553 HRESULT (STDMETHODCALLTYPE *BindToSource)(
1554 IOleLink* This,
1555 DWORD bindflags,
1556 IBindCtx* pbc);
1558 HRESULT (STDMETHODCALLTYPE *BindIfRunning)(
1559 IOleLink* This);
1561 HRESULT (STDMETHODCALLTYPE *GetBoundSource)(
1562 IOleLink* This,
1563 IUnknown** ppunk);
1565 HRESULT (STDMETHODCALLTYPE *UnbindSource)(
1566 IOleLink* This);
1568 HRESULT (STDMETHODCALLTYPE *Update)(
1569 IOleLink* This,
1570 IBindCtx* pbc);
1574 /*** IUnknown methods ***/
1575 #define IOleLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1576 #define IOleLink_AddRef(p) (p)->lpVtbl->AddRef(p)
1577 #define IOleLink_Release(p) (p)->lpVtbl->Release(p)
1578 /*** IOleLink methods ***/
1579 #define IOleLink_SetUpdateOptions(p,a) (p)->lpVtbl->SetUpdateOptions(p,a)
1580 #define IOleLink_GetUpdateOptions(p,a) (p)->lpVtbl->GetUpdateOptions(p,a)
1581 #define IOleLink_SetSourceMoniker(p,a,b) (p)->lpVtbl->SetSourceMoniker(p,a,b)
1582 #define IOleLink_GetSourceMoniker(p,a) (p)->lpVtbl->GetSourceMoniker(p,a)
1583 #define IOleLink_SetSourceDisplayName(p,a) (p)->lpVtbl->SetSourceDisplayName(p,a)
1584 #define IOleLink_GetSourceDisplayName(p,a) (p)->lpVtbl->GetSourceDisplayName(p,a)
1585 #define IOleLink_BindToSource(p,a,b) (p)->lpVtbl->BindToSource(p,a,b)
1586 #define IOleLink_BindIfRunning(p) (p)->lpVtbl->BindIfRunning(p)
1587 #define IOleLink_GetBoundSource(p,a) (p)->lpVtbl->GetBoundSource(p,a)
1588 #define IOleLink_UnbindSource(p) (p)->lpVtbl->UnbindSource(p)
1589 #define IOleLink_Update(p,a) (p)->lpVtbl->Update(p,a)
1591 #endif
1593 #define IOleLink_METHODS \
1594 ICOM_MSVTABLE_COMPAT_FIELDS \
1595 /*** IUnknown methods ***/ \
1596 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1597 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1598 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1599 /*** IOleLink methods ***/ \
1600 STDMETHOD_(HRESULT,SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
1601 STDMETHOD_(HRESULT,GetUpdateOptions)(THIS_ DWORD* pdwUpdateOpt) PURE; \
1602 STDMETHOD_(HRESULT,SetSourceMoniker)(THIS_ IMoniker* pmk, REFCLSID rclsid) PURE; \
1603 STDMETHOD_(HRESULT,GetSourceMoniker)(THIS_ IMoniker** ppmk) PURE; \
1604 STDMETHOD_(HRESULT,SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
1605 STDMETHOD_(HRESULT,GetSourceDisplayName)(THIS_ LPOLESTR* ppszDisplayName) PURE; \
1606 STDMETHOD_(HRESULT,BindToSource)(THIS_ DWORD bindflags, IBindCtx* pbc) PURE; \
1607 STDMETHOD_(HRESULT,BindIfRunning)(THIS) PURE; \
1608 STDMETHOD_(HRESULT,GetBoundSource)(THIS_ IUnknown** ppunk) PURE; \
1609 STDMETHOD_(HRESULT,UnbindSource)(THIS) PURE; \
1610 STDMETHOD_(HRESULT,Update)(THIS_ IBindCtx* pbc) PURE;
1612 HRESULT CALLBACK IOleLink_SetUpdateOptions_Proxy(
1613 IOleLink* This,
1614 DWORD dwUpdateOpt);
1615 void __RPC_STUB IOleLink_SetUpdateOptions_Stub(
1616 struct IRpcStubBuffer* This,
1617 struct IRpcChannelBuffer* pRpcChannelBuffer,
1618 PRPC_MESSAGE pRpcMessage,
1619 DWORD* pdwStubPhase);
1620 HRESULT CALLBACK IOleLink_GetUpdateOptions_Proxy(
1621 IOleLink* This,
1622 DWORD* pdwUpdateOpt);
1623 void __RPC_STUB IOleLink_GetUpdateOptions_Stub(
1624 struct IRpcStubBuffer* This,
1625 struct IRpcChannelBuffer* pRpcChannelBuffer,
1626 PRPC_MESSAGE pRpcMessage,
1627 DWORD* pdwStubPhase);
1628 HRESULT CALLBACK IOleLink_SetSourceMoniker_Proxy(
1629 IOleLink* This,
1630 IMoniker* pmk,
1631 REFCLSID rclsid);
1632 void __RPC_STUB IOleLink_SetSourceMoniker_Stub(
1633 struct IRpcStubBuffer* This,
1634 struct IRpcChannelBuffer* pRpcChannelBuffer,
1635 PRPC_MESSAGE pRpcMessage,
1636 DWORD* pdwStubPhase);
1637 HRESULT CALLBACK IOleLink_GetSourceMoniker_Proxy(
1638 IOleLink* This,
1639 IMoniker** ppmk);
1640 void __RPC_STUB IOleLink_GetSourceMoniker_Stub(
1641 struct IRpcStubBuffer* This,
1642 struct IRpcChannelBuffer* pRpcChannelBuffer,
1643 PRPC_MESSAGE pRpcMessage,
1644 DWORD* pdwStubPhase);
1645 HRESULT CALLBACK IOleLink_SetSourceDisplayName_Proxy(
1646 IOleLink* This,
1647 LPCOLESTR pszStatusText);
1648 void __RPC_STUB IOleLink_SetSourceDisplayName_Stub(
1649 struct IRpcStubBuffer* This,
1650 struct IRpcChannelBuffer* pRpcChannelBuffer,
1651 PRPC_MESSAGE pRpcMessage,
1652 DWORD* pdwStubPhase);
1653 HRESULT CALLBACK IOleLink_GetSourceDisplayName_Proxy(
1654 IOleLink* This,
1655 LPOLESTR* ppszDisplayName);
1656 void __RPC_STUB IOleLink_GetSourceDisplayName_Stub(
1657 struct IRpcStubBuffer* This,
1658 struct IRpcChannelBuffer* pRpcChannelBuffer,
1659 PRPC_MESSAGE pRpcMessage,
1660 DWORD* pdwStubPhase);
1661 HRESULT CALLBACK IOleLink_BindToSource_Proxy(
1662 IOleLink* This,
1663 DWORD bindflags,
1664 IBindCtx* pbc);
1665 void __RPC_STUB IOleLink_BindToSource_Stub(
1666 struct IRpcStubBuffer* This,
1667 struct IRpcChannelBuffer* pRpcChannelBuffer,
1668 PRPC_MESSAGE pRpcMessage,
1669 DWORD* pdwStubPhase);
1670 HRESULT CALLBACK IOleLink_BindIfRunning_Proxy(
1671 IOleLink* This);
1672 void __RPC_STUB IOleLink_BindIfRunning_Stub(
1673 struct IRpcStubBuffer* This,
1674 struct IRpcChannelBuffer* pRpcChannelBuffer,
1675 PRPC_MESSAGE pRpcMessage,
1676 DWORD* pdwStubPhase);
1677 HRESULT CALLBACK IOleLink_GetBoundSource_Proxy(
1678 IOleLink* This,
1679 IUnknown** ppunk);
1680 void __RPC_STUB IOleLink_GetBoundSource_Stub(
1681 struct IRpcStubBuffer* This,
1682 struct IRpcChannelBuffer* pRpcChannelBuffer,
1683 PRPC_MESSAGE pRpcMessage,
1684 DWORD* pdwStubPhase);
1685 HRESULT CALLBACK IOleLink_UnbindSource_Proxy(
1686 IOleLink* This);
1687 void __RPC_STUB IOleLink_UnbindSource_Stub(
1688 struct IRpcStubBuffer* This,
1689 struct IRpcChannelBuffer* pRpcChannelBuffer,
1690 PRPC_MESSAGE pRpcMessage,
1691 DWORD* pdwStubPhase);
1692 HRESULT CALLBACK IOleLink_Update_Proxy(
1693 IOleLink* This,
1694 IBindCtx* pbc);
1695 void __RPC_STUB IOleLink_Update_Stub(
1696 struct IRpcStubBuffer* This,
1697 struct IRpcChannelBuffer* pRpcChannelBuffer,
1698 PRPC_MESSAGE pRpcMessage,
1699 DWORD* pdwStubPhase);
1701 #endif /* __IOleLink_INTERFACE_DEFINED__ */
1703 #ifndef __IOleClientSite_FWD_DEFINED__
1704 #define __IOleClientSite_FWD_DEFINED__
1705 typedef struct IOleClientSite IOleClientSite;
1706 #endif
1708 typedef IOleClientSite *LPOLECLIENTSITE;
1710 /*****************************************************************************
1711 * IOleClientSite interface
1713 #ifndef __IOleClientSite_INTERFACE_DEFINED__
1714 #define __IOleClientSite_INTERFACE_DEFINED__
1716 DEFINE_GUID(IID_IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1717 #if defined(__cplusplus) && !defined(CINTERFACE)
1718 struct IOleClientSite : public IUnknown
1720 virtual HRESULT STDMETHODCALLTYPE SaveObject(
1721 ) = 0;
1723 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
1724 DWORD dwAssign,
1725 DWORD dwWhichMoniker,
1726 IMoniker** ppmk) = 0;
1728 virtual HRESULT STDMETHODCALLTYPE GetContainer(
1729 IOleContainer** ppContainer) = 0;
1731 virtual HRESULT STDMETHODCALLTYPE ShowObject(
1732 ) = 0;
1734 virtual HRESULT STDMETHODCALLTYPE OnShowWindow(
1735 BOOL fShow) = 0;
1737 virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(
1738 ) = 0;
1741 #else
1742 typedef struct IOleClientSiteVtbl IOleClientSiteVtbl;
1743 struct IOleClientSite {
1744 const IOleClientSiteVtbl* lpVtbl;
1746 struct IOleClientSiteVtbl {
1747 ICOM_MSVTABLE_COMPAT_FIELDS
1749 /*** IUnknown methods ***/
1750 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1751 IOleClientSite* This,
1752 REFIID riid,
1753 void** ppvObject);
1755 ULONG (STDMETHODCALLTYPE *AddRef)(
1756 IOleClientSite* This);
1758 ULONG (STDMETHODCALLTYPE *Release)(
1759 IOleClientSite* This);
1761 /*** IOleClientSite methods ***/
1762 HRESULT (STDMETHODCALLTYPE *SaveObject)(
1763 IOleClientSite* This);
1765 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1766 IOleClientSite* This,
1767 DWORD dwAssign,
1768 DWORD dwWhichMoniker,
1769 IMoniker** ppmk);
1771 HRESULT (STDMETHODCALLTYPE *GetContainer)(
1772 IOleClientSite* This,
1773 IOleContainer** ppContainer);
1775 HRESULT (STDMETHODCALLTYPE *ShowObject)(
1776 IOleClientSite* This);
1778 HRESULT (STDMETHODCALLTYPE *OnShowWindow)(
1779 IOleClientSite* This,
1780 BOOL fShow);
1782 HRESULT (STDMETHODCALLTYPE *RequestNewObjectLayout)(
1783 IOleClientSite* This);
1787 /*** IUnknown methods ***/
1788 #define IOleClientSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1789 #define IOleClientSite_AddRef(p) (p)->lpVtbl->AddRef(p)
1790 #define IOleClientSite_Release(p) (p)->lpVtbl->Release(p)
1791 /*** IOleClientSite methods ***/
1792 #define IOleClientSite_SaveObject(p) (p)->lpVtbl->SaveObject(p)
1793 #define IOleClientSite_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
1794 #define IOleClientSite_GetContainer(p,a) (p)->lpVtbl->GetContainer(p,a)
1795 #define IOleClientSite_ShowObject(p) (p)->lpVtbl->ShowObject(p)
1796 #define IOleClientSite_OnShowWindow(p,a) (p)->lpVtbl->OnShowWindow(p,a)
1797 #define IOleClientSite_RequestNewObjectLayout(p) (p)->lpVtbl->RequestNewObjectLayout(p)
1799 #endif
1801 #define IOleClientSite_METHODS \
1802 ICOM_MSVTABLE_COMPAT_FIELDS \
1803 /*** IUnknown methods ***/ \
1804 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1805 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1806 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1807 /*** IOleClientSite methods ***/ \
1808 STDMETHOD_(HRESULT,SaveObject)(THIS) PURE; \
1809 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
1810 STDMETHOD_(HRESULT,GetContainer)(THIS_ IOleContainer** ppContainer) PURE; \
1811 STDMETHOD_(HRESULT,ShowObject)(THIS) PURE; \
1812 STDMETHOD_(HRESULT,OnShowWindow)(THIS_ BOOL fShow) PURE; \
1813 STDMETHOD_(HRESULT,RequestNewObjectLayout)(THIS) PURE;
1815 HRESULT CALLBACK IOleClientSite_SaveObject_Proxy(
1816 IOleClientSite* This);
1817 void __RPC_STUB IOleClientSite_SaveObject_Stub(
1818 struct IRpcStubBuffer* This,
1819 struct IRpcChannelBuffer* pRpcChannelBuffer,
1820 PRPC_MESSAGE pRpcMessage,
1821 DWORD* pdwStubPhase);
1822 HRESULT CALLBACK IOleClientSite_GetMoniker_Proxy(
1823 IOleClientSite* This,
1824 DWORD dwAssign,
1825 DWORD dwWhichMoniker,
1826 IMoniker** ppmk);
1827 void __RPC_STUB IOleClientSite_GetMoniker_Stub(
1828 struct IRpcStubBuffer* This,
1829 struct IRpcChannelBuffer* pRpcChannelBuffer,
1830 PRPC_MESSAGE pRpcMessage,
1831 DWORD* pdwStubPhase);
1832 HRESULT CALLBACK IOleClientSite_GetContainer_Proxy(
1833 IOleClientSite* This,
1834 IOleContainer** ppContainer);
1835 void __RPC_STUB IOleClientSite_GetContainer_Stub(
1836 struct IRpcStubBuffer* This,
1837 struct IRpcChannelBuffer* pRpcChannelBuffer,
1838 PRPC_MESSAGE pRpcMessage,
1839 DWORD* pdwStubPhase);
1840 HRESULT CALLBACK IOleClientSite_ShowObject_Proxy(
1841 IOleClientSite* This);
1842 void __RPC_STUB IOleClientSite_ShowObject_Stub(
1843 struct IRpcStubBuffer* This,
1844 struct IRpcChannelBuffer* pRpcChannelBuffer,
1845 PRPC_MESSAGE pRpcMessage,
1846 DWORD* pdwStubPhase);
1847 HRESULT CALLBACK IOleClientSite_OnShowWindow_Proxy(
1848 IOleClientSite* This,
1849 BOOL fShow);
1850 void __RPC_STUB IOleClientSite_OnShowWindow_Stub(
1851 struct IRpcStubBuffer* This,
1852 struct IRpcChannelBuffer* pRpcChannelBuffer,
1853 PRPC_MESSAGE pRpcMessage,
1854 DWORD* pdwStubPhase);
1855 HRESULT CALLBACK IOleClientSite_RequestNewObjectLayout_Proxy(
1856 IOleClientSite* This);
1857 void __RPC_STUB IOleClientSite_RequestNewObjectLayout_Stub(
1858 struct IRpcStubBuffer* This,
1859 struct IRpcChannelBuffer* pRpcChannelBuffer,
1860 PRPC_MESSAGE pRpcMessage,
1861 DWORD* pdwStubPhase);
1863 #endif /* __IOleClientSite_INTERFACE_DEFINED__ */
1865 #ifndef __IOleCache_FWD_DEFINED__
1866 #define __IOleCache_FWD_DEFINED__
1867 typedef struct IOleCache IOleCache;
1868 #endif
1870 typedef IOleCache *LPOLECACHE;
1872 /*****************************************************************************
1873 * IOleCache interface
1875 #ifndef __IOleCache_INTERFACE_DEFINED__
1876 #define __IOleCache_INTERFACE_DEFINED__
1878 DEFINE_GUID(IID_IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1879 #if defined(__cplusplus) && !defined(CINTERFACE)
1880 struct IOleCache : public IUnknown
1882 virtual HRESULT STDMETHODCALLTYPE Cache(
1883 FORMATETC* pformatetc,
1884 DWORD advf,
1885 DWORD* pdwConnection) = 0;
1887 virtual HRESULT STDMETHODCALLTYPE Uncache(
1888 DWORD dwConnection) = 0;
1890 virtual HRESULT STDMETHODCALLTYPE EnumCache(
1891 IEnumSTATDATA** ppenumSTATDATA) = 0;
1893 virtual HRESULT STDMETHODCALLTYPE InitCache(
1894 IDataObject* pDataObject) = 0;
1896 virtual HRESULT STDMETHODCALLTYPE SetData(
1897 FORMATETC* pformatetc,
1898 STGMEDIUM* pmedium,
1899 BOOL fRelease) = 0;
1902 #else
1903 typedef struct IOleCacheVtbl IOleCacheVtbl;
1904 struct IOleCache {
1905 const IOleCacheVtbl* lpVtbl;
1907 struct IOleCacheVtbl {
1908 ICOM_MSVTABLE_COMPAT_FIELDS
1910 /*** IUnknown methods ***/
1911 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1912 IOleCache* This,
1913 REFIID riid,
1914 void** ppvObject);
1916 ULONG (STDMETHODCALLTYPE *AddRef)(
1917 IOleCache* This);
1919 ULONG (STDMETHODCALLTYPE *Release)(
1920 IOleCache* This);
1922 /*** IOleCache methods ***/
1923 HRESULT (STDMETHODCALLTYPE *Cache)(
1924 IOleCache* This,
1925 FORMATETC* pformatetc,
1926 DWORD advf,
1927 DWORD* pdwConnection);
1929 HRESULT (STDMETHODCALLTYPE *Uncache)(
1930 IOleCache* This,
1931 DWORD dwConnection);
1933 HRESULT (STDMETHODCALLTYPE *EnumCache)(
1934 IOleCache* This,
1935 IEnumSTATDATA** ppenumSTATDATA);
1937 HRESULT (STDMETHODCALLTYPE *InitCache)(
1938 IOleCache* This,
1939 IDataObject* pDataObject);
1941 HRESULT (STDMETHODCALLTYPE *SetData)(
1942 IOleCache* This,
1943 FORMATETC* pformatetc,
1944 STGMEDIUM* pmedium,
1945 BOOL fRelease);
1949 /*** IUnknown methods ***/
1950 #define IOleCache_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1951 #define IOleCache_AddRef(p) (p)->lpVtbl->AddRef(p)
1952 #define IOleCache_Release(p) (p)->lpVtbl->Release(p)
1953 /*** IOleCache methods ***/
1954 #define IOleCache_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
1955 #define IOleCache_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
1956 #define IOleCache_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
1957 #define IOleCache_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
1958 #define IOleCache_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
1960 #endif
1962 #define IOleCache_METHODS \
1963 ICOM_MSVTABLE_COMPAT_FIELDS \
1964 /*** IUnknown methods ***/ \
1965 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1966 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1967 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1968 /*** IOleCache methods ***/ \
1969 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
1970 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
1971 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
1972 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
1973 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE;
1975 HRESULT CALLBACK IOleCache_Cache_Proxy(
1976 IOleCache* This,
1977 FORMATETC* pformatetc,
1978 DWORD advf,
1979 DWORD* pdwConnection);
1980 void __RPC_STUB IOleCache_Cache_Stub(
1981 struct IRpcStubBuffer* This,
1982 struct IRpcChannelBuffer* pRpcChannelBuffer,
1983 PRPC_MESSAGE pRpcMessage,
1984 DWORD* pdwStubPhase);
1985 HRESULT CALLBACK IOleCache_Uncache_Proxy(
1986 IOleCache* This,
1987 DWORD dwConnection);
1988 void __RPC_STUB IOleCache_Uncache_Stub(
1989 struct IRpcStubBuffer* This,
1990 struct IRpcChannelBuffer* pRpcChannelBuffer,
1991 PRPC_MESSAGE pRpcMessage,
1992 DWORD* pdwStubPhase);
1993 HRESULT CALLBACK IOleCache_EnumCache_Proxy(
1994 IOleCache* This,
1995 IEnumSTATDATA** ppenumSTATDATA);
1996 void __RPC_STUB IOleCache_EnumCache_Stub(
1997 struct IRpcStubBuffer* This,
1998 struct IRpcChannelBuffer* pRpcChannelBuffer,
1999 PRPC_MESSAGE pRpcMessage,
2000 DWORD* pdwStubPhase);
2001 HRESULT CALLBACK IOleCache_InitCache_Proxy(
2002 IOleCache* This,
2003 IDataObject* pDataObject);
2004 void __RPC_STUB IOleCache_InitCache_Stub(
2005 struct IRpcStubBuffer* This,
2006 struct IRpcChannelBuffer* pRpcChannelBuffer,
2007 PRPC_MESSAGE pRpcMessage,
2008 DWORD* pdwStubPhase);
2009 HRESULT CALLBACK IOleCache_SetData_Proxy(
2010 IOleCache* This,
2011 FORMATETC* pformatetc,
2012 STGMEDIUM* pmedium,
2013 BOOL fRelease);
2014 void __RPC_STUB IOleCache_SetData_Stub(
2015 struct IRpcStubBuffer* This,
2016 struct IRpcChannelBuffer* pRpcChannelBuffer,
2017 PRPC_MESSAGE pRpcMessage,
2018 DWORD* pdwStubPhase);
2020 #endif /* __IOleCache_INTERFACE_DEFINED__ */
2022 #ifndef __IOleCache2_FWD_DEFINED__
2023 #define __IOleCache2_FWD_DEFINED__
2024 typedef struct IOleCache2 IOleCache2;
2025 #endif
2027 typedef IOleCache2 *LPOLECACHE2;
2029 #define UPDFCACHE_NODATACACHE (0x1)
2031 #define UPDFCACHE_ONSAVECACHE (0x2)
2033 #define UPDFCACHE_ONSTOPCACHE (0x4)
2035 #define UPDFCACHE_NORMALCACHE (0x8)
2037 #define UPDFCACHE_IFBLANK (0x10)
2039 #define UPDFCACHE_ONLYIFBLANK (0x80000000)
2041 #define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
2043 #define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
2045 #define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)
2047 typedef enum tagDISCARDCACHE {
2048 DISCARDCACHE_SAVEIFDIRTY = 0,
2049 DISCARDCACHE_NOSAVE = 1
2050 } DISCARDCACHE;
2052 /*****************************************************************************
2053 * IOleCache2 interface
2055 #ifndef __IOleCache2_INTERFACE_DEFINED__
2056 #define __IOleCache2_INTERFACE_DEFINED__
2058 DEFINE_GUID(IID_IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2059 #if defined(__cplusplus) && !defined(CINTERFACE)
2060 struct IOleCache2 : public IOleCache
2062 virtual HRESULT STDMETHODCALLTYPE UpdateCache(
2063 LPDATAOBJECT pDataObject,
2064 DWORD grfUpdf,
2065 LPVOID pReserved) = 0;
2067 virtual HRESULT STDMETHODCALLTYPE DiscardCache(
2068 DWORD dwDiscardOptions) = 0;
2071 #else
2072 typedef struct IOleCache2Vtbl IOleCache2Vtbl;
2073 struct IOleCache2 {
2074 const IOleCache2Vtbl* lpVtbl;
2076 struct IOleCache2Vtbl {
2077 ICOM_MSVTABLE_COMPAT_FIELDS
2079 /*** IUnknown methods ***/
2080 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2081 IOleCache2* This,
2082 REFIID riid,
2083 void** ppvObject);
2085 ULONG (STDMETHODCALLTYPE *AddRef)(
2086 IOleCache2* This);
2088 ULONG (STDMETHODCALLTYPE *Release)(
2089 IOleCache2* This);
2091 /*** IOleCache methods ***/
2092 HRESULT (STDMETHODCALLTYPE *Cache)(
2093 IOleCache2* This,
2094 FORMATETC* pformatetc,
2095 DWORD advf,
2096 DWORD* pdwConnection);
2098 HRESULT (STDMETHODCALLTYPE *Uncache)(
2099 IOleCache2* This,
2100 DWORD dwConnection);
2102 HRESULT (STDMETHODCALLTYPE *EnumCache)(
2103 IOleCache2* This,
2104 IEnumSTATDATA** ppenumSTATDATA);
2106 HRESULT (STDMETHODCALLTYPE *InitCache)(
2107 IOleCache2* This,
2108 IDataObject* pDataObject);
2110 HRESULT (STDMETHODCALLTYPE *SetData)(
2111 IOleCache2* This,
2112 FORMATETC* pformatetc,
2113 STGMEDIUM* pmedium,
2114 BOOL fRelease);
2116 /*** IOleCache2 methods ***/
2117 HRESULT (STDMETHODCALLTYPE *UpdateCache)(
2118 IOleCache2* This,
2119 LPDATAOBJECT pDataObject,
2120 DWORD grfUpdf,
2121 LPVOID pReserved);
2123 HRESULT (STDMETHODCALLTYPE *DiscardCache)(
2124 IOleCache2* This,
2125 DWORD dwDiscardOptions);
2129 /*** IUnknown methods ***/
2130 #define IOleCache2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2131 #define IOleCache2_AddRef(p) (p)->lpVtbl->AddRef(p)
2132 #define IOleCache2_Release(p) (p)->lpVtbl->Release(p)
2133 /*** IOleCache methods ***/
2134 #define IOleCache2_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
2135 #define IOleCache2_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
2136 #define IOleCache2_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
2137 #define IOleCache2_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
2138 #define IOleCache2_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
2139 /*** IOleCache2 methods ***/
2140 #define IOleCache2_UpdateCache(p,a,b,c) (p)->lpVtbl->UpdateCache(p,a,b,c)
2141 #define IOleCache2_DiscardCache(p,a) (p)->lpVtbl->DiscardCache(p,a)
2143 #endif
2145 #define IOleCache2_METHODS \
2146 ICOM_MSVTABLE_COMPAT_FIELDS \
2147 /*** IUnknown methods ***/ \
2148 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2149 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2150 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2151 /*** IOleCache methods ***/ \
2152 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
2153 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
2154 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
2155 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
2156 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
2157 /*** IOleCache2 methods ***/ \
2158 STDMETHOD_(HRESULT,UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
2159 STDMETHOD_(HRESULT,DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
2161 HRESULT CALLBACK IOleCache2_RemoteUpdateCache_Proxy(
2162 IOleCache2* This,
2163 LPDATAOBJECT pDataObject,
2164 DWORD grfUpdf,
2165 LONG_PTR pReserved);
2166 void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(
2167 struct IRpcStubBuffer* This,
2168 struct IRpcChannelBuffer* pRpcChannelBuffer,
2169 PRPC_MESSAGE pRpcMessage,
2170 DWORD* pdwStubPhase);
2171 HRESULT CALLBACK IOleCache2_UpdateCache_Proxy(
2172 IOleCache2* This,
2173 LPDATAOBJECT pDataObject,
2174 DWORD grfUpdf,
2175 LPVOID pReserved);
2176 HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub(
2177 IOleCache2* This,
2178 LPDATAOBJECT pDataObject,
2179 DWORD grfUpdf,
2180 LONG_PTR pReserved);
2181 HRESULT CALLBACK IOleCache2_DiscardCache_Proxy(
2182 IOleCache2* This,
2183 DWORD dwDiscardOptions);
2184 void __RPC_STUB IOleCache2_DiscardCache_Stub(
2185 struct IRpcStubBuffer* This,
2186 struct IRpcChannelBuffer* pRpcChannelBuffer,
2187 PRPC_MESSAGE pRpcMessage,
2188 DWORD* pdwStubPhase);
2190 #endif /* __IOleCache2_INTERFACE_DEFINED__ */
2192 #ifndef __IOleCacheControl_FWD_DEFINED__
2193 #define __IOleCacheControl_FWD_DEFINED__
2194 typedef struct IOleCacheControl IOleCacheControl;
2195 #endif
2197 typedef IOleCacheControl *LPOLECACHECONTROL;
2199 /*****************************************************************************
2200 * IOleCacheControl interface
2202 #ifndef __IOleCacheControl_INTERFACE_DEFINED__
2203 #define __IOleCacheControl_INTERFACE_DEFINED__
2205 DEFINE_GUID(IID_IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2206 #if defined(__cplusplus) && !defined(CINTERFACE)
2207 struct IOleCacheControl : public IUnknown
2209 virtual HRESULT STDMETHODCALLTYPE OnRun(
2210 LPDATAOBJECT pDataObject) = 0;
2212 virtual HRESULT STDMETHODCALLTYPE OnStop(
2213 ) = 0;
2216 #else
2217 typedef struct IOleCacheControlVtbl IOleCacheControlVtbl;
2218 struct IOleCacheControl {
2219 const IOleCacheControlVtbl* lpVtbl;
2221 struct IOleCacheControlVtbl {
2222 ICOM_MSVTABLE_COMPAT_FIELDS
2224 /*** IUnknown methods ***/
2225 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2226 IOleCacheControl* This,
2227 REFIID riid,
2228 void** ppvObject);
2230 ULONG (STDMETHODCALLTYPE *AddRef)(
2231 IOleCacheControl* This);
2233 ULONG (STDMETHODCALLTYPE *Release)(
2234 IOleCacheControl* This);
2236 /*** IOleCacheControl methods ***/
2237 HRESULT (STDMETHODCALLTYPE *OnRun)(
2238 IOleCacheControl* This,
2239 LPDATAOBJECT pDataObject);
2241 HRESULT (STDMETHODCALLTYPE *OnStop)(
2242 IOleCacheControl* This);
2246 /*** IUnknown methods ***/
2247 #define IOleCacheControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2248 #define IOleCacheControl_AddRef(p) (p)->lpVtbl->AddRef(p)
2249 #define IOleCacheControl_Release(p) (p)->lpVtbl->Release(p)
2250 /*** IOleCacheControl methods ***/
2251 #define IOleCacheControl_OnRun(p,a) (p)->lpVtbl->OnRun(p,a)
2252 #define IOleCacheControl_OnStop(p) (p)->lpVtbl->OnStop(p)
2254 #endif
2256 #define IOleCacheControl_METHODS \
2257 ICOM_MSVTABLE_COMPAT_FIELDS \
2258 /*** IUnknown methods ***/ \
2259 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2260 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2261 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2262 /*** IOleCacheControl methods ***/ \
2263 STDMETHOD_(HRESULT,OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
2264 STDMETHOD_(HRESULT,OnStop)(THIS) PURE;
2266 HRESULT CALLBACK IOleCacheControl_OnRun_Proxy(
2267 IOleCacheControl* This,
2268 LPDATAOBJECT pDataObject);
2269 void __RPC_STUB IOleCacheControl_OnRun_Stub(
2270 struct IRpcStubBuffer* This,
2271 struct IRpcChannelBuffer* pRpcChannelBuffer,
2272 PRPC_MESSAGE pRpcMessage,
2273 DWORD* pdwStubPhase);
2274 HRESULT CALLBACK IOleCacheControl_OnStop_Proxy(
2275 IOleCacheControl* This);
2276 void __RPC_STUB IOleCacheControl_OnStop_Stub(
2277 struct IRpcStubBuffer* This,
2278 struct IRpcChannelBuffer* pRpcChannelBuffer,
2279 PRPC_MESSAGE pRpcMessage,
2280 DWORD* pdwStubPhase);
2282 #endif /* __IOleCacheControl_INTERFACE_DEFINED__ */
2284 #ifndef __IEnumOLEVERB_FWD_DEFINED__
2285 #define __IEnumOLEVERB_FWD_DEFINED__
2286 typedef struct IEnumOLEVERB IEnumOLEVERB;
2287 #endif
2289 typedef IEnumOLEVERB *LPENUMOLEVERB;
2291 typedef struct tagOLEVERB {
2292 LONG lVerb;
2293 LPOLESTR lpszVerbName;
2294 DWORD fuFlags;
2295 DWORD grfAttribs;
2296 } OLEVERB, *LPOLEVERB;
2298 typedef enum tagOLEVERBATTRIB {
2299 OLEVERBATTRIB_NEVERDIRTIES = 1,
2300 OLEVERBATTRIB_ONCONTAINERMENU = 2
2301 } OLEVERBATTRIB;
2303 /*****************************************************************************
2304 * IEnumOLEVERB interface
2306 #ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
2307 #define __IEnumOLEVERB_INTERFACE_DEFINED__
2309 DEFINE_GUID(IID_IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2310 #if defined(__cplusplus) && !defined(CINTERFACE)
2311 struct IEnumOLEVERB : public IUnknown
2313 virtual HRESULT STDMETHODCALLTYPE Next(
2314 ULONG celt,
2315 LPOLEVERB rgelt,
2316 ULONG* pceltFetched) = 0;
2318 virtual HRESULT STDMETHODCALLTYPE Skip(
2319 ULONG celt) = 0;
2321 virtual HRESULT STDMETHODCALLTYPE Reset(
2322 ) = 0;
2324 virtual HRESULT STDMETHODCALLTYPE Clone(
2325 IEnumOLEVERB** ppenum) = 0;
2328 #else
2329 typedef struct IEnumOLEVERBVtbl IEnumOLEVERBVtbl;
2330 struct IEnumOLEVERB {
2331 const IEnumOLEVERBVtbl* lpVtbl;
2333 struct IEnumOLEVERBVtbl {
2334 ICOM_MSVTABLE_COMPAT_FIELDS
2336 /*** IUnknown methods ***/
2337 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2338 IEnumOLEVERB* This,
2339 REFIID riid,
2340 void** ppvObject);
2342 ULONG (STDMETHODCALLTYPE *AddRef)(
2343 IEnumOLEVERB* This);
2345 ULONG (STDMETHODCALLTYPE *Release)(
2346 IEnumOLEVERB* This);
2348 /*** IEnumOLEVERB methods ***/
2349 HRESULT (STDMETHODCALLTYPE *Next)(
2350 IEnumOLEVERB* This,
2351 ULONG celt,
2352 LPOLEVERB rgelt,
2353 ULONG* pceltFetched);
2355 HRESULT (STDMETHODCALLTYPE *Skip)(
2356 IEnumOLEVERB* This,
2357 ULONG celt);
2359 HRESULT (STDMETHODCALLTYPE *Reset)(
2360 IEnumOLEVERB* This);
2362 HRESULT (STDMETHODCALLTYPE *Clone)(
2363 IEnumOLEVERB* This,
2364 IEnumOLEVERB** ppenum);
2368 /*** IUnknown methods ***/
2369 #define IEnumOLEVERB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2370 #define IEnumOLEVERB_AddRef(p) (p)->lpVtbl->AddRef(p)
2371 #define IEnumOLEVERB_Release(p) (p)->lpVtbl->Release(p)
2372 /*** IEnumOLEVERB methods ***/
2373 #define IEnumOLEVERB_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2374 #define IEnumOLEVERB_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2375 #define IEnumOLEVERB_Reset(p) (p)->lpVtbl->Reset(p)
2376 #define IEnumOLEVERB_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2378 #endif
2380 #define IEnumOLEVERB_METHODS \
2381 ICOM_MSVTABLE_COMPAT_FIELDS \
2382 /*** IUnknown methods ***/ \
2383 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2384 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2385 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2386 /*** IEnumOLEVERB methods ***/ \
2387 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG* pceltFetched) PURE; \
2388 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2389 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2390 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumOLEVERB** ppenum) PURE;
2392 HRESULT CALLBACK IEnumOLEVERB_RemoteNext_Proxy(
2393 IEnumOLEVERB* This,
2394 ULONG celt,
2395 LPOLEVERB rgelt,
2396 ULONG* pceltFetched);
2397 void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(
2398 struct IRpcStubBuffer* This,
2399 struct IRpcChannelBuffer* pRpcChannelBuffer,
2400 PRPC_MESSAGE pRpcMessage,
2401 DWORD* pdwStubPhase);
2402 HRESULT CALLBACK IEnumOLEVERB_Next_Proxy(
2403 IEnumOLEVERB* This,
2404 ULONG celt,
2405 LPOLEVERB rgelt,
2406 ULONG* pceltFetched);
2407 HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub(
2408 IEnumOLEVERB* This,
2409 ULONG celt,
2410 LPOLEVERB rgelt,
2411 ULONG* pceltFetched);
2412 HRESULT CALLBACK IEnumOLEVERB_Skip_Proxy(
2413 IEnumOLEVERB* This,
2414 ULONG celt);
2415 void __RPC_STUB IEnumOLEVERB_Skip_Stub(
2416 struct IRpcStubBuffer* This,
2417 struct IRpcChannelBuffer* pRpcChannelBuffer,
2418 PRPC_MESSAGE pRpcMessage,
2419 DWORD* pdwStubPhase);
2420 HRESULT CALLBACK IEnumOLEVERB_Reset_Proxy(
2421 IEnumOLEVERB* This);
2422 void __RPC_STUB IEnumOLEVERB_Reset_Stub(
2423 struct IRpcStubBuffer* This,
2424 struct IRpcChannelBuffer* pRpcChannelBuffer,
2425 PRPC_MESSAGE pRpcMessage,
2426 DWORD* pdwStubPhase);
2427 HRESULT CALLBACK IEnumOLEVERB_Clone_Proxy(
2428 IEnumOLEVERB* This,
2429 IEnumOLEVERB** ppenum);
2430 void __RPC_STUB IEnumOLEVERB_Clone_Stub(
2431 struct IRpcStubBuffer* This,
2432 struct IRpcChannelBuffer* pRpcChannelBuffer,
2433 PRPC_MESSAGE pRpcMessage,
2434 DWORD* pdwStubPhase);
2436 #endif /* __IEnumOLEVERB_INTERFACE_DEFINED__ */
2438 #ifndef __IOleObject_FWD_DEFINED__
2439 #define __IOleObject_FWD_DEFINED__
2440 typedef struct IOleObject IOleObject;
2441 #endif
2443 typedef IOleObject *LPOLEOBJECT;
2445 typedef enum tagOLEGETMONIKER {
2446 OLEGETMONIKER_ONLYIFTHERE = 1,
2447 OLEGETMONIKER_FORCEASSIGN = 2,
2448 OLEGETMONIKER_UNASSIGN = 3,
2449 OLEGETMONIKER_TEMPFORUSER = 4
2450 } OLEGETMONIKER;
2452 typedef enum tagOLEWHICHMK {
2453 OLEWHICHMK_CONTAINER = 1,
2454 OLEWHICHMK_OBJREL = 2,
2455 OLEWHICHMK_OBJFULL = 3
2456 } OLEWHICHMK;
2458 typedef enum tagUSERCLASSTYPE {
2459 USERCLASSTYPE_FULL = 1,
2460 USERCLASSTYPE_SHORT = 2,
2461 USERCLASSTYPE_APPNAME = 3
2462 } USERCLASSTYPE;
2464 typedef enum tagOLEMISC {
2465 OLEMISC_RECOMPOSEONRESIZE = 0x1,
2466 OLEMISC_ONLYICONIC = 0x2,
2467 OLEMISC_INSERTNOTREPLACE = 0x4,
2468 OLEMISC_STATIC = 0x8,
2469 OLEMISC_CANTLINKINSIDE = 0x10,
2470 OLEMISC_CANLINKBYOLE1 = 0x20,
2471 OLEMISC_ISLINKOBJECT = 0x40,
2472 OLEMISC_INSIDEOUT = 0x80,
2473 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
2474 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
2475 OLEMISC_INVISIBLEATRUNTIME = 0x400,
2476 OLEMISC_ALWAYSRUN = 0x800,
2477 OLEMISC_ACTSLIKEBUTTON = 0x1000,
2478 OLEMISC_ACTSLIKELABEL = 0x2000,
2479 OLEMISC_NOUIACTIVATE = 0x4000,
2480 OLEMISC_ALIGNABLE = 0x8000,
2481 OLEMISC_SIMPLEFRAME = 0x10000,
2482 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
2483 OLEMISC_IMEMODE = 0x40000,
2484 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
2485 OLEMISC_WANTSTOMENUMERGE = 0x100000,
2486 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
2487 } OLEMISC;
2489 typedef enum tagOLECLOSE {
2490 OLECLOSE_SAVEIFDIRTY = 0,
2491 OLECLOSE_NOSAVE = 1,
2492 OLECLOSE_PROMPTSAVE = 2
2493 } OLECLOSE;
2495 /*****************************************************************************
2496 * IOleObject interface
2498 #ifndef __IOleObject_INTERFACE_DEFINED__
2499 #define __IOleObject_INTERFACE_DEFINED__
2501 DEFINE_GUID(IID_IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2502 #if defined(__cplusplus) && !defined(CINTERFACE)
2503 struct IOleObject : public IUnknown
2505 virtual HRESULT STDMETHODCALLTYPE SetClientSite(
2506 IOleClientSite* pClientSite) = 0;
2508 virtual HRESULT STDMETHODCALLTYPE GetClientSite(
2509 IOleClientSite** ppClientSite) = 0;
2511 virtual HRESULT STDMETHODCALLTYPE SetHostNames(
2512 LPCOLESTR szContainerApp,
2513 LPCOLESTR szContainerObj) = 0;
2515 virtual HRESULT STDMETHODCALLTYPE Close(
2516 DWORD dwSaveOption) = 0;
2518 virtual HRESULT STDMETHODCALLTYPE SetMoniker(
2519 DWORD dwWhichMoniker,
2520 IMoniker* pmk) = 0;
2522 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
2523 DWORD dwAssign,
2524 DWORD dwWhichMoniker,
2525 IMoniker** ppmk) = 0;
2527 virtual HRESULT STDMETHODCALLTYPE InitFromData(
2528 IDataObject* pDataObject,
2529 BOOL fCreation,
2530 DWORD dwReserved) = 0;
2532 virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
2533 DWORD dwReserved,
2534 IDataObject** ppDataObject) = 0;
2536 virtual HRESULT STDMETHODCALLTYPE DoVerb(
2537 LONG iVerb,
2538 LPMSG lpmsg,
2539 IOleClientSite* pActiveSite,
2540 LONG lindex,
2541 HWND hwndParent,
2542 LPCRECT lprcPosRect) = 0;
2544 virtual HRESULT STDMETHODCALLTYPE EnumVerbs(
2545 IEnumOLEVERB** ppEnumOleVerb) = 0;
2547 virtual HRESULT STDMETHODCALLTYPE Update(
2548 ) = 0;
2550 virtual HRESULT STDMETHODCALLTYPE IsUpToDate(
2551 ) = 0;
2553 virtual HRESULT STDMETHODCALLTYPE GetUserClassID(
2554 CLSID* pClsid) = 0;
2556 virtual HRESULT STDMETHODCALLTYPE GetUserType(
2557 DWORD dwFormOfType,
2558 LPOLESTR* pszUserType) = 0;
2560 virtual HRESULT STDMETHODCALLTYPE SetExtent(
2561 DWORD dwDrawAspect,
2562 SIZEL* psizel) = 0;
2564 virtual HRESULT STDMETHODCALLTYPE GetExtent(
2565 DWORD dwDrawAspect,
2566 SIZEL* psizel) = 0;
2568 virtual HRESULT STDMETHODCALLTYPE Advise(
2569 IAdviseSink* pAdvSink,
2570 DWORD* pdwConnection) = 0;
2572 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2573 DWORD dwConnection) = 0;
2575 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2576 IEnumSTATDATA** ppenumAdvise) = 0;
2578 virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(
2579 DWORD dwAspect,
2580 DWORD* pdwStatus) = 0;
2582 virtual HRESULT STDMETHODCALLTYPE SetColorScheme(
2583 LOGPALETTE* pLogpal) = 0;
2586 #else
2587 typedef struct IOleObjectVtbl IOleObjectVtbl;
2588 struct IOleObject {
2589 const IOleObjectVtbl* lpVtbl;
2591 struct IOleObjectVtbl {
2592 ICOM_MSVTABLE_COMPAT_FIELDS
2594 /*** IUnknown methods ***/
2595 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2596 IOleObject* This,
2597 REFIID riid,
2598 void** ppvObject);
2600 ULONG (STDMETHODCALLTYPE *AddRef)(
2601 IOleObject* This);
2603 ULONG (STDMETHODCALLTYPE *Release)(
2604 IOleObject* This);
2606 /*** IOleObject methods ***/
2607 HRESULT (STDMETHODCALLTYPE *SetClientSite)(
2608 IOleObject* This,
2609 IOleClientSite* pClientSite);
2611 HRESULT (STDMETHODCALLTYPE *GetClientSite)(
2612 IOleObject* This,
2613 IOleClientSite** ppClientSite);
2615 HRESULT (STDMETHODCALLTYPE *SetHostNames)(
2616 IOleObject* This,
2617 LPCOLESTR szContainerApp,
2618 LPCOLESTR szContainerObj);
2620 HRESULT (STDMETHODCALLTYPE *Close)(
2621 IOleObject* This,
2622 DWORD dwSaveOption);
2624 HRESULT (STDMETHODCALLTYPE *SetMoniker)(
2625 IOleObject* This,
2626 DWORD dwWhichMoniker,
2627 IMoniker* pmk);
2629 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
2630 IOleObject* This,
2631 DWORD dwAssign,
2632 DWORD dwWhichMoniker,
2633 IMoniker** ppmk);
2635 HRESULT (STDMETHODCALLTYPE *InitFromData)(
2636 IOleObject* This,
2637 IDataObject* pDataObject,
2638 BOOL fCreation,
2639 DWORD dwReserved);
2641 HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
2642 IOleObject* This,
2643 DWORD dwReserved,
2644 IDataObject** ppDataObject);
2646 HRESULT (STDMETHODCALLTYPE *DoVerb)(
2647 IOleObject* This,
2648 LONG iVerb,
2649 LPMSG lpmsg,
2650 IOleClientSite* pActiveSite,
2651 LONG lindex,
2652 HWND hwndParent,
2653 LPCRECT lprcPosRect);
2655 HRESULT (STDMETHODCALLTYPE *EnumVerbs)(
2656 IOleObject* This,
2657 IEnumOLEVERB** ppEnumOleVerb);
2659 HRESULT (STDMETHODCALLTYPE *Update)(
2660 IOleObject* This);
2662 HRESULT (STDMETHODCALLTYPE *IsUpToDate)(
2663 IOleObject* This);
2665 HRESULT (STDMETHODCALLTYPE *GetUserClassID)(
2666 IOleObject* This,
2667 CLSID* pClsid);
2669 HRESULT (STDMETHODCALLTYPE *GetUserType)(
2670 IOleObject* This,
2671 DWORD dwFormOfType,
2672 LPOLESTR* pszUserType);
2674 HRESULT (STDMETHODCALLTYPE *SetExtent)(
2675 IOleObject* This,
2676 DWORD dwDrawAspect,
2677 SIZEL* psizel);
2679 HRESULT (STDMETHODCALLTYPE *GetExtent)(
2680 IOleObject* This,
2681 DWORD dwDrawAspect,
2682 SIZEL* psizel);
2684 HRESULT (STDMETHODCALLTYPE *Advise)(
2685 IOleObject* This,
2686 IAdviseSink* pAdvSink,
2687 DWORD* pdwConnection);
2689 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2690 IOleObject* This,
2691 DWORD dwConnection);
2693 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
2694 IOleObject* This,
2695 IEnumSTATDATA** ppenumAdvise);
2697 HRESULT (STDMETHODCALLTYPE *GetMiscStatus)(
2698 IOleObject* This,
2699 DWORD dwAspect,
2700 DWORD* pdwStatus);
2702 HRESULT (STDMETHODCALLTYPE *SetColorScheme)(
2703 IOleObject* This,
2704 LOGPALETTE* pLogpal);
2708 /*** IUnknown methods ***/
2709 #define IOleObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2710 #define IOleObject_AddRef(p) (p)->lpVtbl->AddRef(p)
2711 #define IOleObject_Release(p) (p)->lpVtbl->Release(p)
2712 /*** IOleObject methods ***/
2713 #define IOleObject_SetClientSite(p,a) (p)->lpVtbl->SetClientSite(p,a)
2714 #define IOleObject_GetClientSite(p,a) (p)->lpVtbl->GetClientSite(p,a)
2715 #define IOleObject_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
2716 #define IOleObject_Close(p,a) (p)->lpVtbl->Close(p,a)
2717 #define IOleObject_SetMoniker(p,a,b) (p)->lpVtbl->SetMoniker(p,a,b)
2718 #define IOleObject_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
2719 #define IOleObject_InitFromData(p,a,b,c) (p)->lpVtbl->InitFromData(p,a,b,c)
2720 #define IOleObject_GetClipboardData(p,a,b) (p)->lpVtbl->GetClipboardData(p,a,b)
2721 #define IOleObject_DoVerb(p,a,b,c,d,e,f) (p)->lpVtbl->DoVerb(p,a,b,c,d,e,f)
2722 #define IOleObject_EnumVerbs(p,a) (p)->lpVtbl->EnumVerbs(p,a)
2723 #define IOleObject_Update(p) (p)->lpVtbl->Update(p)
2724 #define IOleObject_IsUpToDate(p) (p)->lpVtbl->IsUpToDate(p)
2725 #define IOleObject_GetUserClassID(p,a) (p)->lpVtbl->GetUserClassID(p,a)
2726 #define IOleObject_GetUserType(p,a,b) (p)->lpVtbl->GetUserType(p,a,b)
2727 #define IOleObject_SetExtent(p,a,b) (p)->lpVtbl->SetExtent(p,a,b)
2728 #define IOleObject_GetExtent(p,a,b) (p)->lpVtbl->GetExtent(p,a,b)
2729 #define IOleObject_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
2730 #define IOleObject_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
2731 #define IOleObject_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
2732 #define IOleObject_GetMiscStatus(p,a,b) (p)->lpVtbl->GetMiscStatus(p,a,b)
2733 #define IOleObject_SetColorScheme(p,a) (p)->lpVtbl->SetColorScheme(p,a)
2735 #endif
2737 #define IOleObject_METHODS \
2738 ICOM_MSVTABLE_COMPAT_FIELDS \
2739 /*** IUnknown methods ***/ \
2740 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2741 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2742 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2743 /*** IOleObject methods ***/ \
2744 STDMETHOD_(HRESULT,SetClientSite)(THIS_ IOleClientSite* pClientSite) PURE; \
2745 STDMETHOD_(HRESULT,GetClientSite)(THIS_ IOleClientSite** ppClientSite) PURE; \
2746 STDMETHOD_(HRESULT,SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
2747 STDMETHOD_(HRESULT,Close)(THIS_ DWORD dwSaveOption) PURE; \
2748 STDMETHOD_(HRESULT,SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker* pmk) PURE; \
2749 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
2750 STDMETHOD_(HRESULT,InitFromData)(THIS_ IDataObject* pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
2751 STDMETHOD_(HRESULT,GetClipboardData)(THIS_ DWORD dwReserved, IDataObject** ppDataObject) PURE; \
2752 STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, LPMSG lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
2753 STDMETHOD_(HRESULT,EnumVerbs)(THIS_ IEnumOLEVERB** ppEnumOleVerb) PURE; \
2754 STDMETHOD_(HRESULT,Update)(THIS) PURE; \
2755 STDMETHOD_(HRESULT,IsUpToDate)(THIS) PURE; \
2756 STDMETHOD_(HRESULT,GetUserClassID)(THIS_ CLSID* pClsid) PURE; \
2757 STDMETHOD_(HRESULT,GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR* pszUserType) PURE; \
2758 STDMETHOD_(HRESULT,SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2759 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2760 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
2761 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
2762 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
2763 STDMETHOD_(HRESULT,GetMiscStatus)(THIS_ DWORD dwAspect, DWORD* pdwStatus) PURE; \
2764 STDMETHOD_(HRESULT,SetColorScheme)(THIS_ LOGPALETTE* pLogpal) PURE;
2766 HRESULT CALLBACK IOleObject_SetClientSite_Proxy(
2767 IOleObject* This,
2768 IOleClientSite* pClientSite);
2769 void __RPC_STUB IOleObject_SetClientSite_Stub(
2770 struct IRpcStubBuffer* This,
2771 struct IRpcChannelBuffer* pRpcChannelBuffer,
2772 PRPC_MESSAGE pRpcMessage,
2773 DWORD* pdwStubPhase);
2774 HRESULT CALLBACK IOleObject_GetClientSite_Proxy(
2775 IOleObject* This,
2776 IOleClientSite** ppClientSite);
2777 void __RPC_STUB IOleObject_GetClientSite_Stub(
2778 struct IRpcStubBuffer* This,
2779 struct IRpcChannelBuffer* pRpcChannelBuffer,
2780 PRPC_MESSAGE pRpcMessage,
2781 DWORD* pdwStubPhase);
2782 HRESULT CALLBACK IOleObject_SetHostNames_Proxy(
2783 IOleObject* This,
2784 LPCOLESTR szContainerApp,
2785 LPCOLESTR szContainerObj);
2786 void __RPC_STUB IOleObject_SetHostNames_Stub(
2787 struct IRpcStubBuffer* This,
2788 struct IRpcChannelBuffer* pRpcChannelBuffer,
2789 PRPC_MESSAGE pRpcMessage,
2790 DWORD* pdwStubPhase);
2791 HRESULT CALLBACK IOleObject_Close_Proxy(
2792 IOleObject* This,
2793 DWORD dwSaveOption);
2794 void __RPC_STUB IOleObject_Close_Stub(
2795 struct IRpcStubBuffer* This,
2796 struct IRpcChannelBuffer* pRpcChannelBuffer,
2797 PRPC_MESSAGE pRpcMessage,
2798 DWORD* pdwStubPhase);
2799 HRESULT CALLBACK IOleObject_SetMoniker_Proxy(
2800 IOleObject* This,
2801 DWORD dwWhichMoniker,
2802 IMoniker* pmk);
2803 void __RPC_STUB IOleObject_SetMoniker_Stub(
2804 struct IRpcStubBuffer* This,
2805 struct IRpcChannelBuffer* pRpcChannelBuffer,
2806 PRPC_MESSAGE pRpcMessage,
2807 DWORD* pdwStubPhase);
2808 HRESULT CALLBACK IOleObject_GetMoniker_Proxy(
2809 IOleObject* This,
2810 DWORD dwAssign,
2811 DWORD dwWhichMoniker,
2812 IMoniker** ppmk);
2813 void __RPC_STUB IOleObject_GetMoniker_Stub(
2814 struct IRpcStubBuffer* This,
2815 struct IRpcChannelBuffer* pRpcChannelBuffer,
2816 PRPC_MESSAGE pRpcMessage,
2817 DWORD* pdwStubPhase);
2818 HRESULT CALLBACK IOleObject_InitFromData_Proxy(
2819 IOleObject* This,
2820 IDataObject* pDataObject,
2821 BOOL fCreation,
2822 DWORD dwReserved);
2823 void __RPC_STUB IOleObject_InitFromData_Stub(
2824 struct IRpcStubBuffer* This,
2825 struct IRpcChannelBuffer* pRpcChannelBuffer,
2826 PRPC_MESSAGE pRpcMessage,
2827 DWORD* pdwStubPhase);
2828 HRESULT CALLBACK IOleObject_GetClipboardData_Proxy(
2829 IOleObject* This,
2830 DWORD dwReserved,
2831 IDataObject** ppDataObject);
2832 void __RPC_STUB IOleObject_GetClipboardData_Stub(
2833 struct IRpcStubBuffer* This,
2834 struct IRpcChannelBuffer* pRpcChannelBuffer,
2835 PRPC_MESSAGE pRpcMessage,
2836 DWORD* pdwStubPhase);
2837 HRESULT CALLBACK IOleObject_DoVerb_Proxy(
2838 IOleObject* This,
2839 LONG iVerb,
2840 LPMSG lpmsg,
2841 IOleClientSite* pActiveSite,
2842 LONG lindex,
2843 HWND hwndParent,
2844 LPCRECT lprcPosRect);
2845 void __RPC_STUB IOleObject_DoVerb_Stub(
2846 struct IRpcStubBuffer* This,
2847 struct IRpcChannelBuffer* pRpcChannelBuffer,
2848 PRPC_MESSAGE pRpcMessage,
2849 DWORD* pdwStubPhase);
2850 HRESULT CALLBACK IOleObject_EnumVerbs_Proxy(
2851 IOleObject* This,
2852 IEnumOLEVERB** ppEnumOleVerb);
2853 void __RPC_STUB IOleObject_EnumVerbs_Stub(
2854 struct IRpcStubBuffer* This,
2855 struct IRpcChannelBuffer* pRpcChannelBuffer,
2856 PRPC_MESSAGE pRpcMessage,
2857 DWORD* pdwStubPhase);
2858 HRESULT CALLBACK IOleObject_Update_Proxy(
2859 IOleObject* This);
2860 void __RPC_STUB IOleObject_Update_Stub(
2861 struct IRpcStubBuffer* This,
2862 struct IRpcChannelBuffer* pRpcChannelBuffer,
2863 PRPC_MESSAGE pRpcMessage,
2864 DWORD* pdwStubPhase);
2865 HRESULT CALLBACK IOleObject_IsUpToDate_Proxy(
2866 IOleObject* This);
2867 void __RPC_STUB IOleObject_IsUpToDate_Stub(
2868 struct IRpcStubBuffer* This,
2869 struct IRpcChannelBuffer* pRpcChannelBuffer,
2870 PRPC_MESSAGE pRpcMessage,
2871 DWORD* pdwStubPhase);
2872 HRESULT CALLBACK IOleObject_GetUserClassID_Proxy(
2873 IOleObject* This,
2874 CLSID* pClsid);
2875 void __RPC_STUB IOleObject_GetUserClassID_Stub(
2876 struct IRpcStubBuffer* This,
2877 struct IRpcChannelBuffer* pRpcChannelBuffer,
2878 PRPC_MESSAGE pRpcMessage,
2879 DWORD* pdwStubPhase);
2880 HRESULT CALLBACK IOleObject_GetUserType_Proxy(
2881 IOleObject* This,
2882 DWORD dwFormOfType,
2883 LPOLESTR* pszUserType);
2884 void __RPC_STUB IOleObject_GetUserType_Stub(
2885 struct IRpcStubBuffer* This,
2886 struct IRpcChannelBuffer* pRpcChannelBuffer,
2887 PRPC_MESSAGE pRpcMessage,
2888 DWORD* pdwStubPhase);
2889 HRESULT CALLBACK IOleObject_SetExtent_Proxy(
2890 IOleObject* This,
2891 DWORD dwDrawAspect,
2892 SIZEL* psizel);
2893 void __RPC_STUB IOleObject_SetExtent_Stub(
2894 struct IRpcStubBuffer* This,
2895 struct IRpcChannelBuffer* pRpcChannelBuffer,
2896 PRPC_MESSAGE pRpcMessage,
2897 DWORD* pdwStubPhase);
2898 HRESULT CALLBACK IOleObject_GetExtent_Proxy(
2899 IOleObject* This,
2900 DWORD dwDrawAspect,
2901 SIZEL* psizel);
2902 void __RPC_STUB IOleObject_GetExtent_Stub(
2903 struct IRpcStubBuffer* This,
2904 struct IRpcChannelBuffer* pRpcChannelBuffer,
2905 PRPC_MESSAGE pRpcMessage,
2906 DWORD* pdwStubPhase);
2907 HRESULT CALLBACK IOleObject_Advise_Proxy(
2908 IOleObject* This,
2909 IAdviseSink* pAdvSink,
2910 DWORD* pdwConnection);
2911 void __RPC_STUB IOleObject_Advise_Stub(
2912 struct IRpcStubBuffer* This,
2913 struct IRpcChannelBuffer* pRpcChannelBuffer,
2914 PRPC_MESSAGE pRpcMessage,
2915 DWORD* pdwStubPhase);
2916 HRESULT CALLBACK IOleObject_Unadvise_Proxy(
2917 IOleObject* This,
2918 DWORD dwConnection);
2919 void __RPC_STUB IOleObject_Unadvise_Stub(
2920 struct IRpcStubBuffer* This,
2921 struct IRpcChannelBuffer* pRpcChannelBuffer,
2922 PRPC_MESSAGE pRpcMessage,
2923 DWORD* pdwStubPhase);
2924 HRESULT CALLBACK IOleObject_EnumAdvise_Proxy(
2925 IOleObject* This,
2926 IEnumSTATDATA** ppenumAdvise);
2927 void __RPC_STUB IOleObject_EnumAdvise_Stub(
2928 struct IRpcStubBuffer* This,
2929 struct IRpcChannelBuffer* pRpcChannelBuffer,
2930 PRPC_MESSAGE pRpcMessage,
2931 DWORD* pdwStubPhase);
2932 HRESULT CALLBACK IOleObject_GetMiscStatus_Proxy(
2933 IOleObject* This,
2934 DWORD dwAspect,
2935 DWORD* pdwStatus);
2936 void __RPC_STUB IOleObject_GetMiscStatus_Stub(
2937 struct IRpcStubBuffer* This,
2938 struct IRpcChannelBuffer* pRpcChannelBuffer,
2939 PRPC_MESSAGE pRpcMessage,
2940 DWORD* pdwStubPhase);
2941 HRESULT CALLBACK IOleObject_SetColorScheme_Proxy(
2942 IOleObject* This,
2943 LOGPALETTE* pLogpal);
2944 void __RPC_STUB IOleObject_SetColorScheme_Stub(
2945 struct IRpcStubBuffer* This,
2946 struct IRpcChannelBuffer* pRpcChannelBuffer,
2947 PRPC_MESSAGE pRpcMessage,
2948 DWORD* pdwStubPhase);
2950 #endif /* __IOleObject_INTERFACE_DEFINED__ */
2952 #ifndef __IOleAdviseHolder_FWD_DEFINED__
2953 #define __IOleAdviseHolder_FWD_DEFINED__
2954 typedef struct IOleAdviseHolder IOleAdviseHolder;
2955 #endif
2957 typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
2959 /*****************************************************************************
2960 * IOleAdviseHolder interface
2962 #ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
2963 #define __IOleAdviseHolder_INTERFACE_DEFINED__
2965 DEFINE_GUID(IID_IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2966 #if defined(__cplusplus) && !defined(CINTERFACE)
2967 struct IOleAdviseHolder : public IUnknown
2969 virtual HRESULT STDMETHODCALLTYPE Advise(
2970 IAdviseSink* pAdvise,
2971 DWORD* pdwConnection) = 0;
2973 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2974 DWORD dwConnection) = 0;
2976 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2977 IEnumSTATDATA** ppenumAdvise) = 0;
2979 virtual HRESULT STDMETHODCALLTYPE SendOnRename(
2980 IMoniker* pmk) = 0;
2982 virtual HRESULT STDMETHODCALLTYPE SendOnSave(
2983 ) = 0;
2985 virtual HRESULT STDMETHODCALLTYPE SendOnClose(
2986 ) = 0;
2989 #else
2990 typedef struct IOleAdviseHolderVtbl IOleAdviseHolderVtbl;
2991 struct IOleAdviseHolder {
2992 const IOleAdviseHolderVtbl* lpVtbl;
2994 struct IOleAdviseHolderVtbl {
2995 ICOM_MSVTABLE_COMPAT_FIELDS
2997 /*** IUnknown methods ***/
2998 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2999 IOleAdviseHolder* This,
3000 REFIID riid,
3001 void** ppvObject);
3003 ULONG (STDMETHODCALLTYPE *AddRef)(
3004 IOleAdviseHolder* This);
3006 ULONG (STDMETHODCALLTYPE *Release)(
3007 IOleAdviseHolder* This);
3009 /*** IOleAdviseHolder methods ***/
3010 HRESULT (STDMETHODCALLTYPE *Advise)(
3011 IOleAdviseHolder* This,
3012 IAdviseSink* pAdvise,
3013 DWORD* pdwConnection);
3015 HRESULT (STDMETHODCALLTYPE *Unadvise)(
3016 IOleAdviseHolder* This,
3017 DWORD dwConnection);
3019 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
3020 IOleAdviseHolder* This,
3021 IEnumSTATDATA** ppenumAdvise);
3023 HRESULT (STDMETHODCALLTYPE *SendOnRename)(
3024 IOleAdviseHolder* This,
3025 IMoniker* pmk);
3027 HRESULT (STDMETHODCALLTYPE *SendOnSave)(
3028 IOleAdviseHolder* This);
3030 HRESULT (STDMETHODCALLTYPE *SendOnClose)(
3031 IOleAdviseHolder* This);
3035 /*** IUnknown methods ***/
3036 #define IOleAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3037 #define IOleAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
3038 #define IOleAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
3039 /*** IOleAdviseHolder methods ***/
3040 #define IOleAdviseHolder_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
3041 #define IOleAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3042 #define IOleAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
3043 #define IOleAdviseHolder_SendOnRename(p,a) (p)->lpVtbl->SendOnRename(p,a)
3044 #define IOleAdviseHolder_SendOnSave(p) (p)->lpVtbl->SendOnSave(p)
3045 #define IOleAdviseHolder_SendOnClose(p) (p)->lpVtbl->SendOnClose(p)
3047 #endif
3049 #define IOleAdviseHolder_METHODS \
3050 ICOM_MSVTABLE_COMPAT_FIELDS \
3051 /*** IUnknown methods ***/ \
3052 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3053 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3054 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3055 /*** IOleAdviseHolder methods ***/ \
3056 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
3057 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
3058 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
3059 STDMETHOD_(HRESULT,SendOnRename)(THIS_ IMoniker* pmk) PURE; \
3060 STDMETHOD_(HRESULT,SendOnSave)(THIS) PURE; \
3061 STDMETHOD_(HRESULT,SendOnClose)(THIS) PURE;
3063 HRESULT CALLBACK IOleAdviseHolder_Advise_Proxy(
3064 IOleAdviseHolder* This,
3065 IAdviseSink* pAdvise,
3066 DWORD* pdwConnection);
3067 void __RPC_STUB IOleAdviseHolder_Advise_Stub(
3068 struct IRpcStubBuffer* This,
3069 struct IRpcChannelBuffer* pRpcChannelBuffer,
3070 PRPC_MESSAGE pRpcMessage,
3071 DWORD* pdwStubPhase);
3072 HRESULT CALLBACK IOleAdviseHolder_Unadvise_Proxy(
3073 IOleAdviseHolder* This,
3074 DWORD dwConnection);
3075 void __RPC_STUB IOleAdviseHolder_Unadvise_Stub(
3076 struct IRpcStubBuffer* This,
3077 struct IRpcChannelBuffer* pRpcChannelBuffer,
3078 PRPC_MESSAGE pRpcMessage,
3079 DWORD* pdwStubPhase);
3080 HRESULT CALLBACK IOleAdviseHolder_EnumAdvise_Proxy(
3081 IOleAdviseHolder* This,
3082 IEnumSTATDATA** ppenumAdvise);
3083 void __RPC_STUB IOleAdviseHolder_EnumAdvise_Stub(
3084 struct IRpcStubBuffer* This,
3085 struct IRpcChannelBuffer* pRpcChannelBuffer,
3086 PRPC_MESSAGE pRpcMessage,
3087 DWORD* pdwStubPhase);
3088 HRESULT CALLBACK IOleAdviseHolder_SendOnRename_Proxy(
3089 IOleAdviseHolder* This,
3090 IMoniker* pmk);
3091 void __RPC_STUB IOleAdviseHolder_SendOnRename_Stub(
3092 struct IRpcStubBuffer* This,
3093 struct IRpcChannelBuffer* pRpcChannelBuffer,
3094 PRPC_MESSAGE pRpcMessage,
3095 DWORD* pdwStubPhase);
3096 HRESULT CALLBACK IOleAdviseHolder_SendOnSave_Proxy(
3097 IOleAdviseHolder* This);
3098 void __RPC_STUB IOleAdviseHolder_SendOnSave_Stub(
3099 struct IRpcStubBuffer* This,
3100 struct IRpcChannelBuffer* pRpcChannelBuffer,
3101 PRPC_MESSAGE pRpcMessage,
3102 DWORD* pdwStubPhase);
3103 HRESULT CALLBACK IOleAdviseHolder_SendOnClose_Proxy(
3104 IOleAdviseHolder* This);
3105 void __RPC_STUB IOleAdviseHolder_SendOnClose_Stub(
3106 struct IRpcStubBuffer* This,
3107 struct IRpcChannelBuffer* pRpcChannelBuffer,
3108 PRPC_MESSAGE pRpcMessage,
3109 DWORD* pdwStubPhase);
3111 #endif /* __IOleAdviseHolder_INTERFACE_DEFINED__ */
3113 #ifndef __IContinue_FWD_DEFINED__
3114 #define __IContinue_FWD_DEFINED__
3115 typedef struct IContinue IContinue;
3116 #endif
3118 /*****************************************************************************
3119 * IContinue interface
3121 #ifndef __IContinue_INTERFACE_DEFINED__
3122 #define __IContinue_INTERFACE_DEFINED__
3124 DEFINE_GUID(IID_IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3125 #if defined(__cplusplus) && !defined(CINTERFACE)
3126 struct IContinue : public IUnknown
3128 virtual HRESULT STDMETHODCALLTYPE FContinue(
3129 ) = 0;
3132 #else
3133 typedef struct IContinueVtbl IContinueVtbl;
3134 struct IContinue {
3135 const IContinueVtbl* lpVtbl;
3137 struct IContinueVtbl {
3138 ICOM_MSVTABLE_COMPAT_FIELDS
3140 /*** IUnknown methods ***/
3141 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3142 IContinue* This,
3143 REFIID riid,
3144 void** ppvObject);
3146 ULONG (STDMETHODCALLTYPE *AddRef)(
3147 IContinue* This);
3149 ULONG (STDMETHODCALLTYPE *Release)(
3150 IContinue* This);
3152 /*** IContinue methods ***/
3153 HRESULT (STDMETHODCALLTYPE *FContinue)(
3154 IContinue* This);
3158 /*** IUnknown methods ***/
3159 #define IContinue_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3160 #define IContinue_AddRef(p) (p)->lpVtbl->AddRef(p)
3161 #define IContinue_Release(p) (p)->lpVtbl->Release(p)
3162 /*** IContinue methods ***/
3163 #define IContinue_FContinue(p) (p)->lpVtbl->FContinue(p)
3165 #endif
3167 #define IContinue_METHODS \
3168 ICOM_MSVTABLE_COMPAT_FIELDS \
3169 /*** IUnknown methods ***/ \
3170 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3171 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3172 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3173 /*** IContinue methods ***/ \
3174 STDMETHOD_(HRESULT,FContinue)(THIS) PURE;
3176 HRESULT CALLBACK IContinue_FContinue_Proxy(
3177 IContinue* This);
3178 void __RPC_STUB IContinue_FContinue_Stub(
3179 struct IRpcStubBuffer* This,
3180 struct IRpcChannelBuffer* pRpcChannelBuffer,
3181 PRPC_MESSAGE pRpcMessage,
3182 DWORD* pdwStubPhase);
3184 #endif /* __IContinue_INTERFACE_DEFINED__ */
3186 #ifndef __IViewObject_FWD_DEFINED__
3187 #define __IViewObject_FWD_DEFINED__
3188 typedef struct IViewObject IViewObject;
3189 #endif
3191 typedef IViewObject *LPVIEWOBJECT;
3193 /*****************************************************************************
3194 * IViewObject interface
3196 #ifndef __IViewObject_INTERFACE_DEFINED__
3197 #define __IViewObject_INTERFACE_DEFINED__
3199 DEFINE_GUID(IID_IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3200 #if defined(__cplusplus) && !defined(CINTERFACE)
3201 struct IViewObject : public IUnknown
3203 virtual HRESULT STDMETHODCALLTYPE Draw(
3204 DWORD dwDrawAspect,
3205 LONG lindex,
3206 void* pvAspect,
3207 DVTARGETDEVICE* ptd,
3208 HDC hdcTargetDev,
3209 HDC hdcDraw,
3210 LPCRECTL lprcBounds,
3211 LPCRECTL lprcWBounds,
3212 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3213 ULONG_PTR dwContinue) = 0;
3215 virtual HRESULT STDMETHODCALLTYPE GetColorSet(
3216 DWORD dwDrawAspect,
3217 LONG lindex,
3218 void* pvAspect,
3219 DVTARGETDEVICE* ptd,
3220 HDC hicTargetDev,
3221 LOGPALETTE** ppColorSet) = 0;
3223 virtual HRESULT STDMETHODCALLTYPE Freeze(
3224 DWORD dwDrawAspect,
3225 LONG lindex,
3226 void* pvAspect,
3227 DWORD* pdwFreeze) = 0;
3229 virtual HRESULT STDMETHODCALLTYPE Unfreeze(
3230 DWORD dwFreeze) = 0;
3232 virtual HRESULT STDMETHODCALLTYPE SetAdvise(
3233 DWORD aspects,
3234 DWORD advf,
3235 IAdviseSink* pAdvSink) = 0;
3237 virtual HRESULT STDMETHODCALLTYPE GetAdvise(
3238 DWORD* pAspects,
3239 DWORD* pAdvf,
3240 IAdviseSink** ppAdvSink) = 0;
3243 #else
3244 typedef struct IViewObjectVtbl IViewObjectVtbl;
3245 struct IViewObject {
3246 const IViewObjectVtbl* lpVtbl;
3248 struct IViewObjectVtbl {
3249 ICOM_MSVTABLE_COMPAT_FIELDS
3251 /*** IUnknown methods ***/
3252 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3253 IViewObject* This,
3254 REFIID riid,
3255 void** ppvObject);
3257 ULONG (STDMETHODCALLTYPE *AddRef)(
3258 IViewObject* This);
3260 ULONG (STDMETHODCALLTYPE *Release)(
3261 IViewObject* This);
3263 /*** IViewObject methods ***/
3264 HRESULT (STDMETHODCALLTYPE *Draw)(
3265 IViewObject* This,
3266 DWORD dwDrawAspect,
3267 LONG lindex,
3268 void* pvAspect,
3269 DVTARGETDEVICE* ptd,
3270 HDC hdcTargetDev,
3271 HDC hdcDraw,
3272 LPCRECTL lprcBounds,
3273 LPCRECTL lprcWBounds,
3274 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3275 ULONG_PTR dwContinue);
3277 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3278 IViewObject* This,
3279 DWORD dwDrawAspect,
3280 LONG lindex,
3281 void* pvAspect,
3282 DVTARGETDEVICE* ptd,
3283 HDC hicTargetDev,
3284 LOGPALETTE** ppColorSet);
3286 HRESULT (STDMETHODCALLTYPE *Freeze)(
3287 IViewObject* This,
3288 DWORD dwDrawAspect,
3289 LONG lindex,
3290 void* pvAspect,
3291 DWORD* pdwFreeze);
3293 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3294 IViewObject* This,
3295 DWORD dwFreeze);
3297 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3298 IViewObject* This,
3299 DWORD aspects,
3300 DWORD advf,
3301 IAdviseSink* pAdvSink);
3303 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3304 IViewObject* This,
3305 DWORD* pAspects,
3306 DWORD* pAdvf,
3307 IAdviseSink** ppAdvSink);
3311 /*** IUnknown methods ***/
3312 #define IViewObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3313 #define IViewObject_AddRef(p) (p)->lpVtbl->AddRef(p)
3314 #define IViewObject_Release(p) (p)->lpVtbl->Release(p)
3315 /*** IViewObject methods ***/
3316 #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)
3317 #define IViewObject_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3318 #define IViewObject_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3319 #define IViewObject_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3320 #define IViewObject_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3321 #define IViewObject_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3323 #endif
3325 #define IViewObject_METHODS \
3326 ICOM_MSVTABLE_COMPAT_FIELDS \
3327 /*** IUnknown methods ***/ \
3328 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3329 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3330 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3331 /*** IViewObject methods ***/ \
3332 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; \
3333 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3334 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3335 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3336 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3337 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE;
3339 HRESULT CALLBACK IViewObject_RemoteDraw_Proxy(
3340 IViewObject* This,
3341 DWORD dwDrawAspect,
3342 LONG lindex,
3343 ULONG_PTR pvAspect,
3344 DVTARGETDEVICE* ptd,
3345 ULONG_PTR hdcTargetDev,
3346 ULONG_PTR hdcDraw,
3347 LPCRECTL lprcBounds,
3348 LPCRECTL lprcWBounds,
3349 IContinue* pContinue);
3350 void __RPC_STUB IViewObject_RemoteDraw_Stub(
3351 struct IRpcStubBuffer* This,
3352 struct IRpcChannelBuffer* pRpcChannelBuffer,
3353 PRPC_MESSAGE pRpcMessage,
3354 DWORD* pdwStubPhase);
3355 HRESULT CALLBACK IViewObject_Draw_Proxy(
3356 IViewObject* This,
3357 DWORD dwDrawAspect,
3358 LONG lindex,
3359 void* pvAspect,
3360 DVTARGETDEVICE* ptd,
3361 HDC hdcTargetDev,
3362 HDC hdcDraw,
3363 LPCRECTL lprcBounds,
3364 LPCRECTL lprcWBounds,
3365 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3366 ULONG_PTR dwContinue);
3367 HRESULT __RPC_STUB IViewObject_Draw_Stub(
3368 IViewObject* This,
3369 DWORD dwDrawAspect,
3370 LONG lindex,
3371 ULONG_PTR pvAspect,
3372 DVTARGETDEVICE* ptd,
3373 ULONG_PTR hdcTargetDev,
3374 ULONG_PTR hdcDraw,
3375 LPCRECTL lprcBounds,
3376 LPCRECTL lprcWBounds,
3377 IContinue* pContinue);
3378 HRESULT CALLBACK IViewObject_RemoteGetColorSet_Proxy(
3379 IViewObject* This,
3380 DWORD dwDrawAspect,
3381 LONG lindex,
3382 ULONG_PTR pvAspect,
3383 DVTARGETDEVICE* ptd,
3384 ULONG_PTR hicTargetDev,
3385 LOGPALETTE** ppColorSet);
3386 void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(
3387 struct IRpcStubBuffer* This,
3388 struct IRpcChannelBuffer* pRpcChannelBuffer,
3389 PRPC_MESSAGE pRpcMessage,
3390 DWORD* pdwStubPhase);
3391 HRESULT CALLBACK IViewObject_GetColorSet_Proxy(
3392 IViewObject* This,
3393 DWORD dwDrawAspect,
3394 LONG lindex,
3395 void* pvAspect,
3396 DVTARGETDEVICE* ptd,
3397 HDC hicTargetDev,
3398 LOGPALETTE** ppColorSet);
3399 HRESULT __RPC_STUB IViewObject_GetColorSet_Stub(
3400 IViewObject* This,
3401 DWORD dwDrawAspect,
3402 LONG lindex,
3403 ULONG_PTR pvAspect,
3404 DVTARGETDEVICE* ptd,
3405 ULONG_PTR hicTargetDev,
3406 LOGPALETTE** ppColorSet);
3407 HRESULT CALLBACK IViewObject_RemoteFreeze_Proxy(
3408 IViewObject* This,
3409 DWORD dwDrawAspect,
3410 LONG lindex,
3411 ULONG_PTR pvAspect,
3412 DWORD* pdwFreeze);
3413 void __RPC_STUB IViewObject_RemoteFreeze_Stub(
3414 struct IRpcStubBuffer* This,
3415 struct IRpcChannelBuffer* pRpcChannelBuffer,
3416 PRPC_MESSAGE pRpcMessage,
3417 DWORD* pdwStubPhase);
3418 HRESULT CALLBACK IViewObject_Freeze_Proxy(
3419 IViewObject* This,
3420 DWORD dwDrawAspect,
3421 LONG lindex,
3422 void* pvAspect,
3423 DWORD* pdwFreeze);
3424 HRESULT __RPC_STUB IViewObject_Freeze_Stub(
3425 IViewObject* This,
3426 DWORD dwDrawAspect,
3427 LONG lindex,
3428 ULONG_PTR pvAspect,
3429 DWORD* pdwFreeze);
3430 HRESULT CALLBACK IViewObject_Unfreeze_Proxy(
3431 IViewObject* This,
3432 DWORD dwFreeze);
3433 void __RPC_STUB IViewObject_Unfreeze_Stub(
3434 struct IRpcStubBuffer* This,
3435 struct IRpcChannelBuffer* pRpcChannelBuffer,
3436 PRPC_MESSAGE pRpcMessage,
3437 DWORD* pdwStubPhase);
3438 HRESULT CALLBACK IViewObject_SetAdvise_Proxy(
3439 IViewObject* This,
3440 DWORD aspects,
3441 DWORD advf,
3442 IAdviseSink* pAdvSink);
3443 void __RPC_STUB IViewObject_SetAdvise_Stub(
3444 struct IRpcStubBuffer* This,
3445 struct IRpcChannelBuffer* pRpcChannelBuffer,
3446 PRPC_MESSAGE pRpcMessage,
3447 DWORD* pdwStubPhase);
3448 HRESULT CALLBACK IViewObject_RemoteGetAdvise_Proxy(
3449 IViewObject* This,
3450 DWORD* pAspects,
3451 DWORD* pAdvf,
3452 IAdviseSink** ppAdvSink);
3453 void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(
3454 struct IRpcStubBuffer* This,
3455 struct IRpcChannelBuffer* pRpcChannelBuffer,
3456 PRPC_MESSAGE pRpcMessage,
3457 DWORD* pdwStubPhase);
3458 HRESULT CALLBACK IViewObject_GetAdvise_Proxy(
3459 IViewObject* This,
3460 DWORD* pAspects,
3461 DWORD* pAdvf,
3462 IAdviseSink** ppAdvSink);
3463 HRESULT __RPC_STUB IViewObject_GetAdvise_Stub(
3464 IViewObject* This,
3465 DWORD* pAspects,
3466 DWORD* pAdvf,
3467 IAdviseSink** ppAdvSink);
3469 #endif /* __IViewObject_INTERFACE_DEFINED__ */
3471 #ifndef __IViewObject2_FWD_DEFINED__
3472 #define __IViewObject2_FWD_DEFINED__
3473 typedef struct IViewObject2 IViewObject2;
3474 #endif
3476 typedef IViewObject2 *LPVIEWOBJECT2;
3478 /*****************************************************************************
3479 * IViewObject2 interface
3481 #ifndef __IViewObject2_INTERFACE_DEFINED__
3482 #define __IViewObject2_INTERFACE_DEFINED__
3484 DEFINE_GUID(IID_IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3485 #if defined(__cplusplus) && !defined(CINTERFACE)
3486 struct IViewObject2 : public IViewObject
3488 virtual HRESULT STDMETHODCALLTYPE GetExtent(
3489 DWORD dwDrawAspect,
3490 LONG lindex,
3491 DVTARGETDEVICE* ptd,
3492 LPSIZEL lpsizel) = 0;
3495 #else
3496 typedef struct IViewObject2Vtbl IViewObject2Vtbl;
3497 struct IViewObject2 {
3498 const IViewObject2Vtbl* lpVtbl;
3500 struct IViewObject2Vtbl {
3501 ICOM_MSVTABLE_COMPAT_FIELDS
3503 /*** IUnknown methods ***/
3504 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3505 IViewObject2* This,
3506 REFIID riid,
3507 void** ppvObject);
3509 ULONG (STDMETHODCALLTYPE *AddRef)(
3510 IViewObject2* This);
3512 ULONG (STDMETHODCALLTYPE *Release)(
3513 IViewObject2* This);
3515 /*** IViewObject methods ***/
3516 HRESULT (STDMETHODCALLTYPE *Draw)(
3517 IViewObject2* This,
3518 DWORD dwDrawAspect,
3519 LONG lindex,
3520 void* pvAspect,
3521 DVTARGETDEVICE* ptd,
3522 HDC hdcTargetDev,
3523 HDC hdcDraw,
3524 LPCRECTL lprcBounds,
3525 LPCRECTL lprcWBounds,
3526 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3527 ULONG_PTR dwContinue);
3529 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3530 IViewObject2* This,
3531 DWORD dwDrawAspect,
3532 LONG lindex,
3533 void* pvAspect,
3534 DVTARGETDEVICE* ptd,
3535 HDC hicTargetDev,
3536 LOGPALETTE** ppColorSet);
3538 HRESULT (STDMETHODCALLTYPE *Freeze)(
3539 IViewObject2* This,
3540 DWORD dwDrawAspect,
3541 LONG lindex,
3542 void* pvAspect,
3543 DWORD* pdwFreeze);
3545 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3546 IViewObject2* This,
3547 DWORD dwFreeze);
3549 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3550 IViewObject2* This,
3551 DWORD aspects,
3552 DWORD advf,
3553 IAdviseSink* pAdvSink);
3555 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3556 IViewObject2* This,
3557 DWORD* pAspects,
3558 DWORD* pAdvf,
3559 IAdviseSink** ppAdvSink);
3561 /*** IViewObject2 methods ***/
3562 HRESULT (STDMETHODCALLTYPE *GetExtent)(
3563 IViewObject2* This,
3564 DWORD dwDrawAspect,
3565 LONG lindex,
3566 DVTARGETDEVICE* ptd,
3567 LPSIZEL lpsizel);
3571 /*** IUnknown methods ***/
3572 #define IViewObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3573 #define IViewObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
3574 #define IViewObject2_Release(p) (p)->lpVtbl->Release(p)
3575 /*** IViewObject methods ***/
3576 #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)
3577 #define IViewObject2_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3578 #define IViewObject2_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3579 #define IViewObject2_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3580 #define IViewObject2_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3581 #define IViewObject2_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3582 /*** IViewObject2 methods ***/
3583 #define IViewObject2_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
3585 #endif
3587 #define IViewObject2_METHODS \
3588 ICOM_MSVTABLE_COMPAT_FIELDS \
3589 /*** IUnknown methods ***/ \
3590 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3591 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3592 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3593 /*** IViewObject methods ***/ \
3594 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; \
3595 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3596 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3597 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3598 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3599 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE; \
3600 /*** IViewObject2 methods ***/ \
3601 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel) PURE;
3603 HRESULT CALLBACK IViewObject2_GetExtent_Proxy(
3604 IViewObject2* This,
3605 DWORD dwDrawAspect,
3606 LONG lindex,
3607 DVTARGETDEVICE* ptd,
3608 LPSIZEL lpsizel);
3609 void __RPC_STUB IViewObject2_GetExtent_Stub(
3610 struct IRpcStubBuffer* This,
3611 struct IRpcChannelBuffer* pRpcChannelBuffer,
3612 PRPC_MESSAGE pRpcMessage,
3613 DWORD* pdwStubPhase);
3615 #endif /* __IViewObject2_INTERFACE_DEFINED__ */
3617 #ifndef __IDropSource_FWD_DEFINED__
3618 #define __IDropSource_FWD_DEFINED__
3619 typedef struct IDropSource IDropSource;
3620 #endif
3622 typedef IDropSource *LPDROPSOURCE;
3624 /*****************************************************************************
3625 * IDropSource interface
3627 #ifndef __IDropSource_INTERFACE_DEFINED__
3628 #define __IDropSource_INTERFACE_DEFINED__
3630 DEFINE_GUID(IID_IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3631 #if defined(__cplusplus) && !defined(CINTERFACE)
3632 struct IDropSource : public IUnknown
3634 virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(
3635 BOOL fEscapePressed,
3636 DWORD grfKeyState) = 0;
3638 virtual HRESULT STDMETHODCALLTYPE GiveFeedback(
3639 DWORD dwEffect) = 0;
3642 #else
3643 typedef struct IDropSourceVtbl IDropSourceVtbl;
3644 struct IDropSource {
3645 const IDropSourceVtbl* lpVtbl;
3647 struct IDropSourceVtbl {
3648 ICOM_MSVTABLE_COMPAT_FIELDS
3650 /*** IUnknown methods ***/
3651 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3652 IDropSource* This,
3653 REFIID riid,
3654 void** ppvObject);
3656 ULONG (STDMETHODCALLTYPE *AddRef)(
3657 IDropSource* This);
3659 ULONG (STDMETHODCALLTYPE *Release)(
3660 IDropSource* This);
3662 /*** IDropSource methods ***/
3663 HRESULT (STDMETHODCALLTYPE *QueryContinueDrag)(
3664 IDropSource* This,
3665 BOOL fEscapePressed,
3666 DWORD grfKeyState);
3668 HRESULT (STDMETHODCALLTYPE *GiveFeedback)(
3669 IDropSource* This,
3670 DWORD dwEffect);
3674 /*** IUnknown methods ***/
3675 #define IDropSource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3676 #define IDropSource_AddRef(p) (p)->lpVtbl->AddRef(p)
3677 #define IDropSource_Release(p) (p)->lpVtbl->Release(p)
3678 /*** IDropSource methods ***/
3679 #define IDropSource_QueryContinueDrag(p,a,b) (p)->lpVtbl->QueryContinueDrag(p,a,b)
3680 #define IDropSource_GiveFeedback(p,a) (p)->lpVtbl->GiveFeedback(p,a)
3682 #endif
3684 #define IDropSource_METHODS \
3685 ICOM_MSVTABLE_COMPAT_FIELDS \
3686 /*** IUnknown methods ***/ \
3687 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3688 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3689 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3690 /*** IDropSource methods ***/ \
3691 STDMETHOD_(HRESULT,QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
3692 STDMETHOD_(HRESULT,GiveFeedback)(THIS_ DWORD dwEffect) PURE;
3694 HRESULT CALLBACK IDropSource_QueryContinueDrag_Proxy(
3695 IDropSource* This,
3696 BOOL fEscapePressed,
3697 DWORD grfKeyState);
3698 void __RPC_STUB IDropSource_QueryContinueDrag_Stub(
3699 struct IRpcStubBuffer* This,
3700 struct IRpcChannelBuffer* pRpcChannelBuffer,
3701 PRPC_MESSAGE pRpcMessage,
3702 DWORD* pdwStubPhase);
3703 HRESULT CALLBACK IDropSource_GiveFeedback_Proxy(
3704 IDropSource* This,
3705 DWORD dwEffect);
3706 void __RPC_STUB IDropSource_GiveFeedback_Stub(
3707 struct IRpcStubBuffer* This,
3708 struct IRpcChannelBuffer* pRpcChannelBuffer,
3709 PRPC_MESSAGE pRpcMessage,
3710 DWORD* pdwStubPhase);
3712 #endif /* __IDropSource_INTERFACE_DEFINED__ */
3714 #ifndef __IDropTarget_FWD_DEFINED__
3715 #define __IDropTarget_FWD_DEFINED__
3716 typedef struct IDropTarget IDropTarget;
3717 #endif
3719 typedef IDropTarget *LPDROPTARGET;
3721 #define MK_ALT (0x20)
3723 #define DROPEFFECT_NONE (0)
3725 #define DROPEFFECT_COPY (1)
3727 #define DROPEFFECT_MOVE (2)
3729 #define DROPEFFECT_LINK (4)
3731 #define DROPEFFECT_SCROLL (0x80000000)
3733 #define DD_DEFSCROLLINSET (11)
3735 #define DD_DEFSCROLLDELAY (50)
3737 #define DD_DEFSCROLLINTERVAL (50)
3739 #define DD_DEFDRAGDELAY (200)
3741 #define DD_DEFDRAGMINDIST (2)
3743 /*****************************************************************************
3744 * IDropTarget interface
3746 #ifndef __IDropTarget_INTERFACE_DEFINED__
3747 #define __IDropTarget_INTERFACE_DEFINED__
3749 DEFINE_GUID(IID_IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3750 #if defined(__cplusplus) && !defined(CINTERFACE)
3751 struct IDropTarget : public IUnknown
3753 virtual HRESULT STDMETHODCALLTYPE DragEnter(
3754 IDataObject* pDataObj,
3755 DWORD grfKeyState,
3756 POINTL pt,
3757 DWORD* pdwEffect) = 0;
3759 virtual HRESULT STDMETHODCALLTYPE DragOver(
3760 DWORD grfKeyState,
3761 POINTL pt,
3762 DWORD* pdwEffect) = 0;
3764 virtual HRESULT STDMETHODCALLTYPE DragLeave(
3765 ) = 0;
3767 virtual HRESULT STDMETHODCALLTYPE Drop(
3768 IDataObject* pDataObj,
3769 DWORD grfKeyState,
3770 POINTL pt,
3771 DWORD* pdwEffect) = 0;
3774 #else
3775 typedef struct IDropTargetVtbl IDropTargetVtbl;
3776 struct IDropTarget {
3777 const IDropTargetVtbl* lpVtbl;
3779 struct IDropTargetVtbl {
3780 ICOM_MSVTABLE_COMPAT_FIELDS
3782 /*** IUnknown methods ***/
3783 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3784 IDropTarget* This,
3785 REFIID riid,
3786 void** ppvObject);
3788 ULONG (STDMETHODCALLTYPE *AddRef)(
3789 IDropTarget* This);
3791 ULONG (STDMETHODCALLTYPE *Release)(
3792 IDropTarget* This);
3794 /*** IDropTarget methods ***/
3795 HRESULT (STDMETHODCALLTYPE *DragEnter)(
3796 IDropTarget* This,
3797 IDataObject* pDataObj,
3798 DWORD grfKeyState,
3799 POINTL pt,
3800 DWORD* pdwEffect);
3802 HRESULT (STDMETHODCALLTYPE *DragOver)(
3803 IDropTarget* This,
3804 DWORD grfKeyState,
3805 POINTL pt,
3806 DWORD* pdwEffect);
3808 HRESULT (STDMETHODCALLTYPE *DragLeave)(
3809 IDropTarget* This);
3811 HRESULT (STDMETHODCALLTYPE *Drop)(
3812 IDropTarget* This,
3813 IDataObject* pDataObj,
3814 DWORD grfKeyState,
3815 POINTL pt,
3816 DWORD* pdwEffect);
3820 /*** IUnknown methods ***/
3821 #define IDropTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3822 #define IDropTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
3823 #define IDropTarget_Release(p) (p)->lpVtbl->Release(p)
3824 /*** IDropTarget methods ***/
3825 #define IDropTarget_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3826 #define IDropTarget_DragOver(p,a,b,c) (p)->lpVtbl->DragOver(p,a,b,c)
3827 #define IDropTarget_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3828 #define IDropTarget_Drop(p,a,b,c,d) (p)->lpVtbl->Drop(p,a,b,c,d)
3830 #endif
3832 #define IDropTarget_METHODS \
3833 ICOM_MSVTABLE_COMPAT_FIELDS \
3834 /*** IUnknown methods ***/ \
3835 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3836 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3837 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3838 /*** IDropTarget methods ***/ \
3839 STDMETHOD_(HRESULT,DragEnter)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3840 STDMETHOD_(HRESULT,DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3841 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3842 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE;
3844 HRESULT CALLBACK IDropTarget_DragEnter_Proxy(
3845 IDropTarget* This,
3846 IDataObject* pDataObj,
3847 DWORD grfKeyState,
3848 POINTL pt,
3849 DWORD* pdwEffect);
3850 void __RPC_STUB IDropTarget_DragEnter_Stub(
3851 struct IRpcStubBuffer* This,
3852 struct IRpcChannelBuffer* pRpcChannelBuffer,
3853 PRPC_MESSAGE pRpcMessage,
3854 DWORD* pdwStubPhase);
3855 HRESULT CALLBACK IDropTarget_DragOver_Proxy(
3856 IDropTarget* This,
3857 DWORD grfKeyState,
3858 POINTL pt,
3859 DWORD* pdwEffect);
3860 void __RPC_STUB IDropTarget_DragOver_Stub(
3861 struct IRpcStubBuffer* This,
3862 struct IRpcChannelBuffer* pRpcChannelBuffer,
3863 PRPC_MESSAGE pRpcMessage,
3864 DWORD* pdwStubPhase);
3865 HRESULT CALLBACK IDropTarget_DragLeave_Proxy(
3866 IDropTarget* This);
3867 void __RPC_STUB IDropTarget_DragLeave_Stub(
3868 struct IRpcStubBuffer* This,
3869 struct IRpcChannelBuffer* pRpcChannelBuffer,
3870 PRPC_MESSAGE pRpcMessage,
3871 DWORD* pdwStubPhase);
3872 HRESULT CALLBACK IDropTarget_Drop_Proxy(
3873 IDropTarget* This,
3874 IDataObject* pDataObj,
3875 DWORD grfKeyState,
3876 POINTL pt,
3877 DWORD* pdwEffect);
3878 void __RPC_STUB IDropTarget_Drop_Stub(
3879 struct IRpcStubBuffer* This,
3880 struct IRpcChannelBuffer* pRpcChannelBuffer,
3881 PRPC_MESSAGE pRpcMessage,
3882 DWORD* pdwStubPhase);
3884 #endif /* __IDropTarget_INTERFACE_DEFINED__ */
3886 #ifdef __cplusplus
3888 #endif
3889 #endif /* __WIDL_OLEIDL_H */