Ported the ReactOS taskmgr written by Brian Palmer.
[wine.git] / include / oleidl.h
blobe4d57b9d3e660f69e2860bdc76bdd18d873781fa
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 #ifdef __WINESRC__
264 #undef TranslateAccelerator
265 #endif
266 #ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
267 #define __IOleInPlaceUIWindow_FWD_DEFINED__
268 typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
269 #endif
271 #ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
272 #define __IOleInPlaceActiveObject_FWD_DEFINED__
273 typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
274 #endif
276 typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
278 /*****************************************************************************
279 * IOleInPlaceActiveObject interface
281 #ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
282 #define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
284 DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
285 #if defined(__cplusplus) && !defined(CINTERFACE)
286 struct IOleInPlaceActiveObject : public IOleWindow
288 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
289 LPMSG lpmsg) = 0;
291 virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
292 BOOL fActivate) = 0;
294 virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
295 BOOL fActivate) = 0;
297 virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
298 LPCRECT prcBorder,
299 IOleInPlaceUIWindow* pUIWindow,
300 BOOL fFrameWindow) = 0;
302 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
303 BOOL fEnable) = 0;
306 #else
307 typedef struct IOleInPlaceActiveObjectVtbl IOleInPlaceActiveObjectVtbl;
308 struct IOleInPlaceActiveObject {
309 const IOleInPlaceActiveObjectVtbl* lpVtbl;
311 struct IOleInPlaceActiveObjectVtbl {
312 ICOM_MSVTABLE_COMPAT_FIELDS
314 /*** IUnknown methods ***/
315 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
316 IOleInPlaceActiveObject* This,
317 REFIID riid,
318 void** ppvObject);
320 ULONG (STDMETHODCALLTYPE *AddRef)(
321 IOleInPlaceActiveObject* This);
323 ULONG (STDMETHODCALLTYPE *Release)(
324 IOleInPlaceActiveObject* This);
326 /*** IOleWindow methods ***/
327 HRESULT (STDMETHODCALLTYPE *GetWindow)(
328 IOleInPlaceActiveObject* This,
329 HWND* phwnd);
331 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
332 IOleInPlaceActiveObject* This,
333 BOOL fEnterMode);
335 /*** IOleInPlaceActiveObject methods ***/
336 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
337 IOleInPlaceActiveObject* This,
338 LPMSG lpmsg);
340 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
341 IOleInPlaceActiveObject* This,
342 BOOL fActivate);
344 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
345 IOleInPlaceActiveObject* This,
346 BOOL fActivate);
348 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
349 IOleInPlaceActiveObject* This,
350 LPCRECT prcBorder,
351 IOleInPlaceUIWindow* pUIWindow,
352 BOOL fFrameWindow);
354 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
355 IOleInPlaceActiveObject* This,
356 BOOL fEnable);
360 /*** IUnknown methods ***/
361 #define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
362 #define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
363 #define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
364 /*** IOleWindow methods ***/
365 #define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
366 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
367 /*** IOleInPlaceActiveObject methods ***/
368 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
369 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
370 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
371 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
372 #define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
374 #endif
376 #define IOleInPlaceActiveObject_METHODS \
377 ICOM_MSVTABLE_COMPAT_FIELDS \
378 /*** IUnknown methods ***/ \
379 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
380 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
381 STDMETHOD_(ULONG,Release)(THIS) PURE; \
382 /*** IOleWindow methods ***/ \
383 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
384 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
385 /*** IOleInPlaceActiveObject methods ***/ \
386 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
387 STDMETHOD_(HRESULT,OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
388 STDMETHOD_(HRESULT,OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
389 STDMETHOD_(HRESULT,ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow) PURE; \
390 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE;
392 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
393 IOleInPlaceActiveObject* This);
394 void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
395 struct IRpcStubBuffer* This,
396 struct IRpcChannelBuffer* pRpcChannelBuffer,
397 PRPC_MESSAGE pRpcMessage,
398 DWORD* pdwStubPhase);
399 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
400 IOleInPlaceActiveObject* This,
401 LPMSG lpmsg);
402 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
403 IOleInPlaceActiveObject* This);
404 HRESULT CALLBACK IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(
405 IOleInPlaceActiveObject* This,
406 BOOL fActivate);
407 void __RPC_STUB IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(
408 struct IRpcStubBuffer* This,
409 struct IRpcChannelBuffer* pRpcChannelBuffer,
410 PRPC_MESSAGE pRpcMessage,
411 DWORD* pdwStubPhase);
412 HRESULT CALLBACK IOleInPlaceActiveObject_OnDocWindowActivate_Proxy(
413 IOleInPlaceActiveObject* This,
414 BOOL fActivate);
415 void __RPC_STUB IOleInPlaceActiveObject_OnDocWindowActivate_Stub(
416 struct IRpcStubBuffer* This,
417 struct IRpcChannelBuffer* pRpcChannelBuffer,
418 PRPC_MESSAGE pRpcMessage,
419 DWORD* pdwStubPhase);
420 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
421 IOleInPlaceActiveObject* This,
422 LPCRECT prcBorder,
423 REFIID riid,
424 IOleInPlaceUIWindow* pUIWindow,
425 BOOL fFrameWindow);
426 void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
427 struct IRpcStubBuffer* This,
428 struct IRpcChannelBuffer* pRpcChannelBuffer,
429 PRPC_MESSAGE pRpcMessage,
430 DWORD* pdwStubPhase);
431 HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy(
432 IOleInPlaceActiveObject* This,
433 LPCRECT prcBorder,
434 IOleInPlaceUIWindow* pUIWindow,
435 BOOL fFrameWindow);
436 HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub(
437 IOleInPlaceActiveObject* This,
438 LPCRECT prcBorder,
439 REFIID riid,
440 IOleInPlaceUIWindow* pUIWindow,
441 BOOL fFrameWindow);
442 HRESULT CALLBACK IOleInPlaceActiveObject_EnableModeless_Proxy(
443 IOleInPlaceActiveObject* This,
444 BOOL fEnable);
445 void __RPC_STUB IOleInPlaceActiveObject_EnableModeless_Stub(
446 struct IRpcStubBuffer* This,
447 struct IRpcChannelBuffer* pRpcChannelBuffer,
448 PRPC_MESSAGE pRpcMessage,
449 DWORD* pdwStubPhase);
451 #endif /* __IOleInPlaceActiveObject_INTERFACE_DEFINED__ */
453 typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
455 typedef RECT BORDERWIDTHS;
457 typedef LPRECT LPBORDERWIDTHS;
459 typedef LPCRECT LPCBORDERWIDTHS;
461 /*****************************************************************************
462 * IOleInPlaceUIWindow interface
464 #ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
465 #define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
467 DEFINE_GUID(IID_IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
468 #if defined(__cplusplus) && !defined(CINTERFACE)
469 struct IOleInPlaceUIWindow : public IOleWindow
471 virtual HRESULT STDMETHODCALLTYPE GetBorder(
472 LPRECT lprectBorder) = 0;
474 virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(
475 LPCBORDERWIDTHS pborderwidths) = 0;
477 virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(
478 LPCBORDERWIDTHS pborderwidths) = 0;
480 virtual HRESULT STDMETHODCALLTYPE SetActiveObject(
481 IOleInPlaceActiveObject* pActiveObject,
482 LPCOLESTR pszObjName) = 0;
485 #else
486 typedef struct IOleInPlaceUIWindowVtbl IOleInPlaceUIWindowVtbl;
487 struct IOleInPlaceUIWindow {
488 const IOleInPlaceUIWindowVtbl* lpVtbl;
490 struct IOleInPlaceUIWindowVtbl {
491 ICOM_MSVTABLE_COMPAT_FIELDS
493 /*** IUnknown methods ***/
494 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
495 IOleInPlaceUIWindow* This,
496 REFIID riid,
497 void** ppvObject);
499 ULONG (STDMETHODCALLTYPE *AddRef)(
500 IOleInPlaceUIWindow* This);
502 ULONG (STDMETHODCALLTYPE *Release)(
503 IOleInPlaceUIWindow* This);
505 /*** IOleWindow methods ***/
506 HRESULT (STDMETHODCALLTYPE *GetWindow)(
507 IOleInPlaceUIWindow* This,
508 HWND* phwnd);
510 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
511 IOleInPlaceUIWindow* This,
512 BOOL fEnterMode);
514 /*** IOleInPlaceUIWindow methods ***/
515 HRESULT (STDMETHODCALLTYPE *GetBorder)(
516 IOleInPlaceUIWindow* This,
517 LPRECT lprectBorder);
519 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
520 IOleInPlaceUIWindow* This,
521 LPCBORDERWIDTHS pborderwidths);
523 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
524 IOleInPlaceUIWindow* This,
525 LPCBORDERWIDTHS pborderwidths);
527 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
528 IOleInPlaceUIWindow* This,
529 IOleInPlaceActiveObject* pActiveObject,
530 LPCOLESTR pszObjName);
534 /*** IUnknown methods ***/
535 #define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
536 #define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
537 #define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
538 /*** IOleWindow methods ***/
539 #define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
540 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
541 /*** IOleInPlaceUIWindow methods ***/
542 #define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
543 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
544 #define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
545 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
547 #endif
549 #define IOleInPlaceUIWindow_METHODS \
550 ICOM_MSVTABLE_COMPAT_FIELDS \
551 /*** IUnknown methods ***/ \
552 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
553 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
554 STDMETHOD_(ULONG,Release)(THIS) PURE; \
555 /*** IOleWindow methods ***/ \
556 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
557 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
558 /*** IOleInPlaceUIWindow methods ***/ \
559 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
560 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
561 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
562 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE;
564 HRESULT CALLBACK IOleInPlaceUIWindow_GetBorder_Proxy(
565 IOleInPlaceUIWindow* This,
566 LPRECT lprectBorder);
567 void __RPC_STUB IOleInPlaceUIWindow_GetBorder_Stub(
568 struct IRpcStubBuffer* This,
569 struct IRpcChannelBuffer* pRpcChannelBuffer,
570 PRPC_MESSAGE pRpcMessage,
571 DWORD* pdwStubPhase);
572 HRESULT CALLBACK IOleInPlaceUIWindow_RequestBorderSpace_Proxy(
573 IOleInPlaceUIWindow* This,
574 LPCBORDERWIDTHS pborderwidths);
575 void __RPC_STUB IOleInPlaceUIWindow_RequestBorderSpace_Stub(
576 struct IRpcStubBuffer* This,
577 struct IRpcChannelBuffer* pRpcChannelBuffer,
578 PRPC_MESSAGE pRpcMessage,
579 DWORD* pdwStubPhase);
580 HRESULT CALLBACK IOleInPlaceUIWindow_SetBorderSpace_Proxy(
581 IOleInPlaceUIWindow* This,
582 LPCBORDERWIDTHS pborderwidths);
583 void __RPC_STUB IOleInPlaceUIWindow_SetBorderSpace_Stub(
584 struct IRpcStubBuffer* This,
585 struct IRpcChannelBuffer* pRpcChannelBuffer,
586 PRPC_MESSAGE pRpcMessage,
587 DWORD* pdwStubPhase);
588 HRESULT CALLBACK IOleInPlaceUIWindow_SetActiveObject_Proxy(
589 IOleInPlaceUIWindow* This,
590 IOleInPlaceActiveObject* pActiveObject,
591 LPCOLESTR pszObjName);
592 void __RPC_STUB IOleInPlaceUIWindow_SetActiveObject_Stub(
593 struct IRpcStubBuffer* This,
594 struct IRpcChannelBuffer* pRpcChannelBuffer,
595 PRPC_MESSAGE pRpcMessage,
596 DWORD* pdwStubPhase);
598 #endif /* __IOleInPlaceUIWindow_INTERFACE_DEFINED__ */
600 #ifndef __IOleInPlaceFrame_FWD_DEFINED__
601 #define __IOleInPlaceFrame_FWD_DEFINED__
602 typedef struct IOleInPlaceFrame IOleInPlaceFrame;
603 #endif
605 typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
607 typedef struct tagOleInPlaceFrameInfo {
608 UINT cb;
609 BOOL fMDIApp;
610 HWND hwndFrame;
611 HACCEL haccel;
612 UINT cAccelEntries;
613 } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
615 typedef struct tagOleMenuGroupWidths {
616 LONG width[6];
617 } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
619 typedef HGLOBAL HOLEMENU;
621 /*****************************************************************************
622 * IOleInPlaceFrame interface
624 #ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
625 #define __IOleInPlaceFrame_INTERFACE_DEFINED__
627 DEFINE_GUID(IID_IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
628 #if defined(__cplusplus) && !defined(CINTERFACE)
629 struct IOleInPlaceFrame : public IOleInPlaceUIWindow
631 virtual HRESULT STDMETHODCALLTYPE InsertMenus(
632 HMENU hmenuShared,
633 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
635 virtual HRESULT STDMETHODCALLTYPE SetMenu(
636 HMENU hmenuShared,
637 HOLEMENU holemenu,
638 HWND hwndActiveObject) = 0;
640 virtual HRESULT STDMETHODCALLTYPE RemoveMenus(
641 HMENU hmenuShared) = 0;
643 virtual HRESULT STDMETHODCALLTYPE SetStatusText(
644 LPCOLESTR pszStatusText) = 0;
646 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
647 BOOL fEnable) = 0;
649 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
650 LPMSG lpmsg,
651 WORD wID) = 0;
654 #else
655 typedef struct IOleInPlaceFrameVtbl IOleInPlaceFrameVtbl;
656 struct IOleInPlaceFrame {
657 const IOleInPlaceFrameVtbl* lpVtbl;
659 struct IOleInPlaceFrameVtbl {
660 ICOM_MSVTABLE_COMPAT_FIELDS
662 /*** IUnknown methods ***/
663 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
664 IOleInPlaceFrame* This,
665 REFIID riid,
666 void** ppvObject);
668 ULONG (STDMETHODCALLTYPE *AddRef)(
669 IOleInPlaceFrame* This);
671 ULONG (STDMETHODCALLTYPE *Release)(
672 IOleInPlaceFrame* This);
674 /*** IOleWindow methods ***/
675 HRESULT (STDMETHODCALLTYPE *GetWindow)(
676 IOleInPlaceFrame* This,
677 HWND* phwnd);
679 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
680 IOleInPlaceFrame* This,
681 BOOL fEnterMode);
683 /*** IOleInPlaceUIWindow methods ***/
684 HRESULT (STDMETHODCALLTYPE *GetBorder)(
685 IOleInPlaceFrame* This,
686 LPRECT lprectBorder);
688 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
689 IOleInPlaceFrame* This,
690 LPCBORDERWIDTHS pborderwidths);
692 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
693 IOleInPlaceFrame* This,
694 LPCBORDERWIDTHS pborderwidths);
696 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
697 IOleInPlaceFrame* This,
698 IOleInPlaceActiveObject* pActiveObject,
699 LPCOLESTR pszObjName);
701 /*** IOleInPlaceFrame methods ***/
702 HRESULT (STDMETHODCALLTYPE *InsertMenus)(
703 IOleInPlaceFrame* This,
704 HMENU hmenuShared,
705 LPOLEMENUGROUPWIDTHS lpMenuWidths);
707 HRESULT (STDMETHODCALLTYPE *SetMenu)(
708 IOleInPlaceFrame* This,
709 HMENU hmenuShared,
710 HOLEMENU holemenu,
711 HWND hwndActiveObject);
713 HRESULT (STDMETHODCALLTYPE *RemoveMenus)(
714 IOleInPlaceFrame* This,
715 HMENU hmenuShared);
717 HRESULT (STDMETHODCALLTYPE *SetStatusText)(
718 IOleInPlaceFrame* This,
719 LPCOLESTR pszStatusText);
721 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
722 IOleInPlaceFrame* This,
723 BOOL fEnable);
725 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
726 IOleInPlaceFrame* This,
727 LPMSG lpmsg,
728 WORD wID);
732 /*** IUnknown methods ***/
733 #define IOleInPlaceFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
734 #define IOleInPlaceFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
735 #define IOleInPlaceFrame_Release(p) (p)->lpVtbl->Release(p)
736 /*** IOleWindow methods ***/
737 #define IOleInPlaceFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
738 #define IOleInPlaceFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
739 /*** IOleInPlaceUIWindow methods ***/
740 #define IOleInPlaceFrame_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
741 #define IOleInPlaceFrame_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
742 #define IOleInPlaceFrame_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
743 #define IOleInPlaceFrame_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
744 /*** IOleInPlaceFrame methods ***/
745 #define IOleInPlaceFrame_InsertMenus(p,a,b) (p)->lpVtbl->InsertMenus(p,a,b)
746 #define IOleInPlaceFrame_SetMenu(p,a,b,c) (p)->lpVtbl->SetMenu(p,a,b,c)
747 #define IOleInPlaceFrame_RemoveMenus(p,a) (p)->lpVtbl->RemoveMenus(p,a)
748 #define IOleInPlaceFrame_SetStatusText(p,a) (p)->lpVtbl->SetStatusText(p,a)
749 #define IOleInPlaceFrame_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
750 #define IOleInPlaceFrame_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
752 #endif
754 #define IOleInPlaceFrame_METHODS \
755 ICOM_MSVTABLE_COMPAT_FIELDS \
756 /*** IUnknown methods ***/ \
757 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
758 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
759 STDMETHOD_(ULONG,Release)(THIS) PURE; \
760 /*** IOleWindow methods ***/ \
761 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
762 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
763 /*** IOleInPlaceUIWindow methods ***/ \
764 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
765 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
766 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
767 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE; \
768 /*** IOleInPlaceFrame methods ***/ \
769 STDMETHOD_(HRESULT,InsertMenus)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
770 STDMETHOD_(HRESULT,SetMenu)(THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
771 STDMETHOD_(HRESULT,RemoveMenus)(THIS_ HMENU hmenuShared) PURE; \
772 STDMETHOD_(HRESULT,SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
773 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
774 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg, WORD wID) PURE;
776 HRESULT CALLBACK IOleInPlaceFrame_InsertMenus_Proxy(
777 IOleInPlaceFrame* This,
778 HMENU hmenuShared,
779 LPOLEMENUGROUPWIDTHS lpMenuWidths);
780 void __RPC_STUB IOleInPlaceFrame_InsertMenus_Stub(
781 struct IRpcStubBuffer* This,
782 struct IRpcChannelBuffer* pRpcChannelBuffer,
783 PRPC_MESSAGE pRpcMessage,
784 DWORD* pdwStubPhase);
785 HRESULT CALLBACK IOleInPlaceFrame_SetMenu_Proxy(
786 IOleInPlaceFrame* This,
787 HMENU hmenuShared,
788 HOLEMENU holemenu,
789 HWND hwndActiveObject);
790 void __RPC_STUB IOleInPlaceFrame_SetMenu_Stub(
791 struct IRpcStubBuffer* This,
792 struct IRpcChannelBuffer* pRpcChannelBuffer,
793 PRPC_MESSAGE pRpcMessage,
794 DWORD* pdwStubPhase);
795 HRESULT CALLBACK IOleInPlaceFrame_RemoveMenus_Proxy(
796 IOleInPlaceFrame* This,
797 HMENU hmenuShared);
798 void __RPC_STUB IOleInPlaceFrame_RemoveMenus_Stub(
799 struct IRpcStubBuffer* This,
800 struct IRpcChannelBuffer* pRpcChannelBuffer,
801 PRPC_MESSAGE pRpcMessage,
802 DWORD* pdwStubPhase);
803 HRESULT CALLBACK IOleInPlaceFrame_SetStatusText_Proxy(
804 IOleInPlaceFrame* This,
805 LPCOLESTR pszStatusText);
806 void __RPC_STUB IOleInPlaceFrame_SetStatusText_Stub(
807 struct IRpcStubBuffer* This,
808 struct IRpcChannelBuffer* pRpcChannelBuffer,
809 PRPC_MESSAGE pRpcMessage,
810 DWORD* pdwStubPhase);
811 HRESULT CALLBACK IOleInPlaceFrame_EnableModeless_Proxy(
812 IOleInPlaceFrame* This,
813 BOOL fEnable);
814 void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(
815 struct IRpcStubBuffer* This,
816 struct IRpcChannelBuffer* pRpcChannelBuffer,
817 PRPC_MESSAGE pRpcMessage,
818 DWORD* pdwStubPhase);
819 HRESULT CALLBACK IOleInPlaceFrame_TranslateAccelerator_Proxy(
820 IOleInPlaceFrame* This,
821 LPMSG lpmsg,
822 WORD wID);
823 void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(
824 struct IRpcStubBuffer* This,
825 struct IRpcChannelBuffer* pRpcChannelBuffer,
826 PRPC_MESSAGE pRpcMessage,
827 DWORD* pdwStubPhase);
829 #endif /* __IOleInPlaceFrame_INTERFACE_DEFINED__ */
831 #ifndef __IOleInPlaceSite_FWD_DEFINED__
832 #define __IOleInPlaceSite_FWD_DEFINED__
833 typedef struct IOleInPlaceSite IOleInPlaceSite;
834 #endif
836 typedef IOleInPlaceSite *LPOLEINPLACESITE;
838 /*****************************************************************************
839 * IOleInPlaceSite interface
841 #ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
842 #define __IOleInPlaceSite_INTERFACE_DEFINED__
844 DEFINE_GUID(IID_IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
845 #if defined(__cplusplus) && !defined(CINTERFACE)
846 struct IOleInPlaceSite : public IOleWindow
848 virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate(
849 ) = 0;
851 virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate(
852 ) = 0;
854 virtual HRESULT STDMETHODCALLTYPE OnUIActivate(
855 ) = 0;
857 virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
858 IOleInPlaceFrame** ppFrame,
859 IOleInPlaceUIWindow** ppDoc,
860 LPRECT lprcPosRect,
861 LPRECT lprcClipRect,
862 LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
864 virtual HRESULT STDMETHODCALLTYPE Scroll(
865 SIZE scrollExtant) = 0;
867 virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(
868 BOOL fUndoable) = 0;
870 virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(
871 ) = 0;
873 virtual HRESULT STDMETHODCALLTYPE DiscardUndoState(
874 ) = 0;
876 virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo(
877 ) = 0;
879 virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(
880 LPCRECT lprcPosRect) = 0;
883 #else
884 typedef struct IOleInPlaceSiteVtbl IOleInPlaceSiteVtbl;
885 struct IOleInPlaceSite {
886 const IOleInPlaceSiteVtbl* lpVtbl;
888 struct IOleInPlaceSiteVtbl {
889 ICOM_MSVTABLE_COMPAT_FIELDS
891 /*** IUnknown methods ***/
892 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
893 IOleInPlaceSite* This,
894 REFIID riid,
895 void** ppvObject);
897 ULONG (STDMETHODCALLTYPE *AddRef)(
898 IOleInPlaceSite* This);
900 ULONG (STDMETHODCALLTYPE *Release)(
901 IOleInPlaceSite* This);
903 /*** IOleWindow methods ***/
904 HRESULT (STDMETHODCALLTYPE *GetWindow)(
905 IOleInPlaceSite* This,
906 HWND* phwnd);
908 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
909 IOleInPlaceSite* This,
910 BOOL fEnterMode);
912 /*** IOleInPlaceSite methods ***/
913 HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
914 IOleInPlaceSite* This);
916 HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
917 IOleInPlaceSite* This);
919 HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
920 IOleInPlaceSite* This);
922 HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
923 IOleInPlaceSite* This,
924 IOleInPlaceFrame** ppFrame,
925 IOleInPlaceUIWindow** ppDoc,
926 LPRECT lprcPosRect,
927 LPRECT lprcClipRect,
928 LPOLEINPLACEFRAMEINFO lpFrameInfo);
930 HRESULT (STDMETHODCALLTYPE *Scroll)(
931 IOleInPlaceSite* This,
932 SIZE scrollExtant);
934 HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
935 IOleInPlaceSite* This,
936 BOOL fUndoable);
938 HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
939 IOleInPlaceSite* This);
941 HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
942 IOleInPlaceSite* This);
944 HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
945 IOleInPlaceSite* This);
947 HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
948 IOleInPlaceSite* This,
949 LPCRECT lprcPosRect);
953 /*** IUnknown methods ***/
954 #define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
955 #define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
956 #define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
957 /*** IOleWindow methods ***/
958 #define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
959 #define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
960 /*** IOleInPlaceSite methods ***/
961 #define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
962 #define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
963 #define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
964 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
965 #define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
966 #define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
967 #define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
968 #define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
969 #define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
970 #define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
972 #endif
974 #define IOleInPlaceSite_METHODS \
975 ICOM_MSVTABLE_COMPAT_FIELDS \
976 /*** IUnknown methods ***/ \
977 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
978 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
979 STDMETHOD_(ULONG,Release)(THIS) PURE; \
980 /*** IOleWindow methods ***/ \
981 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
982 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
983 /*** IOleInPlaceSite methods ***/ \
984 STDMETHOD_(HRESULT,CanInPlaceActivate)(THIS) PURE; \
985 STDMETHOD_(HRESULT,OnInPlaceActivate)(THIS) PURE; \
986 STDMETHOD_(HRESULT,OnUIActivate)(THIS) PURE; \
987 STDMETHOD_(HRESULT,GetWindowContext)(THIS_ IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
988 STDMETHOD_(HRESULT,Scroll)(THIS_ SIZE scrollExtant) PURE; \
989 STDMETHOD_(HRESULT,OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
990 STDMETHOD_(HRESULT,OnInPlaceDeactivate)(THIS) PURE; \
991 STDMETHOD_(HRESULT,DiscardUndoState)(THIS) PURE; \
992 STDMETHOD_(HRESULT,DeactivateAndUndo)(THIS) PURE; \
993 STDMETHOD_(HRESULT,OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
995 HRESULT CALLBACK IOleInPlaceSite_CanInPlaceActivate_Proxy(
996 IOleInPlaceSite* This);
997 void __RPC_STUB IOleInPlaceSite_CanInPlaceActivate_Stub(
998 struct IRpcStubBuffer* This,
999 struct IRpcChannelBuffer* pRpcChannelBuffer,
1000 PRPC_MESSAGE pRpcMessage,
1001 DWORD* pdwStubPhase);
1002 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceActivate_Proxy(
1003 IOleInPlaceSite* This);
1004 void __RPC_STUB IOleInPlaceSite_OnInPlaceActivate_Stub(
1005 struct IRpcStubBuffer* This,
1006 struct IRpcChannelBuffer* pRpcChannelBuffer,
1007 PRPC_MESSAGE pRpcMessage,
1008 DWORD* pdwStubPhase);
1009 HRESULT CALLBACK IOleInPlaceSite_OnUIActivate_Proxy(
1010 IOleInPlaceSite* This);
1011 void __RPC_STUB IOleInPlaceSite_OnUIActivate_Stub(
1012 struct IRpcStubBuffer* This,
1013 struct IRpcChannelBuffer* pRpcChannelBuffer,
1014 PRPC_MESSAGE pRpcMessage,
1015 DWORD* pdwStubPhase);
1016 HRESULT CALLBACK IOleInPlaceSite_GetWindowContext_Proxy(
1017 IOleInPlaceSite* This,
1018 IOleInPlaceFrame** ppFrame,
1019 IOleInPlaceUIWindow** ppDoc,
1020 LPRECT lprcPosRect,
1021 LPRECT lprcClipRect,
1022 LPOLEINPLACEFRAMEINFO lpFrameInfo);
1023 void __RPC_STUB IOleInPlaceSite_GetWindowContext_Stub(
1024 struct IRpcStubBuffer* This,
1025 struct IRpcChannelBuffer* pRpcChannelBuffer,
1026 PRPC_MESSAGE pRpcMessage,
1027 DWORD* pdwStubPhase);
1028 HRESULT CALLBACK IOleInPlaceSite_Scroll_Proxy(
1029 IOleInPlaceSite* This,
1030 SIZE scrollExtant);
1031 void __RPC_STUB IOleInPlaceSite_Scroll_Stub(
1032 struct IRpcStubBuffer* This,
1033 struct IRpcChannelBuffer* pRpcChannelBuffer,
1034 PRPC_MESSAGE pRpcMessage,
1035 DWORD* pdwStubPhase);
1036 HRESULT CALLBACK IOleInPlaceSite_OnUIDeactivate_Proxy(
1037 IOleInPlaceSite* This,
1038 BOOL fUndoable);
1039 void __RPC_STUB IOleInPlaceSite_OnUIDeactivate_Stub(
1040 struct IRpcStubBuffer* This,
1041 struct IRpcChannelBuffer* pRpcChannelBuffer,
1042 PRPC_MESSAGE pRpcMessage,
1043 DWORD* pdwStubPhase);
1044 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceDeactivate_Proxy(
1045 IOleInPlaceSite* This);
1046 void __RPC_STUB IOleInPlaceSite_OnInPlaceDeactivate_Stub(
1047 struct IRpcStubBuffer* This,
1048 struct IRpcChannelBuffer* pRpcChannelBuffer,
1049 PRPC_MESSAGE pRpcMessage,
1050 DWORD* pdwStubPhase);
1051 HRESULT CALLBACK IOleInPlaceSite_DiscardUndoState_Proxy(
1052 IOleInPlaceSite* This);
1053 void __RPC_STUB IOleInPlaceSite_DiscardUndoState_Stub(
1054 struct IRpcStubBuffer* This,
1055 struct IRpcChannelBuffer* pRpcChannelBuffer,
1056 PRPC_MESSAGE pRpcMessage,
1057 DWORD* pdwStubPhase);
1058 HRESULT CALLBACK IOleInPlaceSite_DeactivateAndUndo_Proxy(
1059 IOleInPlaceSite* This);
1060 void __RPC_STUB IOleInPlaceSite_DeactivateAndUndo_Stub(
1061 struct IRpcStubBuffer* This,
1062 struct IRpcChannelBuffer* pRpcChannelBuffer,
1063 PRPC_MESSAGE pRpcMessage,
1064 DWORD* pdwStubPhase);
1065 HRESULT CALLBACK IOleInPlaceSite_OnPosRectChange_Proxy(
1066 IOleInPlaceSite* This,
1067 LPCRECT lprcPosRect);
1068 void __RPC_STUB IOleInPlaceSite_OnPosRectChange_Stub(
1069 struct IRpcStubBuffer* This,
1070 struct IRpcChannelBuffer* pRpcChannelBuffer,
1071 PRPC_MESSAGE pRpcMessage,
1072 DWORD* pdwStubPhase);
1074 #endif /* __IOleInPlaceSite_INTERFACE_DEFINED__ */
1076 #ifndef __IParseDisplayName_FWD_DEFINED__
1077 #define __IParseDisplayName_FWD_DEFINED__
1078 typedef struct IParseDisplayName IParseDisplayName;
1079 #endif
1081 typedef IParseDisplayName *LPPARSEDISPLAYNAME;
1083 /*****************************************************************************
1084 * IParseDisplayName interface
1086 #ifndef __IParseDisplayName_INTERFACE_DEFINED__
1087 #define __IParseDisplayName_INTERFACE_DEFINED__
1089 DEFINE_GUID(IID_IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1090 #if defined(__cplusplus) && !defined(CINTERFACE)
1091 struct IParseDisplayName : public IUnknown
1093 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
1094 IBindCtx* pbc,
1095 LPOLESTR pszDisplayName,
1096 ULONG* pchEaten,
1097 IMoniker** ppmkOut) = 0;
1100 #else
1101 typedef struct IParseDisplayNameVtbl IParseDisplayNameVtbl;
1102 struct IParseDisplayName {
1103 const IParseDisplayNameVtbl* lpVtbl;
1105 struct IParseDisplayNameVtbl {
1106 ICOM_MSVTABLE_COMPAT_FIELDS
1108 /*** IUnknown methods ***/
1109 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1110 IParseDisplayName* This,
1111 REFIID riid,
1112 void** ppvObject);
1114 ULONG (STDMETHODCALLTYPE *AddRef)(
1115 IParseDisplayName* This);
1117 ULONG (STDMETHODCALLTYPE *Release)(
1118 IParseDisplayName* This);
1120 /*** IParseDisplayName methods ***/
1121 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1122 IParseDisplayName* This,
1123 IBindCtx* pbc,
1124 LPOLESTR pszDisplayName,
1125 ULONG* pchEaten,
1126 IMoniker** ppmkOut);
1130 /*** IUnknown methods ***/
1131 #define IParseDisplayName_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1132 #define IParseDisplayName_AddRef(p) (p)->lpVtbl->AddRef(p)
1133 #define IParseDisplayName_Release(p) (p)->lpVtbl->Release(p)
1134 /*** IParseDisplayName methods ***/
1135 #define IParseDisplayName_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1137 #endif
1139 #define IParseDisplayName_METHODS \
1140 ICOM_MSVTABLE_COMPAT_FIELDS \
1141 /*** IUnknown methods ***/ \
1142 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1143 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1144 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1145 /*** IParseDisplayName methods ***/ \
1146 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE;
1148 HRESULT CALLBACK IParseDisplayName_ParseDisplayName_Proxy(
1149 IParseDisplayName* This,
1150 IBindCtx* pbc,
1151 LPOLESTR pszDisplayName,
1152 ULONG* pchEaten,
1153 IMoniker** ppmkOut);
1154 void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(
1155 struct IRpcStubBuffer* This,
1156 struct IRpcChannelBuffer* pRpcChannelBuffer,
1157 PRPC_MESSAGE pRpcMessage,
1158 DWORD* pdwStubPhase);
1160 #endif /* __IParseDisplayName_INTERFACE_DEFINED__ */
1162 #ifndef __IOleContainer_FWD_DEFINED__
1163 #define __IOleContainer_FWD_DEFINED__
1164 typedef struct IOleContainer IOleContainer;
1165 #endif
1167 typedef IOleContainer *LPOLECONTAINER;
1169 /*****************************************************************************
1170 * IOleContainer interface
1172 #ifndef __IOleContainer_INTERFACE_DEFINED__
1173 #define __IOleContainer_INTERFACE_DEFINED__
1175 DEFINE_GUID(IID_IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1176 #if defined(__cplusplus) && !defined(CINTERFACE)
1177 struct IOleContainer : public IParseDisplayName
1179 virtual HRESULT STDMETHODCALLTYPE EnumObjects(
1180 DWORD grfFlags,
1181 IEnumUnknown** ppenum) = 0;
1183 virtual HRESULT STDMETHODCALLTYPE LockContainer(
1184 BOOL fLock) = 0;
1187 #else
1188 typedef struct IOleContainerVtbl IOleContainerVtbl;
1189 struct IOleContainer {
1190 const IOleContainerVtbl* lpVtbl;
1192 struct IOleContainerVtbl {
1193 ICOM_MSVTABLE_COMPAT_FIELDS
1195 /*** IUnknown methods ***/
1196 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1197 IOleContainer* This,
1198 REFIID riid,
1199 void** ppvObject);
1201 ULONG (STDMETHODCALLTYPE *AddRef)(
1202 IOleContainer* This);
1204 ULONG (STDMETHODCALLTYPE *Release)(
1205 IOleContainer* This);
1207 /*** IParseDisplayName methods ***/
1208 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1209 IOleContainer* This,
1210 IBindCtx* pbc,
1211 LPOLESTR pszDisplayName,
1212 ULONG* pchEaten,
1213 IMoniker** ppmkOut);
1215 /*** IOleContainer methods ***/
1216 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1217 IOleContainer* This,
1218 DWORD grfFlags,
1219 IEnumUnknown** ppenum);
1221 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1222 IOleContainer* This,
1223 BOOL fLock);
1227 /*** IUnknown methods ***/
1228 #define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1229 #define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1230 #define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
1231 /*** IParseDisplayName methods ***/
1232 #define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1233 /*** IOleContainer methods ***/
1234 #define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1235 #define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1237 #endif
1239 #define IOleContainer_METHODS \
1240 ICOM_MSVTABLE_COMPAT_FIELDS \
1241 /*** IUnknown methods ***/ \
1242 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1243 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1244 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1245 /*** IParseDisplayName methods ***/ \
1246 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1247 /*** IOleContainer methods ***/ \
1248 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1249 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE;
1251 HRESULT CALLBACK IOleContainer_EnumObjects_Proxy(
1252 IOleContainer* This,
1253 DWORD grfFlags,
1254 IEnumUnknown** ppenum);
1255 void __RPC_STUB IOleContainer_EnumObjects_Stub(
1256 struct IRpcStubBuffer* This,
1257 struct IRpcChannelBuffer* pRpcChannelBuffer,
1258 PRPC_MESSAGE pRpcMessage,
1259 DWORD* pdwStubPhase);
1260 HRESULT CALLBACK IOleContainer_LockContainer_Proxy(
1261 IOleContainer* This,
1262 BOOL fLock);
1263 void __RPC_STUB IOleContainer_LockContainer_Stub(
1264 struct IRpcStubBuffer* This,
1265 struct IRpcChannelBuffer* pRpcChannelBuffer,
1266 PRPC_MESSAGE pRpcMessage,
1267 DWORD* pdwStubPhase);
1269 #endif /* __IOleContainer_INTERFACE_DEFINED__ */
1271 #ifndef __IOleItemContainer_FWD_DEFINED__
1272 #define __IOleItemContainer_FWD_DEFINED__
1273 typedef struct IOleItemContainer IOleItemContainer;
1274 #endif
1276 typedef IOleItemContainer *LPOLEITEMCONTAINER;
1278 typedef enum tagBINDSPEED {
1279 BINDSPEED_INDEFINITE = 1,
1280 BINDSPEED_MODERATE = 2,
1281 BINDSPEED_IMMEDIATE = 3
1282 } BINDSPEED;
1284 typedef enum tagOLECONTF {
1285 OLECONTF_EMBEDDINGS = 1,
1286 OLECONTF_LINKS = 2,
1287 OLECONTF_OTHERS = 4,
1288 OLECONTF_OLNYUSER = 8,
1289 OLECONTF_ONLYIFRUNNING = 16
1290 } OLECONTF;
1292 #ifdef __WINESRC__
1293 #undef GetObject
1294 #endif
1295 /*****************************************************************************
1296 * IOleItemContainer interface
1298 #ifndef __IOleItemContainer_INTERFACE_DEFINED__
1299 #define __IOleItemContainer_INTERFACE_DEFINED__
1301 DEFINE_GUID(IID_IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1302 #if defined(__cplusplus) && !defined(CINTERFACE)
1303 struct IOleItemContainer : public IOleContainer
1305 virtual HRESULT STDMETHODCALLTYPE GetObject(
1306 LPOLESTR pszItem,
1307 DWORD dwSpeedNeeded,
1308 IBindCtx* pbc,
1309 REFIID riid,
1310 void** ppvObject) = 0;
1312 virtual HRESULT STDMETHODCALLTYPE GetObjectStorage(
1313 LPOLESTR pszItem,
1314 IBindCtx* pbc,
1315 REFIID riid,
1316 void** ppvStorage) = 0;
1318 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1319 LPOLESTR pszItem) = 0;
1322 #else
1323 typedef struct IOleItemContainerVtbl IOleItemContainerVtbl;
1324 struct IOleItemContainer {
1325 const IOleItemContainerVtbl* lpVtbl;
1327 struct IOleItemContainerVtbl {
1328 ICOM_MSVTABLE_COMPAT_FIELDS
1330 /*** IUnknown methods ***/
1331 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1332 IOleItemContainer* This,
1333 REFIID riid,
1334 void** ppvObject);
1336 ULONG (STDMETHODCALLTYPE *AddRef)(
1337 IOleItemContainer* This);
1339 ULONG (STDMETHODCALLTYPE *Release)(
1340 IOleItemContainer* This);
1342 /*** IParseDisplayName methods ***/
1343 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1344 IOleItemContainer* This,
1345 IBindCtx* pbc,
1346 LPOLESTR pszDisplayName,
1347 ULONG* pchEaten,
1348 IMoniker** ppmkOut);
1350 /*** IOleContainer methods ***/
1351 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1352 IOleItemContainer* This,
1353 DWORD grfFlags,
1354 IEnumUnknown** ppenum);
1356 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1357 IOleItemContainer* This,
1358 BOOL fLock);
1360 /*** IOleItemContainer methods ***/
1361 HRESULT (STDMETHODCALLTYPE *GetObject)(
1362 IOleItemContainer* This,
1363 LPOLESTR pszItem,
1364 DWORD dwSpeedNeeded,
1365 IBindCtx* pbc,
1366 REFIID riid,
1367 void** ppvObject);
1369 HRESULT (STDMETHODCALLTYPE *GetObjectStorage)(
1370 IOleItemContainer* This,
1371 LPOLESTR pszItem,
1372 IBindCtx* pbc,
1373 REFIID riid,
1374 void** ppvStorage);
1376 HRESULT (STDMETHODCALLTYPE *IsRunning)(
1377 IOleItemContainer* This,
1378 LPOLESTR pszItem);
1382 /*** IUnknown methods ***/
1383 #define IOleItemContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1384 #define IOleItemContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1385 #define IOleItemContainer_Release(p) (p)->lpVtbl->Release(p)
1386 /*** IParseDisplayName methods ***/
1387 #define IOleItemContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1388 /*** IOleContainer methods ***/
1389 #define IOleItemContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1390 #define IOleItemContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1391 /*** IOleItemContainer methods ***/
1392 #define IOleItemContainer_GetObject(p,a,b,c,d,e) (p)->lpVtbl->GetObject(p,a,b,c,d,e)
1393 #define IOleItemContainer_GetObjectStorage(p,a,b,c,d) (p)->lpVtbl->GetObjectStorage(p,a,b,c,d)
1394 #define IOleItemContainer_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1396 #endif
1398 #define IOleItemContainer_METHODS \
1399 ICOM_MSVTABLE_COMPAT_FIELDS \
1400 /*** IUnknown methods ***/ \
1401 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1402 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1403 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1404 /*** IParseDisplayName methods ***/ \
1405 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1406 /*** IOleContainer methods ***/ \
1407 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1408 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE; \
1409 /*** IOleItemContainer methods ***/ \
1410 STDMETHOD_(HRESULT,GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx* pbc, REFIID riid, void** ppvObject) PURE; \
1411 STDMETHOD_(HRESULT,GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx* pbc, REFIID riid, void** ppvStorage) PURE; \
1412 STDMETHOD_(HRESULT,IsRunning)(THIS_ LPOLESTR pszItem) PURE;
1414 HRESULT CALLBACK IOleItemContainer_GetObject_Proxy(
1415 IOleItemContainer* This,
1416 LPOLESTR pszItem,
1417 DWORD dwSpeedNeeded,
1418 IBindCtx* pbc,
1419 REFIID riid,
1420 void** ppvObject);
1421 void __RPC_STUB IOleItemContainer_GetObject_Stub(
1422 struct IRpcStubBuffer* This,
1423 struct IRpcChannelBuffer* pRpcChannelBuffer,
1424 PRPC_MESSAGE pRpcMessage,
1425 DWORD* pdwStubPhase);
1426 HRESULT CALLBACK IOleItemContainer_GetObjectStorage_Proxy(
1427 IOleItemContainer* This,
1428 LPOLESTR pszItem,
1429 IBindCtx* pbc,
1430 REFIID riid,
1431 void** ppvStorage);
1432 void __RPC_STUB IOleItemContainer_GetObjectStorage_Stub(
1433 struct IRpcStubBuffer* This,
1434 struct IRpcChannelBuffer* pRpcChannelBuffer,
1435 PRPC_MESSAGE pRpcMessage,
1436 DWORD* pdwStubPhase);
1437 HRESULT CALLBACK IOleItemContainer_IsRunning_Proxy(
1438 IOleItemContainer* This,
1439 LPOLESTR pszItem);
1440 void __RPC_STUB IOleItemContainer_IsRunning_Stub(
1441 struct IRpcStubBuffer* This,
1442 struct IRpcChannelBuffer* pRpcChannelBuffer,
1443 PRPC_MESSAGE pRpcMessage,
1444 DWORD* pdwStubPhase);
1446 #endif /* __IOleItemContainer_INTERFACE_DEFINED__ */
1448 #ifndef __IOleLink_FWD_DEFINED__
1449 #define __IOleLink_FWD_DEFINED__
1450 typedef struct IOleLink IOleLink;
1451 #endif
1453 typedef IOleLink *LPOLELINK;
1455 typedef enum tagOLEUPDATE {
1456 OLEUPDATE_ALWAYS = 1,
1457 OLEUPDATE_ONCALL = 3
1458 } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE;
1460 typedef enum tagOLELINKBIND {
1461 OLELINKBIND_EVENIFCLASSDIFF = 1
1462 } OLELINKBIND;
1464 /*****************************************************************************
1465 * IOleLink interface
1467 #ifndef __IOleLink_INTERFACE_DEFINED__
1468 #define __IOleLink_INTERFACE_DEFINED__
1470 DEFINE_GUID(IID_IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1471 #if defined(__cplusplus) && !defined(CINTERFACE)
1472 struct IOleLink : public IUnknown
1474 virtual HRESULT STDMETHODCALLTYPE SetUpdateOptions(
1475 DWORD dwUpdateOpt) = 0;
1477 virtual HRESULT STDMETHODCALLTYPE GetUpdateOptions(
1478 DWORD* pdwUpdateOpt) = 0;
1480 virtual HRESULT STDMETHODCALLTYPE SetSourceMoniker(
1481 IMoniker* pmk,
1482 REFCLSID rclsid) = 0;
1484 virtual HRESULT STDMETHODCALLTYPE GetSourceMoniker(
1485 IMoniker** ppmk) = 0;
1487 virtual HRESULT STDMETHODCALLTYPE SetSourceDisplayName(
1488 LPCOLESTR pszStatusText) = 0;
1490 virtual HRESULT STDMETHODCALLTYPE GetSourceDisplayName(
1491 LPOLESTR* ppszDisplayName) = 0;
1493 virtual HRESULT STDMETHODCALLTYPE BindToSource(
1494 DWORD bindflags,
1495 IBindCtx* pbc) = 0;
1497 virtual HRESULT STDMETHODCALLTYPE BindIfRunning(
1498 ) = 0;
1500 virtual HRESULT STDMETHODCALLTYPE GetBoundSource(
1501 IUnknown** ppunk) = 0;
1503 virtual HRESULT STDMETHODCALLTYPE UnbindSource(
1504 ) = 0;
1506 virtual HRESULT STDMETHODCALLTYPE Update(
1507 IBindCtx* pbc) = 0;
1510 #else
1511 typedef struct IOleLinkVtbl IOleLinkVtbl;
1512 struct IOleLink {
1513 const IOleLinkVtbl* lpVtbl;
1515 struct IOleLinkVtbl {
1516 ICOM_MSVTABLE_COMPAT_FIELDS
1518 /*** IUnknown methods ***/
1519 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1520 IOleLink* This,
1521 REFIID riid,
1522 void** ppvObject);
1524 ULONG (STDMETHODCALLTYPE *AddRef)(
1525 IOleLink* This);
1527 ULONG (STDMETHODCALLTYPE *Release)(
1528 IOleLink* This);
1530 /*** IOleLink methods ***/
1531 HRESULT (STDMETHODCALLTYPE *SetUpdateOptions)(
1532 IOleLink* This,
1533 DWORD dwUpdateOpt);
1535 HRESULT (STDMETHODCALLTYPE *GetUpdateOptions)(
1536 IOleLink* This,
1537 DWORD* pdwUpdateOpt);
1539 HRESULT (STDMETHODCALLTYPE *SetSourceMoniker)(
1540 IOleLink* This,
1541 IMoniker* pmk,
1542 REFCLSID rclsid);
1544 HRESULT (STDMETHODCALLTYPE *GetSourceMoniker)(
1545 IOleLink* This,
1546 IMoniker** ppmk);
1548 HRESULT (STDMETHODCALLTYPE *SetSourceDisplayName)(
1549 IOleLink* This,
1550 LPCOLESTR pszStatusText);
1552 HRESULT (STDMETHODCALLTYPE *GetSourceDisplayName)(
1553 IOleLink* This,
1554 LPOLESTR* ppszDisplayName);
1556 HRESULT (STDMETHODCALLTYPE *BindToSource)(
1557 IOleLink* This,
1558 DWORD bindflags,
1559 IBindCtx* pbc);
1561 HRESULT (STDMETHODCALLTYPE *BindIfRunning)(
1562 IOleLink* This);
1564 HRESULT (STDMETHODCALLTYPE *GetBoundSource)(
1565 IOleLink* This,
1566 IUnknown** ppunk);
1568 HRESULT (STDMETHODCALLTYPE *UnbindSource)(
1569 IOleLink* This);
1571 HRESULT (STDMETHODCALLTYPE *Update)(
1572 IOleLink* This,
1573 IBindCtx* pbc);
1577 /*** IUnknown methods ***/
1578 #define IOleLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1579 #define IOleLink_AddRef(p) (p)->lpVtbl->AddRef(p)
1580 #define IOleLink_Release(p) (p)->lpVtbl->Release(p)
1581 /*** IOleLink methods ***/
1582 #define IOleLink_SetUpdateOptions(p,a) (p)->lpVtbl->SetUpdateOptions(p,a)
1583 #define IOleLink_GetUpdateOptions(p,a) (p)->lpVtbl->GetUpdateOptions(p,a)
1584 #define IOleLink_SetSourceMoniker(p,a,b) (p)->lpVtbl->SetSourceMoniker(p,a,b)
1585 #define IOleLink_GetSourceMoniker(p,a) (p)->lpVtbl->GetSourceMoniker(p,a)
1586 #define IOleLink_SetSourceDisplayName(p,a) (p)->lpVtbl->SetSourceDisplayName(p,a)
1587 #define IOleLink_GetSourceDisplayName(p,a) (p)->lpVtbl->GetSourceDisplayName(p,a)
1588 #define IOleLink_BindToSource(p,a,b) (p)->lpVtbl->BindToSource(p,a,b)
1589 #define IOleLink_BindIfRunning(p) (p)->lpVtbl->BindIfRunning(p)
1590 #define IOleLink_GetBoundSource(p,a) (p)->lpVtbl->GetBoundSource(p,a)
1591 #define IOleLink_UnbindSource(p) (p)->lpVtbl->UnbindSource(p)
1592 #define IOleLink_Update(p,a) (p)->lpVtbl->Update(p,a)
1594 #endif
1596 #define IOleLink_METHODS \
1597 ICOM_MSVTABLE_COMPAT_FIELDS \
1598 /*** IUnknown methods ***/ \
1599 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1600 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1601 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1602 /*** IOleLink methods ***/ \
1603 STDMETHOD_(HRESULT,SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
1604 STDMETHOD_(HRESULT,GetUpdateOptions)(THIS_ DWORD* pdwUpdateOpt) PURE; \
1605 STDMETHOD_(HRESULT,SetSourceMoniker)(THIS_ IMoniker* pmk, REFCLSID rclsid) PURE; \
1606 STDMETHOD_(HRESULT,GetSourceMoniker)(THIS_ IMoniker** ppmk) PURE; \
1607 STDMETHOD_(HRESULT,SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
1608 STDMETHOD_(HRESULT,GetSourceDisplayName)(THIS_ LPOLESTR* ppszDisplayName) PURE; \
1609 STDMETHOD_(HRESULT,BindToSource)(THIS_ DWORD bindflags, IBindCtx* pbc) PURE; \
1610 STDMETHOD_(HRESULT,BindIfRunning)(THIS) PURE; \
1611 STDMETHOD_(HRESULT,GetBoundSource)(THIS_ IUnknown** ppunk) PURE; \
1612 STDMETHOD_(HRESULT,UnbindSource)(THIS) PURE; \
1613 STDMETHOD_(HRESULT,Update)(THIS_ IBindCtx* pbc) PURE;
1615 HRESULT CALLBACK IOleLink_SetUpdateOptions_Proxy(
1616 IOleLink* This,
1617 DWORD dwUpdateOpt);
1618 void __RPC_STUB IOleLink_SetUpdateOptions_Stub(
1619 struct IRpcStubBuffer* This,
1620 struct IRpcChannelBuffer* pRpcChannelBuffer,
1621 PRPC_MESSAGE pRpcMessage,
1622 DWORD* pdwStubPhase);
1623 HRESULT CALLBACK IOleLink_GetUpdateOptions_Proxy(
1624 IOleLink* This,
1625 DWORD* pdwUpdateOpt);
1626 void __RPC_STUB IOleLink_GetUpdateOptions_Stub(
1627 struct IRpcStubBuffer* This,
1628 struct IRpcChannelBuffer* pRpcChannelBuffer,
1629 PRPC_MESSAGE pRpcMessage,
1630 DWORD* pdwStubPhase);
1631 HRESULT CALLBACK IOleLink_SetSourceMoniker_Proxy(
1632 IOleLink* This,
1633 IMoniker* pmk,
1634 REFCLSID rclsid);
1635 void __RPC_STUB IOleLink_SetSourceMoniker_Stub(
1636 struct IRpcStubBuffer* This,
1637 struct IRpcChannelBuffer* pRpcChannelBuffer,
1638 PRPC_MESSAGE pRpcMessage,
1639 DWORD* pdwStubPhase);
1640 HRESULT CALLBACK IOleLink_GetSourceMoniker_Proxy(
1641 IOleLink* This,
1642 IMoniker** ppmk);
1643 void __RPC_STUB IOleLink_GetSourceMoniker_Stub(
1644 struct IRpcStubBuffer* This,
1645 struct IRpcChannelBuffer* pRpcChannelBuffer,
1646 PRPC_MESSAGE pRpcMessage,
1647 DWORD* pdwStubPhase);
1648 HRESULT CALLBACK IOleLink_SetSourceDisplayName_Proxy(
1649 IOleLink* This,
1650 LPCOLESTR pszStatusText);
1651 void __RPC_STUB IOleLink_SetSourceDisplayName_Stub(
1652 struct IRpcStubBuffer* This,
1653 struct IRpcChannelBuffer* pRpcChannelBuffer,
1654 PRPC_MESSAGE pRpcMessage,
1655 DWORD* pdwStubPhase);
1656 HRESULT CALLBACK IOleLink_GetSourceDisplayName_Proxy(
1657 IOleLink* This,
1658 LPOLESTR* ppszDisplayName);
1659 void __RPC_STUB IOleLink_GetSourceDisplayName_Stub(
1660 struct IRpcStubBuffer* This,
1661 struct IRpcChannelBuffer* pRpcChannelBuffer,
1662 PRPC_MESSAGE pRpcMessage,
1663 DWORD* pdwStubPhase);
1664 HRESULT CALLBACK IOleLink_BindToSource_Proxy(
1665 IOleLink* This,
1666 DWORD bindflags,
1667 IBindCtx* pbc);
1668 void __RPC_STUB IOleLink_BindToSource_Stub(
1669 struct IRpcStubBuffer* This,
1670 struct IRpcChannelBuffer* pRpcChannelBuffer,
1671 PRPC_MESSAGE pRpcMessage,
1672 DWORD* pdwStubPhase);
1673 HRESULT CALLBACK IOleLink_BindIfRunning_Proxy(
1674 IOleLink* This);
1675 void __RPC_STUB IOleLink_BindIfRunning_Stub(
1676 struct IRpcStubBuffer* This,
1677 struct IRpcChannelBuffer* pRpcChannelBuffer,
1678 PRPC_MESSAGE pRpcMessage,
1679 DWORD* pdwStubPhase);
1680 HRESULT CALLBACK IOleLink_GetBoundSource_Proxy(
1681 IOleLink* This,
1682 IUnknown** ppunk);
1683 void __RPC_STUB IOleLink_GetBoundSource_Stub(
1684 struct IRpcStubBuffer* This,
1685 struct IRpcChannelBuffer* pRpcChannelBuffer,
1686 PRPC_MESSAGE pRpcMessage,
1687 DWORD* pdwStubPhase);
1688 HRESULT CALLBACK IOleLink_UnbindSource_Proxy(
1689 IOleLink* This);
1690 void __RPC_STUB IOleLink_UnbindSource_Stub(
1691 struct IRpcStubBuffer* This,
1692 struct IRpcChannelBuffer* pRpcChannelBuffer,
1693 PRPC_MESSAGE pRpcMessage,
1694 DWORD* pdwStubPhase);
1695 HRESULT CALLBACK IOleLink_Update_Proxy(
1696 IOleLink* This,
1697 IBindCtx* pbc);
1698 void __RPC_STUB IOleLink_Update_Stub(
1699 struct IRpcStubBuffer* This,
1700 struct IRpcChannelBuffer* pRpcChannelBuffer,
1701 PRPC_MESSAGE pRpcMessage,
1702 DWORD* pdwStubPhase);
1704 #endif /* __IOleLink_INTERFACE_DEFINED__ */
1706 #ifndef __IOleClientSite_FWD_DEFINED__
1707 #define __IOleClientSite_FWD_DEFINED__
1708 typedef struct IOleClientSite IOleClientSite;
1709 #endif
1711 typedef IOleClientSite *LPOLECLIENTSITE;
1713 /*****************************************************************************
1714 * IOleClientSite interface
1716 #ifndef __IOleClientSite_INTERFACE_DEFINED__
1717 #define __IOleClientSite_INTERFACE_DEFINED__
1719 DEFINE_GUID(IID_IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1720 #if defined(__cplusplus) && !defined(CINTERFACE)
1721 struct IOleClientSite : public IUnknown
1723 virtual HRESULT STDMETHODCALLTYPE SaveObject(
1724 ) = 0;
1726 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
1727 DWORD dwAssign,
1728 DWORD dwWhichMoniker,
1729 IMoniker** ppmk) = 0;
1731 virtual HRESULT STDMETHODCALLTYPE GetContainer(
1732 IOleContainer** ppContainer) = 0;
1734 virtual HRESULT STDMETHODCALLTYPE ShowObject(
1735 ) = 0;
1737 virtual HRESULT STDMETHODCALLTYPE OnShowWindow(
1738 BOOL fShow) = 0;
1740 virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(
1741 ) = 0;
1744 #else
1745 typedef struct IOleClientSiteVtbl IOleClientSiteVtbl;
1746 struct IOleClientSite {
1747 const IOleClientSiteVtbl* lpVtbl;
1749 struct IOleClientSiteVtbl {
1750 ICOM_MSVTABLE_COMPAT_FIELDS
1752 /*** IUnknown methods ***/
1753 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1754 IOleClientSite* This,
1755 REFIID riid,
1756 void** ppvObject);
1758 ULONG (STDMETHODCALLTYPE *AddRef)(
1759 IOleClientSite* This);
1761 ULONG (STDMETHODCALLTYPE *Release)(
1762 IOleClientSite* This);
1764 /*** IOleClientSite methods ***/
1765 HRESULT (STDMETHODCALLTYPE *SaveObject)(
1766 IOleClientSite* This);
1768 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1769 IOleClientSite* This,
1770 DWORD dwAssign,
1771 DWORD dwWhichMoniker,
1772 IMoniker** ppmk);
1774 HRESULT (STDMETHODCALLTYPE *GetContainer)(
1775 IOleClientSite* This,
1776 IOleContainer** ppContainer);
1778 HRESULT (STDMETHODCALLTYPE *ShowObject)(
1779 IOleClientSite* This);
1781 HRESULT (STDMETHODCALLTYPE *OnShowWindow)(
1782 IOleClientSite* This,
1783 BOOL fShow);
1785 HRESULT (STDMETHODCALLTYPE *RequestNewObjectLayout)(
1786 IOleClientSite* This);
1790 /*** IUnknown methods ***/
1791 #define IOleClientSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1792 #define IOleClientSite_AddRef(p) (p)->lpVtbl->AddRef(p)
1793 #define IOleClientSite_Release(p) (p)->lpVtbl->Release(p)
1794 /*** IOleClientSite methods ***/
1795 #define IOleClientSite_SaveObject(p) (p)->lpVtbl->SaveObject(p)
1796 #define IOleClientSite_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
1797 #define IOleClientSite_GetContainer(p,a) (p)->lpVtbl->GetContainer(p,a)
1798 #define IOleClientSite_ShowObject(p) (p)->lpVtbl->ShowObject(p)
1799 #define IOleClientSite_OnShowWindow(p,a) (p)->lpVtbl->OnShowWindow(p,a)
1800 #define IOleClientSite_RequestNewObjectLayout(p) (p)->lpVtbl->RequestNewObjectLayout(p)
1802 #endif
1804 #define IOleClientSite_METHODS \
1805 ICOM_MSVTABLE_COMPAT_FIELDS \
1806 /*** IUnknown methods ***/ \
1807 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1808 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1809 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1810 /*** IOleClientSite methods ***/ \
1811 STDMETHOD_(HRESULT,SaveObject)(THIS) PURE; \
1812 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
1813 STDMETHOD_(HRESULT,GetContainer)(THIS_ IOleContainer** ppContainer) PURE; \
1814 STDMETHOD_(HRESULT,ShowObject)(THIS) PURE; \
1815 STDMETHOD_(HRESULT,OnShowWindow)(THIS_ BOOL fShow) PURE; \
1816 STDMETHOD_(HRESULT,RequestNewObjectLayout)(THIS) PURE;
1818 HRESULT CALLBACK IOleClientSite_SaveObject_Proxy(
1819 IOleClientSite* This);
1820 void __RPC_STUB IOleClientSite_SaveObject_Stub(
1821 struct IRpcStubBuffer* This,
1822 struct IRpcChannelBuffer* pRpcChannelBuffer,
1823 PRPC_MESSAGE pRpcMessage,
1824 DWORD* pdwStubPhase);
1825 HRESULT CALLBACK IOleClientSite_GetMoniker_Proxy(
1826 IOleClientSite* This,
1827 DWORD dwAssign,
1828 DWORD dwWhichMoniker,
1829 IMoniker** ppmk);
1830 void __RPC_STUB IOleClientSite_GetMoniker_Stub(
1831 struct IRpcStubBuffer* This,
1832 struct IRpcChannelBuffer* pRpcChannelBuffer,
1833 PRPC_MESSAGE pRpcMessage,
1834 DWORD* pdwStubPhase);
1835 HRESULT CALLBACK IOleClientSite_GetContainer_Proxy(
1836 IOleClientSite* This,
1837 IOleContainer** ppContainer);
1838 void __RPC_STUB IOleClientSite_GetContainer_Stub(
1839 struct IRpcStubBuffer* This,
1840 struct IRpcChannelBuffer* pRpcChannelBuffer,
1841 PRPC_MESSAGE pRpcMessage,
1842 DWORD* pdwStubPhase);
1843 HRESULT CALLBACK IOleClientSite_ShowObject_Proxy(
1844 IOleClientSite* This);
1845 void __RPC_STUB IOleClientSite_ShowObject_Stub(
1846 struct IRpcStubBuffer* This,
1847 struct IRpcChannelBuffer* pRpcChannelBuffer,
1848 PRPC_MESSAGE pRpcMessage,
1849 DWORD* pdwStubPhase);
1850 HRESULT CALLBACK IOleClientSite_OnShowWindow_Proxy(
1851 IOleClientSite* This,
1852 BOOL fShow);
1853 void __RPC_STUB IOleClientSite_OnShowWindow_Stub(
1854 struct IRpcStubBuffer* This,
1855 struct IRpcChannelBuffer* pRpcChannelBuffer,
1856 PRPC_MESSAGE pRpcMessage,
1857 DWORD* pdwStubPhase);
1858 HRESULT CALLBACK IOleClientSite_RequestNewObjectLayout_Proxy(
1859 IOleClientSite* This);
1860 void __RPC_STUB IOleClientSite_RequestNewObjectLayout_Stub(
1861 struct IRpcStubBuffer* This,
1862 struct IRpcChannelBuffer* pRpcChannelBuffer,
1863 PRPC_MESSAGE pRpcMessage,
1864 DWORD* pdwStubPhase);
1866 #endif /* __IOleClientSite_INTERFACE_DEFINED__ */
1868 #ifndef __IOleCache_FWD_DEFINED__
1869 #define __IOleCache_FWD_DEFINED__
1870 typedef struct IOleCache IOleCache;
1871 #endif
1873 typedef IOleCache *LPOLECACHE;
1875 /*****************************************************************************
1876 * IOleCache interface
1878 #ifndef __IOleCache_INTERFACE_DEFINED__
1879 #define __IOleCache_INTERFACE_DEFINED__
1881 DEFINE_GUID(IID_IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1882 #if defined(__cplusplus) && !defined(CINTERFACE)
1883 struct IOleCache : public IUnknown
1885 virtual HRESULT STDMETHODCALLTYPE Cache(
1886 FORMATETC* pformatetc,
1887 DWORD advf,
1888 DWORD* pdwConnection) = 0;
1890 virtual HRESULT STDMETHODCALLTYPE Uncache(
1891 DWORD dwConnection) = 0;
1893 virtual HRESULT STDMETHODCALLTYPE EnumCache(
1894 IEnumSTATDATA** ppenumSTATDATA) = 0;
1896 virtual HRESULT STDMETHODCALLTYPE InitCache(
1897 IDataObject* pDataObject) = 0;
1899 virtual HRESULT STDMETHODCALLTYPE SetData(
1900 FORMATETC* pformatetc,
1901 STGMEDIUM* pmedium,
1902 BOOL fRelease) = 0;
1905 #else
1906 typedef struct IOleCacheVtbl IOleCacheVtbl;
1907 struct IOleCache {
1908 const IOleCacheVtbl* lpVtbl;
1910 struct IOleCacheVtbl {
1911 ICOM_MSVTABLE_COMPAT_FIELDS
1913 /*** IUnknown methods ***/
1914 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1915 IOleCache* This,
1916 REFIID riid,
1917 void** ppvObject);
1919 ULONG (STDMETHODCALLTYPE *AddRef)(
1920 IOleCache* This);
1922 ULONG (STDMETHODCALLTYPE *Release)(
1923 IOleCache* This);
1925 /*** IOleCache methods ***/
1926 HRESULT (STDMETHODCALLTYPE *Cache)(
1927 IOleCache* This,
1928 FORMATETC* pformatetc,
1929 DWORD advf,
1930 DWORD* pdwConnection);
1932 HRESULT (STDMETHODCALLTYPE *Uncache)(
1933 IOleCache* This,
1934 DWORD dwConnection);
1936 HRESULT (STDMETHODCALLTYPE *EnumCache)(
1937 IOleCache* This,
1938 IEnumSTATDATA** ppenumSTATDATA);
1940 HRESULT (STDMETHODCALLTYPE *InitCache)(
1941 IOleCache* This,
1942 IDataObject* pDataObject);
1944 HRESULT (STDMETHODCALLTYPE *SetData)(
1945 IOleCache* This,
1946 FORMATETC* pformatetc,
1947 STGMEDIUM* pmedium,
1948 BOOL fRelease);
1952 /*** IUnknown methods ***/
1953 #define IOleCache_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1954 #define IOleCache_AddRef(p) (p)->lpVtbl->AddRef(p)
1955 #define IOleCache_Release(p) (p)->lpVtbl->Release(p)
1956 /*** IOleCache methods ***/
1957 #define IOleCache_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
1958 #define IOleCache_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
1959 #define IOleCache_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
1960 #define IOleCache_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
1961 #define IOleCache_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
1963 #endif
1965 #define IOleCache_METHODS \
1966 ICOM_MSVTABLE_COMPAT_FIELDS \
1967 /*** IUnknown methods ***/ \
1968 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1969 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1970 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1971 /*** IOleCache methods ***/ \
1972 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
1973 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
1974 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
1975 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
1976 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE;
1978 HRESULT CALLBACK IOleCache_Cache_Proxy(
1979 IOleCache* This,
1980 FORMATETC* pformatetc,
1981 DWORD advf,
1982 DWORD* pdwConnection);
1983 void __RPC_STUB IOleCache_Cache_Stub(
1984 struct IRpcStubBuffer* This,
1985 struct IRpcChannelBuffer* pRpcChannelBuffer,
1986 PRPC_MESSAGE pRpcMessage,
1987 DWORD* pdwStubPhase);
1988 HRESULT CALLBACK IOleCache_Uncache_Proxy(
1989 IOleCache* This,
1990 DWORD dwConnection);
1991 void __RPC_STUB IOleCache_Uncache_Stub(
1992 struct IRpcStubBuffer* This,
1993 struct IRpcChannelBuffer* pRpcChannelBuffer,
1994 PRPC_MESSAGE pRpcMessage,
1995 DWORD* pdwStubPhase);
1996 HRESULT CALLBACK IOleCache_EnumCache_Proxy(
1997 IOleCache* This,
1998 IEnumSTATDATA** ppenumSTATDATA);
1999 void __RPC_STUB IOleCache_EnumCache_Stub(
2000 struct IRpcStubBuffer* This,
2001 struct IRpcChannelBuffer* pRpcChannelBuffer,
2002 PRPC_MESSAGE pRpcMessage,
2003 DWORD* pdwStubPhase);
2004 HRESULT CALLBACK IOleCache_InitCache_Proxy(
2005 IOleCache* This,
2006 IDataObject* pDataObject);
2007 void __RPC_STUB IOleCache_InitCache_Stub(
2008 struct IRpcStubBuffer* This,
2009 struct IRpcChannelBuffer* pRpcChannelBuffer,
2010 PRPC_MESSAGE pRpcMessage,
2011 DWORD* pdwStubPhase);
2012 HRESULT CALLBACK IOleCache_SetData_Proxy(
2013 IOleCache* This,
2014 FORMATETC* pformatetc,
2015 STGMEDIUM* pmedium,
2016 BOOL fRelease);
2017 void __RPC_STUB IOleCache_SetData_Stub(
2018 struct IRpcStubBuffer* This,
2019 struct IRpcChannelBuffer* pRpcChannelBuffer,
2020 PRPC_MESSAGE pRpcMessage,
2021 DWORD* pdwStubPhase);
2023 #endif /* __IOleCache_INTERFACE_DEFINED__ */
2025 #ifndef __IOleCache2_FWD_DEFINED__
2026 #define __IOleCache2_FWD_DEFINED__
2027 typedef struct IOleCache2 IOleCache2;
2028 #endif
2030 typedef IOleCache2 *LPOLECACHE2;
2032 #define UPDFCACHE_NODATACACHE (0x1)
2034 #define UPDFCACHE_ONSAVECACHE (0x2)
2036 #define UPDFCACHE_ONSTOPCACHE (0x4)
2038 #define UPDFCACHE_NORMALCACHE (0x8)
2040 #define UPDFCACHE_IFBLANK (0x10)
2042 #define UPDFCACHE_ONLYIFBLANK (0x80000000)
2044 #define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
2046 #define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
2048 #define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)
2050 typedef enum tagDISCARDCACHE {
2051 DISCARDCACHE_SAVEIFDIRTY = 0,
2052 DISCARDCACHE_NOSAVE = 1
2053 } DISCARDCACHE;
2055 /*****************************************************************************
2056 * IOleCache2 interface
2058 #ifndef __IOleCache2_INTERFACE_DEFINED__
2059 #define __IOleCache2_INTERFACE_DEFINED__
2061 DEFINE_GUID(IID_IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2062 #if defined(__cplusplus) && !defined(CINTERFACE)
2063 struct IOleCache2 : public IOleCache
2065 virtual HRESULT STDMETHODCALLTYPE UpdateCache(
2066 LPDATAOBJECT pDataObject,
2067 DWORD grfUpdf,
2068 LPVOID pReserved) = 0;
2070 virtual HRESULT STDMETHODCALLTYPE DiscardCache(
2071 DWORD dwDiscardOptions) = 0;
2074 #else
2075 typedef struct IOleCache2Vtbl IOleCache2Vtbl;
2076 struct IOleCache2 {
2077 const IOleCache2Vtbl* lpVtbl;
2079 struct IOleCache2Vtbl {
2080 ICOM_MSVTABLE_COMPAT_FIELDS
2082 /*** IUnknown methods ***/
2083 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2084 IOleCache2* This,
2085 REFIID riid,
2086 void** ppvObject);
2088 ULONG (STDMETHODCALLTYPE *AddRef)(
2089 IOleCache2* This);
2091 ULONG (STDMETHODCALLTYPE *Release)(
2092 IOleCache2* This);
2094 /*** IOleCache methods ***/
2095 HRESULT (STDMETHODCALLTYPE *Cache)(
2096 IOleCache2* This,
2097 FORMATETC* pformatetc,
2098 DWORD advf,
2099 DWORD* pdwConnection);
2101 HRESULT (STDMETHODCALLTYPE *Uncache)(
2102 IOleCache2* This,
2103 DWORD dwConnection);
2105 HRESULT (STDMETHODCALLTYPE *EnumCache)(
2106 IOleCache2* This,
2107 IEnumSTATDATA** ppenumSTATDATA);
2109 HRESULT (STDMETHODCALLTYPE *InitCache)(
2110 IOleCache2* This,
2111 IDataObject* pDataObject);
2113 HRESULT (STDMETHODCALLTYPE *SetData)(
2114 IOleCache2* This,
2115 FORMATETC* pformatetc,
2116 STGMEDIUM* pmedium,
2117 BOOL fRelease);
2119 /*** IOleCache2 methods ***/
2120 HRESULT (STDMETHODCALLTYPE *UpdateCache)(
2121 IOleCache2* This,
2122 LPDATAOBJECT pDataObject,
2123 DWORD grfUpdf,
2124 LPVOID pReserved);
2126 HRESULT (STDMETHODCALLTYPE *DiscardCache)(
2127 IOleCache2* This,
2128 DWORD dwDiscardOptions);
2132 /*** IUnknown methods ***/
2133 #define IOleCache2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2134 #define IOleCache2_AddRef(p) (p)->lpVtbl->AddRef(p)
2135 #define IOleCache2_Release(p) (p)->lpVtbl->Release(p)
2136 /*** IOleCache methods ***/
2137 #define IOleCache2_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
2138 #define IOleCache2_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
2139 #define IOleCache2_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
2140 #define IOleCache2_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
2141 #define IOleCache2_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
2142 /*** IOleCache2 methods ***/
2143 #define IOleCache2_UpdateCache(p,a,b,c) (p)->lpVtbl->UpdateCache(p,a,b,c)
2144 #define IOleCache2_DiscardCache(p,a) (p)->lpVtbl->DiscardCache(p,a)
2146 #endif
2148 #define IOleCache2_METHODS \
2149 ICOM_MSVTABLE_COMPAT_FIELDS \
2150 /*** IUnknown methods ***/ \
2151 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2152 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2153 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2154 /*** IOleCache methods ***/ \
2155 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
2156 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
2157 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
2158 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
2159 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
2160 /*** IOleCache2 methods ***/ \
2161 STDMETHOD_(HRESULT,UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
2162 STDMETHOD_(HRESULT,DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
2164 HRESULT CALLBACK IOleCache2_RemoteUpdateCache_Proxy(
2165 IOleCache2* This,
2166 LPDATAOBJECT pDataObject,
2167 DWORD grfUpdf,
2168 LONG_PTR pReserved);
2169 void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(
2170 struct IRpcStubBuffer* This,
2171 struct IRpcChannelBuffer* pRpcChannelBuffer,
2172 PRPC_MESSAGE pRpcMessage,
2173 DWORD* pdwStubPhase);
2174 HRESULT CALLBACK IOleCache2_UpdateCache_Proxy(
2175 IOleCache2* This,
2176 LPDATAOBJECT pDataObject,
2177 DWORD grfUpdf,
2178 LPVOID pReserved);
2179 HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub(
2180 IOleCache2* This,
2181 LPDATAOBJECT pDataObject,
2182 DWORD grfUpdf,
2183 LONG_PTR pReserved);
2184 HRESULT CALLBACK IOleCache2_DiscardCache_Proxy(
2185 IOleCache2* This,
2186 DWORD dwDiscardOptions);
2187 void __RPC_STUB IOleCache2_DiscardCache_Stub(
2188 struct IRpcStubBuffer* This,
2189 struct IRpcChannelBuffer* pRpcChannelBuffer,
2190 PRPC_MESSAGE pRpcMessage,
2191 DWORD* pdwStubPhase);
2193 #endif /* __IOleCache2_INTERFACE_DEFINED__ */
2195 #ifndef __IOleCacheControl_FWD_DEFINED__
2196 #define __IOleCacheControl_FWD_DEFINED__
2197 typedef struct IOleCacheControl IOleCacheControl;
2198 #endif
2200 typedef IOleCacheControl *LPOLECACHECONTROL;
2202 /*****************************************************************************
2203 * IOleCacheControl interface
2205 #ifndef __IOleCacheControl_INTERFACE_DEFINED__
2206 #define __IOleCacheControl_INTERFACE_DEFINED__
2208 DEFINE_GUID(IID_IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2209 #if defined(__cplusplus) && !defined(CINTERFACE)
2210 struct IOleCacheControl : public IUnknown
2212 virtual HRESULT STDMETHODCALLTYPE OnRun(
2213 LPDATAOBJECT pDataObject) = 0;
2215 virtual HRESULT STDMETHODCALLTYPE OnStop(
2216 ) = 0;
2219 #else
2220 typedef struct IOleCacheControlVtbl IOleCacheControlVtbl;
2221 struct IOleCacheControl {
2222 const IOleCacheControlVtbl* lpVtbl;
2224 struct IOleCacheControlVtbl {
2225 ICOM_MSVTABLE_COMPAT_FIELDS
2227 /*** IUnknown methods ***/
2228 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2229 IOleCacheControl* This,
2230 REFIID riid,
2231 void** ppvObject);
2233 ULONG (STDMETHODCALLTYPE *AddRef)(
2234 IOleCacheControl* This);
2236 ULONG (STDMETHODCALLTYPE *Release)(
2237 IOleCacheControl* This);
2239 /*** IOleCacheControl methods ***/
2240 HRESULT (STDMETHODCALLTYPE *OnRun)(
2241 IOleCacheControl* This,
2242 LPDATAOBJECT pDataObject);
2244 HRESULT (STDMETHODCALLTYPE *OnStop)(
2245 IOleCacheControl* This);
2249 /*** IUnknown methods ***/
2250 #define IOleCacheControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2251 #define IOleCacheControl_AddRef(p) (p)->lpVtbl->AddRef(p)
2252 #define IOleCacheControl_Release(p) (p)->lpVtbl->Release(p)
2253 /*** IOleCacheControl methods ***/
2254 #define IOleCacheControl_OnRun(p,a) (p)->lpVtbl->OnRun(p,a)
2255 #define IOleCacheControl_OnStop(p) (p)->lpVtbl->OnStop(p)
2257 #endif
2259 #define IOleCacheControl_METHODS \
2260 ICOM_MSVTABLE_COMPAT_FIELDS \
2261 /*** IUnknown methods ***/ \
2262 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2263 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2264 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2265 /*** IOleCacheControl methods ***/ \
2266 STDMETHOD_(HRESULT,OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
2267 STDMETHOD_(HRESULT,OnStop)(THIS) PURE;
2269 HRESULT CALLBACK IOleCacheControl_OnRun_Proxy(
2270 IOleCacheControl* This,
2271 LPDATAOBJECT pDataObject);
2272 void __RPC_STUB IOleCacheControl_OnRun_Stub(
2273 struct IRpcStubBuffer* This,
2274 struct IRpcChannelBuffer* pRpcChannelBuffer,
2275 PRPC_MESSAGE pRpcMessage,
2276 DWORD* pdwStubPhase);
2277 HRESULT CALLBACK IOleCacheControl_OnStop_Proxy(
2278 IOleCacheControl* This);
2279 void __RPC_STUB IOleCacheControl_OnStop_Stub(
2280 struct IRpcStubBuffer* This,
2281 struct IRpcChannelBuffer* pRpcChannelBuffer,
2282 PRPC_MESSAGE pRpcMessage,
2283 DWORD* pdwStubPhase);
2285 #endif /* __IOleCacheControl_INTERFACE_DEFINED__ */
2287 #ifndef __IEnumOLEVERB_FWD_DEFINED__
2288 #define __IEnumOLEVERB_FWD_DEFINED__
2289 typedef struct IEnumOLEVERB IEnumOLEVERB;
2290 #endif
2292 typedef IEnumOLEVERB *LPENUMOLEVERB;
2294 typedef struct tagOLEVERB {
2295 LONG lVerb;
2296 LPOLESTR lpszVerbName;
2297 DWORD fuFlags;
2298 DWORD grfAttribs;
2299 } OLEVERB, *LPOLEVERB;
2301 typedef enum tagOLEVERBATTRIB {
2302 OLEVERBATTRIB_NEVERDIRTIES = 1,
2303 OLEVERBATTRIB_ONCONTAINERMENU = 2
2304 } OLEVERBATTRIB;
2306 /*****************************************************************************
2307 * IEnumOLEVERB interface
2309 #ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
2310 #define __IEnumOLEVERB_INTERFACE_DEFINED__
2312 DEFINE_GUID(IID_IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2313 #if defined(__cplusplus) && !defined(CINTERFACE)
2314 struct IEnumOLEVERB : public IUnknown
2316 virtual HRESULT STDMETHODCALLTYPE Next(
2317 ULONG celt,
2318 LPOLEVERB rgelt,
2319 ULONG* pceltFetched) = 0;
2321 virtual HRESULT STDMETHODCALLTYPE Skip(
2322 ULONG celt) = 0;
2324 virtual HRESULT STDMETHODCALLTYPE Reset(
2325 ) = 0;
2327 virtual HRESULT STDMETHODCALLTYPE Clone(
2328 IEnumOLEVERB** ppenum) = 0;
2331 #else
2332 typedef struct IEnumOLEVERBVtbl IEnumOLEVERBVtbl;
2333 struct IEnumOLEVERB {
2334 const IEnumOLEVERBVtbl* lpVtbl;
2336 struct IEnumOLEVERBVtbl {
2337 ICOM_MSVTABLE_COMPAT_FIELDS
2339 /*** IUnknown methods ***/
2340 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2341 IEnumOLEVERB* This,
2342 REFIID riid,
2343 void** ppvObject);
2345 ULONG (STDMETHODCALLTYPE *AddRef)(
2346 IEnumOLEVERB* This);
2348 ULONG (STDMETHODCALLTYPE *Release)(
2349 IEnumOLEVERB* This);
2351 /*** IEnumOLEVERB methods ***/
2352 HRESULT (STDMETHODCALLTYPE *Next)(
2353 IEnumOLEVERB* This,
2354 ULONG celt,
2355 LPOLEVERB rgelt,
2356 ULONG* pceltFetched);
2358 HRESULT (STDMETHODCALLTYPE *Skip)(
2359 IEnumOLEVERB* This,
2360 ULONG celt);
2362 HRESULT (STDMETHODCALLTYPE *Reset)(
2363 IEnumOLEVERB* This);
2365 HRESULT (STDMETHODCALLTYPE *Clone)(
2366 IEnumOLEVERB* This,
2367 IEnumOLEVERB** ppenum);
2371 /*** IUnknown methods ***/
2372 #define IEnumOLEVERB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2373 #define IEnumOLEVERB_AddRef(p) (p)->lpVtbl->AddRef(p)
2374 #define IEnumOLEVERB_Release(p) (p)->lpVtbl->Release(p)
2375 /*** IEnumOLEVERB methods ***/
2376 #define IEnumOLEVERB_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2377 #define IEnumOLEVERB_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2378 #define IEnumOLEVERB_Reset(p) (p)->lpVtbl->Reset(p)
2379 #define IEnumOLEVERB_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2381 #endif
2383 #define IEnumOLEVERB_METHODS \
2384 ICOM_MSVTABLE_COMPAT_FIELDS \
2385 /*** IUnknown methods ***/ \
2386 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2387 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2388 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2389 /*** IEnumOLEVERB methods ***/ \
2390 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG* pceltFetched) PURE; \
2391 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2392 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2393 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumOLEVERB** ppenum) PURE;
2395 HRESULT CALLBACK IEnumOLEVERB_RemoteNext_Proxy(
2396 IEnumOLEVERB* This,
2397 ULONG celt,
2398 LPOLEVERB rgelt,
2399 ULONG* pceltFetched);
2400 void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(
2401 struct IRpcStubBuffer* This,
2402 struct IRpcChannelBuffer* pRpcChannelBuffer,
2403 PRPC_MESSAGE pRpcMessage,
2404 DWORD* pdwStubPhase);
2405 HRESULT CALLBACK IEnumOLEVERB_Next_Proxy(
2406 IEnumOLEVERB* This,
2407 ULONG celt,
2408 LPOLEVERB rgelt,
2409 ULONG* pceltFetched);
2410 HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub(
2411 IEnumOLEVERB* This,
2412 ULONG celt,
2413 LPOLEVERB rgelt,
2414 ULONG* pceltFetched);
2415 HRESULT CALLBACK IEnumOLEVERB_Skip_Proxy(
2416 IEnumOLEVERB* This,
2417 ULONG celt);
2418 void __RPC_STUB IEnumOLEVERB_Skip_Stub(
2419 struct IRpcStubBuffer* This,
2420 struct IRpcChannelBuffer* pRpcChannelBuffer,
2421 PRPC_MESSAGE pRpcMessage,
2422 DWORD* pdwStubPhase);
2423 HRESULT CALLBACK IEnumOLEVERB_Reset_Proxy(
2424 IEnumOLEVERB* This);
2425 void __RPC_STUB IEnumOLEVERB_Reset_Stub(
2426 struct IRpcStubBuffer* This,
2427 struct IRpcChannelBuffer* pRpcChannelBuffer,
2428 PRPC_MESSAGE pRpcMessage,
2429 DWORD* pdwStubPhase);
2430 HRESULT CALLBACK IEnumOLEVERB_Clone_Proxy(
2431 IEnumOLEVERB* This,
2432 IEnumOLEVERB** ppenum);
2433 void __RPC_STUB IEnumOLEVERB_Clone_Stub(
2434 struct IRpcStubBuffer* This,
2435 struct IRpcChannelBuffer* pRpcChannelBuffer,
2436 PRPC_MESSAGE pRpcMessage,
2437 DWORD* pdwStubPhase);
2439 #endif /* __IEnumOLEVERB_INTERFACE_DEFINED__ */
2441 #ifndef __IOleObject_FWD_DEFINED__
2442 #define __IOleObject_FWD_DEFINED__
2443 typedef struct IOleObject IOleObject;
2444 #endif
2446 typedef IOleObject *LPOLEOBJECT;
2448 typedef enum tagOLEGETMONIKER {
2449 OLEGETMONIKER_ONLYIFTHERE = 1,
2450 OLEGETMONIKER_FORCEASSIGN = 2,
2451 OLEGETMONIKER_UNASSIGN = 3,
2452 OLEGETMONIKER_TEMPFORUSER = 4
2453 } OLEGETMONIKER;
2455 typedef enum tagOLEWHICHMK {
2456 OLEWHICHMK_CONTAINER = 1,
2457 OLEWHICHMK_OBJREL = 2,
2458 OLEWHICHMK_OBJFULL = 3
2459 } OLEWHICHMK;
2461 typedef enum tagUSERCLASSTYPE {
2462 USERCLASSTYPE_FULL = 1,
2463 USERCLASSTYPE_SHORT = 2,
2464 USERCLASSTYPE_APPNAME = 3
2465 } USERCLASSTYPE;
2467 typedef enum tagOLEMISC {
2468 OLEMISC_RECOMPOSEONRESIZE = 0x1,
2469 OLEMISC_ONLYICONIC = 0x2,
2470 OLEMISC_INSERTNOTREPLACE = 0x4,
2471 OLEMISC_STATIC = 0x8,
2472 OLEMISC_CANTLINKINSIDE = 0x10,
2473 OLEMISC_CANLINKBYOLE1 = 0x20,
2474 OLEMISC_ISLINKOBJECT = 0x40,
2475 OLEMISC_INSIDEOUT = 0x80,
2476 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
2477 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
2478 OLEMISC_INVISIBLEATRUNTIME = 0x400,
2479 OLEMISC_ALWAYSRUN = 0x800,
2480 OLEMISC_ACTSLIKEBUTTON = 0x1000,
2481 OLEMISC_ACTSLIKELABEL = 0x2000,
2482 OLEMISC_NOUIACTIVATE = 0x4000,
2483 OLEMISC_ALIGNABLE = 0x8000,
2484 OLEMISC_SIMPLEFRAME = 0x10000,
2485 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
2486 OLEMISC_IMEMODE = 0x40000,
2487 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
2488 OLEMISC_WANTSTOMENUMERGE = 0x100000,
2489 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
2490 } OLEMISC;
2492 typedef enum tagOLECLOSE {
2493 OLECLOSE_SAVEIFDIRTY = 0,
2494 OLECLOSE_NOSAVE = 1,
2495 OLECLOSE_PROMPTSAVE = 2
2496 } OLECLOSE;
2498 /*****************************************************************************
2499 * IOleObject interface
2501 #ifndef __IOleObject_INTERFACE_DEFINED__
2502 #define __IOleObject_INTERFACE_DEFINED__
2504 DEFINE_GUID(IID_IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2505 #if defined(__cplusplus) && !defined(CINTERFACE)
2506 struct IOleObject : public IUnknown
2508 virtual HRESULT STDMETHODCALLTYPE SetClientSite(
2509 IOleClientSite* pClientSite) = 0;
2511 virtual HRESULT STDMETHODCALLTYPE GetClientSite(
2512 IOleClientSite** ppClientSite) = 0;
2514 virtual HRESULT STDMETHODCALLTYPE SetHostNames(
2515 LPCOLESTR szContainerApp,
2516 LPCOLESTR szContainerObj) = 0;
2518 virtual HRESULT STDMETHODCALLTYPE Close(
2519 DWORD dwSaveOption) = 0;
2521 virtual HRESULT STDMETHODCALLTYPE SetMoniker(
2522 DWORD dwWhichMoniker,
2523 IMoniker* pmk) = 0;
2525 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
2526 DWORD dwAssign,
2527 DWORD dwWhichMoniker,
2528 IMoniker** ppmk) = 0;
2530 virtual HRESULT STDMETHODCALLTYPE InitFromData(
2531 IDataObject* pDataObject,
2532 BOOL fCreation,
2533 DWORD dwReserved) = 0;
2535 virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
2536 DWORD dwReserved,
2537 IDataObject** ppDataObject) = 0;
2539 virtual HRESULT STDMETHODCALLTYPE DoVerb(
2540 LONG iVerb,
2541 LPMSG lpmsg,
2542 IOleClientSite* pActiveSite,
2543 LONG lindex,
2544 HWND hwndParent,
2545 LPCRECT lprcPosRect) = 0;
2547 virtual HRESULT STDMETHODCALLTYPE EnumVerbs(
2548 IEnumOLEVERB** ppEnumOleVerb) = 0;
2550 virtual HRESULT STDMETHODCALLTYPE Update(
2551 ) = 0;
2553 virtual HRESULT STDMETHODCALLTYPE IsUpToDate(
2554 ) = 0;
2556 virtual HRESULT STDMETHODCALLTYPE GetUserClassID(
2557 CLSID* pClsid) = 0;
2559 virtual HRESULT STDMETHODCALLTYPE GetUserType(
2560 DWORD dwFormOfType,
2561 LPOLESTR* pszUserType) = 0;
2563 virtual HRESULT STDMETHODCALLTYPE SetExtent(
2564 DWORD dwDrawAspect,
2565 SIZEL* psizel) = 0;
2567 virtual HRESULT STDMETHODCALLTYPE GetExtent(
2568 DWORD dwDrawAspect,
2569 SIZEL* psizel) = 0;
2571 virtual HRESULT STDMETHODCALLTYPE Advise(
2572 IAdviseSink* pAdvSink,
2573 DWORD* pdwConnection) = 0;
2575 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2576 DWORD dwConnection) = 0;
2578 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2579 IEnumSTATDATA** ppenumAdvise) = 0;
2581 virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(
2582 DWORD dwAspect,
2583 DWORD* pdwStatus) = 0;
2585 virtual HRESULT STDMETHODCALLTYPE SetColorScheme(
2586 LOGPALETTE* pLogpal) = 0;
2589 #else
2590 typedef struct IOleObjectVtbl IOleObjectVtbl;
2591 struct IOleObject {
2592 const IOleObjectVtbl* lpVtbl;
2594 struct IOleObjectVtbl {
2595 ICOM_MSVTABLE_COMPAT_FIELDS
2597 /*** IUnknown methods ***/
2598 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2599 IOleObject* This,
2600 REFIID riid,
2601 void** ppvObject);
2603 ULONG (STDMETHODCALLTYPE *AddRef)(
2604 IOleObject* This);
2606 ULONG (STDMETHODCALLTYPE *Release)(
2607 IOleObject* This);
2609 /*** IOleObject methods ***/
2610 HRESULT (STDMETHODCALLTYPE *SetClientSite)(
2611 IOleObject* This,
2612 IOleClientSite* pClientSite);
2614 HRESULT (STDMETHODCALLTYPE *GetClientSite)(
2615 IOleObject* This,
2616 IOleClientSite** ppClientSite);
2618 HRESULT (STDMETHODCALLTYPE *SetHostNames)(
2619 IOleObject* This,
2620 LPCOLESTR szContainerApp,
2621 LPCOLESTR szContainerObj);
2623 HRESULT (STDMETHODCALLTYPE *Close)(
2624 IOleObject* This,
2625 DWORD dwSaveOption);
2627 HRESULT (STDMETHODCALLTYPE *SetMoniker)(
2628 IOleObject* This,
2629 DWORD dwWhichMoniker,
2630 IMoniker* pmk);
2632 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
2633 IOleObject* This,
2634 DWORD dwAssign,
2635 DWORD dwWhichMoniker,
2636 IMoniker** ppmk);
2638 HRESULT (STDMETHODCALLTYPE *InitFromData)(
2639 IOleObject* This,
2640 IDataObject* pDataObject,
2641 BOOL fCreation,
2642 DWORD dwReserved);
2644 HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
2645 IOleObject* This,
2646 DWORD dwReserved,
2647 IDataObject** ppDataObject);
2649 HRESULT (STDMETHODCALLTYPE *DoVerb)(
2650 IOleObject* This,
2651 LONG iVerb,
2652 LPMSG lpmsg,
2653 IOleClientSite* pActiveSite,
2654 LONG lindex,
2655 HWND hwndParent,
2656 LPCRECT lprcPosRect);
2658 HRESULT (STDMETHODCALLTYPE *EnumVerbs)(
2659 IOleObject* This,
2660 IEnumOLEVERB** ppEnumOleVerb);
2662 HRESULT (STDMETHODCALLTYPE *Update)(
2663 IOleObject* This);
2665 HRESULT (STDMETHODCALLTYPE *IsUpToDate)(
2666 IOleObject* This);
2668 HRESULT (STDMETHODCALLTYPE *GetUserClassID)(
2669 IOleObject* This,
2670 CLSID* pClsid);
2672 HRESULT (STDMETHODCALLTYPE *GetUserType)(
2673 IOleObject* This,
2674 DWORD dwFormOfType,
2675 LPOLESTR* pszUserType);
2677 HRESULT (STDMETHODCALLTYPE *SetExtent)(
2678 IOleObject* This,
2679 DWORD dwDrawAspect,
2680 SIZEL* psizel);
2682 HRESULT (STDMETHODCALLTYPE *GetExtent)(
2683 IOleObject* This,
2684 DWORD dwDrawAspect,
2685 SIZEL* psizel);
2687 HRESULT (STDMETHODCALLTYPE *Advise)(
2688 IOleObject* This,
2689 IAdviseSink* pAdvSink,
2690 DWORD* pdwConnection);
2692 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2693 IOleObject* This,
2694 DWORD dwConnection);
2696 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
2697 IOleObject* This,
2698 IEnumSTATDATA** ppenumAdvise);
2700 HRESULT (STDMETHODCALLTYPE *GetMiscStatus)(
2701 IOleObject* This,
2702 DWORD dwAspect,
2703 DWORD* pdwStatus);
2705 HRESULT (STDMETHODCALLTYPE *SetColorScheme)(
2706 IOleObject* This,
2707 LOGPALETTE* pLogpal);
2711 /*** IUnknown methods ***/
2712 #define IOleObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2713 #define IOleObject_AddRef(p) (p)->lpVtbl->AddRef(p)
2714 #define IOleObject_Release(p) (p)->lpVtbl->Release(p)
2715 /*** IOleObject methods ***/
2716 #define IOleObject_SetClientSite(p,a) (p)->lpVtbl->SetClientSite(p,a)
2717 #define IOleObject_GetClientSite(p,a) (p)->lpVtbl->GetClientSite(p,a)
2718 #define IOleObject_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
2719 #define IOleObject_Close(p,a) (p)->lpVtbl->Close(p,a)
2720 #define IOleObject_SetMoniker(p,a,b) (p)->lpVtbl->SetMoniker(p,a,b)
2721 #define IOleObject_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
2722 #define IOleObject_InitFromData(p,a,b,c) (p)->lpVtbl->InitFromData(p,a,b,c)
2723 #define IOleObject_GetClipboardData(p,a,b) (p)->lpVtbl->GetClipboardData(p,a,b)
2724 #define IOleObject_DoVerb(p,a,b,c,d,e,f) (p)->lpVtbl->DoVerb(p,a,b,c,d,e,f)
2725 #define IOleObject_EnumVerbs(p,a) (p)->lpVtbl->EnumVerbs(p,a)
2726 #define IOleObject_Update(p) (p)->lpVtbl->Update(p)
2727 #define IOleObject_IsUpToDate(p) (p)->lpVtbl->IsUpToDate(p)
2728 #define IOleObject_GetUserClassID(p,a) (p)->lpVtbl->GetUserClassID(p,a)
2729 #define IOleObject_GetUserType(p,a,b) (p)->lpVtbl->GetUserType(p,a,b)
2730 #define IOleObject_SetExtent(p,a,b) (p)->lpVtbl->SetExtent(p,a,b)
2731 #define IOleObject_GetExtent(p,a,b) (p)->lpVtbl->GetExtent(p,a,b)
2732 #define IOleObject_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
2733 #define IOleObject_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
2734 #define IOleObject_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
2735 #define IOleObject_GetMiscStatus(p,a,b) (p)->lpVtbl->GetMiscStatus(p,a,b)
2736 #define IOleObject_SetColorScheme(p,a) (p)->lpVtbl->SetColorScheme(p,a)
2738 #endif
2740 #define IOleObject_METHODS \
2741 ICOM_MSVTABLE_COMPAT_FIELDS \
2742 /*** IUnknown methods ***/ \
2743 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2744 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2745 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2746 /*** IOleObject methods ***/ \
2747 STDMETHOD_(HRESULT,SetClientSite)(THIS_ IOleClientSite* pClientSite) PURE; \
2748 STDMETHOD_(HRESULT,GetClientSite)(THIS_ IOleClientSite** ppClientSite) PURE; \
2749 STDMETHOD_(HRESULT,SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
2750 STDMETHOD_(HRESULT,Close)(THIS_ DWORD dwSaveOption) PURE; \
2751 STDMETHOD_(HRESULT,SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker* pmk) PURE; \
2752 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
2753 STDMETHOD_(HRESULT,InitFromData)(THIS_ IDataObject* pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
2754 STDMETHOD_(HRESULT,GetClipboardData)(THIS_ DWORD dwReserved, IDataObject** ppDataObject) PURE; \
2755 STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, LPMSG lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
2756 STDMETHOD_(HRESULT,EnumVerbs)(THIS_ IEnumOLEVERB** ppEnumOleVerb) PURE; \
2757 STDMETHOD_(HRESULT,Update)(THIS) PURE; \
2758 STDMETHOD_(HRESULT,IsUpToDate)(THIS) PURE; \
2759 STDMETHOD_(HRESULT,GetUserClassID)(THIS_ CLSID* pClsid) PURE; \
2760 STDMETHOD_(HRESULT,GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR* pszUserType) PURE; \
2761 STDMETHOD_(HRESULT,SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2762 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2763 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
2764 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
2765 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
2766 STDMETHOD_(HRESULT,GetMiscStatus)(THIS_ DWORD dwAspect, DWORD* pdwStatus) PURE; \
2767 STDMETHOD_(HRESULT,SetColorScheme)(THIS_ LOGPALETTE* pLogpal) PURE;
2769 HRESULT CALLBACK IOleObject_SetClientSite_Proxy(
2770 IOleObject* This,
2771 IOleClientSite* pClientSite);
2772 void __RPC_STUB IOleObject_SetClientSite_Stub(
2773 struct IRpcStubBuffer* This,
2774 struct IRpcChannelBuffer* pRpcChannelBuffer,
2775 PRPC_MESSAGE pRpcMessage,
2776 DWORD* pdwStubPhase);
2777 HRESULT CALLBACK IOleObject_GetClientSite_Proxy(
2778 IOleObject* This,
2779 IOleClientSite** ppClientSite);
2780 void __RPC_STUB IOleObject_GetClientSite_Stub(
2781 struct IRpcStubBuffer* This,
2782 struct IRpcChannelBuffer* pRpcChannelBuffer,
2783 PRPC_MESSAGE pRpcMessage,
2784 DWORD* pdwStubPhase);
2785 HRESULT CALLBACK IOleObject_SetHostNames_Proxy(
2786 IOleObject* This,
2787 LPCOLESTR szContainerApp,
2788 LPCOLESTR szContainerObj);
2789 void __RPC_STUB IOleObject_SetHostNames_Stub(
2790 struct IRpcStubBuffer* This,
2791 struct IRpcChannelBuffer* pRpcChannelBuffer,
2792 PRPC_MESSAGE pRpcMessage,
2793 DWORD* pdwStubPhase);
2794 HRESULT CALLBACK IOleObject_Close_Proxy(
2795 IOleObject* This,
2796 DWORD dwSaveOption);
2797 void __RPC_STUB IOleObject_Close_Stub(
2798 struct IRpcStubBuffer* This,
2799 struct IRpcChannelBuffer* pRpcChannelBuffer,
2800 PRPC_MESSAGE pRpcMessage,
2801 DWORD* pdwStubPhase);
2802 HRESULT CALLBACK IOleObject_SetMoniker_Proxy(
2803 IOleObject* This,
2804 DWORD dwWhichMoniker,
2805 IMoniker* pmk);
2806 void __RPC_STUB IOleObject_SetMoniker_Stub(
2807 struct IRpcStubBuffer* This,
2808 struct IRpcChannelBuffer* pRpcChannelBuffer,
2809 PRPC_MESSAGE pRpcMessage,
2810 DWORD* pdwStubPhase);
2811 HRESULT CALLBACK IOleObject_GetMoniker_Proxy(
2812 IOleObject* This,
2813 DWORD dwAssign,
2814 DWORD dwWhichMoniker,
2815 IMoniker** ppmk);
2816 void __RPC_STUB IOleObject_GetMoniker_Stub(
2817 struct IRpcStubBuffer* This,
2818 struct IRpcChannelBuffer* pRpcChannelBuffer,
2819 PRPC_MESSAGE pRpcMessage,
2820 DWORD* pdwStubPhase);
2821 HRESULT CALLBACK IOleObject_InitFromData_Proxy(
2822 IOleObject* This,
2823 IDataObject* pDataObject,
2824 BOOL fCreation,
2825 DWORD dwReserved);
2826 void __RPC_STUB IOleObject_InitFromData_Stub(
2827 struct IRpcStubBuffer* This,
2828 struct IRpcChannelBuffer* pRpcChannelBuffer,
2829 PRPC_MESSAGE pRpcMessage,
2830 DWORD* pdwStubPhase);
2831 HRESULT CALLBACK IOleObject_GetClipboardData_Proxy(
2832 IOleObject* This,
2833 DWORD dwReserved,
2834 IDataObject** ppDataObject);
2835 void __RPC_STUB IOleObject_GetClipboardData_Stub(
2836 struct IRpcStubBuffer* This,
2837 struct IRpcChannelBuffer* pRpcChannelBuffer,
2838 PRPC_MESSAGE pRpcMessage,
2839 DWORD* pdwStubPhase);
2840 HRESULT CALLBACK IOleObject_DoVerb_Proxy(
2841 IOleObject* This,
2842 LONG iVerb,
2843 LPMSG lpmsg,
2844 IOleClientSite* pActiveSite,
2845 LONG lindex,
2846 HWND hwndParent,
2847 LPCRECT lprcPosRect);
2848 void __RPC_STUB IOleObject_DoVerb_Stub(
2849 struct IRpcStubBuffer* This,
2850 struct IRpcChannelBuffer* pRpcChannelBuffer,
2851 PRPC_MESSAGE pRpcMessage,
2852 DWORD* pdwStubPhase);
2853 HRESULT CALLBACK IOleObject_EnumVerbs_Proxy(
2854 IOleObject* This,
2855 IEnumOLEVERB** ppEnumOleVerb);
2856 void __RPC_STUB IOleObject_EnumVerbs_Stub(
2857 struct IRpcStubBuffer* This,
2858 struct IRpcChannelBuffer* pRpcChannelBuffer,
2859 PRPC_MESSAGE pRpcMessage,
2860 DWORD* pdwStubPhase);
2861 HRESULT CALLBACK IOleObject_Update_Proxy(
2862 IOleObject* This);
2863 void __RPC_STUB IOleObject_Update_Stub(
2864 struct IRpcStubBuffer* This,
2865 struct IRpcChannelBuffer* pRpcChannelBuffer,
2866 PRPC_MESSAGE pRpcMessage,
2867 DWORD* pdwStubPhase);
2868 HRESULT CALLBACK IOleObject_IsUpToDate_Proxy(
2869 IOleObject* This);
2870 void __RPC_STUB IOleObject_IsUpToDate_Stub(
2871 struct IRpcStubBuffer* This,
2872 struct IRpcChannelBuffer* pRpcChannelBuffer,
2873 PRPC_MESSAGE pRpcMessage,
2874 DWORD* pdwStubPhase);
2875 HRESULT CALLBACK IOleObject_GetUserClassID_Proxy(
2876 IOleObject* This,
2877 CLSID* pClsid);
2878 void __RPC_STUB IOleObject_GetUserClassID_Stub(
2879 struct IRpcStubBuffer* This,
2880 struct IRpcChannelBuffer* pRpcChannelBuffer,
2881 PRPC_MESSAGE pRpcMessage,
2882 DWORD* pdwStubPhase);
2883 HRESULT CALLBACK IOleObject_GetUserType_Proxy(
2884 IOleObject* This,
2885 DWORD dwFormOfType,
2886 LPOLESTR* pszUserType);
2887 void __RPC_STUB IOleObject_GetUserType_Stub(
2888 struct IRpcStubBuffer* This,
2889 struct IRpcChannelBuffer* pRpcChannelBuffer,
2890 PRPC_MESSAGE pRpcMessage,
2891 DWORD* pdwStubPhase);
2892 HRESULT CALLBACK IOleObject_SetExtent_Proxy(
2893 IOleObject* This,
2894 DWORD dwDrawAspect,
2895 SIZEL* psizel);
2896 void __RPC_STUB IOleObject_SetExtent_Stub(
2897 struct IRpcStubBuffer* This,
2898 struct IRpcChannelBuffer* pRpcChannelBuffer,
2899 PRPC_MESSAGE pRpcMessage,
2900 DWORD* pdwStubPhase);
2901 HRESULT CALLBACK IOleObject_GetExtent_Proxy(
2902 IOleObject* This,
2903 DWORD dwDrawAspect,
2904 SIZEL* psizel);
2905 void __RPC_STUB IOleObject_GetExtent_Stub(
2906 struct IRpcStubBuffer* This,
2907 struct IRpcChannelBuffer* pRpcChannelBuffer,
2908 PRPC_MESSAGE pRpcMessage,
2909 DWORD* pdwStubPhase);
2910 HRESULT CALLBACK IOleObject_Advise_Proxy(
2911 IOleObject* This,
2912 IAdviseSink* pAdvSink,
2913 DWORD* pdwConnection);
2914 void __RPC_STUB IOleObject_Advise_Stub(
2915 struct IRpcStubBuffer* This,
2916 struct IRpcChannelBuffer* pRpcChannelBuffer,
2917 PRPC_MESSAGE pRpcMessage,
2918 DWORD* pdwStubPhase);
2919 HRESULT CALLBACK IOleObject_Unadvise_Proxy(
2920 IOleObject* This,
2921 DWORD dwConnection);
2922 void __RPC_STUB IOleObject_Unadvise_Stub(
2923 struct IRpcStubBuffer* This,
2924 struct IRpcChannelBuffer* pRpcChannelBuffer,
2925 PRPC_MESSAGE pRpcMessage,
2926 DWORD* pdwStubPhase);
2927 HRESULT CALLBACK IOleObject_EnumAdvise_Proxy(
2928 IOleObject* This,
2929 IEnumSTATDATA** ppenumAdvise);
2930 void __RPC_STUB IOleObject_EnumAdvise_Stub(
2931 struct IRpcStubBuffer* This,
2932 struct IRpcChannelBuffer* pRpcChannelBuffer,
2933 PRPC_MESSAGE pRpcMessage,
2934 DWORD* pdwStubPhase);
2935 HRESULT CALLBACK IOleObject_GetMiscStatus_Proxy(
2936 IOleObject* This,
2937 DWORD dwAspect,
2938 DWORD* pdwStatus);
2939 void __RPC_STUB IOleObject_GetMiscStatus_Stub(
2940 struct IRpcStubBuffer* This,
2941 struct IRpcChannelBuffer* pRpcChannelBuffer,
2942 PRPC_MESSAGE pRpcMessage,
2943 DWORD* pdwStubPhase);
2944 HRESULT CALLBACK IOleObject_SetColorScheme_Proxy(
2945 IOleObject* This,
2946 LOGPALETTE* pLogpal);
2947 void __RPC_STUB IOleObject_SetColorScheme_Stub(
2948 struct IRpcStubBuffer* This,
2949 struct IRpcChannelBuffer* pRpcChannelBuffer,
2950 PRPC_MESSAGE pRpcMessage,
2951 DWORD* pdwStubPhase);
2953 #endif /* __IOleObject_INTERFACE_DEFINED__ */
2955 #ifndef __IOleAdviseHolder_FWD_DEFINED__
2956 #define __IOleAdviseHolder_FWD_DEFINED__
2957 typedef struct IOleAdviseHolder IOleAdviseHolder;
2958 #endif
2960 typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
2962 /*****************************************************************************
2963 * IOleAdviseHolder interface
2965 #ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
2966 #define __IOleAdviseHolder_INTERFACE_DEFINED__
2968 DEFINE_GUID(IID_IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2969 #if defined(__cplusplus) && !defined(CINTERFACE)
2970 struct IOleAdviseHolder : public IUnknown
2972 virtual HRESULT STDMETHODCALLTYPE Advise(
2973 IAdviseSink* pAdvise,
2974 DWORD* pdwConnection) = 0;
2976 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2977 DWORD dwConnection) = 0;
2979 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2980 IEnumSTATDATA** ppenumAdvise) = 0;
2982 virtual HRESULT STDMETHODCALLTYPE SendOnRename(
2983 IMoniker* pmk) = 0;
2985 virtual HRESULT STDMETHODCALLTYPE SendOnSave(
2986 ) = 0;
2988 virtual HRESULT STDMETHODCALLTYPE SendOnClose(
2989 ) = 0;
2992 #else
2993 typedef struct IOleAdviseHolderVtbl IOleAdviseHolderVtbl;
2994 struct IOleAdviseHolder {
2995 const IOleAdviseHolderVtbl* lpVtbl;
2997 struct IOleAdviseHolderVtbl {
2998 ICOM_MSVTABLE_COMPAT_FIELDS
3000 /*** IUnknown methods ***/
3001 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3002 IOleAdviseHolder* This,
3003 REFIID riid,
3004 void** ppvObject);
3006 ULONG (STDMETHODCALLTYPE *AddRef)(
3007 IOleAdviseHolder* This);
3009 ULONG (STDMETHODCALLTYPE *Release)(
3010 IOleAdviseHolder* This);
3012 /*** IOleAdviseHolder methods ***/
3013 HRESULT (STDMETHODCALLTYPE *Advise)(
3014 IOleAdviseHolder* This,
3015 IAdviseSink* pAdvise,
3016 DWORD* pdwConnection);
3018 HRESULT (STDMETHODCALLTYPE *Unadvise)(
3019 IOleAdviseHolder* This,
3020 DWORD dwConnection);
3022 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
3023 IOleAdviseHolder* This,
3024 IEnumSTATDATA** ppenumAdvise);
3026 HRESULT (STDMETHODCALLTYPE *SendOnRename)(
3027 IOleAdviseHolder* This,
3028 IMoniker* pmk);
3030 HRESULT (STDMETHODCALLTYPE *SendOnSave)(
3031 IOleAdviseHolder* This);
3033 HRESULT (STDMETHODCALLTYPE *SendOnClose)(
3034 IOleAdviseHolder* This);
3038 /*** IUnknown methods ***/
3039 #define IOleAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3040 #define IOleAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
3041 #define IOleAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
3042 /*** IOleAdviseHolder methods ***/
3043 #define IOleAdviseHolder_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
3044 #define IOleAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3045 #define IOleAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
3046 #define IOleAdviseHolder_SendOnRename(p,a) (p)->lpVtbl->SendOnRename(p,a)
3047 #define IOleAdviseHolder_SendOnSave(p) (p)->lpVtbl->SendOnSave(p)
3048 #define IOleAdviseHolder_SendOnClose(p) (p)->lpVtbl->SendOnClose(p)
3050 #endif
3052 #define IOleAdviseHolder_METHODS \
3053 ICOM_MSVTABLE_COMPAT_FIELDS \
3054 /*** IUnknown methods ***/ \
3055 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3056 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3057 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3058 /*** IOleAdviseHolder methods ***/ \
3059 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
3060 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
3061 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
3062 STDMETHOD_(HRESULT,SendOnRename)(THIS_ IMoniker* pmk) PURE; \
3063 STDMETHOD_(HRESULT,SendOnSave)(THIS) PURE; \
3064 STDMETHOD_(HRESULT,SendOnClose)(THIS) PURE;
3066 HRESULT CALLBACK IOleAdviseHolder_Advise_Proxy(
3067 IOleAdviseHolder* This,
3068 IAdviseSink* pAdvise,
3069 DWORD* pdwConnection);
3070 void __RPC_STUB IOleAdviseHolder_Advise_Stub(
3071 struct IRpcStubBuffer* This,
3072 struct IRpcChannelBuffer* pRpcChannelBuffer,
3073 PRPC_MESSAGE pRpcMessage,
3074 DWORD* pdwStubPhase);
3075 HRESULT CALLBACK IOleAdviseHolder_Unadvise_Proxy(
3076 IOleAdviseHolder* This,
3077 DWORD dwConnection);
3078 void __RPC_STUB IOleAdviseHolder_Unadvise_Stub(
3079 struct IRpcStubBuffer* This,
3080 struct IRpcChannelBuffer* pRpcChannelBuffer,
3081 PRPC_MESSAGE pRpcMessage,
3082 DWORD* pdwStubPhase);
3083 HRESULT CALLBACK IOleAdviseHolder_EnumAdvise_Proxy(
3084 IOleAdviseHolder* This,
3085 IEnumSTATDATA** ppenumAdvise);
3086 void __RPC_STUB IOleAdviseHolder_EnumAdvise_Stub(
3087 struct IRpcStubBuffer* This,
3088 struct IRpcChannelBuffer* pRpcChannelBuffer,
3089 PRPC_MESSAGE pRpcMessage,
3090 DWORD* pdwStubPhase);
3091 HRESULT CALLBACK IOleAdviseHolder_SendOnRename_Proxy(
3092 IOleAdviseHolder* This,
3093 IMoniker* pmk);
3094 void __RPC_STUB IOleAdviseHolder_SendOnRename_Stub(
3095 struct IRpcStubBuffer* This,
3096 struct IRpcChannelBuffer* pRpcChannelBuffer,
3097 PRPC_MESSAGE pRpcMessage,
3098 DWORD* pdwStubPhase);
3099 HRESULT CALLBACK IOleAdviseHolder_SendOnSave_Proxy(
3100 IOleAdviseHolder* This);
3101 void __RPC_STUB IOleAdviseHolder_SendOnSave_Stub(
3102 struct IRpcStubBuffer* This,
3103 struct IRpcChannelBuffer* pRpcChannelBuffer,
3104 PRPC_MESSAGE pRpcMessage,
3105 DWORD* pdwStubPhase);
3106 HRESULT CALLBACK IOleAdviseHolder_SendOnClose_Proxy(
3107 IOleAdviseHolder* This);
3108 void __RPC_STUB IOleAdviseHolder_SendOnClose_Stub(
3109 struct IRpcStubBuffer* This,
3110 struct IRpcChannelBuffer* pRpcChannelBuffer,
3111 PRPC_MESSAGE pRpcMessage,
3112 DWORD* pdwStubPhase);
3114 #endif /* __IOleAdviseHolder_INTERFACE_DEFINED__ */
3116 #ifndef __IContinue_FWD_DEFINED__
3117 #define __IContinue_FWD_DEFINED__
3118 typedef struct IContinue IContinue;
3119 #endif
3121 /*****************************************************************************
3122 * IContinue interface
3124 #ifndef __IContinue_INTERFACE_DEFINED__
3125 #define __IContinue_INTERFACE_DEFINED__
3127 DEFINE_GUID(IID_IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3128 #if defined(__cplusplus) && !defined(CINTERFACE)
3129 struct IContinue : public IUnknown
3131 virtual HRESULT STDMETHODCALLTYPE FContinue(
3132 ) = 0;
3135 #else
3136 typedef struct IContinueVtbl IContinueVtbl;
3137 struct IContinue {
3138 const IContinueVtbl* lpVtbl;
3140 struct IContinueVtbl {
3141 ICOM_MSVTABLE_COMPAT_FIELDS
3143 /*** IUnknown methods ***/
3144 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3145 IContinue* This,
3146 REFIID riid,
3147 void** ppvObject);
3149 ULONG (STDMETHODCALLTYPE *AddRef)(
3150 IContinue* This);
3152 ULONG (STDMETHODCALLTYPE *Release)(
3153 IContinue* This);
3155 /*** IContinue methods ***/
3156 HRESULT (STDMETHODCALLTYPE *FContinue)(
3157 IContinue* This);
3161 /*** IUnknown methods ***/
3162 #define IContinue_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3163 #define IContinue_AddRef(p) (p)->lpVtbl->AddRef(p)
3164 #define IContinue_Release(p) (p)->lpVtbl->Release(p)
3165 /*** IContinue methods ***/
3166 #define IContinue_FContinue(p) (p)->lpVtbl->FContinue(p)
3168 #endif
3170 #define IContinue_METHODS \
3171 ICOM_MSVTABLE_COMPAT_FIELDS \
3172 /*** IUnknown methods ***/ \
3173 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3174 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3175 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3176 /*** IContinue methods ***/ \
3177 STDMETHOD_(HRESULT,FContinue)(THIS) PURE;
3179 HRESULT CALLBACK IContinue_FContinue_Proxy(
3180 IContinue* This);
3181 void __RPC_STUB IContinue_FContinue_Stub(
3182 struct IRpcStubBuffer* This,
3183 struct IRpcChannelBuffer* pRpcChannelBuffer,
3184 PRPC_MESSAGE pRpcMessage,
3185 DWORD* pdwStubPhase);
3187 #endif /* __IContinue_INTERFACE_DEFINED__ */
3189 #ifndef __IViewObject_FWD_DEFINED__
3190 #define __IViewObject_FWD_DEFINED__
3191 typedef struct IViewObject IViewObject;
3192 #endif
3194 typedef IViewObject *LPVIEWOBJECT;
3196 /*****************************************************************************
3197 * IViewObject interface
3199 #ifndef __IViewObject_INTERFACE_DEFINED__
3200 #define __IViewObject_INTERFACE_DEFINED__
3202 DEFINE_GUID(IID_IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3203 #if defined(__cplusplus) && !defined(CINTERFACE)
3204 struct IViewObject : public IUnknown
3206 virtual HRESULT STDMETHODCALLTYPE Draw(
3207 DWORD dwDrawAspect,
3208 LONG lindex,
3209 void* pvAspect,
3210 DVTARGETDEVICE* ptd,
3211 HDC hdcTargetDev,
3212 HDC hdcDraw,
3213 LPCRECTL lprcBounds,
3214 LPCRECTL lprcWBounds,
3215 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3216 ULONG_PTR dwContinue) = 0;
3218 virtual HRESULT STDMETHODCALLTYPE GetColorSet(
3219 DWORD dwDrawAspect,
3220 LONG lindex,
3221 void* pvAspect,
3222 DVTARGETDEVICE* ptd,
3223 HDC hicTargetDev,
3224 LOGPALETTE** ppColorSet) = 0;
3226 virtual HRESULT STDMETHODCALLTYPE Freeze(
3227 DWORD dwDrawAspect,
3228 LONG lindex,
3229 void* pvAspect,
3230 DWORD* pdwFreeze) = 0;
3232 virtual HRESULT STDMETHODCALLTYPE Unfreeze(
3233 DWORD dwFreeze) = 0;
3235 virtual HRESULT STDMETHODCALLTYPE SetAdvise(
3236 DWORD aspects,
3237 DWORD advf,
3238 IAdviseSink* pAdvSink) = 0;
3240 virtual HRESULT STDMETHODCALLTYPE GetAdvise(
3241 DWORD* pAspects,
3242 DWORD* pAdvf,
3243 IAdviseSink** ppAdvSink) = 0;
3246 #else
3247 typedef struct IViewObjectVtbl IViewObjectVtbl;
3248 struct IViewObject {
3249 const IViewObjectVtbl* lpVtbl;
3251 struct IViewObjectVtbl {
3252 ICOM_MSVTABLE_COMPAT_FIELDS
3254 /*** IUnknown methods ***/
3255 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3256 IViewObject* This,
3257 REFIID riid,
3258 void** ppvObject);
3260 ULONG (STDMETHODCALLTYPE *AddRef)(
3261 IViewObject* This);
3263 ULONG (STDMETHODCALLTYPE *Release)(
3264 IViewObject* This);
3266 /*** IViewObject methods ***/
3267 HRESULT (STDMETHODCALLTYPE *Draw)(
3268 IViewObject* This,
3269 DWORD dwDrawAspect,
3270 LONG lindex,
3271 void* pvAspect,
3272 DVTARGETDEVICE* ptd,
3273 HDC hdcTargetDev,
3274 HDC hdcDraw,
3275 LPCRECTL lprcBounds,
3276 LPCRECTL lprcWBounds,
3277 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3278 ULONG_PTR dwContinue);
3280 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3281 IViewObject* This,
3282 DWORD dwDrawAspect,
3283 LONG lindex,
3284 void* pvAspect,
3285 DVTARGETDEVICE* ptd,
3286 HDC hicTargetDev,
3287 LOGPALETTE** ppColorSet);
3289 HRESULT (STDMETHODCALLTYPE *Freeze)(
3290 IViewObject* This,
3291 DWORD dwDrawAspect,
3292 LONG lindex,
3293 void* pvAspect,
3294 DWORD* pdwFreeze);
3296 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3297 IViewObject* This,
3298 DWORD dwFreeze);
3300 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3301 IViewObject* This,
3302 DWORD aspects,
3303 DWORD advf,
3304 IAdviseSink* pAdvSink);
3306 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3307 IViewObject* This,
3308 DWORD* pAspects,
3309 DWORD* pAdvf,
3310 IAdviseSink** ppAdvSink);
3314 /*** IUnknown methods ***/
3315 #define IViewObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3316 #define IViewObject_AddRef(p) (p)->lpVtbl->AddRef(p)
3317 #define IViewObject_Release(p) (p)->lpVtbl->Release(p)
3318 /*** IViewObject methods ***/
3319 #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)
3320 #define IViewObject_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3321 #define IViewObject_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3322 #define IViewObject_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3323 #define IViewObject_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3324 #define IViewObject_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3326 #endif
3328 #define IViewObject_METHODS \
3329 ICOM_MSVTABLE_COMPAT_FIELDS \
3330 /*** IUnknown methods ***/ \
3331 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3332 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3333 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3334 /*** IViewObject methods ***/ \
3335 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; \
3336 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3337 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3338 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3339 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3340 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE;
3342 HRESULT CALLBACK IViewObject_RemoteDraw_Proxy(
3343 IViewObject* This,
3344 DWORD dwDrawAspect,
3345 LONG lindex,
3346 ULONG_PTR pvAspect,
3347 DVTARGETDEVICE* ptd,
3348 ULONG_PTR hdcTargetDev,
3349 ULONG_PTR hdcDraw,
3350 LPCRECTL lprcBounds,
3351 LPCRECTL lprcWBounds,
3352 IContinue* pContinue);
3353 void __RPC_STUB IViewObject_RemoteDraw_Stub(
3354 struct IRpcStubBuffer* This,
3355 struct IRpcChannelBuffer* pRpcChannelBuffer,
3356 PRPC_MESSAGE pRpcMessage,
3357 DWORD* pdwStubPhase);
3358 HRESULT CALLBACK IViewObject_Draw_Proxy(
3359 IViewObject* This,
3360 DWORD dwDrawAspect,
3361 LONG lindex,
3362 void* pvAspect,
3363 DVTARGETDEVICE* ptd,
3364 HDC hdcTargetDev,
3365 HDC hdcDraw,
3366 LPCRECTL lprcBounds,
3367 LPCRECTL lprcWBounds,
3368 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3369 ULONG_PTR dwContinue);
3370 HRESULT __RPC_STUB IViewObject_Draw_Stub(
3371 IViewObject* This,
3372 DWORD dwDrawAspect,
3373 LONG lindex,
3374 ULONG_PTR pvAspect,
3375 DVTARGETDEVICE* ptd,
3376 ULONG_PTR hdcTargetDev,
3377 ULONG_PTR hdcDraw,
3378 LPCRECTL lprcBounds,
3379 LPCRECTL lprcWBounds,
3380 IContinue* pContinue);
3381 HRESULT CALLBACK IViewObject_RemoteGetColorSet_Proxy(
3382 IViewObject* This,
3383 DWORD dwDrawAspect,
3384 LONG lindex,
3385 ULONG_PTR pvAspect,
3386 DVTARGETDEVICE* ptd,
3387 ULONG_PTR hicTargetDev,
3388 LOGPALETTE** ppColorSet);
3389 void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(
3390 struct IRpcStubBuffer* This,
3391 struct IRpcChannelBuffer* pRpcChannelBuffer,
3392 PRPC_MESSAGE pRpcMessage,
3393 DWORD* pdwStubPhase);
3394 HRESULT CALLBACK IViewObject_GetColorSet_Proxy(
3395 IViewObject* This,
3396 DWORD dwDrawAspect,
3397 LONG lindex,
3398 void* pvAspect,
3399 DVTARGETDEVICE* ptd,
3400 HDC hicTargetDev,
3401 LOGPALETTE** ppColorSet);
3402 HRESULT __RPC_STUB IViewObject_GetColorSet_Stub(
3403 IViewObject* This,
3404 DWORD dwDrawAspect,
3405 LONG lindex,
3406 ULONG_PTR pvAspect,
3407 DVTARGETDEVICE* ptd,
3408 ULONG_PTR hicTargetDev,
3409 LOGPALETTE** ppColorSet);
3410 HRESULT CALLBACK IViewObject_RemoteFreeze_Proxy(
3411 IViewObject* This,
3412 DWORD dwDrawAspect,
3413 LONG lindex,
3414 ULONG_PTR pvAspect,
3415 DWORD* pdwFreeze);
3416 void __RPC_STUB IViewObject_RemoteFreeze_Stub(
3417 struct IRpcStubBuffer* This,
3418 struct IRpcChannelBuffer* pRpcChannelBuffer,
3419 PRPC_MESSAGE pRpcMessage,
3420 DWORD* pdwStubPhase);
3421 HRESULT CALLBACK IViewObject_Freeze_Proxy(
3422 IViewObject* This,
3423 DWORD dwDrawAspect,
3424 LONG lindex,
3425 void* pvAspect,
3426 DWORD* pdwFreeze);
3427 HRESULT __RPC_STUB IViewObject_Freeze_Stub(
3428 IViewObject* This,
3429 DWORD dwDrawAspect,
3430 LONG lindex,
3431 ULONG_PTR pvAspect,
3432 DWORD* pdwFreeze);
3433 HRESULT CALLBACK IViewObject_Unfreeze_Proxy(
3434 IViewObject* This,
3435 DWORD dwFreeze);
3436 void __RPC_STUB IViewObject_Unfreeze_Stub(
3437 struct IRpcStubBuffer* This,
3438 struct IRpcChannelBuffer* pRpcChannelBuffer,
3439 PRPC_MESSAGE pRpcMessage,
3440 DWORD* pdwStubPhase);
3441 HRESULT CALLBACK IViewObject_SetAdvise_Proxy(
3442 IViewObject* This,
3443 DWORD aspects,
3444 DWORD advf,
3445 IAdviseSink* pAdvSink);
3446 void __RPC_STUB IViewObject_SetAdvise_Stub(
3447 struct IRpcStubBuffer* This,
3448 struct IRpcChannelBuffer* pRpcChannelBuffer,
3449 PRPC_MESSAGE pRpcMessage,
3450 DWORD* pdwStubPhase);
3451 HRESULT CALLBACK IViewObject_RemoteGetAdvise_Proxy(
3452 IViewObject* This,
3453 DWORD* pAspects,
3454 DWORD* pAdvf,
3455 IAdviseSink** ppAdvSink);
3456 void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(
3457 struct IRpcStubBuffer* This,
3458 struct IRpcChannelBuffer* pRpcChannelBuffer,
3459 PRPC_MESSAGE pRpcMessage,
3460 DWORD* pdwStubPhase);
3461 HRESULT CALLBACK IViewObject_GetAdvise_Proxy(
3462 IViewObject* This,
3463 DWORD* pAspects,
3464 DWORD* pAdvf,
3465 IAdviseSink** ppAdvSink);
3466 HRESULT __RPC_STUB IViewObject_GetAdvise_Stub(
3467 IViewObject* This,
3468 DWORD* pAspects,
3469 DWORD* pAdvf,
3470 IAdviseSink** ppAdvSink);
3472 #endif /* __IViewObject_INTERFACE_DEFINED__ */
3474 #ifndef __IViewObject2_FWD_DEFINED__
3475 #define __IViewObject2_FWD_DEFINED__
3476 typedef struct IViewObject2 IViewObject2;
3477 #endif
3479 typedef IViewObject2 *LPVIEWOBJECT2;
3481 /*****************************************************************************
3482 * IViewObject2 interface
3484 #ifndef __IViewObject2_INTERFACE_DEFINED__
3485 #define __IViewObject2_INTERFACE_DEFINED__
3487 DEFINE_GUID(IID_IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3488 #if defined(__cplusplus) && !defined(CINTERFACE)
3489 struct IViewObject2 : public IViewObject
3491 virtual HRESULT STDMETHODCALLTYPE GetExtent(
3492 DWORD dwDrawAspect,
3493 LONG lindex,
3494 DVTARGETDEVICE* ptd,
3495 LPSIZEL lpsizel) = 0;
3498 #else
3499 typedef struct IViewObject2Vtbl IViewObject2Vtbl;
3500 struct IViewObject2 {
3501 const IViewObject2Vtbl* lpVtbl;
3503 struct IViewObject2Vtbl {
3504 ICOM_MSVTABLE_COMPAT_FIELDS
3506 /*** IUnknown methods ***/
3507 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3508 IViewObject2* This,
3509 REFIID riid,
3510 void** ppvObject);
3512 ULONG (STDMETHODCALLTYPE *AddRef)(
3513 IViewObject2* This);
3515 ULONG (STDMETHODCALLTYPE *Release)(
3516 IViewObject2* This);
3518 /*** IViewObject methods ***/
3519 HRESULT (STDMETHODCALLTYPE *Draw)(
3520 IViewObject2* This,
3521 DWORD dwDrawAspect,
3522 LONG lindex,
3523 void* pvAspect,
3524 DVTARGETDEVICE* ptd,
3525 HDC hdcTargetDev,
3526 HDC hdcDraw,
3527 LPCRECTL lprcBounds,
3528 LPCRECTL lprcWBounds,
3529 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3530 ULONG_PTR dwContinue);
3532 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3533 IViewObject2* This,
3534 DWORD dwDrawAspect,
3535 LONG lindex,
3536 void* pvAspect,
3537 DVTARGETDEVICE* ptd,
3538 HDC hicTargetDev,
3539 LOGPALETTE** ppColorSet);
3541 HRESULT (STDMETHODCALLTYPE *Freeze)(
3542 IViewObject2* This,
3543 DWORD dwDrawAspect,
3544 LONG lindex,
3545 void* pvAspect,
3546 DWORD* pdwFreeze);
3548 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3549 IViewObject2* This,
3550 DWORD dwFreeze);
3552 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3553 IViewObject2* This,
3554 DWORD aspects,
3555 DWORD advf,
3556 IAdviseSink* pAdvSink);
3558 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3559 IViewObject2* This,
3560 DWORD* pAspects,
3561 DWORD* pAdvf,
3562 IAdviseSink** ppAdvSink);
3564 /*** IViewObject2 methods ***/
3565 HRESULT (STDMETHODCALLTYPE *GetExtent)(
3566 IViewObject2* This,
3567 DWORD dwDrawAspect,
3568 LONG lindex,
3569 DVTARGETDEVICE* ptd,
3570 LPSIZEL lpsizel);
3574 /*** IUnknown methods ***/
3575 #define IViewObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3576 #define IViewObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
3577 #define IViewObject2_Release(p) (p)->lpVtbl->Release(p)
3578 /*** IViewObject methods ***/
3579 #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)
3580 #define IViewObject2_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3581 #define IViewObject2_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3582 #define IViewObject2_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3583 #define IViewObject2_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3584 #define IViewObject2_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3585 /*** IViewObject2 methods ***/
3586 #define IViewObject2_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
3588 #endif
3590 #define IViewObject2_METHODS \
3591 ICOM_MSVTABLE_COMPAT_FIELDS \
3592 /*** IUnknown methods ***/ \
3593 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3594 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3595 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3596 /*** IViewObject methods ***/ \
3597 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; \
3598 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3599 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3600 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3601 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3602 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE; \
3603 /*** IViewObject2 methods ***/ \
3604 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel) PURE;
3606 HRESULT CALLBACK IViewObject2_GetExtent_Proxy(
3607 IViewObject2* This,
3608 DWORD dwDrawAspect,
3609 LONG lindex,
3610 DVTARGETDEVICE* ptd,
3611 LPSIZEL lpsizel);
3612 void __RPC_STUB IViewObject2_GetExtent_Stub(
3613 struct IRpcStubBuffer* This,
3614 struct IRpcChannelBuffer* pRpcChannelBuffer,
3615 PRPC_MESSAGE pRpcMessage,
3616 DWORD* pdwStubPhase);
3618 #endif /* __IViewObject2_INTERFACE_DEFINED__ */
3620 #ifndef __IDropSource_FWD_DEFINED__
3621 #define __IDropSource_FWD_DEFINED__
3622 typedef struct IDropSource IDropSource;
3623 #endif
3625 typedef IDropSource *LPDROPSOURCE;
3627 /*****************************************************************************
3628 * IDropSource interface
3630 #ifndef __IDropSource_INTERFACE_DEFINED__
3631 #define __IDropSource_INTERFACE_DEFINED__
3633 DEFINE_GUID(IID_IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3634 #if defined(__cplusplus) && !defined(CINTERFACE)
3635 struct IDropSource : public IUnknown
3637 virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(
3638 BOOL fEscapePressed,
3639 DWORD grfKeyState) = 0;
3641 virtual HRESULT STDMETHODCALLTYPE GiveFeedback(
3642 DWORD dwEffect) = 0;
3645 #else
3646 typedef struct IDropSourceVtbl IDropSourceVtbl;
3647 struct IDropSource {
3648 const IDropSourceVtbl* lpVtbl;
3650 struct IDropSourceVtbl {
3651 ICOM_MSVTABLE_COMPAT_FIELDS
3653 /*** IUnknown methods ***/
3654 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3655 IDropSource* This,
3656 REFIID riid,
3657 void** ppvObject);
3659 ULONG (STDMETHODCALLTYPE *AddRef)(
3660 IDropSource* This);
3662 ULONG (STDMETHODCALLTYPE *Release)(
3663 IDropSource* This);
3665 /*** IDropSource methods ***/
3666 HRESULT (STDMETHODCALLTYPE *QueryContinueDrag)(
3667 IDropSource* This,
3668 BOOL fEscapePressed,
3669 DWORD grfKeyState);
3671 HRESULT (STDMETHODCALLTYPE *GiveFeedback)(
3672 IDropSource* This,
3673 DWORD dwEffect);
3677 /*** IUnknown methods ***/
3678 #define IDropSource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3679 #define IDropSource_AddRef(p) (p)->lpVtbl->AddRef(p)
3680 #define IDropSource_Release(p) (p)->lpVtbl->Release(p)
3681 /*** IDropSource methods ***/
3682 #define IDropSource_QueryContinueDrag(p,a,b) (p)->lpVtbl->QueryContinueDrag(p,a,b)
3683 #define IDropSource_GiveFeedback(p,a) (p)->lpVtbl->GiveFeedback(p,a)
3685 #endif
3687 #define IDropSource_METHODS \
3688 ICOM_MSVTABLE_COMPAT_FIELDS \
3689 /*** IUnknown methods ***/ \
3690 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3691 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3692 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3693 /*** IDropSource methods ***/ \
3694 STDMETHOD_(HRESULT,QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
3695 STDMETHOD_(HRESULT,GiveFeedback)(THIS_ DWORD dwEffect) PURE;
3697 HRESULT CALLBACK IDropSource_QueryContinueDrag_Proxy(
3698 IDropSource* This,
3699 BOOL fEscapePressed,
3700 DWORD grfKeyState);
3701 void __RPC_STUB IDropSource_QueryContinueDrag_Stub(
3702 struct IRpcStubBuffer* This,
3703 struct IRpcChannelBuffer* pRpcChannelBuffer,
3704 PRPC_MESSAGE pRpcMessage,
3705 DWORD* pdwStubPhase);
3706 HRESULT CALLBACK IDropSource_GiveFeedback_Proxy(
3707 IDropSource* This,
3708 DWORD dwEffect);
3709 void __RPC_STUB IDropSource_GiveFeedback_Stub(
3710 struct IRpcStubBuffer* This,
3711 struct IRpcChannelBuffer* pRpcChannelBuffer,
3712 PRPC_MESSAGE pRpcMessage,
3713 DWORD* pdwStubPhase);
3715 #endif /* __IDropSource_INTERFACE_DEFINED__ */
3717 #ifndef __IDropTarget_FWD_DEFINED__
3718 #define __IDropTarget_FWD_DEFINED__
3719 typedef struct IDropTarget IDropTarget;
3720 #endif
3722 typedef IDropTarget *LPDROPTARGET;
3724 #define MK_ALT (0x20)
3726 #define DROPEFFECT_NONE (0)
3728 #define DROPEFFECT_COPY (1)
3730 #define DROPEFFECT_MOVE (2)
3732 #define DROPEFFECT_LINK (4)
3734 #define DROPEFFECT_SCROLL (0x80000000)
3736 #define DD_DEFSCROLLINSET (11)
3738 #define DD_DEFSCROLLDELAY (50)
3740 #define DD_DEFSCROLLINTERVAL (50)
3742 #define DD_DEFDRAGDELAY (200)
3744 #define DD_DEFDRAGMINDIST (2)
3746 /*****************************************************************************
3747 * IDropTarget interface
3749 #ifndef __IDropTarget_INTERFACE_DEFINED__
3750 #define __IDropTarget_INTERFACE_DEFINED__
3752 DEFINE_GUID(IID_IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3753 #if defined(__cplusplus) && !defined(CINTERFACE)
3754 struct IDropTarget : public IUnknown
3756 virtual HRESULT STDMETHODCALLTYPE DragEnter(
3757 IDataObject* pDataObj,
3758 DWORD grfKeyState,
3759 POINTL pt,
3760 DWORD* pdwEffect) = 0;
3762 virtual HRESULT STDMETHODCALLTYPE DragOver(
3763 DWORD grfKeyState,
3764 POINTL pt,
3765 DWORD* pdwEffect) = 0;
3767 virtual HRESULT STDMETHODCALLTYPE DragLeave(
3768 ) = 0;
3770 virtual HRESULT STDMETHODCALLTYPE Drop(
3771 IDataObject* pDataObj,
3772 DWORD grfKeyState,
3773 POINTL pt,
3774 DWORD* pdwEffect) = 0;
3777 #else
3778 typedef struct IDropTargetVtbl IDropTargetVtbl;
3779 struct IDropTarget {
3780 const IDropTargetVtbl* lpVtbl;
3782 struct IDropTargetVtbl {
3783 ICOM_MSVTABLE_COMPAT_FIELDS
3785 /*** IUnknown methods ***/
3786 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3787 IDropTarget* This,
3788 REFIID riid,
3789 void** ppvObject);
3791 ULONG (STDMETHODCALLTYPE *AddRef)(
3792 IDropTarget* This);
3794 ULONG (STDMETHODCALLTYPE *Release)(
3795 IDropTarget* This);
3797 /*** IDropTarget methods ***/
3798 HRESULT (STDMETHODCALLTYPE *DragEnter)(
3799 IDropTarget* This,
3800 IDataObject* pDataObj,
3801 DWORD grfKeyState,
3802 POINTL pt,
3803 DWORD* pdwEffect);
3805 HRESULT (STDMETHODCALLTYPE *DragOver)(
3806 IDropTarget* This,
3807 DWORD grfKeyState,
3808 POINTL pt,
3809 DWORD* pdwEffect);
3811 HRESULT (STDMETHODCALLTYPE *DragLeave)(
3812 IDropTarget* This);
3814 HRESULT (STDMETHODCALLTYPE *Drop)(
3815 IDropTarget* This,
3816 IDataObject* pDataObj,
3817 DWORD grfKeyState,
3818 POINTL pt,
3819 DWORD* pdwEffect);
3823 /*** IUnknown methods ***/
3824 #define IDropTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3825 #define IDropTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
3826 #define IDropTarget_Release(p) (p)->lpVtbl->Release(p)
3827 /*** IDropTarget methods ***/
3828 #define IDropTarget_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3829 #define IDropTarget_DragOver(p,a,b,c) (p)->lpVtbl->DragOver(p,a,b,c)
3830 #define IDropTarget_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3831 #define IDropTarget_Drop(p,a,b,c,d) (p)->lpVtbl->Drop(p,a,b,c,d)
3833 #endif
3835 #define IDropTarget_METHODS \
3836 ICOM_MSVTABLE_COMPAT_FIELDS \
3837 /*** IUnknown methods ***/ \
3838 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3839 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3840 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3841 /*** IDropTarget methods ***/ \
3842 STDMETHOD_(HRESULT,DragEnter)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3843 STDMETHOD_(HRESULT,DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3844 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3845 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE;
3847 HRESULT CALLBACK IDropTarget_DragEnter_Proxy(
3848 IDropTarget* This,
3849 IDataObject* pDataObj,
3850 DWORD grfKeyState,
3851 POINTL pt,
3852 DWORD* pdwEffect);
3853 void __RPC_STUB IDropTarget_DragEnter_Stub(
3854 struct IRpcStubBuffer* This,
3855 struct IRpcChannelBuffer* pRpcChannelBuffer,
3856 PRPC_MESSAGE pRpcMessage,
3857 DWORD* pdwStubPhase);
3858 HRESULT CALLBACK IDropTarget_DragOver_Proxy(
3859 IDropTarget* This,
3860 DWORD grfKeyState,
3861 POINTL pt,
3862 DWORD* pdwEffect);
3863 void __RPC_STUB IDropTarget_DragOver_Stub(
3864 struct IRpcStubBuffer* This,
3865 struct IRpcChannelBuffer* pRpcChannelBuffer,
3866 PRPC_MESSAGE pRpcMessage,
3867 DWORD* pdwStubPhase);
3868 HRESULT CALLBACK IDropTarget_DragLeave_Proxy(
3869 IDropTarget* This);
3870 void __RPC_STUB IDropTarget_DragLeave_Stub(
3871 struct IRpcStubBuffer* This,
3872 struct IRpcChannelBuffer* pRpcChannelBuffer,
3873 PRPC_MESSAGE pRpcMessage,
3874 DWORD* pdwStubPhase);
3875 HRESULT CALLBACK IDropTarget_Drop_Proxy(
3876 IDropTarget* This,
3877 IDataObject* pDataObj,
3878 DWORD grfKeyState,
3879 POINTL pt,
3880 DWORD* pdwEffect);
3881 void __RPC_STUB IDropTarget_Drop_Stub(
3882 struct IRpcStubBuffer* This,
3883 struct IRpcChannelBuffer* pRpcChannelBuffer,
3884 PRPC_MESSAGE pRpcMessage,
3885 DWORD* pdwStubPhase);
3887 #endif /* __IDropTarget_INTERFACE_DEFINED__ */
3889 #ifdef __cplusplus
3891 #endif
3892 #endif /* __WIDL_OLEIDL_H */