Stop testing a sequence upon the first expected error, to avoid
[wine.git] / include / oleidl.h
blob56ddb4a825b9ac2457cfe29a7f71ee2510c9c60f
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 BEGIN_INTERFACE
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);
82 END_INTERFACE
85 #ifdef COBJMACROS
86 /*** IUnknown methods ***/
87 #define IOleWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
88 #define IOleWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
89 #define IOleWindow_Release(p) (p)->lpVtbl->Release(p)
90 /*** IOleWindow methods ***/
91 #define IOleWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
92 #define IOleWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
93 #endif
95 #endif
97 #define IOleWindow_METHODS \
98 /*** IUnknown methods ***/ \
99 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
100 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
101 STDMETHOD_(ULONG,Release)(THIS) PURE; \
102 /*** IOleWindow methods ***/ \
103 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
104 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE;
106 HRESULT CALLBACK IOleWindow_GetWindow_Proxy(
107 IOleWindow* This,
108 HWND* phwnd);
109 void __RPC_STUB IOleWindow_GetWindow_Stub(
110 struct IRpcStubBuffer* This,
111 struct IRpcChannelBuffer* pRpcChannelBuffer,
112 PRPC_MESSAGE pRpcMessage,
113 DWORD* pdwStubPhase);
114 HRESULT CALLBACK IOleWindow_ContextSensitiveHelp_Proxy(
115 IOleWindow* This,
116 BOOL fEnterMode);
117 void __RPC_STUB IOleWindow_ContextSensitiveHelp_Stub(
118 struct IRpcStubBuffer* This,
119 struct IRpcChannelBuffer* pRpcChannelBuffer,
120 PRPC_MESSAGE pRpcMessage,
121 DWORD* pdwStubPhase);
123 #endif /* __IOleWindow_INTERFACE_DEFINED__ */
125 #ifndef __IOleInPlaceObject_FWD_DEFINED__
126 #define __IOleInPlaceObject_FWD_DEFINED__
127 typedef struct IOleInPlaceObject IOleInPlaceObject;
128 #endif
130 typedef IOleInPlaceObject *LPOLEINPLACEOBJECT;
132 /*****************************************************************************
133 * IOleInPlaceObject interface
135 #ifndef __IOleInPlaceObject_INTERFACE_DEFINED__
136 #define __IOleInPlaceObject_INTERFACE_DEFINED__
138 DEFINE_GUID(IID_IOleInPlaceObject, 0x00000113, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
139 #if defined(__cplusplus) && !defined(CINTERFACE)
140 struct IOleInPlaceObject : public IOleWindow
142 virtual HRESULT STDMETHODCALLTYPE InPlaceDeactivate(
143 ) = 0;
145 virtual HRESULT STDMETHODCALLTYPE UIDeactivate(
146 ) = 0;
148 virtual HRESULT STDMETHODCALLTYPE SetObjectRects(
149 LPCRECT lprcPosRect,
150 LPCRECT lprcClipRect) = 0;
152 virtual HRESULT STDMETHODCALLTYPE ReactivateAndUndo(
153 ) = 0;
156 #else
157 typedef struct IOleInPlaceObjectVtbl IOleInPlaceObjectVtbl;
158 struct IOleInPlaceObject {
159 const IOleInPlaceObjectVtbl* lpVtbl;
161 struct IOleInPlaceObjectVtbl {
162 BEGIN_INTERFACE
164 /*** IUnknown methods ***/
165 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
166 IOleInPlaceObject* This,
167 REFIID riid,
168 void** ppvObject);
170 ULONG (STDMETHODCALLTYPE *AddRef)(
171 IOleInPlaceObject* This);
173 ULONG (STDMETHODCALLTYPE *Release)(
174 IOleInPlaceObject* This);
176 /*** IOleWindow methods ***/
177 HRESULT (STDMETHODCALLTYPE *GetWindow)(
178 IOleInPlaceObject* This,
179 HWND* phwnd);
181 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
182 IOleInPlaceObject* This,
183 BOOL fEnterMode);
185 /*** IOleInPlaceObject methods ***/
186 HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
187 IOleInPlaceObject* This);
189 HRESULT (STDMETHODCALLTYPE *UIDeactivate)(
190 IOleInPlaceObject* This);
192 HRESULT (STDMETHODCALLTYPE *SetObjectRects)(
193 IOleInPlaceObject* This,
194 LPCRECT lprcPosRect,
195 LPCRECT lprcClipRect);
197 HRESULT (STDMETHODCALLTYPE *ReactivateAndUndo)(
198 IOleInPlaceObject* This);
200 END_INTERFACE
203 #ifdef COBJMACROS
204 /*** IUnknown methods ***/
205 #define IOleInPlaceObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
206 #define IOleInPlaceObject_AddRef(p) (p)->lpVtbl->AddRef(p)
207 #define IOleInPlaceObject_Release(p) (p)->lpVtbl->Release(p)
208 /*** IOleWindow methods ***/
209 #define IOleInPlaceObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
210 #define IOleInPlaceObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
211 /*** IOleInPlaceObject methods ***/
212 #define IOleInPlaceObject_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
213 #define IOleInPlaceObject_UIDeactivate(p) (p)->lpVtbl->UIDeactivate(p)
214 #define IOleInPlaceObject_SetObjectRects(p,a,b) (p)->lpVtbl->SetObjectRects(p,a,b)
215 #define IOleInPlaceObject_ReactivateAndUndo(p) (p)->lpVtbl->ReactivateAndUndo(p)
216 #endif
218 #endif
220 #define IOleInPlaceObject_METHODS \
221 /*** IUnknown methods ***/ \
222 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
223 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
224 STDMETHOD_(ULONG,Release)(THIS) PURE; \
225 /*** IOleWindow methods ***/ \
226 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
227 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
228 /*** IOleInPlaceObject methods ***/ \
229 STDMETHOD_(HRESULT,InPlaceDeactivate)(THIS) PURE; \
230 STDMETHOD_(HRESULT,UIDeactivate)(THIS) PURE; \
231 STDMETHOD_(HRESULT,SetObjectRects)(THIS_ LPCRECT lprcPosRect, LPCRECT lprcClipRect) PURE; \
232 STDMETHOD_(HRESULT,ReactivateAndUndo)(THIS) PURE;
234 HRESULT CALLBACK IOleInPlaceObject_InPlaceDeactivate_Proxy(
235 IOleInPlaceObject* This);
236 void __RPC_STUB IOleInPlaceObject_InPlaceDeactivate_Stub(
237 struct IRpcStubBuffer* This,
238 struct IRpcChannelBuffer* pRpcChannelBuffer,
239 PRPC_MESSAGE pRpcMessage,
240 DWORD* pdwStubPhase);
241 HRESULT CALLBACK IOleInPlaceObject_UIDeactivate_Proxy(
242 IOleInPlaceObject* This);
243 void __RPC_STUB IOleInPlaceObject_UIDeactivate_Stub(
244 struct IRpcStubBuffer* This,
245 struct IRpcChannelBuffer* pRpcChannelBuffer,
246 PRPC_MESSAGE pRpcMessage,
247 DWORD* pdwStubPhase);
248 HRESULT CALLBACK IOleInPlaceObject_SetObjectRects_Proxy(
249 IOleInPlaceObject* This,
250 LPCRECT lprcPosRect,
251 LPCRECT lprcClipRect);
252 void __RPC_STUB IOleInPlaceObject_SetObjectRects_Stub(
253 struct IRpcStubBuffer* This,
254 struct IRpcChannelBuffer* pRpcChannelBuffer,
255 PRPC_MESSAGE pRpcMessage,
256 DWORD* pdwStubPhase);
257 HRESULT CALLBACK IOleInPlaceObject_ReactivateAndUndo_Proxy(
258 IOleInPlaceObject* This);
259 void __RPC_STUB IOleInPlaceObject_ReactivateAndUndo_Stub(
260 struct IRpcStubBuffer* This,
261 struct IRpcChannelBuffer* pRpcChannelBuffer,
262 PRPC_MESSAGE pRpcMessage,
263 DWORD* pdwStubPhase);
265 #endif /* __IOleInPlaceObject_INTERFACE_DEFINED__ */
267 #ifdef __WINESRC__
268 #undef TranslateAccelerator
269 #endif
270 #ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
271 #define __IOleInPlaceUIWindow_FWD_DEFINED__
272 typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
273 #endif
275 #ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
276 #define __IOleInPlaceActiveObject_FWD_DEFINED__
277 typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
278 #endif
280 typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
282 /*****************************************************************************
283 * IOleInPlaceActiveObject interface
285 #ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
286 #define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
288 DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
289 #if defined(__cplusplus) && !defined(CINTERFACE)
290 struct IOleInPlaceActiveObject : public IOleWindow
292 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
293 LPMSG lpmsg) = 0;
295 virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
296 BOOL fActivate) = 0;
298 virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
299 BOOL fActivate) = 0;
301 virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
302 LPCRECT prcBorder,
303 IOleInPlaceUIWindow* pUIWindow,
304 BOOL fFrameWindow) = 0;
306 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
307 BOOL fEnable) = 0;
310 #else
311 typedef struct IOleInPlaceActiveObjectVtbl IOleInPlaceActiveObjectVtbl;
312 struct IOleInPlaceActiveObject {
313 const IOleInPlaceActiveObjectVtbl* lpVtbl;
315 struct IOleInPlaceActiveObjectVtbl {
316 BEGIN_INTERFACE
318 /*** IUnknown methods ***/
319 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
320 IOleInPlaceActiveObject* This,
321 REFIID riid,
322 void** ppvObject);
324 ULONG (STDMETHODCALLTYPE *AddRef)(
325 IOleInPlaceActiveObject* This);
327 ULONG (STDMETHODCALLTYPE *Release)(
328 IOleInPlaceActiveObject* This);
330 /*** IOleWindow methods ***/
331 HRESULT (STDMETHODCALLTYPE *GetWindow)(
332 IOleInPlaceActiveObject* This,
333 HWND* phwnd);
335 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
336 IOleInPlaceActiveObject* This,
337 BOOL fEnterMode);
339 /*** IOleInPlaceActiveObject methods ***/
340 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
341 IOleInPlaceActiveObject* This,
342 LPMSG lpmsg);
344 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
345 IOleInPlaceActiveObject* This,
346 BOOL fActivate);
348 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
349 IOleInPlaceActiveObject* This,
350 BOOL fActivate);
352 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
353 IOleInPlaceActiveObject* This,
354 LPCRECT prcBorder,
355 IOleInPlaceUIWindow* pUIWindow,
356 BOOL fFrameWindow);
358 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
359 IOleInPlaceActiveObject* This,
360 BOOL fEnable);
362 END_INTERFACE
365 #ifdef COBJMACROS
366 /*** IUnknown methods ***/
367 #define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
368 #define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
369 #define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
370 /*** IOleWindow methods ***/
371 #define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
372 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
373 /*** IOleInPlaceActiveObject methods ***/
374 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
375 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
376 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
377 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
378 #define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
379 #endif
381 #endif
383 #define IOleInPlaceActiveObject_METHODS \
384 /*** IUnknown methods ***/ \
385 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
386 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
387 STDMETHOD_(ULONG,Release)(THIS) PURE; \
388 /*** IOleWindow methods ***/ \
389 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
390 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
391 /*** IOleInPlaceActiveObject methods ***/ \
392 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
393 STDMETHOD_(HRESULT,OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
394 STDMETHOD_(HRESULT,OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
395 STDMETHOD_(HRESULT,ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow) PURE; \
396 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE;
398 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
399 IOleInPlaceActiveObject* This);
400 void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
401 struct IRpcStubBuffer* This,
402 struct IRpcChannelBuffer* pRpcChannelBuffer,
403 PRPC_MESSAGE pRpcMessage,
404 DWORD* pdwStubPhase);
405 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
406 IOleInPlaceActiveObject* This,
407 LPMSG lpmsg);
408 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
409 IOleInPlaceActiveObject* This);
410 HRESULT CALLBACK IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(
411 IOleInPlaceActiveObject* This,
412 BOOL fActivate);
413 void __RPC_STUB IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(
414 struct IRpcStubBuffer* This,
415 struct IRpcChannelBuffer* pRpcChannelBuffer,
416 PRPC_MESSAGE pRpcMessage,
417 DWORD* pdwStubPhase);
418 HRESULT CALLBACK IOleInPlaceActiveObject_OnDocWindowActivate_Proxy(
419 IOleInPlaceActiveObject* This,
420 BOOL fActivate);
421 void __RPC_STUB IOleInPlaceActiveObject_OnDocWindowActivate_Stub(
422 struct IRpcStubBuffer* This,
423 struct IRpcChannelBuffer* pRpcChannelBuffer,
424 PRPC_MESSAGE pRpcMessage,
425 DWORD* pdwStubPhase);
426 HRESULT CALLBACK IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
427 IOleInPlaceActiveObject* This,
428 LPCRECT prcBorder,
429 REFIID riid,
430 IOleInPlaceUIWindow* pUIWindow,
431 BOOL fFrameWindow);
432 void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
433 struct IRpcStubBuffer* This,
434 struct IRpcChannelBuffer* pRpcChannelBuffer,
435 PRPC_MESSAGE pRpcMessage,
436 DWORD* pdwStubPhase);
437 HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy(
438 IOleInPlaceActiveObject* This,
439 LPCRECT prcBorder,
440 IOleInPlaceUIWindow* pUIWindow,
441 BOOL fFrameWindow);
442 HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub(
443 IOleInPlaceActiveObject* This,
444 LPCRECT prcBorder,
445 REFIID riid,
446 IOleInPlaceUIWindow* pUIWindow,
447 BOOL fFrameWindow);
448 HRESULT CALLBACK IOleInPlaceActiveObject_EnableModeless_Proxy(
449 IOleInPlaceActiveObject* This,
450 BOOL fEnable);
451 void __RPC_STUB IOleInPlaceActiveObject_EnableModeless_Stub(
452 struct IRpcStubBuffer* This,
453 struct IRpcChannelBuffer* pRpcChannelBuffer,
454 PRPC_MESSAGE pRpcMessage,
455 DWORD* pdwStubPhase);
457 #endif /* __IOleInPlaceActiveObject_INTERFACE_DEFINED__ */
459 typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
461 typedef RECT BORDERWIDTHS;
463 typedef LPRECT LPBORDERWIDTHS;
465 typedef LPCRECT LPCBORDERWIDTHS;
467 /*****************************************************************************
468 * IOleInPlaceUIWindow interface
470 #ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
471 #define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
473 DEFINE_GUID(IID_IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
474 #if defined(__cplusplus) && !defined(CINTERFACE)
475 struct IOleInPlaceUIWindow : public IOleWindow
477 virtual HRESULT STDMETHODCALLTYPE GetBorder(
478 LPRECT lprectBorder) = 0;
480 virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(
481 LPCBORDERWIDTHS pborderwidths) = 0;
483 virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(
484 LPCBORDERWIDTHS pborderwidths) = 0;
486 virtual HRESULT STDMETHODCALLTYPE SetActiveObject(
487 IOleInPlaceActiveObject* pActiveObject,
488 LPCOLESTR pszObjName) = 0;
491 #else
492 typedef struct IOleInPlaceUIWindowVtbl IOleInPlaceUIWindowVtbl;
493 struct IOleInPlaceUIWindow {
494 const IOleInPlaceUIWindowVtbl* lpVtbl;
496 struct IOleInPlaceUIWindowVtbl {
497 BEGIN_INTERFACE
499 /*** IUnknown methods ***/
500 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
501 IOleInPlaceUIWindow* This,
502 REFIID riid,
503 void** ppvObject);
505 ULONG (STDMETHODCALLTYPE *AddRef)(
506 IOleInPlaceUIWindow* This);
508 ULONG (STDMETHODCALLTYPE *Release)(
509 IOleInPlaceUIWindow* This);
511 /*** IOleWindow methods ***/
512 HRESULT (STDMETHODCALLTYPE *GetWindow)(
513 IOleInPlaceUIWindow* This,
514 HWND* phwnd);
516 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
517 IOleInPlaceUIWindow* This,
518 BOOL fEnterMode);
520 /*** IOleInPlaceUIWindow methods ***/
521 HRESULT (STDMETHODCALLTYPE *GetBorder)(
522 IOleInPlaceUIWindow* This,
523 LPRECT lprectBorder);
525 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
526 IOleInPlaceUIWindow* This,
527 LPCBORDERWIDTHS pborderwidths);
529 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
530 IOleInPlaceUIWindow* This,
531 LPCBORDERWIDTHS pborderwidths);
533 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
534 IOleInPlaceUIWindow* This,
535 IOleInPlaceActiveObject* pActiveObject,
536 LPCOLESTR pszObjName);
538 END_INTERFACE
541 #ifdef COBJMACROS
542 /*** IUnknown methods ***/
543 #define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
544 #define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
545 #define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
546 /*** IOleWindow methods ***/
547 #define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
548 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
549 /*** IOleInPlaceUIWindow methods ***/
550 #define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
551 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
552 #define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
553 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
554 #endif
556 #endif
558 #define IOleInPlaceUIWindow_METHODS \
559 /*** IUnknown methods ***/ \
560 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
561 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
562 STDMETHOD_(ULONG,Release)(THIS) PURE; \
563 /*** IOleWindow methods ***/ \
564 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
565 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
566 /*** IOleInPlaceUIWindow methods ***/ \
567 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
568 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
569 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
570 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE;
572 HRESULT CALLBACK IOleInPlaceUIWindow_GetBorder_Proxy(
573 IOleInPlaceUIWindow* This,
574 LPRECT lprectBorder);
575 void __RPC_STUB IOleInPlaceUIWindow_GetBorder_Stub(
576 struct IRpcStubBuffer* This,
577 struct IRpcChannelBuffer* pRpcChannelBuffer,
578 PRPC_MESSAGE pRpcMessage,
579 DWORD* pdwStubPhase);
580 HRESULT CALLBACK IOleInPlaceUIWindow_RequestBorderSpace_Proxy(
581 IOleInPlaceUIWindow* This,
582 LPCBORDERWIDTHS pborderwidths);
583 void __RPC_STUB IOleInPlaceUIWindow_RequestBorderSpace_Stub(
584 struct IRpcStubBuffer* This,
585 struct IRpcChannelBuffer* pRpcChannelBuffer,
586 PRPC_MESSAGE pRpcMessage,
587 DWORD* pdwStubPhase);
588 HRESULT CALLBACK IOleInPlaceUIWindow_SetBorderSpace_Proxy(
589 IOleInPlaceUIWindow* This,
590 LPCBORDERWIDTHS pborderwidths);
591 void __RPC_STUB IOleInPlaceUIWindow_SetBorderSpace_Stub(
592 struct IRpcStubBuffer* This,
593 struct IRpcChannelBuffer* pRpcChannelBuffer,
594 PRPC_MESSAGE pRpcMessage,
595 DWORD* pdwStubPhase);
596 HRESULT CALLBACK IOleInPlaceUIWindow_SetActiveObject_Proxy(
597 IOleInPlaceUIWindow* This,
598 IOleInPlaceActiveObject* pActiveObject,
599 LPCOLESTR pszObjName);
600 void __RPC_STUB IOleInPlaceUIWindow_SetActiveObject_Stub(
601 struct IRpcStubBuffer* This,
602 struct IRpcChannelBuffer* pRpcChannelBuffer,
603 PRPC_MESSAGE pRpcMessage,
604 DWORD* pdwStubPhase);
606 #endif /* __IOleInPlaceUIWindow_INTERFACE_DEFINED__ */
608 #ifndef __IOleInPlaceFrame_FWD_DEFINED__
609 #define __IOleInPlaceFrame_FWD_DEFINED__
610 typedef struct IOleInPlaceFrame IOleInPlaceFrame;
611 #endif
613 typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
615 typedef struct tagOleInPlaceFrameInfo {
616 UINT cb;
617 BOOL fMDIApp;
618 HWND hwndFrame;
619 HACCEL haccel;
620 UINT cAccelEntries;
621 } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
623 typedef struct tagOleMenuGroupWidths {
624 LONG width[6];
625 } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
627 typedef HGLOBAL HOLEMENU;
629 /*****************************************************************************
630 * IOleInPlaceFrame interface
632 #ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
633 #define __IOleInPlaceFrame_INTERFACE_DEFINED__
635 DEFINE_GUID(IID_IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
636 #if defined(__cplusplus) && !defined(CINTERFACE)
637 struct IOleInPlaceFrame : public IOleInPlaceUIWindow
639 virtual HRESULT STDMETHODCALLTYPE InsertMenus(
640 HMENU hmenuShared,
641 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
643 virtual HRESULT STDMETHODCALLTYPE SetMenu(
644 HMENU hmenuShared,
645 HOLEMENU holemenu,
646 HWND hwndActiveObject) = 0;
648 virtual HRESULT STDMETHODCALLTYPE RemoveMenus(
649 HMENU hmenuShared) = 0;
651 virtual HRESULT STDMETHODCALLTYPE SetStatusText(
652 LPCOLESTR pszStatusText) = 0;
654 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
655 BOOL fEnable) = 0;
657 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
658 LPMSG lpmsg,
659 WORD wID) = 0;
662 #else
663 typedef struct IOleInPlaceFrameVtbl IOleInPlaceFrameVtbl;
664 struct IOleInPlaceFrame {
665 const IOleInPlaceFrameVtbl* lpVtbl;
667 struct IOleInPlaceFrameVtbl {
668 BEGIN_INTERFACE
670 /*** IUnknown methods ***/
671 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
672 IOleInPlaceFrame* This,
673 REFIID riid,
674 void** ppvObject);
676 ULONG (STDMETHODCALLTYPE *AddRef)(
677 IOleInPlaceFrame* This);
679 ULONG (STDMETHODCALLTYPE *Release)(
680 IOleInPlaceFrame* This);
682 /*** IOleWindow methods ***/
683 HRESULT (STDMETHODCALLTYPE *GetWindow)(
684 IOleInPlaceFrame* This,
685 HWND* phwnd);
687 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
688 IOleInPlaceFrame* This,
689 BOOL fEnterMode);
691 /*** IOleInPlaceUIWindow methods ***/
692 HRESULT (STDMETHODCALLTYPE *GetBorder)(
693 IOleInPlaceFrame* This,
694 LPRECT lprectBorder);
696 HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
697 IOleInPlaceFrame* This,
698 LPCBORDERWIDTHS pborderwidths);
700 HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
701 IOleInPlaceFrame* This,
702 LPCBORDERWIDTHS pborderwidths);
704 HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
705 IOleInPlaceFrame* This,
706 IOleInPlaceActiveObject* pActiveObject,
707 LPCOLESTR pszObjName);
709 /*** IOleInPlaceFrame methods ***/
710 HRESULT (STDMETHODCALLTYPE *InsertMenus)(
711 IOleInPlaceFrame* This,
712 HMENU hmenuShared,
713 LPOLEMENUGROUPWIDTHS lpMenuWidths);
715 HRESULT (STDMETHODCALLTYPE *SetMenu)(
716 IOleInPlaceFrame* This,
717 HMENU hmenuShared,
718 HOLEMENU holemenu,
719 HWND hwndActiveObject);
721 HRESULT (STDMETHODCALLTYPE *RemoveMenus)(
722 IOleInPlaceFrame* This,
723 HMENU hmenuShared);
725 HRESULT (STDMETHODCALLTYPE *SetStatusText)(
726 IOleInPlaceFrame* This,
727 LPCOLESTR pszStatusText);
729 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
730 IOleInPlaceFrame* This,
731 BOOL fEnable);
733 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
734 IOleInPlaceFrame* This,
735 LPMSG lpmsg,
736 WORD wID);
738 END_INTERFACE
741 #ifdef COBJMACROS
742 /*** IUnknown methods ***/
743 #define IOleInPlaceFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
744 #define IOleInPlaceFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
745 #define IOleInPlaceFrame_Release(p) (p)->lpVtbl->Release(p)
746 /*** IOleWindow methods ***/
747 #define IOleInPlaceFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
748 #define IOleInPlaceFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
749 /*** IOleInPlaceUIWindow methods ***/
750 #define IOleInPlaceFrame_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
751 #define IOleInPlaceFrame_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
752 #define IOleInPlaceFrame_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
753 #define IOleInPlaceFrame_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
754 /*** IOleInPlaceFrame methods ***/
755 #define IOleInPlaceFrame_InsertMenus(p,a,b) (p)->lpVtbl->InsertMenus(p,a,b)
756 #define IOleInPlaceFrame_SetMenu(p,a,b,c) (p)->lpVtbl->SetMenu(p,a,b,c)
757 #define IOleInPlaceFrame_RemoveMenus(p,a) (p)->lpVtbl->RemoveMenus(p,a)
758 #define IOleInPlaceFrame_SetStatusText(p,a) (p)->lpVtbl->SetStatusText(p,a)
759 #define IOleInPlaceFrame_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
760 #define IOleInPlaceFrame_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
761 #endif
763 #endif
765 #define IOleInPlaceFrame_METHODS \
766 /*** IUnknown methods ***/ \
767 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
768 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
769 STDMETHOD_(ULONG,Release)(THIS) PURE; \
770 /*** IOleWindow methods ***/ \
771 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
772 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
773 /*** IOleInPlaceUIWindow methods ***/ \
774 STDMETHOD_(HRESULT,GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
775 STDMETHOD_(HRESULT,RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
776 STDMETHOD_(HRESULT,SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
777 STDMETHOD_(HRESULT,SetActiveObject)(THIS_ IOleInPlaceActiveObject* pActiveObject, LPCOLESTR pszObjName) PURE; \
778 /*** IOleInPlaceFrame methods ***/ \
779 STDMETHOD_(HRESULT,InsertMenus)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
780 STDMETHOD_(HRESULT,SetMenu)(THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
781 STDMETHOD_(HRESULT,RemoveMenus)(THIS_ HMENU hmenuShared) PURE; \
782 STDMETHOD_(HRESULT,SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
783 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
784 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg, WORD wID) PURE;
786 HRESULT CALLBACK IOleInPlaceFrame_InsertMenus_Proxy(
787 IOleInPlaceFrame* This,
788 HMENU hmenuShared,
789 LPOLEMENUGROUPWIDTHS lpMenuWidths);
790 void __RPC_STUB IOleInPlaceFrame_InsertMenus_Stub(
791 struct IRpcStubBuffer* This,
792 struct IRpcChannelBuffer* pRpcChannelBuffer,
793 PRPC_MESSAGE pRpcMessage,
794 DWORD* pdwStubPhase);
795 HRESULT CALLBACK IOleInPlaceFrame_SetMenu_Proxy(
796 IOleInPlaceFrame* This,
797 HMENU hmenuShared,
798 HOLEMENU holemenu,
799 HWND hwndActiveObject);
800 void __RPC_STUB IOleInPlaceFrame_SetMenu_Stub(
801 struct IRpcStubBuffer* This,
802 struct IRpcChannelBuffer* pRpcChannelBuffer,
803 PRPC_MESSAGE pRpcMessage,
804 DWORD* pdwStubPhase);
805 HRESULT CALLBACK IOleInPlaceFrame_RemoveMenus_Proxy(
806 IOleInPlaceFrame* This,
807 HMENU hmenuShared);
808 void __RPC_STUB IOleInPlaceFrame_RemoveMenus_Stub(
809 struct IRpcStubBuffer* This,
810 struct IRpcChannelBuffer* pRpcChannelBuffer,
811 PRPC_MESSAGE pRpcMessage,
812 DWORD* pdwStubPhase);
813 HRESULT CALLBACK IOleInPlaceFrame_SetStatusText_Proxy(
814 IOleInPlaceFrame* This,
815 LPCOLESTR pszStatusText);
816 void __RPC_STUB IOleInPlaceFrame_SetStatusText_Stub(
817 struct IRpcStubBuffer* This,
818 struct IRpcChannelBuffer* pRpcChannelBuffer,
819 PRPC_MESSAGE pRpcMessage,
820 DWORD* pdwStubPhase);
821 HRESULT CALLBACK IOleInPlaceFrame_EnableModeless_Proxy(
822 IOleInPlaceFrame* This,
823 BOOL fEnable);
824 void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(
825 struct IRpcStubBuffer* This,
826 struct IRpcChannelBuffer* pRpcChannelBuffer,
827 PRPC_MESSAGE pRpcMessage,
828 DWORD* pdwStubPhase);
829 HRESULT CALLBACK IOleInPlaceFrame_TranslateAccelerator_Proxy(
830 IOleInPlaceFrame* This,
831 LPMSG lpmsg,
832 WORD wID);
833 void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(
834 struct IRpcStubBuffer* This,
835 struct IRpcChannelBuffer* pRpcChannelBuffer,
836 PRPC_MESSAGE pRpcMessage,
837 DWORD* pdwStubPhase);
839 #endif /* __IOleInPlaceFrame_INTERFACE_DEFINED__ */
841 #ifndef __IOleInPlaceSite_FWD_DEFINED__
842 #define __IOleInPlaceSite_FWD_DEFINED__
843 typedef struct IOleInPlaceSite IOleInPlaceSite;
844 #endif
846 typedef IOleInPlaceSite *LPOLEINPLACESITE;
848 /*****************************************************************************
849 * IOleInPlaceSite interface
851 #ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
852 #define __IOleInPlaceSite_INTERFACE_DEFINED__
854 DEFINE_GUID(IID_IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
855 #if defined(__cplusplus) && !defined(CINTERFACE)
856 struct IOleInPlaceSite : public IOleWindow
858 virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate(
859 ) = 0;
861 virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate(
862 ) = 0;
864 virtual HRESULT STDMETHODCALLTYPE OnUIActivate(
865 ) = 0;
867 virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
868 IOleInPlaceFrame** ppFrame,
869 IOleInPlaceUIWindow** ppDoc,
870 LPRECT lprcPosRect,
871 LPRECT lprcClipRect,
872 LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
874 virtual HRESULT STDMETHODCALLTYPE Scroll(
875 SIZE scrollExtant) = 0;
877 virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(
878 BOOL fUndoable) = 0;
880 virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(
881 ) = 0;
883 virtual HRESULT STDMETHODCALLTYPE DiscardUndoState(
884 ) = 0;
886 virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo(
887 ) = 0;
889 virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(
890 LPCRECT lprcPosRect) = 0;
893 #else
894 typedef struct IOleInPlaceSiteVtbl IOleInPlaceSiteVtbl;
895 struct IOleInPlaceSite {
896 const IOleInPlaceSiteVtbl* lpVtbl;
898 struct IOleInPlaceSiteVtbl {
899 BEGIN_INTERFACE
901 /*** IUnknown methods ***/
902 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
903 IOleInPlaceSite* This,
904 REFIID riid,
905 void** ppvObject);
907 ULONG (STDMETHODCALLTYPE *AddRef)(
908 IOleInPlaceSite* This);
910 ULONG (STDMETHODCALLTYPE *Release)(
911 IOleInPlaceSite* This);
913 /*** IOleWindow methods ***/
914 HRESULT (STDMETHODCALLTYPE *GetWindow)(
915 IOleInPlaceSite* This,
916 HWND* phwnd);
918 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
919 IOleInPlaceSite* This,
920 BOOL fEnterMode);
922 /*** IOleInPlaceSite methods ***/
923 HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
924 IOleInPlaceSite* This);
926 HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
927 IOleInPlaceSite* This);
929 HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
930 IOleInPlaceSite* This);
932 HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
933 IOleInPlaceSite* This,
934 IOleInPlaceFrame** ppFrame,
935 IOleInPlaceUIWindow** ppDoc,
936 LPRECT lprcPosRect,
937 LPRECT lprcClipRect,
938 LPOLEINPLACEFRAMEINFO lpFrameInfo);
940 HRESULT (STDMETHODCALLTYPE *Scroll)(
941 IOleInPlaceSite* This,
942 SIZE scrollExtant);
944 HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
945 IOleInPlaceSite* This,
946 BOOL fUndoable);
948 HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
949 IOleInPlaceSite* This);
951 HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
952 IOleInPlaceSite* This);
954 HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
955 IOleInPlaceSite* This);
957 HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
958 IOleInPlaceSite* This,
959 LPCRECT lprcPosRect);
961 END_INTERFACE
964 #ifdef COBJMACROS
965 /*** IUnknown methods ***/
966 #define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
967 #define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
968 #define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
969 /*** IOleWindow methods ***/
970 #define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
971 #define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
972 /*** IOleInPlaceSite methods ***/
973 #define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
974 #define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
975 #define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
976 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
977 #define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
978 #define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
979 #define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
980 #define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
981 #define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
982 #define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
983 #endif
985 #endif
987 #define IOleInPlaceSite_METHODS \
988 /*** IUnknown methods ***/ \
989 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
990 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
991 STDMETHOD_(ULONG,Release)(THIS) PURE; \
992 /*** IOleWindow methods ***/ \
993 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
994 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
995 /*** IOleInPlaceSite methods ***/ \
996 STDMETHOD_(HRESULT,CanInPlaceActivate)(THIS) PURE; \
997 STDMETHOD_(HRESULT,OnInPlaceActivate)(THIS) PURE; \
998 STDMETHOD_(HRESULT,OnUIActivate)(THIS) PURE; \
999 STDMETHOD_(HRESULT,GetWindowContext)(THIS_ IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
1000 STDMETHOD_(HRESULT,Scroll)(THIS_ SIZE scrollExtant) PURE; \
1001 STDMETHOD_(HRESULT,OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
1002 STDMETHOD_(HRESULT,OnInPlaceDeactivate)(THIS) PURE; \
1003 STDMETHOD_(HRESULT,DiscardUndoState)(THIS) PURE; \
1004 STDMETHOD_(HRESULT,DeactivateAndUndo)(THIS) PURE; \
1005 STDMETHOD_(HRESULT,OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
1007 HRESULT CALLBACK IOleInPlaceSite_CanInPlaceActivate_Proxy(
1008 IOleInPlaceSite* This);
1009 void __RPC_STUB IOleInPlaceSite_CanInPlaceActivate_Stub(
1010 struct IRpcStubBuffer* This,
1011 struct IRpcChannelBuffer* pRpcChannelBuffer,
1012 PRPC_MESSAGE pRpcMessage,
1013 DWORD* pdwStubPhase);
1014 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceActivate_Proxy(
1015 IOleInPlaceSite* This);
1016 void __RPC_STUB IOleInPlaceSite_OnInPlaceActivate_Stub(
1017 struct IRpcStubBuffer* This,
1018 struct IRpcChannelBuffer* pRpcChannelBuffer,
1019 PRPC_MESSAGE pRpcMessage,
1020 DWORD* pdwStubPhase);
1021 HRESULT CALLBACK IOleInPlaceSite_OnUIActivate_Proxy(
1022 IOleInPlaceSite* This);
1023 void __RPC_STUB IOleInPlaceSite_OnUIActivate_Stub(
1024 struct IRpcStubBuffer* This,
1025 struct IRpcChannelBuffer* pRpcChannelBuffer,
1026 PRPC_MESSAGE pRpcMessage,
1027 DWORD* pdwStubPhase);
1028 HRESULT CALLBACK IOleInPlaceSite_GetWindowContext_Proxy(
1029 IOleInPlaceSite* This,
1030 IOleInPlaceFrame** ppFrame,
1031 IOleInPlaceUIWindow** ppDoc,
1032 LPRECT lprcPosRect,
1033 LPRECT lprcClipRect,
1034 LPOLEINPLACEFRAMEINFO lpFrameInfo);
1035 void __RPC_STUB IOleInPlaceSite_GetWindowContext_Stub(
1036 struct IRpcStubBuffer* This,
1037 struct IRpcChannelBuffer* pRpcChannelBuffer,
1038 PRPC_MESSAGE pRpcMessage,
1039 DWORD* pdwStubPhase);
1040 HRESULT CALLBACK IOleInPlaceSite_Scroll_Proxy(
1041 IOleInPlaceSite* This,
1042 SIZE scrollExtant);
1043 void __RPC_STUB IOleInPlaceSite_Scroll_Stub(
1044 struct IRpcStubBuffer* This,
1045 struct IRpcChannelBuffer* pRpcChannelBuffer,
1046 PRPC_MESSAGE pRpcMessage,
1047 DWORD* pdwStubPhase);
1048 HRESULT CALLBACK IOleInPlaceSite_OnUIDeactivate_Proxy(
1049 IOleInPlaceSite* This,
1050 BOOL fUndoable);
1051 void __RPC_STUB IOleInPlaceSite_OnUIDeactivate_Stub(
1052 struct IRpcStubBuffer* This,
1053 struct IRpcChannelBuffer* pRpcChannelBuffer,
1054 PRPC_MESSAGE pRpcMessage,
1055 DWORD* pdwStubPhase);
1056 HRESULT CALLBACK IOleInPlaceSite_OnInPlaceDeactivate_Proxy(
1057 IOleInPlaceSite* This);
1058 void __RPC_STUB IOleInPlaceSite_OnInPlaceDeactivate_Stub(
1059 struct IRpcStubBuffer* This,
1060 struct IRpcChannelBuffer* pRpcChannelBuffer,
1061 PRPC_MESSAGE pRpcMessage,
1062 DWORD* pdwStubPhase);
1063 HRESULT CALLBACK IOleInPlaceSite_DiscardUndoState_Proxy(
1064 IOleInPlaceSite* This);
1065 void __RPC_STUB IOleInPlaceSite_DiscardUndoState_Stub(
1066 struct IRpcStubBuffer* This,
1067 struct IRpcChannelBuffer* pRpcChannelBuffer,
1068 PRPC_MESSAGE pRpcMessage,
1069 DWORD* pdwStubPhase);
1070 HRESULT CALLBACK IOleInPlaceSite_DeactivateAndUndo_Proxy(
1071 IOleInPlaceSite* This);
1072 void __RPC_STUB IOleInPlaceSite_DeactivateAndUndo_Stub(
1073 struct IRpcStubBuffer* This,
1074 struct IRpcChannelBuffer* pRpcChannelBuffer,
1075 PRPC_MESSAGE pRpcMessage,
1076 DWORD* pdwStubPhase);
1077 HRESULT CALLBACK IOleInPlaceSite_OnPosRectChange_Proxy(
1078 IOleInPlaceSite* This,
1079 LPCRECT lprcPosRect);
1080 void __RPC_STUB IOleInPlaceSite_OnPosRectChange_Stub(
1081 struct IRpcStubBuffer* This,
1082 struct IRpcChannelBuffer* pRpcChannelBuffer,
1083 PRPC_MESSAGE pRpcMessage,
1084 DWORD* pdwStubPhase);
1086 #endif /* __IOleInPlaceSite_INTERFACE_DEFINED__ */
1088 #ifndef __IParseDisplayName_FWD_DEFINED__
1089 #define __IParseDisplayName_FWD_DEFINED__
1090 typedef struct IParseDisplayName IParseDisplayName;
1091 #endif
1093 typedef IParseDisplayName *LPPARSEDISPLAYNAME;
1095 /*****************************************************************************
1096 * IParseDisplayName interface
1098 #ifndef __IParseDisplayName_INTERFACE_DEFINED__
1099 #define __IParseDisplayName_INTERFACE_DEFINED__
1101 DEFINE_GUID(IID_IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1102 #if defined(__cplusplus) && !defined(CINTERFACE)
1103 struct IParseDisplayName : public IUnknown
1105 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
1106 IBindCtx* pbc,
1107 LPOLESTR pszDisplayName,
1108 ULONG* pchEaten,
1109 IMoniker** ppmkOut) = 0;
1112 #else
1113 typedef struct IParseDisplayNameVtbl IParseDisplayNameVtbl;
1114 struct IParseDisplayName {
1115 const IParseDisplayNameVtbl* lpVtbl;
1117 struct IParseDisplayNameVtbl {
1118 BEGIN_INTERFACE
1120 /*** IUnknown methods ***/
1121 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1122 IParseDisplayName* This,
1123 REFIID riid,
1124 void** ppvObject);
1126 ULONG (STDMETHODCALLTYPE *AddRef)(
1127 IParseDisplayName* This);
1129 ULONG (STDMETHODCALLTYPE *Release)(
1130 IParseDisplayName* This);
1132 /*** IParseDisplayName methods ***/
1133 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1134 IParseDisplayName* This,
1135 IBindCtx* pbc,
1136 LPOLESTR pszDisplayName,
1137 ULONG* pchEaten,
1138 IMoniker** ppmkOut);
1140 END_INTERFACE
1143 #ifdef COBJMACROS
1144 /*** IUnknown methods ***/
1145 #define IParseDisplayName_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1146 #define IParseDisplayName_AddRef(p) (p)->lpVtbl->AddRef(p)
1147 #define IParseDisplayName_Release(p) (p)->lpVtbl->Release(p)
1148 /*** IParseDisplayName methods ***/
1149 #define IParseDisplayName_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1150 #endif
1152 #endif
1154 #define IParseDisplayName_METHODS \
1155 /*** IUnknown methods ***/ \
1156 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1157 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1158 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1159 /*** IParseDisplayName methods ***/ \
1160 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE;
1162 HRESULT CALLBACK IParseDisplayName_ParseDisplayName_Proxy(
1163 IParseDisplayName* This,
1164 IBindCtx* pbc,
1165 LPOLESTR pszDisplayName,
1166 ULONG* pchEaten,
1167 IMoniker** ppmkOut);
1168 void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(
1169 struct IRpcStubBuffer* This,
1170 struct IRpcChannelBuffer* pRpcChannelBuffer,
1171 PRPC_MESSAGE pRpcMessage,
1172 DWORD* pdwStubPhase);
1174 #endif /* __IParseDisplayName_INTERFACE_DEFINED__ */
1176 #ifndef __IOleContainer_FWD_DEFINED__
1177 #define __IOleContainer_FWD_DEFINED__
1178 typedef struct IOleContainer IOleContainer;
1179 #endif
1181 typedef IOleContainer *LPOLECONTAINER;
1183 /*****************************************************************************
1184 * IOleContainer interface
1186 #ifndef __IOleContainer_INTERFACE_DEFINED__
1187 #define __IOleContainer_INTERFACE_DEFINED__
1189 DEFINE_GUID(IID_IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1190 #if defined(__cplusplus) && !defined(CINTERFACE)
1191 struct IOleContainer : public IParseDisplayName
1193 virtual HRESULT STDMETHODCALLTYPE EnumObjects(
1194 DWORD grfFlags,
1195 IEnumUnknown** ppenum) = 0;
1197 virtual HRESULT STDMETHODCALLTYPE LockContainer(
1198 BOOL fLock) = 0;
1201 #else
1202 typedef struct IOleContainerVtbl IOleContainerVtbl;
1203 struct IOleContainer {
1204 const IOleContainerVtbl* lpVtbl;
1206 struct IOleContainerVtbl {
1207 BEGIN_INTERFACE
1209 /*** IUnknown methods ***/
1210 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1211 IOleContainer* This,
1212 REFIID riid,
1213 void** ppvObject);
1215 ULONG (STDMETHODCALLTYPE *AddRef)(
1216 IOleContainer* This);
1218 ULONG (STDMETHODCALLTYPE *Release)(
1219 IOleContainer* This);
1221 /*** IParseDisplayName methods ***/
1222 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1223 IOleContainer* This,
1224 IBindCtx* pbc,
1225 LPOLESTR pszDisplayName,
1226 ULONG* pchEaten,
1227 IMoniker** ppmkOut);
1229 /*** IOleContainer methods ***/
1230 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1231 IOleContainer* This,
1232 DWORD grfFlags,
1233 IEnumUnknown** ppenum);
1235 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1236 IOleContainer* This,
1237 BOOL fLock);
1239 END_INTERFACE
1242 #ifdef COBJMACROS
1243 /*** IUnknown methods ***/
1244 #define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1245 #define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1246 #define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
1247 /*** IParseDisplayName methods ***/
1248 #define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1249 /*** IOleContainer methods ***/
1250 #define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1251 #define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1252 #endif
1254 #endif
1256 #define IOleContainer_METHODS \
1257 /*** IUnknown methods ***/ \
1258 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1259 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1260 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1261 /*** IParseDisplayName methods ***/ \
1262 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1263 /*** IOleContainer methods ***/ \
1264 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1265 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE;
1267 HRESULT CALLBACK IOleContainer_EnumObjects_Proxy(
1268 IOleContainer* This,
1269 DWORD grfFlags,
1270 IEnumUnknown** ppenum);
1271 void __RPC_STUB IOleContainer_EnumObjects_Stub(
1272 struct IRpcStubBuffer* This,
1273 struct IRpcChannelBuffer* pRpcChannelBuffer,
1274 PRPC_MESSAGE pRpcMessage,
1275 DWORD* pdwStubPhase);
1276 HRESULT CALLBACK IOleContainer_LockContainer_Proxy(
1277 IOleContainer* This,
1278 BOOL fLock);
1279 void __RPC_STUB IOleContainer_LockContainer_Stub(
1280 struct IRpcStubBuffer* This,
1281 struct IRpcChannelBuffer* pRpcChannelBuffer,
1282 PRPC_MESSAGE pRpcMessage,
1283 DWORD* pdwStubPhase);
1285 #endif /* __IOleContainer_INTERFACE_DEFINED__ */
1287 #ifndef __IOleItemContainer_FWD_DEFINED__
1288 #define __IOleItemContainer_FWD_DEFINED__
1289 typedef struct IOleItemContainer IOleItemContainer;
1290 #endif
1292 typedef IOleItemContainer *LPOLEITEMCONTAINER;
1294 typedef enum tagBINDSPEED {
1295 BINDSPEED_INDEFINITE = 1,
1296 BINDSPEED_MODERATE = 2,
1297 BINDSPEED_IMMEDIATE = 3
1298 } BINDSPEED;
1300 typedef enum tagOLECONTF {
1301 OLECONTF_EMBEDDINGS = 1,
1302 OLECONTF_LINKS = 2,
1303 OLECONTF_OTHERS = 4,
1304 OLECONTF_OLNYUSER = 8,
1305 OLECONTF_ONLYIFRUNNING = 16
1306 } OLECONTF;
1308 #ifdef __WINESRC__
1309 #undef GetObject
1310 #endif
1311 /*****************************************************************************
1312 * IOleItemContainer interface
1314 #ifndef __IOleItemContainer_INTERFACE_DEFINED__
1315 #define __IOleItemContainer_INTERFACE_DEFINED__
1317 DEFINE_GUID(IID_IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1318 #if defined(__cplusplus) && !defined(CINTERFACE)
1319 struct IOleItemContainer : public IOleContainer
1321 virtual HRESULT STDMETHODCALLTYPE GetObject(
1322 LPOLESTR pszItem,
1323 DWORD dwSpeedNeeded,
1324 IBindCtx* pbc,
1325 REFIID riid,
1326 void** ppvObject) = 0;
1328 virtual HRESULT STDMETHODCALLTYPE GetObjectStorage(
1329 LPOLESTR pszItem,
1330 IBindCtx* pbc,
1331 REFIID riid,
1332 void** ppvStorage) = 0;
1334 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1335 LPOLESTR pszItem) = 0;
1338 #else
1339 typedef struct IOleItemContainerVtbl IOleItemContainerVtbl;
1340 struct IOleItemContainer {
1341 const IOleItemContainerVtbl* lpVtbl;
1343 struct IOleItemContainerVtbl {
1344 BEGIN_INTERFACE
1346 /*** IUnknown methods ***/
1347 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1348 IOleItemContainer* This,
1349 REFIID riid,
1350 void** ppvObject);
1352 ULONG (STDMETHODCALLTYPE *AddRef)(
1353 IOleItemContainer* This);
1355 ULONG (STDMETHODCALLTYPE *Release)(
1356 IOleItemContainer* This);
1358 /*** IParseDisplayName methods ***/
1359 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1360 IOleItemContainer* This,
1361 IBindCtx* pbc,
1362 LPOLESTR pszDisplayName,
1363 ULONG* pchEaten,
1364 IMoniker** ppmkOut);
1366 /*** IOleContainer methods ***/
1367 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1368 IOleItemContainer* This,
1369 DWORD grfFlags,
1370 IEnumUnknown** ppenum);
1372 HRESULT (STDMETHODCALLTYPE *LockContainer)(
1373 IOleItemContainer* This,
1374 BOOL fLock);
1376 /*** IOleItemContainer methods ***/
1377 HRESULT (STDMETHODCALLTYPE *GetObject)(
1378 IOleItemContainer* This,
1379 LPOLESTR pszItem,
1380 DWORD dwSpeedNeeded,
1381 IBindCtx* pbc,
1382 REFIID riid,
1383 void** ppvObject);
1385 HRESULT (STDMETHODCALLTYPE *GetObjectStorage)(
1386 IOleItemContainer* This,
1387 LPOLESTR pszItem,
1388 IBindCtx* pbc,
1389 REFIID riid,
1390 void** ppvStorage);
1392 HRESULT (STDMETHODCALLTYPE *IsRunning)(
1393 IOleItemContainer* This,
1394 LPOLESTR pszItem);
1396 END_INTERFACE
1399 #ifdef COBJMACROS
1400 /*** IUnknown methods ***/
1401 #define IOleItemContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1402 #define IOleItemContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1403 #define IOleItemContainer_Release(p) (p)->lpVtbl->Release(p)
1404 /*** IParseDisplayName methods ***/
1405 #define IOleItemContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
1406 /*** IOleContainer methods ***/
1407 #define IOleItemContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
1408 #define IOleItemContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
1409 /*** IOleItemContainer methods ***/
1410 #define IOleItemContainer_GetObject(p,a,b,c,d,e) (p)->lpVtbl->GetObject(p,a,b,c,d,e)
1411 #define IOleItemContainer_GetObjectStorage(p,a,b,c,d) (p)->lpVtbl->GetObjectStorage(p,a,b,c,d)
1412 #define IOleItemContainer_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1413 #endif
1415 #endif
1417 #define IOleItemContainer_METHODS \
1418 /*** IUnknown methods ***/ \
1419 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1420 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1421 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1422 /*** IParseDisplayName methods ***/ \
1423 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
1424 /*** IOleContainer methods ***/ \
1425 STDMETHOD_(HRESULT,EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown** ppenum) PURE; \
1426 STDMETHOD_(HRESULT,LockContainer)(THIS_ BOOL fLock) PURE; \
1427 /*** IOleItemContainer methods ***/ \
1428 STDMETHOD_(HRESULT,GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx* pbc, REFIID riid, void** ppvObject) PURE; \
1429 STDMETHOD_(HRESULT,GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx* pbc, REFIID riid, void** ppvStorage) PURE; \
1430 STDMETHOD_(HRESULT,IsRunning)(THIS_ LPOLESTR pszItem) PURE;
1432 HRESULT CALLBACK IOleItemContainer_GetObject_Proxy(
1433 IOleItemContainer* This,
1434 LPOLESTR pszItem,
1435 DWORD dwSpeedNeeded,
1436 IBindCtx* pbc,
1437 REFIID riid,
1438 void** ppvObject);
1439 void __RPC_STUB IOleItemContainer_GetObject_Stub(
1440 struct IRpcStubBuffer* This,
1441 struct IRpcChannelBuffer* pRpcChannelBuffer,
1442 PRPC_MESSAGE pRpcMessage,
1443 DWORD* pdwStubPhase);
1444 HRESULT CALLBACK IOleItemContainer_GetObjectStorage_Proxy(
1445 IOleItemContainer* This,
1446 LPOLESTR pszItem,
1447 IBindCtx* pbc,
1448 REFIID riid,
1449 void** ppvStorage);
1450 void __RPC_STUB IOleItemContainer_GetObjectStorage_Stub(
1451 struct IRpcStubBuffer* This,
1452 struct IRpcChannelBuffer* pRpcChannelBuffer,
1453 PRPC_MESSAGE pRpcMessage,
1454 DWORD* pdwStubPhase);
1455 HRESULT CALLBACK IOleItemContainer_IsRunning_Proxy(
1456 IOleItemContainer* This,
1457 LPOLESTR pszItem);
1458 void __RPC_STUB IOleItemContainer_IsRunning_Stub(
1459 struct IRpcStubBuffer* This,
1460 struct IRpcChannelBuffer* pRpcChannelBuffer,
1461 PRPC_MESSAGE pRpcMessage,
1462 DWORD* pdwStubPhase);
1464 #endif /* __IOleItemContainer_INTERFACE_DEFINED__ */
1466 #ifndef __IOleLink_FWD_DEFINED__
1467 #define __IOleLink_FWD_DEFINED__
1468 typedef struct IOleLink IOleLink;
1469 #endif
1471 typedef IOleLink *LPOLELINK;
1473 typedef enum tagOLEUPDATE {
1474 OLEUPDATE_ALWAYS = 1,
1475 OLEUPDATE_ONCALL = 3
1476 } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE;
1478 typedef enum tagOLELINKBIND {
1479 OLELINKBIND_EVENIFCLASSDIFF = 1
1480 } OLELINKBIND;
1482 /*****************************************************************************
1483 * IOleLink interface
1485 #ifndef __IOleLink_INTERFACE_DEFINED__
1486 #define __IOleLink_INTERFACE_DEFINED__
1488 DEFINE_GUID(IID_IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1489 #if defined(__cplusplus) && !defined(CINTERFACE)
1490 struct IOleLink : public IUnknown
1492 virtual HRESULT STDMETHODCALLTYPE SetUpdateOptions(
1493 DWORD dwUpdateOpt) = 0;
1495 virtual HRESULT STDMETHODCALLTYPE GetUpdateOptions(
1496 DWORD* pdwUpdateOpt) = 0;
1498 virtual HRESULT STDMETHODCALLTYPE SetSourceMoniker(
1499 IMoniker* pmk,
1500 REFCLSID rclsid) = 0;
1502 virtual HRESULT STDMETHODCALLTYPE GetSourceMoniker(
1503 IMoniker** ppmk) = 0;
1505 virtual HRESULT STDMETHODCALLTYPE SetSourceDisplayName(
1506 LPCOLESTR pszStatusText) = 0;
1508 virtual HRESULT STDMETHODCALLTYPE GetSourceDisplayName(
1509 LPOLESTR* ppszDisplayName) = 0;
1511 virtual HRESULT STDMETHODCALLTYPE BindToSource(
1512 DWORD bindflags,
1513 IBindCtx* pbc) = 0;
1515 virtual HRESULT STDMETHODCALLTYPE BindIfRunning(
1516 ) = 0;
1518 virtual HRESULT STDMETHODCALLTYPE GetBoundSource(
1519 IUnknown** ppunk) = 0;
1521 virtual HRESULT STDMETHODCALLTYPE UnbindSource(
1522 ) = 0;
1524 virtual HRESULT STDMETHODCALLTYPE Update(
1525 IBindCtx* pbc) = 0;
1528 #else
1529 typedef struct IOleLinkVtbl IOleLinkVtbl;
1530 struct IOleLink {
1531 const IOleLinkVtbl* lpVtbl;
1533 struct IOleLinkVtbl {
1534 BEGIN_INTERFACE
1536 /*** IUnknown methods ***/
1537 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1538 IOleLink* This,
1539 REFIID riid,
1540 void** ppvObject);
1542 ULONG (STDMETHODCALLTYPE *AddRef)(
1543 IOleLink* This);
1545 ULONG (STDMETHODCALLTYPE *Release)(
1546 IOleLink* This);
1548 /*** IOleLink methods ***/
1549 HRESULT (STDMETHODCALLTYPE *SetUpdateOptions)(
1550 IOleLink* This,
1551 DWORD dwUpdateOpt);
1553 HRESULT (STDMETHODCALLTYPE *GetUpdateOptions)(
1554 IOleLink* This,
1555 DWORD* pdwUpdateOpt);
1557 HRESULT (STDMETHODCALLTYPE *SetSourceMoniker)(
1558 IOleLink* This,
1559 IMoniker* pmk,
1560 REFCLSID rclsid);
1562 HRESULT (STDMETHODCALLTYPE *GetSourceMoniker)(
1563 IOleLink* This,
1564 IMoniker** ppmk);
1566 HRESULT (STDMETHODCALLTYPE *SetSourceDisplayName)(
1567 IOleLink* This,
1568 LPCOLESTR pszStatusText);
1570 HRESULT (STDMETHODCALLTYPE *GetSourceDisplayName)(
1571 IOleLink* This,
1572 LPOLESTR* ppszDisplayName);
1574 HRESULT (STDMETHODCALLTYPE *BindToSource)(
1575 IOleLink* This,
1576 DWORD bindflags,
1577 IBindCtx* pbc);
1579 HRESULT (STDMETHODCALLTYPE *BindIfRunning)(
1580 IOleLink* This);
1582 HRESULT (STDMETHODCALLTYPE *GetBoundSource)(
1583 IOleLink* This,
1584 IUnknown** ppunk);
1586 HRESULT (STDMETHODCALLTYPE *UnbindSource)(
1587 IOleLink* This);
1589 HRESULT (STDMETHODCALLTYPE *Update)(
1590 IOleLink* This,
1591 IBindCtx* pbc);
1593 END_INTERFACE
1596 #ifdef COBJMACROS
1597 /*** IUnknown methods ***/
1598 #define IOleLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1599 #define IOleLink_AddRef(p) (p)->lpVtbl->AddRef(p)
1600 #define IOleLink_Release(p) (p)->lpVtbl->Release(p)
1601 /*** IOleLink methods ***/
1602 #define IOleLink_SetUpdateOptions(p,a) (p)->lpVtbl->SetUpdateOptions(p,a)
1603 #define IOleLink_GetUpdateOptions(p,a) (p)->lpVtbl->GetUpdateOptions(p,a)
1604 #define IOleLink_SetSourceMoniker(p,a,b) (p)->lpVtbl->SetSourceMoniker(p,a,b)
1605 #define IOleLink_GetSourceMoniker(p,a) (p)->lpVtbl->GetSourceMoniker(p,a)
1606 #define IOleLink_SetSourceDisplayName(p,a) (p)->lpVtbl->SetSourceDisplayName(p,a)
1607 #define IOleLink_GetSourceDisplayName(p,a) (p)->lpVtbl->GetSourceDisplayName(p,a)
1608 #define IOleLink_BindToSource(p,a,b) (p)->lpVtbl->BindToSource(p,a,b)
1609 #define IOleLink_BindIfRunning(p) (p)->lpVtbl->BindIfRunning(p)
1610 #define IOleLink_GetBoundSource(p,a) (p)->lpVtbl->GetBoundSource(p,a)
1611 #define IOleLink_UnbindSource(p) (p)->lpVtbl->UnbindSource(p)
1612 #define IOleLink_Update(p,a) (p)->lpVtbl->Update(p,a)
1613 #endif
1615 #endif
1617 #define IOleLink_METHODS \
1618 /*** IUnknown methods ***/ \
1619 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1620 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1621 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1622 /*** IOleLink methods ***/ \
1623 STDMETHOD_(HRESULT,SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
1624 STDMETHOD_(HRESULT,GetUpdateOptions)(THIS_ DWORD* pdwUpdateOpt) PURE; \
1625 STDMETHOD_(HRESULT,SetSourceMoniker)(THIS_ IMoniker* pmk, REFCLSID rclsid) PURE; \
1626 STDMETHOD_(HRESULT,GetSourceMoniker)(THIS_ IMoniker** ppmk) PURE; \
1627 STDMETHOD_(HRESULT,SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
1628 STDMETHOD_(HRESULT,GetSourceDisplayName)(THIS_ LPOLESTR* ppszDisplayName) PURE; \
1629 STDMETHOD_(HRESULT,BindToSource)(THIS_ DWORD bindflags, IBindCtx* pbc) PURE; \
1630 STDMETHOD_(HRESULT,BindIfRunning)(THIS) PURE; \
1631 STDMETHOD_(HRESULT,GetBoundSource)(THIS_ IUnknown** ppunk) PURE; \
1632 STDMETHOD_(HRESULT,UnbindSource)(THIS) PURE; \
1633 STDMETHOD_(HRESULT,Update)(THIS_ IBindCtx* pbc) PURE;
1635 HRESULT CALLBACK IOleLink_SetUpdateOptions_Proxy(
1636 IOleLink* This,
1637 DWORD dwUpdateOpt);
1638 void __RPC_STUB IOleLink_SetUpdateOptions_Stub(
1639 struct IRpcStubBuffer* This,
1640 struct IRpcChannelBuffer* pRpcChannelBuffer,
1641 PRPC_MESSAGE pRpcMessage,
1642 DWORD* pdwStubPhase);
1643 HRESULT CALLBACK IOleLink_GetUpdateOptions_Proxy(
1644 IOleLink* This,
1645 DWORD* pdwUpdateOpt);
1646 void __RPC_STUB IOleLink_GetUpdateOptions_Stub(
1647 struct IRpcStubBuffer* This,
1648 struct IRpcChannelBuffer* pRpcChannelBuffer,
1649 PRPC_MESSAGE pRpcMessage,
1650 DWORD* pdwStubPhase);
1651 HRESULT CALLBACK IOleLink_SetSourceMoniker_Proxy(
1652 IOleLink* This,
1653 IMoniker* pmk,
1654 REFCLSID rclsid);
1655 void __RPC_STUB IOleLink_SetSourceMoniker_Stub(
1656 struct IRpcStubBuffer* This,
1657 struct IRpcChannelBuffer* pRpcChannelBuffer,
1658 PRPC_MESSAGE pRpcMessage,
1659 DWORD* pdwStubPhase);
1660 HRESULT CALLBACK IOleLink_GetSourceMoniker_Proxy(
1661 IOleLink* This,
1662 IMoniker** ppmk);
1663 void __RPC_STUB IOleLink_GetSourceMoniker_Stub(
1664 struct IRpcStubBuffer* This,
1665 struct IRpcChannelBuffer* pRpcChannelBuffer,
1666 PRPC_MESSAGE pRpcMessage,
1667 DWORD* pdwStubPhase);
1668 HRESULT CALLBACK IOleLink_SetSourceDisplayName_Proxy(
1669 IOleLink* This,
1670 LPCOLESTR pszStatusText);
1671 void __RPC_STUB IOleLink_SetSourceDisplayName_Stub(
1672 struct IRpcStubBuffer* This,
1673 struct IRpcChannelBuffer* pRpcChannelBuffer,
1674 PRPC_MESSAGE pRpcMessage,
1675 DWORD* pdwStubPhase);
1676 HRESULT CALLBACK IOleLink_GetSourceDisplayName_Proxy(
1677 IOleLink* This,
1678 LPOLESTR* ppszDisplayName);
1679 void __RPC_STUB IOleLink_GetSourceDisplayName_Stub(
1680 struct IRpcStubBuffer* This,
1681 struct IRpcChannelBuffer* pRpcChannelBuffer,
1682 PRPC_MESSAGE pRpcMessage,
1683 DWORD* pdwStubPhase);
1684 HRESULT CALLBACK IOleLink_BindToSource_Proxy(
1685 IOleLink* This,
1686 DWORD bindflags,
1687 IBindCtx* pbc);
1688 void __RPC_STUB IOleLink_BindToSource_Stub(
1689 struct IRpcStubBuffer* This,
1690 struct IRpcChannelBuffer* pRpcChannelBuffer,
1691 PRPC_MESSAGE pRpcMessage,
1692 DWORD* pdwStubPhase);
1693 HRESULT CALLBACK IOleLink_BindIfRunning_Proxy(
1694 IOleLink* This);
1695 void __RPC_STUB IOleLink_BindIfRunning_Stub(
1696 struct IRpcStubBuffer* This,
1697 struct IRpcChannelBuffer* pRpcChannelBuffer,
1698 PRPC_MESSAGE pRpcMessage,
1699 DWORD* pdwStubPhase);
1700 HRESULT CALLBACK IOleLink_GetBoundSource_Proxy(
1701 IOleLink* This,
1702 IUnknown** ppunk);
1703 void __RPC_STUB IOleLink_GetBoundSource_Stub(
1704 struct IRpcStubBuffer* This,
1705 struct IRpcChannelBuffer* pRpcChannelBuffer,
1706 PRPC_MESSAGE pRpcMessage,
1707 DWORD* pdwStubPhase);
1708 HRESULT CALLBACK IOleLink_UnbindSource_Proxy(
1709 IOleLink* This);
1710 void __RPC_STUB IOleLink_UnbindSource_Stub(
1711 struct IRpcStubBuffer* This,
1712 struct IRpcChannelBuffer* pRpcChannelBuffer,
1713 PRPC_MESSAGE pRpcMessage,
1714 DWORD* pdwStubPhase);
1715 HRESULT CALLBACK IOleLink_Update_Proxy(
1716 IOleLink* This,
1717 IBindCtx* pbc);
1718 void __RPC_STUB IOleLink_Update_Stub(
1719 struct IRpcStubBuffer* This,
1720 struct IRpcChannelBuffer* pRpcChannelBuffer,
1721 PRPC_MESSAGE pRpcMessage,
1722 DWORD* pdwStubPhase);
1724 #endif /* __IOleLink_INTERFACE_DEFINED__ */
1726 #ifndef __IOleClientSite_FWD_DEFINED__
1727 #define __IOleClientSite_FWD_DEFINED__
1728 typedef struct IOleClientSite IOleClientSite;
1729 #endif
1731 typedef IOleClientSite *LPOLECLIENTSITE;
1733 /*****************************************************************************
1734 * IOleClientSite interface
1736 #ifndef __IOleClientSite_INTERFACE_DEFINED__
1737 #define __IOleClientSite_INTERFACE_DEFINED__
1739 DEFINE_GUID(IID_IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1740 #if defined(__cplusplus) && !defined(CINTERFACE)
1741 struct IOleClientSite : public IUnknown
1743 virtual HRESULT STDMETHODCALLTYPE SaveObject(
1744 ) = 0;
1746 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
1747 DWORD dwAssign,
1748 DWORD dwWhichMoniker,
1749 IMoniker** ppmk) = 0;
1751 virtual HRESULT STDMETHODCALLTYPE GetContainer(
1752 IOleContainer** ppContainer) = 0;
1754 virtual HRESULT STDMETHODCALLTYPE ShowObject(
1755 ) = 0;
1757 virtual HRESULT STDMETHODCALLTYPE OnShowWindow(
1758 BOOL fShow) = 0;
1760 virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(
1761 ) = 0;
1764 #else
1765 typedef struct IOleClientSiteVtbl IOleClientSiteVtbl;
1766 struct IOleClientSite {
1767 const IOleClientSiteVtbl* lpVtbl;
1769 struct IOleClientSiteVtbl {
1770 BEGIN_INTERFACE
1772 /*** IUnknown methods ***/
1773 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1774 IOleClientSite* This,
1775 REFIID riid,
1776 void** ppvObject);
1778 ULONG (STDMETHODCALLTYPE *AddRef)(
1779 IOleClientSite* This);
1781 ULONG (STDMETHODCALLTYPE *Release)(
1782 IOleClientSite* This);
1784 /*** IOleClientSite methods ***/
1785 HRESULT (STDMETHODCALLTYPE *SaveObject)(
1786 IOleClientSite* This);
1788 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1789 IOleClientSite* This,
1790 DWORD dwAssign,
1791 DWORD dwWhichMoniker,
1792 IMoniker** ppmk);
1794 HRESULT (STDMETHODCALLTYPE *GetContainer)(
1795 IOleClientSite* This,
1796 IOleContainer** ppContainer);
1798 HRESULT (STDMETHODCALLTYPE *ShowObject)(
1799 IOleClientSite* This);
1801 HRESULT (STDMETHODCALLTYPE *OnShowWindow)(
1802 IOleClientSite* This,
1803 BOOL fShow);
1805 HRESULT (STDMETHODCALLTYPE *RequestNewObjectLayout)(
1806 IOleClientSite* This);
1808 END_INTERFACE
1811 #ifdef COBJMACROS
1812 /*** IUnknown methods ***/
1813 #define IOleClientSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1814 #define IOleClientSite_AddRef(p) (p)->lpVtbl->AddRef(p)
1815 #define IOleClientSite_Release(p) (p)->lpVtbl->Release(p)
1816 /*** IOleClientSite methods ***/
1817 #define IOleClientSite_SaveObject(p) (p)->lpVtbl->SaveObject(p)
1818 #define IOleClientSite_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
1819 #define IOleClientSite_GetContainer(p,a) (p)->lpVtbl->GetContainer(p,a)
1820 #define IOleClientSite_ShowObject(p) (p)->lpVtbl->ShowObject(p)
1821 #define IOleClientSite_OnShowWindow(p,a) (p)->lpVtbl->OnShowWindow(p,a)
1822 #define IOleClientSite_RequestNewObjectLayout(p) (p)->lpVtbl->RequestNewObjectLayout(p)
1823 #endif
1825 #endif
1827 #define IOleClientSite_METHODS \
1828 /*** IUnknown methods ***/ \
1829 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1830 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1831 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1832 /*** IOleClientSite methods ***/ \
1833 STDMETHOD_(HRESULT,SaveObject)(THIS) PURE; \
1834 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
1835 STDMETHOD_(HRESULT,GetContainer)(THIS_ IOleContainer** ppContainer) PURE; \
1836 STDMETHOD_(HRESULT,ShowObject)(THIS) PURE; \
1837 STDMETHOD_(HRESULT,OnShowWindow)(THIS_ BOOL fShow) PURE; \
1838 STDMETHOD_(HRESULT,RequestNewObjectLayout)(THIS) PURE;
1840 HRESULT CALLBACK IOleClientSite_SaveObject_Proxy(
1841 IOleClientSite* This);
1842 void __RPC_STUB IOleClientSite_SaveObject_Stub(
1843 struct IRpcStubBuffer* This,
1844 struct IRpcChannelBuffer* pRpcChannelBuffer,
1845 PRPC_MESSAGE pRpcMessage,
1846 DWORD* pdwStubPhase);
1847 HRESULT CALLBACK IOleClientSite_GetMoniker_Proxy(
1848 IOleClientSite* This,
1849 DWORD dwAssign,
1850 DWORD dwWhichMoniker,
1851 IMoniker** ppmk);
1852 void __RPC_STUB IOleClientSite_GetMoniker_Stub(
1853 struct IRpcStubBuffer* This,
1854 struct IRpcChannelBuffer* pRpcChannelBuffer,
1855 PRPC_MESSAGE pRpcMessage,
1856 DWORD* pdwStubPhase);
1857 HRESULT CALLBACK IOleClientSite_GetContainer_Proxy(
1858 IOleClientSite* This,
1859 IOleContainer** ppContainer);
1860 void __RPC_STUB IOleClientSite_GetContainer_Stub(
1861 struct IRpcStubBuffer* This,
1862 struct IRpcChannelBuffer* pRpcChannelBuffer,
1863 PRPC_MESSAGE pRpcMessage,
1864 DWORD* pdwStubPhase);
1865 HRESULT CALLBACK IOleClientSite_ShowObject_Proxy(
1866 IOleClientSite* This);
1867 void __RPC_STUB IOleClientSite_ShowObject_Stub(
1868 struct IRpcStubBuffer* This,
1869 struct IRpcChannelBuffer* pRpcChannelBuffer,
1870 PRPC_MESSAGE pRpcMessage,
1871 DWORD* pdwStubPhase);
1872 HRESULT CALLBACK IOleClientSite_OnShowWindow_Proxy(
1873 IOleClientSite* This,
1874 BOOL fShow);
1875 void __RPC_STUB IOleClientSite_OnShowWindow_Stub(
1876 struct IRpcStubBuffer* This,
1877 struct IRpcChannelBuffer* pRpcChannelBuffer,
1878 PRPC_MESSAGE pRpcMessage,
1879 DWORD* pdwStubPhase);
1880 HRESULT CALLBACK IOleClientSite_RequestNewObjectLayout_Proxy(
1881 IOleClientSite* This);
1882 void __RPC_STUB IOleClientSite_RequestNewObjectLayout_Stub(
1883 struct IRpcStubBuffer* This,
1884 struct IRpcChannelBuffer* pRpcChannelBuffer,
1885 PRPC_MESSAGE pRpcMessage,
1886 DWORD* pdwStubPhase);
1888 #endif /* __IOleClientSite_INTERFACE_DEFINED__ */
1890 #ifndef __IOleCache_FWD_DEFINED__
1891 #define __IOleCache_FWD_DEFINED__
1892 typedef struct IOleCache IOleCache;
1893 #endif
1895 typedef IOleCache *LPOLECACHE;
1897 /*****************************************************************************
1898 * IOleCache interface
1900 #ifndef __IOleCache_INTERFACE_DEFINED__
1901 #define __IOleCache_INTERFACE_DEFINED__
1903 DEFINE_GUID(IID_IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1904 #if defined(__cplusplus) && !defined(CINTERFACE)
1905 struct IOleCache : public IUnknown
1907 virtual HRESULT STDMETHODCALLTYPE Cache(
1908 FORMATETC* pformatetc,
1909 DWORD advf,
1910 DWORD* pdwConnection) = 0;
1912 virtual HRESULT STDMETHODCALLTYPE Uncache(
1913 DWORD dwConnection) = 0;
1915 virtual HRESULT STDMETHODCALLTYPE EnumCache(
1916 IEnumSTATDATA** ppenumSTATDATA) = 0;
1918 virtual HRESULT STDMETHODCALLTYPE InitCache(
1919 IDataObject* pDataObject) = 0;
1921 virtual HRESULT STDMETHODCALLTYPE SetData(
1922 FORMATETC* pformatetc,
1923 STGMEDIUM* pmedium,
1924 BOOL fRelease) = 0;
1927 #else
1928 typedef struct IOleCacheVtbl IOleCacheVtbl;
1929 struct IOleCache {
1930 const IOleCacheVtbl* lpVtbl;
1932 struct IOleCacheVtbl {
1933 BEGIN_INTERFACE
1935 /*** IUnknown methods ***/
1936 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1937 IOleCache* This,
1938 REFIID riid,
1939 void** ppvObject);
1941 ULONG (STDMETHODCALLTYPE *AddRef)(
1942 IOleCache* This);
1944 ULONG (STDMETHODCALLTYPE *Release)(
1945 IOleCache* This);
1947 /*** IOleCache methods ***/
1948 HRESULT (STDMETHODCALLTYPE *Cache)(
1949 IOleCache* This,
1950 FORMATETC* pformatetc,
1951 DWORD advf,
1952 DWORD* pdwConnection);
1954 HRESULT (STDMETHODCALLTYPE *Uncache)(
1955 IOleCache* This,
1956 DWORD dwConnection);
1958 HRESULT (STDMETHODCALLTYPE *EnumCache)(
1959 IOleCache* This,
1960 IEnumSTATDATA** ppenumSTATDATA);
1962 HRESULT (STDMETHODCALLTYPE *InitCache)(
1963 IOleCache* This,
1964 IDataObject* pDataObject);
1966 HRESULT (STDMETHODCALLTYPE *SetData)(
1967 IOleCache* This,
1968 FORMATETC* pformatetc,
1969 STGMEDIUM* pmedium,
1970 BOOL fRelease);
1972 END_INTERFACE
1975 #ifdef COBJMACROS
1976 /*** IUnknown methods ***/
1977 #define IOleCache_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1978 #define IOleCache_AddRef(p) (p)->lpVtbl->AddRef(p)
1979 #define IOleCache_Release(p) (p)->lpVtbl->Release(p)
1980 /*** IOleCache methods ***/
1981 #define IOleCache_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
1982 #define IOleCache_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
1983 #define IOleCache_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
1984 #define IOleCache_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
1985 #define IOleCache_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
1986 #endif
1988 #endif
1990 #define IOleCache_METHODS \
1991 /*** IUnknown methods ***/ \
1992 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1993 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1994 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1995 /*** IOleCache methods ***/ \
1996 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
1997 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
1998 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
1999 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
2000 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE;
2002 HRESULT CALLBACK IOleCache_Cache_Proxy(
2003 IOleCache* This,
2004 FORMATETC* pformatetc,
2005 DWORD advf,
2006 DWORD* pdwConnection);
2007 void __RPC_STUB IOleCache_Cache_Stub(
2008 struct IRpcStubBuffer* This,
2009 struct IRpcChannelBuffer* pRpcChannelBuffer,
2010 PRPC_MESSAGE pRpcMessage,
2011 DWORD* pdwStubPhase);
2012 HRESULT CALLBACK IOleCache_Uncache_Proxy(
2013 IOleCache* This,
2014 DWORD dwConnection);
2015 void __RPC_STUB IOleCache_Uncache_Stub(
2016 struct IRpcStubBuffer* This,
2017 struct IRpcChannelBuffer* pRpcChannelBuffer,
2018 PRPC_MESSAGE pRpcMessage,
2019 DWORD* pdwStubPhase);
2020 HRESULT CALLBACK IOleCache_EnumCache_Proxy(
2021 IOleCache* This,
2022 IEnumSTATDATA** ppenumSTATDATA);
2023 void __RPC_STUB IOleCache_EnumCache_Stub(
2024 struct IRpcStubBuffer* This,
2025 struct IRpcChannelBuffer* pRpcChannelBuffer,
2026 PRPC_MESSAGE pRpcMessage,
2027 DWORD* pdwStubPhase);
2028 HRESULT CALLBACK IOleCache_InitCache_Proxy(
2029 IOleCache* This,
2030 IDataObject* pDataObject);
2031 void __RPC_STUB IOleCache_InitCache_Stub(
2032 struct IRpcStubBuffer* This,
2033 struct IRpcChannelBuffer* pRpcChannelBuffer,
2034 PRPC_MESSAGE pRpcMessage,
2035 DWORD* pdwStubPhase);
2036 HRESULT CALLBACK IOleCache_SetData_Proxy(
2037 IOleCache* This,
2038 FORMATETC* pformatetc,
2039 STGMEDIUM* pmedium,
2040 BOOL fRelease);
2041 void __RPC_STUB IOleCache_SetData_Stub(
2042 struct IRpcStubBuffer* This,
2043 struct IRpcChannelBuffer* pRpcChannelBuffer,
2044 PRPC_MESSAGE pRpcMessage,
2045 DWORD* pdwStubPhase);
2047 #endif /* __IOleCache_INTERFACE_DEFINED__ */
2049 #ifndef __IOleCache2_FWD_DEFINED__
2050 #define __IOleCache2_FWD_DEFINED__
2051 typedef struct IOleCache2 IOleCache2;
2052 #endif
2054 typedef IOleCache2 *LPOLECACHE2;
2056 #define UPDFCACHE_NODATACACHE (0x1)
2058 #define UPDFCACHE_ONSAVECACHE (0x2)
2060 #define UPDFCACHE_ONSTOPCACHE (0x4)
2062 #define UPDFCACHE_NORMALCACHE (0x8)
2064 #define UPDFCACHE_IFBLANK (0x10)
2066 #define UPDFCACHE_ONLYIFBLANK (0x80000000)
2068 #define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
2070 #define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
2072 #define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)
2074 typedef enum tagDISCARDCACHE {
2075 DISCARDCACHE_SAVEIFDIRTY = 0,
2076 DISCARDCACHE_NOSAVE = 1
2077 } DISCARDCACHE;
2079 /*****************************************************************************
2080 * IOleCache2 interface
2082 #ifndef __IOleCache2_INTERFACE_DEFINED__
2083 #define __IOleCache2_INTERFACE_DEFINED__
2085 DEFINE_GUID(IID_IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2086 #if defined(__cplusplus) && !defined(CINTERFACE)
2087 struct IOleCache2 : public IOleCache
2089 virtual HRESULT STDMETHODCALLTYPE UpdateCache(
2090 LPDATAOBJECT pDataObject,
2091 DWORD grfUpdf,
2092 LPVOID pReserved) = 0;
2094 virtual HRESULT STDMETHODCALLTYPE DiscardCache(
2095 DWORD dwDiscardOptions) = 0;
2098 #else
2099 typedef struct IOleCache2Vtbl IOleCache2Vtbl;
2100 struct IOleCache2 {
2101 const IOleCache2Vtbl* lpVtbl;
2103 struct IOleCache2Vtbl {
2104 BEGIN_INTERFACE
2106 /*** IUnknown methods ***/
2107 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2108 IOleCache2* This,
2109 REFIID riid,
2110 void** ppvObject);
2112 ULONG (STDMETHODCALLTYPE *AddRef)(
2113 IOleCache2* This);
2115 ULONG (STDMETHODCALLTYPE *Release)(
2116 IOleCache2* This);
2118 /*** IOleCache methods ***/
2119 HRESULT (STDMETHODCALLTYPE *Cache)(
2120 IOleCache2* This,
2121 FORMATETC* pformatetc,
2122 DWORD advf,
2123 DWORD* pdwConnection);
2125 HRESULT (STDMETHODCALLTYPE *Uncache)(
2126 IOleCache2* This,
2127 DWORD dwConnection);
2129 HRESULT (STDMETHODCALLTYPE *EnumCache)(
2130 IOleCache2* This,
2131 IEnumSTATDATA** ppenumSTATDATA);
2133 HRESULT (STDMETHODCALLTYPE *InitCache)(
2134 IOleCache2* This,
2135 IDataObject* pDataObject);
2137 HRESULT (STDMETHODCALLTYPE *SetData)(
2138 IOleCache2* This,
2139 FORMATETC* pformatetc,
2140 STGMEDIUM* pmedium,
2141 BOOL fRelease);
2143 /*** IOleCache2 methods ***/
2144 HRESULT (STDMETHODCALLTYPE *UpdateCache)(
2145 IOleCache2* This,
2146 LPDATAOBJECT pDataObject,
2147 DWORD grfUpdf,
2148 LPVOID pReserved);
2150 HRESULT (STDMETHODCALLTYPE *DiscardCache)(
2151 IOleCache2* This,
2152 DWORD dwDiscardOptions);
2154 END_INTERFACE
2157 #ifdef COBJMACROS
2158 /*** IUnknown methods ***/
2159 #define IOleCache2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2160 #define IOleCache2_AddRef(p) (p)->lpVtbl->AddRef(p)
2161 #define IOleCache2_Release(p) (p)->lpVtbl->Release(p)
2162 /*** IOleCache methods ***/
2163 #define IOleCache2_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
2164 #define IOleCache2_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
2165 #define IOleCache2_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
2166 #define IOleCache2_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
2167 #define IOleCache2_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
2168 /*** IOleCache2 methods ***/
2169 #define IOleCache2_UpdateCache(p,a,b,c) (p)->lpVtbl->UpdateCache(p,a,b,c)
2170 #define IOleCache2_DiscardCache(p,a) (p)->lpVtbl->DiscardCache(p,a)
2171 #endif
2173 #endif
2175 #define IOleCache2_METHODS \
2176 /*** IUnknown methods ***/ \
2177 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2178 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2179 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2180 /*** IOleCache methods ***/ \
2181 STDMETHOD_(HRESULT,Cache)(THIS_ FORMATETC* pformatetc, DWORD advf, DWORD* pdwConnection) PURE; \
2182 STDMETHOD_(HRESULT,Uncache)(THIS_ DWORD dwConnection) PURE; \
2183 STDMETHOD_(HRESULT,EnumCache)(THIS_ IEnumSTATDATA** ppenumSTATDATA) PURE; \
2184 STDMETHOD_(HRESULT,InitCache)(THIS_ IDataObject* pDataObject) PURE; \
2185 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
2186 /*** IOleCache2 methods ***/ \
2187 STDMETHOD_(HRESULT,UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
2188 STDMETHOD_(HRESULT,DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
2190 HRESULT CALLBACK IOleCache2_RemoteUpdateCache_Proxy(
2191 IOleCache2* This,
2192 LPDATAOBJECT pDataObject,
2193 DWORD grfUpdf,
2194 LONG_PTR pReserved);
2195 void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(
2196 struct IRpcStubBuffer* This,
2197 struct IRpcChannelBuffer* pRpcChannelBuffer,
2198 PRPC_MESSAGE pRpcMessage,
2199 DWORD* pdwStubPhase);
2200 HRESULT CALLBACK IOleCache2_UpdateCache_Proxy(
2201 IOleCache2* This,
2202 LPDATAOBJECT pDataObject,
2203 DWORD grfUpdf,
2204 LPVOID pReserved);
2205 HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub(
2206 IOleCache2* This,
2207 LPDATAOBJECT pDataObject,
2208 DWORD grfUpdf,
2209 LONG_PTR pReserved);
2210 HRESULT CALLBACK IOleCache2_DiscardCache_Proxy(
2211 IOleCache2* This,
2212 DWORD dwDiscardOptions);
2213 void __RPC_STUB IOleCache2_DiscardCache_Stub(
2214 struct IRpcStubBuffer* This,
2215 struct IRpcChannelBuffer* pRpcChannelBuffer,
2216 PRPC_MESSAGE pRpcMessage,
2217 DWORD* pdwStubPhase);
2219 #endif /* __IOleCache2_INTERFACE_DEFINED__ */
2221 #ifndef __IOleCacheControl_FWD_DEFINED__
2222 #define __IOleCacheControl_FWD_DEFINED__
2223 typedef struct IOleCacheControl IOleCacheControl;
2224 #endif
2226 typedef IOleCacheControl *LPOLECACHECONTROL;
2228 /*****************************************************************************
2229 * IOleCacheControl interface
2231 #ifndef __IOleCacheControl_INTERFACE_DEFINED__
2232 #define __IOleCacheControl_INTERFACE_DEFINED__
2234 DEFINE_GUID(IID_IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2235 #if defined(__cplusplus) && !defined(CINTERFACE)
2236 struct IOleCacheControl : public IUnknown
2238 virtual HRESULT STDMETHODCALLTYPE OnRun(
2239 LPDATAOBJECT pDataObject) = 0;
2241 virtual HRESULT STDMETHODCALLTYPE OnStop(
2242 ) = 0;
2245 #else
2246 typedef struct IOleCacheControlVtbl IOleCacheControlVtbl;
2247 struct IOleCacheControl {
2248 const IOleCacheControlVtbl* lpVtbl;
2250 struct IOleCacheControlVtbl {
2251 BEGIN_INTERFACE
2253 /*** IUnknown methods ***/
2254 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2255 IOleCacheControl* This,
2256 REFIID riid,
2257 void** ppvObject);
2259 ULONG (STDMETHODCALLTYPE *AddRef)(
2260 IOleCacheControl* This);
2262 ULONG (STDMETHODCALLTYPE *Release)(
2263 IOleCacheControl* This);
2265 /*** IOleCacheControl methods ***/
2266 HRESULT (STDMETHODCALLTYPE *OnRun)(
2267 IOleCacheControl* This,
2268 LPDATAOBJECT pDataObject);
2270 HRESULT (STDMETHODCALLTYPE *OnStop)(
2271 IOleCacheControl* This);
2273 END_INTERFACE
2276 #ifdef COBJMACROS
2277 /*** IUnknown methods ***/
2278 #define IOleCacheControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2279 #define IOleCacheControl_AddRef(p) (p)->lpVtbl->AddRef(p)
2280 #define IOleCacheControl_Release(p) (p)->lpVtbl->Release(p)
2281 /*** IOleCacheControl methods ***/
2282 #define IOleCacheControl_OnRun(p,a) (p)->lpVtbl->OnRun(p,a)
2283 #define IOleCacheControl_OnStop(p) (p)->lpVtbl->OnStop(p)
2284 #endif
2286 #endif
2288 #define IOleCacheControl_METHODS \
2289 /*** IUnknown methods ***/ \
2290 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2291 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2292 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2293 /*** IOleCacheControl methods ***/ \
2294 STDMETHOD_(HRESULT,OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
2295 STDMETHOD_(HRESULT,OnStop)(THIS) PURE;
2297 HRESULT CALLBACK IOleCacheControl_OnRun_Proxy(
2298 IOleCacheControl* This,
2299 LPDATAOBJECT pDataObject);
2300 void __RPC_STUB IOleCacheControl_OnRun_Stub(
2301 struct IRpcStubBuffer* This,
2302 struct IRpcChannelBuffer* pRpcChannelBuffer,
2303 PRPC_MESSAGE pRpcMessage,
2304 DWORD* pdwStubPhase);
2305 HRESULT CALLBACK IOleCacheControl_OnStop_Proxy(
2306 IOleCacheControl* This);
2307 void __RPC_STUB IOleCacheControl_OnStop_Stub(
2308 struct IRpcStubBuffer* This,
2309 struct IRpcChannelBuffer* pRpcChannelBuffer,
2310 PRPC_MESSAGE pRpcMessage,
2311 DWORD* pdwStubPhase);
2313 #endif /* __IOleCacheControl_INTERFACE_DEFINED__ */
2315 #ifndef __IEnumOLEVERB_FWD_DEFINED__
2316 #define __IEnumOLEVERB_FWD_DEFINED__
2317 typedef struct IEnumOLEVERB IEnumOLEVERB;
2318 #endif
2320 typedef IEnumOLEVERB *LPENUMOLEVERB;
2322 typedef struct tagOLEVERB {
2323 LONG lVerb;
2324 LPOLESTR lpszVerbName;
2325 DWORD fuFlags;
2326 DWORD grfAttribs;
2327 } OLEVERB, *LPOLEVERB;
2329 typedef enum tagOLEVERBATTRIB {
2330 OLEVERBATTRIB_NEVERDIRTIES = 1,
2331 OLEVERBATTRIB_ONCONTAINERMENU = 2
2332 } OLEVERBATTRIB;
2334 /*****************************************************************************
2335 * IEnumOLEVERB interface
2337 #ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
2338 #define __IEnumOLEVERB_INTERFACE_DEFINED__
2340 DEFINE_GUID(IID_IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2341 #if defined(__cplusplus) && !defined(CINTERFACE)
2342 struct IEnumOLEVERB : public IUnknown
2344 virtual HRESULT STDMETHODCALLTYPE Next(
2345 ULONG celt,
2346 LPOLEVERB rgelt,
2347 ULONG* pceltFetched) = 0;
2349 virtual HRESULT STDMETHODCALLTYPE Skip(
2350 ULONG celt) = 0;
2352 virtual HRESULT STDMETHODCALLTYPE Reset(
2353 ) = 0;
2355 virtual HRESULT STDMETHODCALLTYPE Clone(
2356 IEnumOLEVERB** ppenum) = 0;
2359 #else
2360 typedef struct IEnumOLEVERBVtbl IEnumOLEVERBVtbl;
2361 struct IEnumOLEVERB {
2362 const IEnumOLEVERBVtbl* lpVtbl;
2364 struct IEnumOLEVERBVtbl {
2365 BEGIN_INTERFACE
2367 /*** IUnknown methods ***/
2368 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2369 IEnumOLEVERB* This,
2370 REFIID riid,
2371 void** ppvObject);
2373 ULONG (STDMETHODCALLTYPE *AddRef)(
2374 IEnumOLEVERB* This);
2376 ULONG (STDMETHODCALLTYPE *Release)(
2377 IEnumOLEVERB* This);
2379 /*** IEnumOLEVERB methods ***/
2380 HRESULT (STDMETHODCALLTYPE *Next)(
2381 IEnumOLEVERB* This,
2382 ULONG celt,
2383 LPOLEVERB rgelt,
2384 ULONG* pceltFetched);
2386 HRESULT (STDMETHODCALLTYPE *Skip)(
2387 IEnumOLEVERB* This,
2388 ULONG celt);
2390 HRESULT (STDMETHODCALLTYPE *Reset)(
2391 IEnumOLEVERB* This);
2393 HRESULT (STDMETHODCALLTYPE *Clone)(
2394 IEnumOLEVERB* This,
2395 IEnumOLEVERB** ppenum);
2397 END_INTERFACE
2400 #ifdef COBJMACROS
2401 /*** IUnknown methods ***/
2402 #define IEnumOLEVERB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2403 #define IEnumOLEVERB_AddRef(p) (p)->lpVtbl->AddRef(p)
2404 #define IEnumOLEVERB_Release(p) (p)->lpVtbl->Release(p)
2405 /*** IEnumOLEVERB methods ***/
2406 #define IEnumOLEVERB_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2407 #define IEnumOLEVERB_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2408 #define IEnumOLEVERB_Reset(p) (p)->lpVtbl->Reset(p)
2409 #define IEnumOLEVERB_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2410 #endif
2412 #endif
2414 #define IEnumOLEVERB_METHODS \
2415 /*** IUnknown methods ***/ \
2416 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2417 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2418 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2419 /*** IEnumOLEVERB methods ***/ \
2420 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG* pceltFetched) PURE; \
2421 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2422 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2423 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumOLEVERB** ppenum) PURE;
2425 HRESULT CALLBACK IEnumOLEVERB_RemoteNext_Proxy(
2426 IEnumOLEVERB* This,
2427 ULONG celt,
2428 LPOLEVERB rgelt,
2429 ULONG* pceltFetched);
2430 void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(
2431 struct IRpcStubBuffer* This,
2432 struct IRpcChannelBuffer* pRpcChannelBuffer,
2433 PRPC_MESSAGE pRpcMessage,
2434 DWORD* pdwStubPhase);
2435 HRESULT CALLBACK IEnumOLEVERB_Next_Proxy(
2436 IEnumOLEVERB* This,
2437 ULONG celt,
2438 LPOLEVERB rgelt,
2439 ULONG* pceltFetched);
2440 HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub(
2441 IEnumOLEVERB* This,
2442 ULONG celt,
2443 LPOLEVERB rgelt,
2444 ULONG* pceltFetched);
2445 HRESULT CALLBACK IEnumOLEVERB_Skip_Proxy(
2446 IEnumOLEVERB* This,
2447 ULONG celt);
2448 void __RPC_STUB IEnumOLEVERB_Skip_Stub(
2449 struct IRpcStubBuffer* This,
2450 struct IRpcChannelBuffer* pRpcChannelBuffer,
2451 PRPC_MESSAGE pRpcMessage,
2452 DWORD* pdwStubPhase);
2453 HRESULT CALLBACK IEnumOLEVERB_Reset_Proxy(
2454 IEnumOLEVERB* This);
2455 void __RPC_STUB IEnumOLEVERB_Reset_Stub(
2456 struct IRpcStubBuffer* This,
2457 struct IRpcChannelBuffer* pRpcChannelBuffer,
2458 PRPC_MESSAGE pRpcMessage,
2459 DWORD* pdwStubPhase);
2460 HRESULT CALLBACK IEnumOLEVERB_Clone_Proxy(
2461 IEnumOLEVERB* This,
2462 IEnumOLEVERB** ppenum);
2463 void __RPC_STUB IEnumOLEVERB_Clone_Stub(
2464 struct IRpcStubBuffer* This,
2465 struct IRpcChannelBuffer* pRpcChannelBuffer,
2466 PRPC_MESSAGE pRpcMessage,
2467 DWORD* pdwStubPhase);
2469 #endif /* __IEnumOLEVERB_INTERFACE_DEFINED__ */
2471 #ifndef __IOleObject_FWD_DEFINED__
2472 #define __IOleObject_FWD_DEFINED__
2473 typedef struct IOleObject IOleObject;
2474 #endif
2476 typedef IOleObject *LPOLEOBJECT;
2478 typedef enum tagOLEGETMONIKER {
2479 OLEGETMONIKER_ONLYIFTHERE = 1,
2480 OLEGETMONIKER_FORCEASSIGN = 2,
2481 OLEGETMONIKER_UNASSIGN = 3,
2482 OLEGETMONIKER_TEMPFORUSER = 4
2483 } OLEGETMONIKER;
2485 typedef enum tagOLEWHICHMK {
2486 OLEWHICHMK_CONTAINER = 1,
2487 OLEWHICHMK_OBJREL = 2,
2488 OLEWHICHMK_OBJFULL = 3
2489 } OLEWHICHMK;
2491 typedef enum tagUSERCLASSTYPE {
2492 USERCLASSTYPE_FULL = 1,
2493 USERCLASSTYPE_SHORT = 2,
2494 USERCLASSTYPE_APPNAME = 3
2495 } USERCLASSTYPE;
2497 typedef enum tagOLEMISC {
2498 OLEMISC_RECOMPOSEONRESIZE = 0x1,
2499 OLEMISC_ONLYICONIC = 0x2,
2500 OLEMISC_INSERTNOTREPLACE = 0x4,
2501 OLEMISC_STATIC = 0x8,
2502 OLEMISC_CANTLINKINSIDE = 0x10,
2503 OLEMISC_CANLINKBYOLE1 = 0x20,
2504 OLEMISC_ISLINKOBJECT = 0x40,
2505 OLEMISC_INSIDEOUT = 0x80,
2506 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
2507 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
2508 OLEMISC_INVISIBLEATRUNTIME = 0x400,
2509 OLEMISC_ALWAYSRUN = 0x800,
2510 OLEMISC_ACTSLIKEBUTTON = 0x1000,
2511 OLEMISC_ACTSLIKELABEL = 0x2000,
2512 OLEMISC_NOUIACTIVATE = 0x4000,
2513 OLEMISC_ALIGNABLE = 0x8000,
2514 OLEMISC_SIMPLEFRAME = 0x10000,
2515 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
2516 OLEMISC_IMEMODE = 0x40000,
2517 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
2518 OLEMISC_WANTSTOMENUMERGE = 0x100000,
2519 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
2520 } OLEMISC;
2522 typedef enum tagOLECLOSE {
2523 OLECLOSE_SAVEIFDIRTY = 0,
2524 OLECLOSE_NOSAVE = 1,
2525 OLECLOSE_PROMPTSAVE = 2
2526 } OLECLOSE;
2528 /*****************************************************************************
2529 * IOleObject interface
2531 #ifndef __IOleObject_INTERFACE_DEFINED__
2532 #define __IOleObject_INTERFACE_DEFINED__
2534 DEFINE_GUID(IID_IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2535 #if defined(__cplusplus) && !defined(CINTERFACE)
2536 struct IOleObject : public IUnknown
2538 virtual HRESULT STDMETHODCALLTYPE SetClientSite(
2539 IOleClientSite* pClientSite) = 0;
2541 virtual HRESULT STDMETHODCALLTYPE GetClientSite(
2542 IOleClientSite** ppClientSite) = 0;
2544 virtual HRESULT STDMETHODCALLTYPE SetHostNames(
2545 LPCOLESTR szContainerApp,
2546 LPCOLESTR szContainerObj) = 0;
2548 virtual HRESULT STDMETHODCALLTYPE Close(
2549 DWORD dwSaveOption) = 0;
2551 virtual HRESULT STDMETHODCALLTYPE SetMoniker(
2552 DWORD dwWhichMoniker,
2553 IMoniker* pmk) = 0;
2555 virtual HRESULT STDMETHODCALLTYPE GetMoniker(
2556 DWORD dwAssign,
2557 DWORD dwWhichMoniker,
2558 IMoniker** ppmk) = 0;
2560 virtual HRESULT STDMETHODCALLTYPE InitFromData(
2561 IDataObject* pDataObject,
2562 BOOL fCreation,
2563 DWORD dwReserved) = 0;
2565 virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
2566 DWORD dwReserved,
2567 IDataObject** ppDataObject) = 0;
2569 virtual HRESULT STDMETHODCALLTYPE DoVerb(
2570 LONG iVerb,
2571 LPMSG lpmsg,
2572 IOleClientSite* pActiveSite,
2573 LONG lindex,
2574 HWND hwndParent,
2575 LPCRECT lprcPosRect) = 0;
2577 virtual HRESULT STDMETHODCALLTYPE EnumVerbs(
2578 IEnumOLEVERB** ppEnumOleVerb) = 0;
2580 virtual HRESULT STDMETHODCALLTYPE Update(
2581 ) = 0;
2583 virtual HRESULT STDMETHODCALLTYPE IsUpToDate(
2584 ) = 0;
2586 virtual HRESULT STDMETHODCALLTYPE GetUserClassID(
2587 CLSID* pClsid) = 0;
2589 virtual HRESULT STDMETHODCALLTYPE GetUserType(
2590 DWORD dwFormOfType,
2591 LPOLESTR* pszUserType) = 0;
2593 virtual HRESULT STDMETHODCALLTYPE SetExtent(
2594 DWORD dwDrawAspect,
2595 SIZEL* psizel) = 0;
2597 virtual HRESULT STDMETHODCALLTYPE GetExtent(
2598 DWORD dwDrawAspect,
2599 SIZEL* psizel) = 0;
2601 virtual HRESULT STDMETHODCALLTYPE Advise(
2602 IAdviseSink* pAdvSink,
2603 DWORD* pdwConnection) = 0;
2605 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2606 DWORD dwConnection) = 0;
2608 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
2609 IEnumSTATDATA** ppenumAdvise) = 0;
2611 virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(
2612 DWORD dwAspect,
2613 DWORD* pdwStatus) = 0;
2615 virtual HRESULT STDMETHODCALLTYPE SetColorScheme(
2616 LOGPALETTE* pLogpal) = 0;
2619 #else
2620 typedef struct IOleObjectVtbl IOleObjectVtbl;
2621 struct IOleObject {
2622 const IOleObjectVtbl* lpVtbl;
2624 struct IOleObjectVtbl {
2625 BEGIN_INTERFACE
2627 /*** IUnknown methods ***/
2628 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2629 IOleObject* This,
2630 REFIID riid,
2631 void** ppvObject);
2633 ULONG (STDMETHODCALLTYPE *AddRef)(
2634 IOleObject* This);
2636 ULONG (STDMETHODCALLTYPE *Release)(
2637 IOleObject* This);
2639 /*** IOleObject methods ***/
2640 HRESULT (STDMETHODCALLTYPE *SetClientSite)(
2641 IOleObject* This,
2642 IOleClientSite* pClientSite);
2644 HRESULT (STDMETHODCALLTYPE *GetClientSite)(
2645 IOleObject* This,
2646 IOleClientSite** ppClientSite);
2648 HRESULT (STDMETHODCALLTYPE *SetHostNames)(
2649 IOleObject* This,
2650 LPCOLESTR szContainerApp,
2651 LPCOLESTR szContainerObj);
2653 HRESULT (STDMETHODCALLTYPE *Close)(
2654 IOleObject* This,
2655 DWORD dwSaveOption);
2657 HRESULT (STDMETHODCALLTYPE *SetMoniker)(
2658 IOleObject* This,
2659 DWORD dwWhichMoniker,
2660 IMoniker* pmk);
2662 HRESULT (STDMETHODCALLTYPE *GetMoniker)(
2663 IOleObject* This,
2664 DWORD dwAssign,
2665 DWORD dwWhichMoniker,
2666 IMoniker** ppmk);
2668 HRESULT (STDMETHODCALLTYPE *InitFromData)(
2669 IOleObject* This,
2670 IDataObject* pDataObject,
2671 BOOL fCreation,
2672 DWORD dwReserved);
2674 HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
2675 IOleObject* This,
2676 DWORD dwReserved,
2677 IDataObject** ppDataObject);
2679 HRESULT (STDMETHODCALLTYPE *DoVerb)(
2680 IOleObject* This,
2681 LONG iVerb,
2682 LPMSG lpmsg,
2683 IOleClientSite* pActiveSite,
2684 LONG lindex,
2685 HWND hwndParent,
2686 LPCRECT lprcPosRect);
2688 HRESULT (STDMETHODCALLTYPE *EnumVerbs)(
2689 IOleObject* This,
2690 IEnumOLEVERB** ppEnumOleVerb);
2692 HRESULT (STDMETHODCALLTYPE *Update)(
2693 IOleObject* This);
2695 HRESULT (STDMETHODCALLTYPE *IsUpToDate)(
2696 IOleObject* This);
2698 HRESULT (STDMETHODCALLTYPE *GetUserClassID)(
2699 IOleObject* This,
2700 CLSID* pClsid);
2702 HRESULT (STDMETHODCALLTYPE *GetUserType)(
2703 IOleObject* This,
2704 DWORD dwFormOfType,
2705 LPOLESTR* pszUserType);
2707 HRESULT (STDMETHODCALLTYPE *SetExtent)(
2708 IOleObject* This,
2709 DWORD dwDrawAspect,
2710 SIZEL* psizel);
2712 HRESULT (STDMETHODCALLTYPE *GetExtent)(
2713 IOleObject* This,
2714 DWORD dwDrawAspect,
2715 SIZEL* psizel);
2717 HRESULT (STDMETHODCALLTYPE *Advise)(
2718 IOleObject* This,
2719 IAdviseSink* pAdvSink,
2720 DWORD* pdwConnection);
2722 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2723 IOleObject* This,
2724 DWORD dwConnection);
2726 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
2727 IOleObject* This,
2728 IEnumSTATDATA** ppenumAdvise);
2730 HRESULT (STDMETHODCALLTYPE *GetMiscStatus)(
2731 IOleObject* This,
2732 DWORD dwAspect,
2733 DWORD* pdwStatus);
2735 HRESULT (STDMETHODCALLTYPE *SetColorScheme)(
2736 IOleObject* This,
2737 LOGPALETTE* pLogpal);
2739 END_INTERFACE
2742 #ifdef COBJMACROS
2743 /*** IUnknown methods ***/
2744 #define IOleObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2745 #define IOleObject_AddRef(p) (p)->lpVtbl->AddRef(p)
2746 #define IOleObject_Release(p) (p)->lpVtbl->Release(p)
2747 /*** IOleObject methods ***/
2748 #define IOleObject_SetClientSite(p,a) (p)->lpVtbl->SetClientSite(p,a)
2749 #define IOleObject_GetClientSite(p,a) (p)->lpVtbl->GetClientSite(p,a)
2750 #define IOleObject_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
2751 #define IOleObject_Close(p,a) (p)->lpVtbl->Close(p,a)
2752 #define IOleObject_SetMoniker(p,a,b) (p)->lpVtbl->SetMoniker(p,a,b)
2753 #define IOleObject_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
2754 #define IOleObject_InitFromData(p,a,b,c) (p)->lpVtbl->InitFromData(p,a,b,c)
2755 #define IOleObject_GetClipboardData(p,a,b) (p)->lpVtbl->GetClipboardData(p,a,b)
2756 #define IOleObject_DoVerb(p,a,b,c,d,e,f) (p)->lpVtbl->DoVerb(p,a,b,c,d,e,f)
2757 #define IOleObject_EnumVerbs(p,a) (p)->lpVtbl->EnumVerbs(p,a)
2758 #define IOleObject_Update(p) (p)->lpVtbl->Update(p)
2759 #define IOleObject_IsUpToDate(p) (p)->lpVtbl->IsUpToDate(p)
2760 #define IOleObject_GetUserClassID(p,a) (p)->lpVtbl->GetUserClassID(p,a)
2761 #define IOleObject_GetUserType(p,a,b) (p)->lpVtbl->GetUserType(p,a,b)
2762 #define IOleObject_SetExtent(p,a,b) (p)->lpVtbl->SetExtent(p,a,b)
2763 #define IOleObject_GetExtent(p,a,b) (p)->lpVtbl->GetExtent(p,a,b)
2764 #define IOleObject_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
2765 #define IOleObject_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
2766 #define IOleObject_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
2767 #define IOleObject_GetMiscStatus(p,a,b) (p)->lpVtbl->GetMiscStatus(p,a,b)
2768 #define IOleObject_SetColorScheme(p,a) (p)->lpVtbl->SetColorScheme(p,a)
2769 #endif
2771 #endif
2773 #define IOleObject_METHODS \
2774 /*** IUnknown methods ***/ \
2775 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2776 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2777 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2778 /*** IOleObject methods ***/ \
2779 STDMETHOD_(HRESULT,SetClientSite)(THIS_ IOleClientSite* pClientSite) PURE; \
2780 STDMETHOD_(HRESULT,GetClientSite)(THIS_ IOleClientSite** ppClientSite) PURE; \
2781 STDMETHOD_(HRESULT,SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
2782 STDMETHOD_(HRESULT,Close)(THIS_ DWORD dwSaveOption) PURE; \
2783 STDMETHOD_(HRESULT,SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker* pmk) PURE; \
2784 STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
2785 STDMETHOD_(HRESULT,InitFromData)(THIS_ IDataObject* pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
2786 STDMETHOD_(HRESULT,GetClipboardData)(THIS_ DWORD dwReserved, IDataObject** ppDataObject) PURE; \
2787 STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, LPMSG lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
2788 STDMETHOD_(HRESULT,EnumVerbs)(THIS_ IEnumOLEVERB** ppEnumOleVerb) PURE; \
2789 STDMETHOD_(HRESULT,Update)(THIS) PURE; \
2790 STDMETHOD_(HRESULT,IsUpToDate)(THIS) PURE; \
2791 STDMETHOD_(HRESULT,GetUserClassID)(THIS_ CLSID* pClsid) PURE; \
2792 STDMETHOD_(HRESULT,GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR* pszUserType) PURE; \
2793 STDMETHOD_(HRESULT,SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2794 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL* psizel) PURE; \
2795 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
2796 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
2797 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
2798 STDMETHOD_(HRESULT,GetMiscStatus)(THIS_ DWORD dwAspect, DWORD* pdwStatus) PURE; \
2799 STDMETHOD_(HRESULT,SetColorScheme)(THIS_ LOGPALETTE* pLogpal) PURE;
2801 HRESULT CALLBACK IOleObject_SetClientSite_Proxy(
2802 IOleObject* This,
2803 IOleClientSite* pClientSite);
2804 void __RPC_STUB IOleObject_SetClientSite_Stub(
2805 struct IRpcStubBuffer* This,
2806 struct IRpcChannelBuffer* pRpcChannelBuffer,
2807 PRPC_MESSAGE pRpcMessage,
2808 DWORD* pdwStubPhase);
2809 HRESULT CALLBACK IOleObject_GetClientSite_Proxy(
2810 IOleObject* This,
2811 IOleClientSite** ppClientSite);
2812 void __RPC_STUB IOleObject_GetClientSite_Stub(
2813 struct IRpcStubBuffer* This,
2814 struct IRpcChannelBuffer* pRpcChannelBuffer,
2815 PRPC_MESSAGE pRpcMessage,
2816 DWORD* pdwStubPhase);
2817 HRESULT CALLBACK IOleObject_SetHostNames_Proxy(
2818 IOleObject* This,
2819 LPCOLESTR szContainerApp,
2820 LPCOLESTR szContainerObj);
2821 void __RPC_STUB IOleObject_SetHostNames_Stub(
2822 struct IRpcStubBuffer* This,
2823 struct IRpcChannelBuffer* pRpcChannelBuffer,
2824 PRPC_MESSAGE pRpcMessage,
2825 DWORD* pdwStubPhase);
2826 HRESULT CALLBACK IOleObject_Close_Proxy(
2827 IOleObject* This,
2828 DWORD dwSaveOption);
2829 void __RPC_STUB IOleObject_Close_Stub(
2830 struct IRpcStubBuffer* This,
2831 struct IRpcChannelBuffer* pRpcChannelBuffer,
2832 PRPC_MESSAGE pRpcMessage,
2833 DWORD* pdwStubPhase);
2834 HRESULT CALLBACK IOleObject_SetMoniker_Proxy(
2835 IOleObject* This,
2836 DWORD dwWhichMoniker,
2837 IMoniker* pmk);
2838 void __RPC_STUB IOleObject_SetMoniker_Stub(
2839 struct IRpcStubBuffer* This,
2840 struct IRpcChannelBuffer* pRpcChannelBuffer,
2841 PRPC_MESSAGE pRpcMessage,
2842 DWORD* pdwStubPhase);
2843 HRESULT CALLBACK IOleObject_GetMoniker_Proxy(
2844 IOleObject* This,
2845 DWORD dwAssign,
2846 DWORD dwWhichMoniker,
2847 IMoniker** ppmk);
2848 void __RPC_STUB IOleObject_GetMoniker_Stub(
2849 struct IRpcStubBuffer* This,
2850 struct IRpcChannelBuffer* pRpcChannelBuffer,
2851 PRPC_MESSAGE pRpcMessage,
2852 DWORD* pdwStubPhase);
2853 HRESULT CALLBACK IOleObject_InitFromData_Proxy(
2854 IOleObject* This,
2855 IDataObject* pDataObject,
2856 BOOL fCreation,
2857 DWORD dwReserved);
2858 void __RPC_STUB IOleObject_InitFromData_Stub(
2859 struct IRpcStubBuffer* This,
2860 struct IRpcChannelBuffer* pRpcChannelBuffer,
2861 PRPC_MESSAGE pRpcMessage,
2862 DWORD* pdwStubPhase);
2863 HRESULT CALLBACK IOleObject_GetClipboardData_Proxy(
2864 IOleObject* This,
2865 DWORD dwReserved,
2866 IDataObject** ppDataObject);
2867 void __RPC_STUB IOleObject_GetClipboardData_Stub(
2868 struct IRpcStubBuffer* This,
2869 struct IRpcChannelBuffer* pRpcChannelBuffer,
2870 PRPC_MESSAGE pRpcMessage,
2871 DWORD* pdwStubPhase);
2872 HRESULT CALLBACK IOleObject_DoVerb_Proxy(
2873 IOleObject* This,
2874 LONG iVerb,
2875 LPMSG lpmsg,
2876 IOleClientSite* pActiveSite,
2877 LONG lindex,
2878 HWND hwndParent,
2879 LPCRECT lprcPosRect);
2880 void __RPC_STUB IOleObject_DoVerb_Stub(
2881 struct IRpcStubBuffer* This,
2882 struct IRpcChannelBuffer* pRpcChannelBuffer,
2883 PRPC_MESSAGE pRpcMessage,
2884 DWORD* pdwStubPhase);
2885 HRESULT CALLBACK IOleObject_EnumVerbs_Proxy(
2886 IOleObject* This,
2887 IEnumOLEVERB** ppEnumOleVerb);
2888 void __RPC_STUB IOleObject_EnumVerbs_Stub(
2889 struct IRpcStubBuffer* This,
2890 struct IRpcChannelBuffer* pRpcChannelBuffer,
2891 PRPC_MESSAGE pRpcMessage,
2892 DWORD* pdwStubPhase);
2893 HRESULT CALLBACK IOleObject_Update_Proxy(
2894 IOleObject* This);
2895 void __RPC_STUB IOleObject_Update_Stub(
2896 struct IRpcStubBuffer* This,
2897 struct IRpcChannelBuffer* pRpcChannelBuffer,
2898 PRPC_MESSAGE pRpcMessage,
2899 DWORD* pdwStubPhase);
2900 HRESULT CALLBACK IOleObject_IsUpToDate_Proxy(
2901 IOleObject* This);
2902 void __RPC_STUB IOleObject_IsUpToDate_Stub(
2903 struct IRpcStubBuffer* This,
2904 struct IRpcChannelBuffer* pRpcChannelBuffer,
2905 PRPC_MESSAGE pRpcMessage,
2906 DWORD* pdwStubPhase);
2907 HRESULT CALLBACK IOleObject_GetUserClassID_Proxy(
2908 IOleObject* This,
2909 CLSID* pClsid);
2910 void __RPC_STUB IOleObject_GetUserClassID_Stub(
2911 struct IRpcStubBuffer* This,
2912 struct IRpcChannelBuffer* pRpcChannelBuffer,
2913 PRPC_MESSAGE pRpcMessage,
2914 DWORD* pdwStubPhase);
2915 HRESULT CALLBACK IOleObject_GetUserType_Proxy(
2916 IOleObject* This,
2917 DWORD dwFormOfType,
2918 LPOLESTR* pszUserType);
2919 void __RPC_STUB IOleObject_GetUserType_Stub(
2920 struct IRpcStubBuffer* This,
2921 struct IRpcChannelBuffer* pRpcChannelBuffer,
2922 PRPC_MESSAGE pRpcMessage,
2923 DWORD* pdwStubPhase);
2924 HRESULT CALLBACK IOleObject_SetExtent_Proxy(
2925 IOleObject* This,
2926 DWORD dwDrawAspect,
2927 SIZEL* psizel);
2928 void __RPC_STUB IOleObject_SetExtent_Stub(
2929 struct IRpcStubBuffer* This,
2930 struct IRpcChannelBuffer* pRpcChannelBuffer,
2931 PRPC_MESSAGE pRpcMessage,
2932 DWORD* pdwStubPhase);
2933 HRESULT CALLBACK IOleObject_GetExtent_Proxy(
2934 IOleObject* This,
2935 DWORD dwDrawAspect,
2936 SIZEL* psizel);
2937 void __RPC_STUB IOleObject_GetExtent_Stub(
2938 struct IRpcStubBuffer* This,
2939 struct IRpcChannelBuffer* pRpcChannelBuffer,
2940 PRPC_MESSAGE pRpcMessage,
2941 DWORD* pdwStubPhase);
2942 HRESULT CALLBACK IOleObject_Advise_Proxy(
2943 IOleObject* This,
2944 IAdviseSink* pAdvSink,
2945 DWORD* pdwConnection);
2946 void __RPC_STUB IOleObject_Advise_Stub(
2947 struct IRpcStubBuffer* This,
2948 struct IRpcChannelBuffer* pRpcChannelBuffer,
2949 PRPC_MESSAGE pRpcMessage,
2950 DWORD* pdwStubPhase);
2951 HRESULT CALLBACK IOleObject_Unadvise_Proxy(
2952 IOleObject* This,
2953 DWORD dwConnection);
2954 void __RPC_STUB IOleObject_Unadvise_Stub(
2955 struct IRpcStubBuffer* This,
2956 struct IRpcChannelBuffer* pRpcChannelBuffer,
2957 PRPC_MESSAGE pRpcMessage,
2958 DWORD* pdwStubPhase);
2959 HRESULT CALLBACK IOleObject_EnumAdvise_Proxy(
2960 IOleObject* This,
2961 IEnumSTATDATA** ppenumAdvise);
2962 void __RPC_STUB IOleObject_EnumAdvise_Stub(
2963 struct IRpcStubBuffer* This,
2964 struct IRpcChannelBuffer* pRpcChannelBuffer,
2965 PRPC_MESSAGE pRpcMessage,
2966 DWORD* pdwStubPhase);
2967 HRESULT CALLBACK IOleObject_GetMiscStatus_Proxy(
2968 IOleObject* This,
2969 DWORD dwAspect,
2970 DWORD* pdwStatus);
2971 void __RPC_STUB IOleObject_GetMiscStatus_Stub(
2972 struct IRpcStubBuffer* This,
2973 struct IRpcChannelBuffer* pRpcChannelBuffer,
2974 PRPC_MESSAGE pRpcMessage,
2975 DWORD* pdwStubPhase);
2976 HRESULT CALLBACK IOleObject_SetColorScheme_Proxy(
2977 IOleObject* This,
2978 LOGPALETTE* pLogpal);
2979 void __RPC_STUB IOleObject_SetColorScheme_Stub(
2980 struct IRpcStubBuffer* This,
2981 struct IRpcChannelBuffer* pRpcChannelBuffer,
2982 PRPC_MESSAGE pRpcMessage,
2983 DWORD* pdwStubPhase);
2985 #endif /* __IOleObject_INTERFACE_DEFINED__ */
2987 #ifndef __IOleAdviseHolder_FWD_DEFINED__
2988 #define __IOleAdviseHolder_FWD_DEFINED__
2989 typedef struct IOleAdviseHolder IOleAdviseHolder;
2990 #endif
2992 typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
2994 /*****************************************************************************
2995 * IOleAdviseHolder interface
2997 #ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
2998 #define __IOleAdviseHolder_INTERFACE_DEFINED__
3000 DEFINE_GUID(IID_IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3001 #if defined(__cplusplus) && !defined(CINTERFACE)
3002 struct IOleAdviseHolder : public IUnknown
3004 virtual HRESULT STDMETHODCALLTYPE Advise(
3005 IAdviseSink* pAdvise,
3006 DWORD* pdwConnection) = 0;
3008 virtual HRESULT STDMETHODCALLTYPE Unadvise(
3009 DWORD dwConnection) = 0;
3011 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
3012 IEnumSTATDATA** ppenumAdvise) = 0;
3014 virtual HRESULT STDMETHODCALLTYPE SendOnRename(
3015 IMoniker* pmk) = 0;
3017 virtual HRESULT STDMETHODCALLTYPE SendOnSave(
3018 ) = 0;
3020 virtual HRESULT STDMETHODCALLTYPE SendOnClose(
3021 ) = 0;
3024 #else
3025 typedef struct IOleAdviseHolderVtbl IOleAdviseHolderVtbl;
3026 struct IOleAdviseHolder {
3027 const IOleAdviseHolderVtbl* lpVtbl;
3029 struct IOleAdviseHolderVtbl {
3030 BEGIN_INTERFACE
3032 /*** IUnknown methods ***/
3033 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3034 IOleAdviseHolder* This,
3035 REFIID riid,
3036 void** ppvObject);
3038 ULONG (STDMETHODCALLTYPE *AddRef)(
3039 IOleAdviseHolder* This);
3041 ULONG (STDMETHODCALLTYPE *Release)(
3042 IOleAdviseHolder* This);
3044 /*** IOleAdviseHolder methods ***/
3045 HRESULT (STDMETHODCALLTYPE *Advise)(
3046 IOleAdviseHolder* This,
3047 IAdviseSink* pAdvise,
3048 DWORD* pdwConnection);
3050 HRESULT (STDMETHODCALLTYPE *Unadvise)(
3051 IOleAdviseHolder* This,
3052 DWORD dwConnection);
3054 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
3055 IOleAdviseHolder* This,
3056 IEnumSTATDATA** ppenumAdvise);
3058 HRESULT (STDMETHODCALLTYPE *SendOnRename)(
3059 IOleAdviseHolder* This,
3060 IMoniker* pmk);
3062 HRESULT (STDMETHODCALLTYPE *SendOnSave)(
3063 IOleAdviseHolder* This);
3065 HRESULT (STDMETHODCALLTYPE *SendOnClose)(
3066 IOleAdviseHolder* This);
3068 END_INTERFACE
3071 #ifdef COBJMACROS
3072 /*** IUnknown methods ***/
3073 #define IOleAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3074 #define IOleAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
3075 #define IOleAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
3076 /*** IOleAdviseHolder methods ***/
3077 #define IOleAdviseHolder_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
3078 #define IOleAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
3079 #define IOleAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
3080 #define IOleAdviseHolder_SendOnRename(p,a) (p)->lpVtbl->SendOnRename(p,a)
3081 #define IOleAdviseHolder_SendOnSave(p) (p)->lpVtbl->SendOnSave(p)
3082 #define IOleAdviseHolder_SendOnClose(p) (p)->lpVtbl->SendOnClose(p)
3083 #endif
3085 #endif
3087 #define IOleAdviseHolder_METHODS \
3088 /*** IUnknown methods ***/ \
3089 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3090 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3091 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3092 /*** IOleAdviseHolder methods ***/ \
3093 STDMETHOD_(HRESULT,Advise)(THIS_ IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
3094 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
3095 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
3096 STDMETHOD_(HRESULT,SendOnRename)(THIS_ IMoniker* pmk) PURE; \
3097 STDMETHOD_(HRESULT,SendOnSave)(THIS) PURE; \
3098 STDMETHOD_(HRESULT,SendOnClose)(THIS) PURE;
3100 HRESULT CALLBACK IOleAdviseHolder_Advise_Proxy(
3101 IOleAdviseHolder* This,
3102 IAdviseSink* pAdvise,
3103 DWORD* pdwConnection);
3104 void __RPC_STUB IOleAdviseHolder_Advise_Stub(
3105 struct IRpcStubBuffer* This,
3106 struct IRpcChannelBuffer* pRpcChannelBuffer,
3107 PRPC_MESSAGE pRpcMessage,
3108 DWORD* pdwStubPhase);
3109 HRESULT CALLBACK IOleAdviseHolder_Unadvise_Proxy(
3110 IOleAdviseHolder* This,
3111 DWORD dwConnection);
3112 void __RPC_STUB IOleAdviseHolder_Unadvise_Stub(
3113 struct IRpcStubBuffer* This,
3114 struct IRpcChannelBuffer* pRpcChannelBuffer,
3115 PRPC_MESSAGE pRpcMessage,
3116 DWORD* pdwStubPhase);
3117 HRESULT CALLBACK IOleAdviseHolder_EnumAdvise_Proxy(
3118 IOleAdviseHolder* This,
3119 IEnumSTATDATA** ppenumAdvise);
3120 void __RPC_STUB IOleAdviseHolder_EnumAdvise_Stub(
3121 struct IRpcStubBuffer* This,
3122 struct IRpcChannelBuffer* pRpcChannelBuffer,
3123 PRPC_MESSAGE pRpcMessage,
3124 DWORD* pdwStubPhase);
3125 HRESULT CALLBACK IOleAdviseHolder_SendOnRename_Proxy(
3126 IOleAdviseHolder* This,
3127 IMoniker* pmk);
3128 void __RPC_STUB IOleAdviseHolder_SendOnRename_Stub(
3129 struct IRpcStubBuffer* This,
3130 struct IRpcChannelBuffer* pRpcChannelBuffer,
3131 PRPC_MESSAGE pRpcMessage,
3132 DWORD* pdwStubPhase);
3133 HRESULT CALLBACK IOleAdviseHolder_SendOnSave_Proxy(
3134 IOleAdviseHolder* This);
3135 void __RPC_STUB IOleAdviseHolder_SendOnSave_Stub(
3136 struct IRpcStubBuffer* This,
3137 struct IRpcChannelBuffer* pRpcChannelBuffer,
3138 PRPC_MESSAGE pRpcMessage,
3139 DWORD* pdwStubPhase);
3140 HRESULT CALLBACK IOleAdviseHolder_SendOnClose_Proxy(
3141 IOleAdviseHolder* This);
3142 void __RPC_STUB IOleAdviseHolder_SendOnClose_Stub(
3143 struct IRpcStubBuffer* This,
3144 struct IRpcChannelBuffer* pRpcChannelBuffer,
3145 PRPC_MESSAGE pRpcMessage,
3146 DWORD* pdwStubPhase);
3148 #endif /* __IOleAdviseHolder_INTERFACE_DEFINED__ */
3150 #ifndef __IContinue_FWD_DEFINED__
3151 #define __IContinue_FWD_DEFINED__
3152 typedef struct IContinue IContinue;
3153 #endif
3155 /*****************************************************************************
3156 * IContinue interface
3158 #ifndef __IContinue_INTERFACE_DEFINED__
3159 #define __IContinue_INTERFACE_DEFINED__
3161 DEFINE_GUID(IID_IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3162 #if defined(__cplusplus) && !defined(CINTERFACE)
3163 struct IContinue : public IUnknown
3165 virtual HRESULT STDMETHODCALLTYPE FContinue(
3166 ) = 0;
3169 #else
3170 typedef struct IContinueVtbl IContinueVtbl;
3171 struct IContinue {
3172 const IContinueVtbl* lpVtbl;
3174 struct IContinueVtbl {
3175 BEGIN_INTERFACE
3177 /*** IUnknown methods ***/
3178 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3179 IContinue* This,
3180 REFIID riid,
3181 void** ppvObject);
3183 ULONG (STDMETHODCALLTYPE *AddRef)(
3184 IContinue* This);
3186 ULONG (STDMETHODCALLTYPE *Release)(
3187 IContinue* This);
3189 /*** IContinue methods ***/
3190 HRESULT (STDMETHODCALLTYPE *FContinue)(
3191 IContinue* This);
3193 END_INTERFACE
3196 #ifdef COBJMACROS
3197 /*** IUnknown methods ***/
3198 #define IContinue_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3199 #define IContinue_AddRef(p) (p)->lpVtbl->AddRef(p)
3200 #define IContinue_Release(p) (p)->lpVtbl->Release(p)
3201 /*** IContinue methods ***/
3202 #define IContinue_FContinue(p) (p)->lpVtbl->FContinue(p)
3203 #endif
3205 #endif
3207 #define IContinue_METHODS \
3208 /*** IUnknown methods ***/ \
3209 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3210 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3211 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3212 /*** IContinue methods ***/ \
3213 STDMETHOD_(HRESULT,FContinue)(THIS) PURE;
3215 HRESULT CALLBACK IContinue_FContinue_Proxy(
3216 IContinue* This);
3217 void __RPC_STUB IContinue_FContinue_Stub(
3218 struct IRpcStubBuffer* This,
3219 struct IRpcChannelBuffer* pRpcChannelBuffer,
3220 PRPC_MESSAGE pRpcMessage,
3221 DWORD* pdwStubPhase);
3223 #endif /* __IContinue_INTERFACE_DEFINED__ */
3225 #ifndef __IViewObject_FWD_DEFINED__
3226 #define __IViewObject_FWD_DEFINED__
3227 typedef struct IViewObject IViewObject;
3228 #endif
3230 typedef IViewObject *LPVIEWOBJECT;
3232 /*****************************************************************************
3233 * IViewObject interface
3235 #ifndef __IViewObject_INTERFACE_DEFINED__
3236 #define __IViewObject_INTERFACE_DEFINED__
3238 DEFINE_GUID(IID_IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3239 #if defined(__cplusplus) && !defined(CINTERFACE)
3240 struct IViewObject : public IUnknown
3242 virtual HRESULT STDMETHODCALLTYPE Draw(
3243 DWORD dwDrawAspect,
3244 LONG lindex,
3245 void* pvAspect,
3246 DVTARGETDEVICE* ptd,
3247 HDC hdcTargetDev,
3248 HDC hdcDraw,
3249 LPCRECTL lprcBounds,
3250 LPCRECTL lprcWBounds,
3251 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3252 ULONG_PTR dwContinue) = 0;
3254 virtual HRESULT STDMETHODCALLTYPE GetColorSet(
3255 DWORD dwDrawAspect,
3256 LONG lindex,
3257 void* pvAspect,
3258 DVTARGETDEVICE* ptd,
3259 HDC hicTargetDev,
3260 LOGPALETTE** ppColorSet) = 0;
3262 virtual HRESULT STDMETHODCALLTYPE Freeze(
3263 DWORD dwDrawAspect,
3264 LONG lindex,
3265 void* pvAspect,
3266 DWORD* pdwFreeze) = 0;
3268 virtual HRESULT STDMETHODCALLTYPE Unfreeze(
3269 DWORD dwFreeze) = 0;
3271 virtual HRESULT STDMETHODCALLTYPE SetAdvise(
3272 DWORD aspects,
3273 DWORD advf,
3274 IAdviseSink* pAdvSink) = 0;
3276 virtual HRESULT STDMETHODCALLTYPE GetAdvise(
3277 DWORD* pAspects,
3278 DWORD* pAdvf,
3279 IAdviseSink** ppAdvSink) = 0;
3282 #else
3283 typedef struct IViewObjectVtbl IViewObjectVtbl;
3284 struct IViewObject {
3285 const IViewObjectVtbl* lpVtbl;
3287 struct IViewObjectVtbl {
3288 BEGIN_INTERFACE
3290 /*** IUnknown methods ***/
3291 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3292 IViewObject* This,
3293 REFIID riid,
3294 void** ppvObject);
3296 ULONG (STDMETHODCALLTYPE *AddRef)(
3297 IViewObject* This);
3299 ULONG (STDMETHODCALLTYPE *Release)(
3300 IViewObject* This);
3302 /*** IViewObject methods ***/
3303 HRESULT (STDMETHODCALLTYPE *Draw)(
3304 IViewObject* This,
3305 DWORD dwDrawAspect,
3306 LONG lindex,
3307 void* pvAspect,
3308 DVTARGETDEVICE* ptd,
3309 HDC hdcTargetDev,
3310 HDC hdcDraw,
3311 LPCRECTL lprcBounds,
3312 LPCRECTL lprcWBounds,
3313 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3314 ULONG_PTR dwContinue);
3316 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3317 IViewObject* This,
3318 DWORD dwDrawAspect,
3319 LONG lindex,
3320 void* pvAspect,
3321 DVTARGETDEVICE* ptd,
3322 HDC hicTargetDev,
3323 LOGPALETTE** ppColorSet);
3325 HRESULT (STDMETHODCALLTYPE *Freeze)(
3326 IViewObject* This,
3327 DWORD dwDrawAspect,
3328 LONG lindex,
3329 void* pvAspect,
3330 DWORD* pdwFreeze);
3332 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3333 IViewObject* This,
3334 DWORD dwFreeze);
3336 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3337 IViewObject* This,
3338 DWORD aspects,
3339 DWORD advf,
3340 IAdviseSink* pAdvSink);
3342 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3343 IViewObject* This,
3344 DWORD* pAspects,
3345 DWORD* pAdvf,
3346 IAdviseSink** ppAdvSink);
3348 END_INTERFACE
3351 #ifdef COBJMACROS
3352 /*** IUnknown methods ***/
3353 #define IViewObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3354 #define IViewObject_AddRef(p) (p)->lpVtbl->AddRef(p)
3355 #define IViewObject_Release(p) (p)->lpVtbl->Release(p)
3356 /*** IViewObject methods ***/
3357 #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)
3358 #define IViewObject_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3359 #define IViewObject_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3360 #define IViewObject_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3361 #define IViewObject_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3362 #define IViewObject_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3363 #endif
3365 #endif
3367 #define IViewObject_METHODS \
3368 /*** IUnknown methods ***/ \
3369 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3370 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3371 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3372 /*** IViewObject methods ***/ \
3373 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; \
3374 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3375 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3376 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3377 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3378 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE;
3380 HRESULT CALLBACK IViewObject_RemoteDraw_Proxy(
3381 IViewObject* This,
3382 DWORD dwDrawAspect,
3383 LONG lindex,
3384 ULONG_PTR pvAspect,
3385 DVTARGETDEVICE* ptd,
3386 ULONG_PTR hdcTargetDev,
3387 ULONG_PTR hdcDraw,
3388 LPCRECTL lprcBounds,
3389 LPCRECTL lprcWBounds,
3390 IContinue* pContinue);
3391 void __RPC_STUB IViewObject_RemoteDraw_Stub(
3392 struct IRpcStubBuffer* This,
3393 struct IRpcChannelBuffer* pRpcChannelBuffer,
3394 PRPC_MESSAGE pRpcMessage,
3395 DWORD* pdwStubPhase);
3396 HRESULT CALLBACK IViewObject_Draw_Proxy(
3397 IViewObject* This,
3398 DWORD dwDrawAspect,
3399 LONG lindex,
3400 void* pvAspect,
3401 DVTARGETDEVICE* ptd,
3402 HDC hdcTargetDev,
3403 HDC hdcDraw,
3404 LPCRECTL lprcBounds,
3405 LPCRECTL lprcWBounds,
3406 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3407 ULONG_PTR dwContinue);
3408 HRESULT __RPC_STUB IViewObject_Draw_Stub(
3409 IViewObject* This,
3410 DWORD dwDrawAspect,
3411 LONG lindex,
3412 ULONG_PTR pvAspect,
3413 DVTARGETDEVICE* ptd,
3414 ULONG_PTR hdcTargetDev,
3415 ULONG_PTR hdcDraw,
3416 LPCRECTL lprcBounds,
3417 LPCRECTL lprcWBounds,
3418 IContinue* pContinue);
3419 HRESULT CALLBACK IViewObject_RemoteGetColorSet_Proxy(
3420 IViewObject* This,
3421 DWORD dwDrawAspect,
3422 LONG lindex,
3423 ULONG_PTR pvAspect,
3424 DVTARGETDEVICE* ptd,
3425 ULONG_PTR hicTargetDev,
3426 LOGPALETTE** ppColorSet);
3427 void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(
3428 struct IRpcStubBuffer* This,
3429 struct IRpcChannelBuffer* pRpcChannelBuffer,
3430 PRPC_MESSAGE pRpcMessage,
3431 DWORD* pdwStubPhase);
3432 HRESULT CALLBACK IViewObject_GetColorSet_Proxy(
3433 IViewObject* This,
3434 DWORD dwDrawAspect,
3435 LONG lindex,
3436 void* pvAspect,
3437 DVTARGETDEVICE* ptd,
3438 HDC hicTargetDev,
3439 LOGPALETTE** ppColorSet);
3440 HRESULT __RPC_STUB IViewObject_GetColorSet_Stub(
3441 IViewObject* This,
3442 DWORD dwDrawAspect,
3443 LONG lindex,
3444 ULONG_PTR pvAspect,
3445 DVTARGETDEVICE* ptd,
3446 ULONG_PTR hicTargetDev,
3447 LOGPALETTE** ppColorSet);
3448 HRESULT CALLBACK IViewObject_RemoteFreeze_Proxy(
3449 IViewObject* This,
3450 DWORD dwDrawAspect,
3451 LONG lindex,
3452 ULONG_PTR pvAspect,
3453 DWORD* pdwFreeze);
3454 void __RPC_STUB IViewObject_RemoteFreeze_Stub(
3455 struct IRpcStubBuffer* This,
3456 struct IRpcChannelBuffer* pRpcChannelBuffer,
3457 PRPC_MESSAGE pRpcMessage,
3458 DWORD* pdwStubPhase);
3459 HRESULT CALLBACK IViewObject_Freeze_Proxy(
3460 IViewObject* This,
3461 DWORD dwDrawAspect,
3462 LONG lindex,
3463 void* pvAspect,
3464 DWORD* pdwFreeze);
3465 HRESULT __RPC_STUB IViewObject_Freeze_Stub(
3466 IViewObject* This,
3467 DWORD dwDrawAspect,
3468 LONG lindex,
3469 ULONG_PTR pvAspect,
3470 DWORD* pdwFreeze);
3471 HRESULT CALLBACK IViewObject_Unfreeze_Proxy(
3472 IViewObject* This,
3473 DWORD dwFreeze);
3474 void __RPC_STUB IViewObject_Unfreeze_Stub(
3475 struct IRpcStubBuffer* This,
3476 struct IRpcChannelBuffer* pRpcChannelBuffer,
3477 PRPC_MESSAGE pRpcMessage,
3478 DWORD* pdwStubPhase);
3479 HRESULT CALLBACK IViewObject_SetAdvise_Proxy(
3480 IViewObject* This,
3481 DWORD aspects,
3482 DWORD advf,
3483 IAdviseSink* pAdvSink);
3484 void __RPC_STUB IViewObject_SetAdvise_Stub(
3485 struct IRpcStubBuffer* This,
3486 struct IRpcChannelBuffer* pRpcChannelBuffer,
3487 PRPC_MESSAGE pRpcMessage,
3488 DWORD* pdwStubPhase);
3489 HRESULT CALLBACK IViewObject_RemoteGetAdvise_Proxy(
3490 IViewObject* This,
3491 DWORD* pAspects,
3492 DWORD* pAdvf,
3493 IAdviseSink** ppAdvSink);
3494 void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(
3495 struct IRpcStubBuffer* This,
3496 struct IRpcChannelBuffer* pRpcChannelBuffer,
3497 PRPC_MESSAGE pRpcMessage,
3498 DWORD* pdwStubPhase);
3499 HRESULT CALLBACK IViewObject_GetAdvise_Proxy(
3500 IViewObject* This,
3501 DWORD* pAspects,
3502 DWORD* pAdvf,
3503 IAdviseSink** ppAdvSink);
3504 HRESULT __RPC_STUB IViewObject_GetAdvise_Stub(
3505 IViewObject* This,
3506 DWORD* pAspects,
3507 DWORD* pAdvf,
3508 IAdviseSink** ppAdvSink);
3510 #endif /* __IViewObject_INTERFACE_DEFINED__ */
3512 #ifndef __IViewObject2_FWD_DEFINED__
3513 #define __IViewObject2_FWD_DEFINED__
3514 typedef struct IViewObject2 IViewObject2;
3515 #endif
3517 typedef IViewObject2 *LPVIEWOBJECT2;
3519 /*****************************************************************************
3520 * IViewObject2 interface
3522 #ifndef __IViewObject2_INTERFACE_DEFINED__
3523 #define __IViewObject2_INTERFACE_DEFINED__
3525 DEFINE_GUID(IID_IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3526 #if defined(__cplusplus) && !defined(CINTERFACE)
3527 struct IViewObject2 : public IViewObject
3529 virtual HRESULT STDMETHODCALLTYPE GetExtent(
3530 DWORD dwDrawAspect,
3531 LONG lindex,
3532 DVTARGETDEVICE* ptd,
3533 LPSIZEL lpsizel) = 0;
3536 #else
3537 typedef struct IViewObject2Vtbl IViewObject2Vtbl;
3538 struct IViewObject2 {
3539 const IViewObject2Vtbl* lpVtbl;
3541 struct IViewObject2Vtbl {
3542 BEGIN_INTERFACE
3544 /*** IUnknown methods ***/
3545 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3546 IViewObject2* This,
3547 REFIID riid,
3548 void** ppvObject);
3550 ULONG (STDMETHODCALLTYPE *AddRef)(
3551 IViewObject2* This);
3553 ULONG (STDMETHODCALLTYPE *Release)(
3554 IViewObject2* This);
3556 /*** IViewObject methods ***/
3557 HRESULT (STDMETHODCALLTYPE *Draw)(
3558 IViewObject2* This,
3559 DWORD dwDrawAspect,
3560 LONG lindex,
3561 void* pvAspect,
3562 DVTARGETDEVICE* ptd,
3563 HDC hdcTargetDev,
3564 HDC hdcDraw,
3565 LPCRECTL lprcBounds,
3566 LPCRECTL lprcWBounds,
3567 BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3568 ULONG_PTR dwContinue);
3570 HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3571 IViewObject2* This,
3572 DWORD dwDrawAspect,
3573 LONG lindex,
3574 void* pvAspect,
3575 DVTARGETDEVICE* ptd,
3576 HDC hicTargetDev,
3577 LOGPALETTE** ppColorSet);
3579 HRESULT (STDMETHODCALLTYPE *Freeze)(
3580 IViewObject2* This,
3581 DWORD dwDrawAspect,
3582 LONG lindex,
3583 void* pvAspect,
3584 DWORD* pdwFreeze);
3586 HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3587 IViewObject2* This,
3588 DWORD dwFreeze);
3590 HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3591 IViewObject2* This,
3592 DWORD aspects,
3593 DWORD advf,
3594 IAdviseSink* pAdvSink);
3596 HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3597 IViewObject2* This,
3598 DWORD* pAspects,
3599 DWORD* pAdvf,
3600 IAdviseSink** ppAdvSink);
3602 /*** IViewObject2 methods ***/
3603 HRESULT (STDMETHODCALLTYPE *GetExtent)(
3604 IViewObject2* This,
3605 DWORD dwDrawAspect,
3606 LONG lindex,
3607 DVTARGETDEVICE* ptd,
3608 LPSIZEL lpsizel);
3610 END_INTERFACE
3613 #ifdef COBJMACROS
3614 /*** IUnknown methods ***/
3615 #define IViewObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3616 #define IViewObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
3617 #define IViewObject2_Release(p) (p)->lpVtbl->Release(p)
3618 /*** IViewObject methods ***/
3619 #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)
3620 #define IViewObject2_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
3621 #define IViewObject2_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
3622 #define IViewObject2_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
3623 #define IViewObject2_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
3624 #define IViewObject2_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
3625 /*** IViewObject2 methods ***/
3626 #define IViewObject2_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
3627 #endif
3629 #endif
3631 #define IViewObject2_METHODS \
3632 /*** IUnknown methods ***/ \
3633 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3634 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3635 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3636 /*** IViewObject methods ***/ \
3637 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; \
3638 STDMETHOD_(HRESULT,GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hicTargetDev, LOGPALETTE** ppColorSet) PURE; \
3639 STDMETHOD_(HRESULT,Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void* pvAspect, DWORD* pdwFreeze) PURE; \
3640 STDMETHOD_(HRESULT,Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
3641 STDMETHOD_(HRESULT,SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink* pAdvSink) PURE; \
3642 STDMETHOD_(HRESULT,GetAdvise)(THIS_ DWORD* pAspects, DWORD* pAdvf, IAdviseSink** ppAdvSink) PURE; \
3643 /*** IViewObject2 methods ***/ \
3644 STDMETHOD_(HRESULT,GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel) PURE;
3646 HRESULT CALLBACK IViewObject2_GetExtent_Proxy(
3647 IViewObject2* This,
3648 DWORD dwDrawAspect,
3649 LONG lindex,
3650 DVTARGETDEVICE* ptd,
3651 LPSIZEL lpsizel);
3652 void __RPC_STUB IViewObject2_GetExtent_Stub(
3653 struct IRpcStubBuffer* This,
3654 struct IRpcChannelBuffer* pRpcChannelBuffer,
3655 PRPC_MESSAGE pRpcMessage,
3656 DWORD* pdwStubPhase);
3658 #endif /* __IViewObject2_INTERFACE_DEFINED__ */
3660 #ifndef __IDropSource_FWD_DEFINED__
3661 #define __IDropSource_FWD_DEFINED__
3662 typedef struct IDropSource IDropSource;
3663 #endif
3665 typedef IDropSource *LPDROPSOURCE;
3667 /*****************************************************************************
3668 * IDropSource interface
3670 #ifndef __IDropSource_INTERFACE_DEFINED__
3671 #define __IDropSource_INTERFACE_DEFINED__
3673 DEFINE_GUID(IID_IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3674 #if defined(__cplusplus) && !defined(CINTERFACE)
3675 struct IDropSource : public IUnknown
3677 virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(
3678 BOOL fEscapePressed,
3679 DWORD grfKeyState) = 0;
3681 virtual HRESULT STDMETHODCALLTYPE GiveFeedback(
3682 DWORD dwEffect) = 0;
3685 #else
3686 typedef struct IDropSourceVtbl IDropSourceVtbl;
3687 struct IDropSource {
3688 const IDropSourceVtbl* lpVtbl;
3690 struct IDropSourceVtbl {
3691 BEGIN_INTERFACE
3693 /*** IUnknown methods ***/
3694 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3695 IDropSource* This,
3696 REFIID riid,
3697 void** ppvObject);
3699 ULONG (STDMETHODCALLTYPE *AddRef)(
3700 IDropSource* This);
3702 ULONG (STDMETHODCALLTYPE *Release)(
3703 IDropSource* This);
3705 /*** IDropSource methods ***/
3706 HRESULT (STDMETHODCALLTYPE *QueryContinueDrag)(
3707 IDropSource* This,
3708 BOOL fEscapePressed,
3709 DWORD grfKeyState);
3711 HRESULT (STDMETHODCALLTYPE *GiveFeedback)(
3712 IDropSource* This,
3713 DWORD dwEffect);
3715 END_INTERFACE
3718 #ifdef COBJMACROS
3719 /*** IUnknown methods ***/
3720 #define IDropSource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3721 #define IDropSource_AddRef(p) (p)->lpVtbl->AddRef(p)
3722 #define IDropSource_Release(p) (p)->lpVtbl->Release(p)
3723 /*** IDropSource methods ***/
3724 #define IDropSource_QueryContinueDrag(p,a,b) (p)->lpVtbl->QueryContinueDrag(p,a,b)
3725 #define IDropSource_GiveFeedback(p,a) (p)->lpVtbl->GiveFeedback(p,a)
3726 #endif
3728 #endif
3730 #define IDropSource_METHODS \
3731 /*** IUnknown methods ***/ \
3732 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3733 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3734 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3735 /*** IDropSource methods ***/ \
3736 STDMETHOD_(HRESULT,QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
3737 STDMETHOD_(HRESULT,GiveFeedback)(THIS_ DWORD dwEffect) PURE;
3739 HRESULT CALLBACK IDropSource_QueryContinueDrag_Proxy(
3740 IDropSource* This,
3741 BOOL fEscapePressed,
3742 DWORD grfKeyState);
3743 void __RPC_STUB IDropSource_QueryContinueDrag_Stub(
3744 struct IRpcStubBuffer* This,
3745 struct IRpcChannelBuffer* pRpcChannelBuffer,
3746 PRPC_MESSAGE pRpcMessage,
3747 DWORD* pdwStubPhase);
3748 HRESULT CALLBACK IDropSource_GiveFeedback_Proxy(
3749 IDropSource* This,
3750 DWORD dwEffect);
3751 void __RPC_STUB IDropSource_GiveFeedback_Stub(
3752 struct IRpcStubBuffer* This,
3753 struct IRpcChannelBuffer* pRpcChannelBuffer,
3754 PRPC_MESSAGE pRpcMessage,
3755 DWORD* pdwStubPhase);
3757 #endif /* __IDropSource_INTERFACE_DEFINED__ */
3759 #ifndef __IDropTarget_FWD_DEFINED__
3760 #define __IDropTarget_FWD_DEFINED__
3761 typedef struct IDropTarget IDropTarget;
3762 #endif
3764 typedef IDropTarget *LPDROPTARGET;
3766 #define MK_ALT (0x20)
3768 #define DROPEFFECT_NONE (0)
3770 #define DROPEFFECT_COPY (1)
3772 #define DROPEFFECT_MOVE (2)
3774 #define DROPEFFECT_LINK (4)
3776 #define DROPEFFECT_SCROLL (0x80000000)
3778 #define DD_DEFSCROLLINSET (11)
3780 #define DD_DEFSCROLLDELAY (50)
3782 #define DD_DEFSCROLLINTERVAL (50)
3784 #define DD_DEFDRAGDELAY (200)
3786 #define DD_DEFDRAGMINDIST (2)
3788 /*****************************************************************************
3789 * IDropTarget interface
3791 #ifndef __IDropTarget_INTERFACE_DEFINED__
3792 #define __IDropTarget_INTERFACE_DEFINED__
3794 DEFINE_GUID(IID_IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3795 #if defined(__cplusplus) && !defined(CINTERFACE)
3796 struct IDropTarget : public IUnknown
3798 virtual HRESULT STDMETHODCALLTYPE DragEnter(
3799 IDataObject* pDataObj,
3800 DWORD grfKeyState,
3801 POINTL pt,
3802 DWORD* pdwEffect) = 0;
3804 virtual HRESULT STDMETHODCALLTYPE DragOver(
3805 DWORD grfKeyState,
3806 POINTL pt,
3807 DWORD* pdwEffect) = 0;
3809 virtual HRESULT STDMETHODCALLTYPE DragLeave(
3810 ) = 0;
3812 virtual HRESULT STDMETHODCALLTYPE Drop(
3813 IDataObject* pDataObj,
3814 DWORD grfKeyState,
3815 POINTL pt,
3816 DWORD* pdwEffect) = 0;
3819 #else
3820 typedef struct IDropTargetVtbl IDropTargetVtbl;
3821 struct IDropTarget {
3822 const IDropTargetVtbl* lpVtbl;
3824 struct IDropTargetVtbl {
3825 BEGIN_INTERFACE
3827 /*** IUnknown methods ***/
3828 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3829 IDropTarget* This,
3830 REFIID riid,
3831 void** ppvObject);
3833 ULONG (STDMETHODCALLTYPE *AddRef)(
3834 IDropTarget* This);
3836 ULONG (STDMETHODCALLTYPE *Release)(
3837 IDropTarget* This);
3839 /*** IDropTarget methods ***/
3840 HRESULT (STDMETHODCALLTYPE *DragEnter)(
3841 IDropTarget* This,
3842 IDataObject* pDataObj,
3843 DWORD grfKeyState,
3844 POINTL pt,
3845 DWORD* pdwEffect);
3847 HRESULT (STDMETHODCALLTYPE *DragOver)(
3848 IDropTarget* This,
3849 DWORD grfKeyState,
3850 POINTL pt,
3851 DWORD* pdwEffect);
3853 HRESULT (STDMETHODCALLTYPE *DragLeave)(
3854 IDropTarget* This);
3856 HRESULT (STDMETHODCALLTYPE *Drop)(
3857 IDropTarget* This,
3858 IDataObject* pDataObj,
3859 DWORD grfKeyState,
3860 POINTL pt,
3861 DWORD* pdwEffect);
3863 END_INTERFACE
3866 #ifdef COBJMACROS
3867 /*** IUnknown methods ***/
3868 #define IDropTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3869 #define IDropTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
3870 #define IDropTarget_Release(p) (p)->lpVtbl->Release(p)
3871 /*** IDropTarget methods ***/
3872 #define IDropTarget_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3873 #define IDropTarget_DragOver(p,a,b,c) (p)->lpVtbl->DragOver(p,a,b,c)
3874 #define IDropTarget_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3875 #define IDropTarget_Drop(p,a,b,c,d) (p)->lpVtbl->Drop(p,a,b,c,d)
3876 #endif
3878 #endif
3880 #define IDropTarget_METHODS \
3881 /*** IUnknown methods ***/ \
3882 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3883 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3884 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3885 /*** IDropTarget methods ***/ \
3886 STDMETHOD_(HRESULT,DragEnter)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3887 STDMETHOD_(HRESULT,DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE; \
3888 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3889 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) PURE;
3891 HRESULT CALLBACK IDropTarget_DragEnter_Proxy(
3892 IDropTarget* This,
3893 IDataObject* pDataObj,
3894 DWORD grfKeyState,
3895 POINTL pt,
3896 DWORD* pdwEffect);
3897 void __RPC_STUB IDropTarget_DragEnter_Stub(
3898 struct IRpcStubBuffer* This,
3899 struct IRpcChannelBuffer* pRpcChannelBuffer,
3900 PRPC_MESSAGE pRpcMessage,
3901 DWORD* pdwStubPhase);
3902 HRESULT CALLBACK IDropTarget_DragOver_Proxy(
3903 IDropTarget* This,
3904 DWORD grfKeyState,
3905 POINTL pt,
3906 DWORD* pdwEffect);
3907 void __RPC_STUB IDropTarget_DragOver_Stub(
3908 struct IRpcStubBuffer* This,
3909 struct IRpcChannelBuffer* pRpcChannelBuffer,
3910 PRPC_MESSAGE pRpcMessage,
3911 DWORD* pdwStubPhase);
3912 HRESULT CALLBACK IDropTarget_DragLeave_Proxy(
3913 IDropTarget* This);
3914 void __RPC_STUB IDropTarget_DragLeave_Stub(
3915 struct IRpcStubBuffer* This,
3916 struct IRpcChannelBuffer* pRpcChannelBuffer,
3917 PRPC_MESSAGE pRpcMessage,
3918 DWORD* pdwStubPhase);
3919 HRESULT CALLBACK IDropTarget_Drop_Proxy(
3920 IDropTarget* This,
3921 IDataObject* pDataObj,
3922 DWORD grfKeyState,
3923 POINTL pt,
3924 DWORD* pdwEffect);
3925 void __RPC_STUB IDropTarget_Drop_Stub(
3926 struct IRpcStubBuffer* This,
3927 struct IRpcChannelBuffer* pRpcChannelBuffer,
3928 PRPC_MESSAGE pRpcMessage,
3929 DWORD* pdwStubPhase);
3931 #endif /* __IDropTarget_INTERFACE_DEFINED__ */
3933 #ifdef __cplusplus
3935 #endif
3936 #endif /* __WIDL_OLEIDL_H */