1 /*** Autogenerated by WIDL 0.1 from objidl.idl - Do not edit ***/
5 #ifndef __WIDL_OBJIDL_H
6 #define __WIDL_OBJIDL_H
11 #ifndef __IStream_FWD_DEFINED__
12 #define __IStream_FWD_DEFINED__
13 typedef struct IStream IStream;
16 #ifndef __IEnumString_FWD_DEFINED__
17 #define __IEnumString_FWD_DEFINED__
18 typedef struct IEnumString IEnumString;
21 #ifndef __IRunningObjectTable_FWD_DEFINED__
22 #define __IRunningObjectTable_FWD_DEFINED__
23 typedef struct IRunningObjectTable IRunningObjectTable;
26 #ifndef __IMoniker_FWD_DEFINED__
27 #define __IMoniker_FWD_DEFINED__
28 typedef struct IMoniker IMoniker;
31 #ifndef __IAdviseSink_FWD_DEFINED__
32 #define __IAdviseSink_FWD_DEFINED__
33 typedef struct IAdviseSink IAdviseSink;
36 #ifndef __IAsyncManager_FWD_DEFINED__
37 #define __IAsyncManager_FWD_DEFINED__
38 typedef struct IAsyncManager IAsyncManager;
41 #ifndef __IMarshal_FWD_DEFINED__
42 #define __IMarshal_FWD_DEFINED__
43 typedef struct IMarshal IMarshal;
46 typedef IMarshal *LPMARSHAL;
48 /*****************************************************************************
51 #ifndef __IMarshal_INTERFACE_DEFINED__
52 #define __IMarshal_INTERFACE_DEFINED__
54 DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
55 #if defined(__cplusplus) && !defined(CINTERFACE)
56 struct IMarshal : public IUnknown
58 virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass(
66 virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax(
74 virtual HRESULT STDMETHODCALLTYPE MarshalInterface(
82 virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface(
87 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData(
90 virtual HRESULT STDMETHODCALLTYPE DisconnectObject(
91 DWORD dwReserved) = 0;
95 typedef struct IMarshalVtbl IMarshalVtbl;
97 const IMarshalVtbl* lpVtbl;
100 ICOM_MSVTABLE_COMPAT_FIELDS
102 /*** IUnknown methods ***/
103 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
108 ULONG (STDMETHODCALLTYPE *AddRef)(
111 ULONG (STDMETHODCALLTYPE *Release)(
114 /*** IMarshal methods ***/
115 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)(
124 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)(
133 HRESULT (STDMETHODCALLTYPE *MarshalInterface)(
142 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)(
148 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)(
152 HRESULT (STDMETHODCALLTYPE *DisconnectObject)(
159 /*** IUnknown methods ***/
160 #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
161 #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
162 #define IMarshal_Release(p) (p)->lpVtbl->Release(p)
163 /*** IMarshal methods ***/
164 #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f)
165 #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f)
166 #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f)
167 #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c)
168 #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a)
169 #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a)
174 #define IMarshal_METHODS \
175 ICOM_MSVTABLE_COMPAT_FIELDS \
176 /*** IUnknown methods ***/ \
177 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
178 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
179 STDMETHOD_(ULONG,Release)(THIS) PURE; \
180 /*** IMarshal methods ***/ \
181 STDMETHOD_(HRESULT,GetUnmarshalClass)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) PURE; \
182 STDMETHOD_(HRESULT,GetMarshalSizeMax)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) PURE; \
183 STDMETHOD_(HRESULT,MarshalInterface)(THIS_ IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) PURE; \
184 STDMETHOD_(HRESULT,UnmarshalInterface)(THIS_ IStream* pStm, REFIID riid, void** ppv) PURE; \
185 STDMETHOD_(HRESULT,ReleaseMarshalData)(THIS_ IStream* pStm) PURE; \
186 STDMETHOD_(HRESULT,DisconnectObject)(THIS_ DWORD dwReserved) PURE;
188 HRESULT CALLBACK IMarshal_GetUnmarshalClass_Proxy(
196 void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
197 struct IRpcStubBuffer* This,
198 struct IRpcChannelBuffer* pRpcChannelBuffer,
199 PRPC_MESSAGE pRpcMessage,
200 DWORD* pdwStubPhase);
201 HRESULT CALLBACK IMarshal_GetMarshalSizeMax_Proxy(
209 void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
210 struct IRpcStubBuffer* This,
211 struct IRpcChannelBuffer* pRpcChannelBuffer,
212 PRPC_MESSAGE pRpcMessage,
213 DWORD* pdwStubPhase);
214 HRESULT CALLBACK IMarshal_MarshalInterface_Proxy(
222 void __RPC_STUB IMarshal_MarshalInterface_Stub(
223 struct IRpcStubBuffer* This,
224 struct IRpcChannelBuffer* pRpcChannelBuffer,
225 PRPC_MESSAGE pRpcMessage,
226 DWORD* pdwStubPhase);
227 HRESULT CALLBACK IMarshal_UnmarshalInterface_Proxy(
232 void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
233 struct IRpcStubBuffer* This,
234 struct IRpcChannelBuffer* pRpcChannelBuffer,
235 PRPC_MESSAGE pRpcMessage,
236 DWORD* pdwStubPhase);
237 HRESULT CALLBACK IMarshal_ReleaseMarshalData_Proxy(
240 void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
241 struct IRpcStubBuffer* This,
242 struct IRpcChannelBuffer* pRpcChannelBuffer,
243 PRPC_MESSAGE pRpcMessage,
244 DWORD* pdwStubPhase);
245 HRESULT CALLBACK IMarshal_DisconnectObject_Proxy(
248 void __RPC_STUB IMarshal_DisconnectObject_Stub(
249 struct IRpcStubBuffer* This,
250 struct IRpcChannelBuffer* pRpcChannelBuffer,
251 PRPC_MESSAGE pRpcMessage,
252 DWORD* pdwStubPhase);
254 #endif /* __IMarshal_INTERFACE_DEFINED__ */
256 #ifndef __IStdMarshalInfo_FWD_DEFINED__
257 #define __IStdMarshalInfo_FWD_DEFINED__
258 typedef struct IStdMarshalInfo IStdMarshalInfo;
261 typedef IStdMarshalInfo *LPSTDMARSHALINFO;
263 /*****************************************************************************
264 * IStdMarshalInfo interface
266 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
267 #define __IStdMarshalInfo_INTERFACE_DEFINED__
269 DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
270 #if defined(__cplusplus) && !defined(CINTERFACE)
271 struct IStdMarshalInfo : public IUnknown
273 virtual HRESULT STDMETHODCALLTYPE GetClassForHandler(
280 typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl;
281 struct IStdMarshalInfo {
282 const IStdMarshalInfoVtbl* lpVtbl;
284 struct IStdMarshalInfoVtbl {
285 ICOM_MSVTABLE_COMPAT_FIELDS
287 /*** IUnknown methods ***/
288 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
289 IStdMarshalInfo* This,
293 ULONG (STDMETHODCALLTYPE *AddRef)(
294 IStdMarshalInfo* This);
296 ULONG (STDMETHODCALLTYPE *Release)(
297 IStdMarshalInfo* This);
299 /*** IStdMarshalInfo methods ***/
300 HRESULT (STDMETHODCALLTYPE *GetClassForHandler)(
301 IStdMarshalInfo* This,
309 /*** IUnknown methods ***/
310 #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
311 #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
312 #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p)
313 /*** IStdMarshalInfo methods ***/
314 #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c)
319 #define IStdMarshalInfo_METHODS \
320 ICOM_MSVTABLE_COMPAT_FIELDS \
321 /*** IUnknown methods ***/ \
322 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
323 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
324 STDMETHOD_(ULONG,Release)(THIS) PURE; \
325 /*** IStdMarshalInfo methods ***/ \
326 STDMETHOD_(HRESULT,GetClassForHandler)(THIS_ DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) PURE;
328 HRESULT CALLBACK IStdMarshalInfo_GetClassForHandler_Proxy(
329 IStdMarshalInfo* This,
333 void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
334 struct IRpcStubBuffer* This,
335 struct IRpcChannelBuffer* pRpcChannelBuffer,
336 PRPC_MESSAGE pRpcMessage,
337 DWORD* pdwStubPhase);
339 #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
341 #ifndef __IExternalConnection_FWD_DEFINED__
342 #define __IExternalConnection_FWD_DEFINED__
343 typedef struct IExternalConnection IExternalConnection;
346 typedef IExternalConnection *LPEXTERNALCONNECTION;
348 typedef enum tagEXTCONN {
349 EXTCONN_STRONG = 0x1,
351 EXTCONN_CALLABLE = 0x4
354 /*****************************************************************************
355 * IExternalConnection interface
357 #ifndef __IExternalConnection_INTERFACE_DEFINED__
358 #define __IExternalConnection_INTERFACE_DEFINED__
360 DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
361 #if defined(__cplusplus) && !defined(CINTERFACE)
362 struct IExternalConnection : public IUnknown
364 virtual DWORD STDMETHODCALLTYPE AddConnection(
368 virtual DWORD STDMETHODCALLTYPE ReleaseConnection(
371 BOOL fLastReleaseCloses) = 0;
375 typedef struct IExternalConnectionVtbl IExternalConnectionVtbl;
376 struct IExternalConnection {
377 const IExternalConnectionVtbl* lpVtbl;
379 struct IExternalConnectionVtbl {
380 ICOM_MSVTABLE_COMPAT_FIELDS
382 /*** IUnknown methods ***/
383 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
384 IExternalConnection* This,
388 ULONG (STDMETHODCALLTYPE *AddRef)(
389 IExternalConnection* This);
391 ULONG (STDMETHODCALLTYPE *Release)(
392 IExternalConnection* This);
394 /*** IExternalConnection methods ***/
395 DWORD (STDMETHODCALLTYPE *AddConnection)(
396 IExternalConnection* This,
400 DWORD (STDMETHODCALLTYPE *ReleaseConnection)(
401 IExternalConnection* This,
404 BOOL fLastReleaseCloses);
409 /*** IUnknown methods ***/
410 #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
411 #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
412 #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p)
413 /*** IExternalConnection methods ***/
414 #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b)
415 #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c)
420 #define IExternalConnection_METHODS \
421 ICOM_MSVTABLE_COMPAT_FIELDS \
422 /*** IUnknown methods ***/ \
423 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
424 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
425 STDMETHOD_(ULONG,Release)(THIS) PURE; \
426 /*** IExternalConnection methods ***/ \
427 STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD extconn, DWORD reserved) PURE; \
428 STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) PURE;
430 DWORD CALLBACK IExternalConnection_AddConnection_Proxy(
431 IExternalConnection* This,
434 void __RPC_STUB IExternalConnection_AddConnection_Stub(
435 struct IRpcStubBuffer* This,
436 struct IRpcChannelBuffer* pRpcChannelBuffer,
437 PRPC_MESSAGE pRpcMessage,
438 DWORD* pdwStubPhase);
439 DWORD CALLBACK IExternalConnection_ReleaseConnection_Proxy(
440 IExternalConnection* This,
443 BOOL fLastReleaseCloses);
444 void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
445 struct IRpcStubBuffer* This,
446 struct IRpcChannelBuffer* pRpcChannelBuffer,
447 PRPC_MESSAGE pRpcMessage,
448 DWORD* pdwStubPhase);
450 #endif /* __IExternalConnection_INTERFACE_DEFINED__ */
452 #ifndef __IMultiQI_FWD_DEFINED__
453 #define __IMultiQI_FWD_DEFINED__
454 typedef struct IMultiQI IMultiQI;
457 typedef IMultiQI *LPMULTIQI;
459 typedef struct tagMULTI_QI {
465 /*****************************************************************************
468 #ifndef __IMultiQI_INTERFACE_DEFINED__
469 #define __IMultiQI_INTERFACE_DEFINED__
471 DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
472 #if defined(__cplusplus) && !defined(CINTERFACE)
473 struct IMultiQI : public IUnknown
475 virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces(
477 MULTI_QI* pMQIs) = 0;
481 typedef struct IMultiQIVtbl IMultiQIVtbl;
483 const IMultiQIVtbl* lpVtbl;
485 struct IMultiQIVtbl {
486 ICOM_MSVTABLE_COMPAT_FIELDS
488 /*** IUnknown methods ***/
489 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
494 ULONG (STDMETHODCALLTYPE *AddRef)(
497 ULONG (STDMETHODCALLTYPE *Release)(
500 /*** IMultiQI methods ***/
501 HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)(
509 /*** IUnknown methods ***/
510 #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
511 #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p)
512 #define IMultiQI_Release(p) (p)->lpVtbl->Release(p)
513 /*** IMultiQI methods ***/
514 #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b)
519 #define IMultiQI_METHODS \
520 ICOM_MSVTABLE_COMPAT_FIELDS \
521 /*** IUnknown methods ***/ \
522 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
523 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
524 STDMETHOD_(ULONG,Release)(THIS) PURE; \
525 /*** IMultiQI methods ***/ \
526 STDMETHOD_(HRESULT,QueryMultipleInterfaces)(THIS_ ULONG cMQIs, MULTI_QI* pMQIs) PURE;
528 HRESULT CALLBACK IMultiQI_QueryMultipleInterfaces_Proxy(
532 void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(
533 struct IRpcStubBuffer* This,
534 struct IRpcChannelBuffer* pRpcChannelBuffer,
535 PRPC_MESSAGE pRpcMessage,
536 DWORD* pdwStubPhase);
538 #endif /* __IMultiQI_INTERFACE_DEFINED__ */
540 #ifndef __IMalloc_FWD_DEFINED__
541 #define __IMalloc_FWD_DEFINED__
542 typedef struct IMalloc IMalloc;
545 typedef IMalloc *LPMALLOC;
547 /*****************************************************************************
550 #ifndef __IMalloc_INTERFACE_DEFINED__
551 #define __IMalloc_INTERFACE_DEFINED__
553 DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
554 #if defined(__cplusplus) && !defined(CINTERFACE)
555 struct IMalloc : public IUnknown
557 virtual LPVOID STDMETHODCALLTYPE Alloc(
560 virtual LPVOID STDMETHODCALLTYPE Realloc(
564 virtual void STDMETHODCALLTYPE Free(
567 virtual ULONG STDMETHODCALLTYPE GetSize(
570 virtual int STDMETHODCALLTYPE DidAlloc(
573 virtual void STDMETHODCALLTYPE HeapMinimize(
578 typedef struct IMallocVtbl IMallocVtbl;
580 const IMallocVtbl* lpVtbl;
583 ICOM_MSVTABLE_COMPAT_FIELDS
585 /*** IUnknown methods ***/
586 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
591 ULONG (STDMETHODCALLTYPE *AddRef)(
594 ULONG (STDMETHODCALLTYPE *Release)(
597 /*** IMalloc methods ***/
598 LPVOID (STDMETHODCALLTYPE *Alloc)(
602 LPVOID (STDMETHODCALLTYPE *Realloc)(
607 void (STDMETHODCALLTYPE *Free)(
611 ULONG (STDMETHODCALLTYPE *GetSize)(
615 int (STDMETHODCALLTYPE *DidAlloc)(
619 void (STDMETHODCALLTYPE *HeapMinimize)(
625 /*** IUnknown methods ***/
626 #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
627 #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p)
628 #define IMalloc_Release(p) (p)->lpVtbl->Release(p)
629 /*** IMalloc methods ***/
630 #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a)
631 #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b)
632 #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a)
633 #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
634 #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a)
635 #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p)
640 #define IMalloc_METHODS \
641 ICOM_MSVTABLE_COMPAT_FIELDS \
642 /*** IUnknown methods ***/ \
643 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
644 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
645 STDMETHOD_(ULONG,Release)(THIS) PURE; \
646 /*** IMalloc methods ***/ \
647 STDMETHOD_(LPVOID,Alloc)(THIS_ ULONG cb) PURE; \
648 STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, ULONG cb) PURE; \
649 STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \
650 STDMETHOD_(ULONG,GetSize)(THIS_ LPVOID pv) PURE; \
651 STDMETHOD_(int,DidAlloc)(THIS_ LPVOID pv) PURE; \
652 STDMETHOD_(void,HeapMinimize)(THIS) PURE;
654 LPVOID CALLBACK IMalloc_Alloc_Proxy(
657 void __RPC_STUB IMalloc_Alloc_Stub(
658 struct IRpcStubBuffer* This,
659 struct IRpcChannelBuffer* pRpcChannelBuffer,
660 PRPC_MESSAGE pRpcMessage,
661 DWORD* pdwStubPhase);
662 LPVOID CALLBACK IMalloc_Realloc_Proxy(
666 void __RPC_STUB IMalloc_Realloc_Stub(
667 struct IRpcStubBuffer* This,
668 struct IRpcChannelBuffer* pRpcChannelBuffer,
669 PRPC_MESSAGE pRpcMessage,
670 DWORD* pdwStubPhase);
671 void CALLBACK IMalloc_Free_Proxy(
674 void __RPC_STUB IMalloc_Free_Stub(
675 struct IRpcStubBuffer* This,
676 struct IRpcChannelBuffer* pRpcChannelBuffer,
677 PRPC_MESSAGE pRpcMessage,
678 DWORD* pdwStubPhase);
679 ULONG CALLBACK IMalloc_GetSize_Proxy(
682 void __RPC_STUB IMalloc_GetSize_Stub(
683 struct IRpcStubBuffer* This,
684 struct IRpcChannelBuffer* pRpcChannelBuffer,
685 PRPC_MESSAGE pRpcMessage,
686 DWORD* pdwStubPhase);
687 int CALLBACK IMalloc_DidAlloc_Proxy(
690 void __RPC_STUB IMalloc_DidAlloc_Stub(
691 struct IRpcStubBuffer* This,
692 struct IRpcChannelBuffer* pRpcChannelBuffer,
693 PRPC_MESSAGE pRpcMessage,
694 DWORD* pdwStubPhase);
695 void CALLBACK IMalloc_HeapMinimize_Proxy(
697 void __RPC_STUB IMalloc_HeapMinimize_Stub(
698 struct IRpcStubBuffer* This,
699 struct IRpcChannelBuffer* pRpcChannelBuffer,
700 PRPC_MESSAGE pRpcMessage,
701 DWORD* pdwStubPhase);
703 #endif /* __IMalloc_INTERFACE_DEFINED__ */
705 #ifndef __IMallocSpy_FWD_DEFINED__
706 #define __IMallocSpy_FWD_DEFINED__
707 typedef struct IMallocSpy IMallocSpy;
710 typedef IMallocSpy *LPMALLOCSPY;
712 /*****************************************************************************
713 * IMallocSpy interface
715 #ifndef __IMallocSpy_INTERFACE_DEFINED__
716 #define __IMallocSpy_INTERFACE_DEFINED__
718 DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
719 #if defined(__cplusplus) && !defined(CINTERFACE)
720 struct IMallocSpy : public IUnknown
722 virtual ULONG STDMETHODCALLTYPE PreAlloc(
723 ULONG cbRequest) = 0;
725 virtual LPVOID STDMETHODCALLTYPE PostAlloc(
728 virtual LPVOID STDMETHODCALLTYPE PreFree(
732 virtual void STDMETHODCALLTYPE PostFree(
735 virtual ULONG STDMETHODCALLTYPE PreRealloc(
738 LPVOID* ppNewRequest,
741 virtual LPVOID STDMETHODCALLTYPE PostRealloc(
745 virtual LPVOID STDMETHODCALLTYPE PreGetSize(
749 virtual ULONG STDMETHODCALLTYPE PostGetSize(
753 virtual LPVOID STDMETHODCALLTYPE PreDidAlloc(
757 virtual int STDMETHODCALLTYPE PostDidAlloc(
762 virtual void STDMETHODCALLTYPE PreHeapMinimize(
765 virtual void STDMETHODCALLTYPE PostHeapMinimize(
770 typedef struct IMallocSpyVtbl IMallocSpyVtbl;
772 const IMallocSpyVtbl* lpVtbl;
774 struct IMallocSpyVtbl {
775 ICOM_MSVTABLE_COMPAT_FIELDS
777 /*** IUnknown methods ***/
778 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
783 ULONG (STDMETHODCALLTYPE *AddRef)(
786 ULONG (STDMETHODCALLTYPE *Release)(
789 /*** IMallocSpy methods ***/
790 ULONG (STDMETHODCALLTYPE *PreAlloc)(
794 LPVOID (STDMETHODCALLTYPE *PostAlloc)(
798 LPVOID (STDMETHODCALLTYPE *PreFree)(
803 void (STDMETHODCALLTYPE *PostFree)(
807 ULONG (STDMETHODCALLTYPE *PreRealloc)(
811 LPVOID* ppNewRequest,
814 LPVOID (STDMETHODCALLTYPE *PostRealloc)(
819 LPVOID (STDMETHODCALLTYPE *PreGetSize)(
824 ULONG (STDMETHODCALLTYPE *PostGetSize)(
829 LPVOID (STDMETHODCALLTYPE *PreDidAlloc)(
834 int (STDMETHODCALLTYPE *PostDidAlloc)(
840 void (STDMETHODCALLTYPE *PreHeapMinimize)(
843 void (STDMETHODCALLTYPE *PostHeapMinimize)(
849 /*** IUnknown methods ***/
850 #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
851 #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p)
852 #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p)
853 /*** IMallocSpy methods ***/
854 #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a)
855 #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a)
856 #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b)
857 #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a)
858 #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d)
859 #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b)
860 #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b)
861 #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b)
862 #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b)
863 #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c)
864 #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p)
865 #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p)
870 #define IMallocSpy_METHODS \
871 ICOM_MSVTABLE_COMPAT_FIELDS \
872 /*** IUnknown methods ***/ \
873 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
874 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
875 STDMETHOD_(ULONG,Release)(THIS) PURE; \
876 /*** IMallocSpy methods ***/ \
877 STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG cbRequest) PURE; \
878 STDMETHOD_(LPVOID,PostAlloc)(THIS_ LPVOID pActual) PURE; \
879 STDMETHOD_(LPVOID,PreFree)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
880 STDMETHOD_(void,PostFree)(THIS_ BOOL fSpyed) PURE; \
881 STDMETHOD_(ULONG,PreRealloc)(THIS_ LPVOID pRequest, ULONG cbRequest, LPVOID* ppNewRequest, BOOL fSpyed) PURE; \
882 STDMETHOD_(LPVOID,PostRealloc)(THIS_ LPVOID pActual, BOOL fSpyed) PURE; \
883 STDMETHOD_(LPVOID,PreGetSize)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
884 STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG cbActual, BOOL fSpyed) PURE; \
885 STDMETHOD_(LPVOID,PreDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
886 STDMETHOD_(int,PostDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed, int fActual) PURE; \
887 STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; \
888 STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
890 ULONG CALLBACK IMallocSpy_PreAlloc_Proxy(
893 void __RPC_STUB IMallocSpy_PreAlloc_Stub(
894 struct IRpcStubBuffer* This,
895 struct IRpcChannelBuffer* pRpcChannelBuffer,
896 PRPC_MESSAGE pRpcMessage,
897 DWORD* pdwStubPhase);
898 LPVOID CALLBACK IMallocSpy_PostAlloc_Proxy(
901 void __RPC_STUB IMallocSpy_PostAlloc_Stub(
902 struct IRpcStubBuffer* This,
903 struct IRpcChannelBuffer* pRpcChannelBuffer,
904 PRPC_MESSAGE pRpcMessage,
905 DWORD* pdwStubPhase);
906 LPVOID CALLBACK IMallocSpy_PreFree_Proxy(
910 void __RPC_STUB IMallocSpy_PreFree_Stub(
911 struct IRpcStubBuffer* This,
912 struct IRpcChannelBuffer* pRpcChannelBuffer,
913 PRPC_MESSAGE pRpcMessage,
914 DWORD* pdwStubPhase);
915 void CALLBACK IMallocSpy_PostFree_Proxy(
918 void __RPC_STUB IMallocSpy_PostFree_Stub(
919 struct IRpcStubBuffer* This,
920 struct IRpcChannelBuffer* pRpcChannelBuffer,
921 PRPC_MESSAGE pRpcMessage,
922 DWORD* pdwStubPhase);
923 ULONG CALLBACK IMallocSpy_PreRealloc_Proxy(
927 LPVOID* ppNewRequest,
929 void __RPC_STUB IMallocSpy_PreRealloc_Stub(
930 struct IRpcStubBuffer* This,
931 struct IRpcChannelBuffer* pRpcChannelBuffer,
932 PRPC_MESSAGE pRpcMessage,
933 DWORD* pdwStubPhase);
934 LPVOID CALLBACK IMallocSpy_PostRealloc_Proxy(
938 void __RPC_STUB IMallocSpy_PostRealloc_Stub(
939 struct IRpcStubBuffer* This,
940 struct IRpcChannelBuffer* pRpcChannelBuffer,
941 PRPC_MESSAGE pRpcMessage,
942 DWORD* pdwStubPhase);
943 LPVOID CALLBACK IMallocSpy_PreGetSize_Proxy(
947 void __RPC_STUB IMallocSpy_PreGetSize_Stub(
948 struct IRpcStubBuffer* This,
949 struct IRpcChannelBuffer* pRpcChannelBuffer,
950 PRPC_MESSAGE pRpcMessage,
951 DWORD* pdwStubPhase);
952 ULONG CALLBACK IMallocSpy_PostGetSize_Proxy(
956 void __RPC_STUB IMallocSpy_PostGetSize_Stub(
957 struct IRpcStubBuffer* This,
958 struct IRpcChannelBuffer* pRpcChannelBuffer,
959 PRPC_MESSAGE pRpcMessage,
960 DWORD* pdwStubPhase);
961 LPVOID CALLBACK IMallocSpy_PreDidAlloc_Proxy(
965 void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(
966 struct IRpcStubBuffer* This,
967 struct IRpcChannelBuffer* pRpcChannelBuffer,
968 PRPC_MESSAGE pRpcMessage,
969 DWORD* pdwStubPhase);
970 int CALLBACK IMallocSpy_PostDidAlloc_Proxy(
975 void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(
976 struct IRpcStubBuffer* This,
977 struct IRpcChannelBuffer* pRpcChannelBuffer,
978 PRPC_MESSAGE pRpcMessage,
979 DWORD* pdwStubPhase);
980 void CALLBACK IMallocSpy_PreHeapMinimize_Proxy(
982 void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(
983 struct IRpcStubBuffer* This,
984 struct IRpcChannelBuffer* pRpcChannelBuffer,
985 PRPC_MESSAGE pRpcMessage,
986 DWORD* pdwStubPhase);
987 void CALLBACK IMallocSpy_PostHeapMinimize_Proxy(
989 void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(
990 struct IRpcStubBuffer* This,
991 struct IRpcChannelBuffer* pRpcChannelBuffer,
992 PRPC_MESSAGE pRpcMessage,
993 DWORD* pdwStubPhase);
995 #endif /* __IMallocSpy_INTERFACE_DEFINED__ */
997 #ifndef __IEnumUnknown_FWD_DEFINED__
998 #define __IEnumUnknown_FWD_DEFINED__
999 typedef struct IEnumUnknown IEnumUnknown;
1002 typedef IEnumUnknown *LPENUMUNKNOWN;
1004 /*****************************************************************************
1005 * IEnumUnknown interface
1007 #ifndef __IEnumUnknown_INTERFACE_DEFINED__
1008 #define __IEnumUnknown_INTERFACE_DEFINED__
1010 DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1011 #if defined(__cplusplus) && !defined(CINTERFACE)
1012 struct IEnumUnknown : public IUnknown
1014 virtual HRESULT STDMETHODCALLTYPE Next(
1017 ULONG* pceltFetched) = 0;
1019 virtual HRESULT STDMETHODCALLTYPE Skip(
1022 virtual HRESULT STDMETHODCALLTYPE Reset(
1025 virtual HRESULT STDMETHODCALLTYPE Clone(
1026 IEnumUnknown** ppenum) = 0;
1030 typedef struct IEnumUnknownVtbl IEnumUnknownVtbl;
1031 struct IEnumUnknown {
1032 const IEnumUnknownVtbl* lpVtbl;
1034 struct IEnumUnknownVtbl {
1035 ICOM_MSVTABLE_COMPAT_FIELDS
1037 /*** IUnknown methods ***/
1038 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1043 ULONG (STDMETHODCALLTYPE *AddRef)(
1044 IEnumUnknown* This);
1046 ULONG (STDMETHODCALLTYPE *Release)(
1047 IEnumUnknown* This);
1049 /*** IEnumUnknown methods ***/
1050 HRESULT (STDMETHODCALLTYPE *Next)(
1054 ULONG* pceltFetched);
1056 HRESULT (STDMETHODCALLTYPE *Skip)(
1060 HRESULT (STDMETHODCALLTYPE *Reset)(
1061 IEnumUnknown* This);
1063 HRESULT (STDMETHODCALLTYPE *Clone)(
1065 IEnumUnknown** ppenum);
1070 /*** IUnknown methods ***/
1071 #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1072 #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
1073 #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p)
1074 /*** IEnumUnknown methods ***/
1075 #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1076 #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1077 #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p)
1078 #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1083 #define IEnumUnknown_METHODS \
1084 ICOM_MSVTABLE_COMPAT_FIELDS \
1085 /*** IUnknown methods ***/ \
1086 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1087 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1088 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1089 /*** IEnumUnknown methods ***/ \
1090 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IUnknown** rgelt, ULONG* pceltFetched) PURE; \
1091 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1092 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1093 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumUnknown** ppenum) PURE;
1095 HRESULT CALLBACK IEnumUnknown_RemoteNext_Proxy(
1099 ULONG* pceltFetched);
1100 void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
1101 struct IRpcStubBuffer* This,
1102 struct IRpcChannelBuffer* pRpcChannelBuffer,
1103 PRPC_MESSAGE pRpcMessage,
1104 DWORD* pdwStubPhase);
1105 HRESULT CALLBACK IEnumUnknown_Next_Proxy(
1109 ULONG* pceltFetched);
1110 HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
1114 ULONG* pceltFetched);
1115 HRESULT CALLBACK IEnumUnknown_Skip_Proxy(
1118 void __RPC_STUB IEnumUnknown_Skip_Stub(
1119 struct IRpcStubBuffer* This,
1120 struct IRpcChannelBuffer* pRpcChannelBuffer,
1121 PRPC_MESSAGE pRpcMessage,
1122 DWORD* pdwStubPhase);
1123 HRESULT CALLBACK IEnumUnknown_Reset_Proxy(
1124 IEnumUnknown* This);
1125 void __RPC_STUB IEnumUnknown_Reset_Stub(
1126 struct IRpcStubBuffer* This,
1127 struct IRpcChannelBuffer* pRpcChannelBuffer,
1128 PRPC_MESSAGE pRpcMessage,
1129 DWORD* pdwStubPhase);
1130 HRESULT CALLBACK IEnumUnknown_Clone_Proxy(
1132 IEnumUnknown** ppenum);
1133 void __RPC_STUB IEnumUnknown_Clone_Stub(
1134 struct IRpcStubBuffer* This,
1135 struct IRpcChannelBuffer* pRpcChannelBuffer,
1136 PRPC_MESSAGE pRpcMessage,
1137 DWORD* pdwStubPhase);
1139 #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
1141 #ifndef __ISurrogate_FWD_DEFINED__
1142 #define __ISurrogate_FWD_DEFINED__
1143 typedef struct ISurrogate ISurrogate;
1146 typedef ISurrogate *LPSURROGATE;
1148 /*****************************************************************************
1149 * ISurrogate interface
1151 #ifndef __ISurrogate_INTERFACE_DEFINED__
1152 #define __ISurrogate_INTERFACE_DEFINED__
1154 DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1155 #if defined(__cplusplus) && !defined(CINTERFACE)
1156 struct ISurrogate : public IUnknown
1158 virtual HRESULT STDMETHODCALLTYPE LoadDllServer(
1159 REFCLSID Clsid) = 0;
1161 virtual HRESULT STDMETHODCALLTYPE FreeSurrogate(
1166 typedef struct ISurrogateVtbl ISurrogateVtbl;
1168 const ISurrogateVtbl* lpVtbl;
1170 struct ISurrogateVtbl {
1171 ICOM_MSVTABLE_COMPAT_FIELDS
1173 /*** IUnknown methods ***/
1174 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1179 ULONG (STDMETHODCALLTYPE *AddRef)(
1182 ULONG (STDMETHODCALLTYPE *Release)(
1185 /*** ISurrogate methods ***/
1186 HRESULT (STDMETHODCALLTYPE *LoadDllServer)(
1190 HRESULT (STDMETHODCALLTYPE *FreeSurrogate)(
1196 /*** IUnknown methods ***/
1197 #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1198 #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p)
1199 #define ISurrogate_Release(p) (p)->lpVtbl->Release(p)
1200 /*** ISurrogate methods ***/
1201 #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a)
1202 #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p)
1207 #define ISurrogate_METHODS \
1208 ICOM_MSVTABLE_COMPAT_FIELDS \
1209 /*** IUnknown methods ***/ \
1210 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1211 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1212 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1213 /*** ISurrogate methods ***/ \
1214 STDMETHOD_(HRESULT,LoadDllServer)(THIS_ REFCLSID Clsid) PURE; \
1215 STDMETHOD_(HRESULT,FreeSurrogate)(THIS) PURE;
1217 HRESULT CALLBACK ISurrogate_LoadDllServer_Proxy(
1220 void __RPC_STUB ISurrogate_LoadDllServer_Stub(
1221 struct IRpcStubBuffer* This,
1222 struct IRpcChannelBuffer* pRpcChannelBuffer,
1223 PRPC_MESSAGE pRpcMessage,
1224 DWORD* pdwStubPhase);
1225 HRESULT CALLBACK ISurrogate_FreeSurrogate_Proxy(
1227 void __RPC_STUB ISurrogate_FreeSurrogate_Stub(
1228 struct IRpcStubBuffer* This,
1229 struct IRpcChannelBuffer* pRpcChannelBuffer,
1230 PRPC_MESSAGE pRpcMessage,
1231 DWORD* pdwStubPhase);
1233 #endif /* __ISurrogate_INTERFACE_DEFINED__ */
1235 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
1236 #define __IGlobalInterfaceTable_FWD_DEFINED__
1237 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
1240 typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
1242 /*****************************************************************************
1243 * IGlobalInterfaceTable interface
1245 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
1246 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
1248 DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1249 #if defined(__cplusplus) && !defined(CINTERFACE)
1250 struct IGlobalInterfaceTable : public IUnknown
1252 virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal(
1255 DWORD* pdwCookie) = 0;
1257 virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal(
1258 DWORD dwCookie) = 0;
1260 virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal(
1267 typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl;
1268 struct IGlobalInterfaceTable {
1269 const IGlobalInterfaceTableVtbl* lpVtbl;
1271 struct IGlobalInterfaceTableVtbl {
1272 ICOM_MSVTABLE_COMPAT_FIELDS
1274 /*** IUnknown methods ***/
1275 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1276 IGlobalInterfaceTable* This,
1280 ULONG (STDMETHODCALLTYPE *AddRef)(
1281 IGlobalInterfaceTable* This);
1283 ULONG (STDMETHODCALLTYPE *Release)(
1284 IGlobalInterfaceTable* This);
1286 /*** IGlobalInterfaceTable methods ***/
1287 HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)(
1288 IGlobalInterfaceTable* This,
1293 HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)(
1294 IGlobalInterfaceTable* This,
1297 HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)(
1298 IGlobalInterfaceTable* This,
1306 /*** IUnknown methods ***/
1307 #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1308 #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1309 #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p)
1310 /*** IGlobalInterfaceTable methods ***/
1311 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c)
1312 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a)
1313 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c)
1318 #define IGlobalInterfaceTable_METHODS \
1319 ICOM_MSVTABLE_COMPAT_FIELDS \
1320 /*** IUnknown methods ***/ \
1321 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1322 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1323 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1324 /*** IGlobalInterfaceTable methods ***/ \
1325 STDMETHOD_(HRESULT,RegisterInterfaceInGlobal)(THIS_ IUnknown* pUnk, REFIID riid, DWORD* pdwCookie) PURE; \
1326 STDMETHOD_(HRESULT,RevokeInterfaceFromGlobal)(THIS_ DWORD dwCookie) PURE; \
1327 STDMETHOD_(HRESULT,GetInterfaceFromGlobal)(THIS_ DWORD dwCookie, REFIID riid, void** ppv) PURE;
1329 HRESULT CALLBACK IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
1330 IGlobalInterfaceTable* This,
1334 void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
1335 struct IRpcStubBuffer* This,
1336 struct IRpcChannelBuffer* pRpcChannelBuffer,
1337 PRPC_MESSAGE pRpcMessage,
1338 DWORD* pdwStubPhase);
1339 HRESULT CALLBACK IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
1340 IGlobalInterfaceTable* This,
1342 void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
1343 struct IRpcStubBuffer* This,
1344 struct IRpcChannelBuffer* pRpcChannelBuffer,
1345 PRPC_MESSAGE pRpcMessage,
1346 DWORD* pdwStubPhase);
1347 HRESULT CALLBACK IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
1348 IGlobalInterfaceTable* This,
1352 void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
1353 struct IRpcStubBuffer* This,
1354 struct IRpcChannelBuffer* pRpcChannelBuffer,
1355 PRPC_MESSAGE pRpcMessage,
1356 DWORD* pdwStubPhase);
1358 #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
1360 #ifndef __IBindCtx_FWD_DEFINED__
1361 #define __IBindCtx_FWD_DEFINED__
1362 typedef struct IBindCtx IBindCtx;
1365 typedef IBindCtx *LPBINDCTX;
1367 typedef IBindCtx *LPBC;
1369 typedef struct tagBIND_OPTS {
1373 DWORD dwTickCountDeadline;
1374 } BIND_OPTS, *LPBIND_OPTS;
1376 typedef struct tagBIND_OPTS2 {
1380 DWORD dwTickCountDeadline;
1382 DWORD dwClassContext;
1384 COSERVERINFO *pServerInfo;
1385 } BIND_OPTS2, *LPBIND_OPTS2;
1387 typedef enum tagBIND_FLAGS {
1388 BIND_MAYBOTHERUSER = 1,
1389 BIND_JUSTTESTEXISTENCE = 2
1392 /*****************************************************************************
1393 * IBindCtx interface
1395 #ifndef __IBindCtx_INTERFACE_DEFINED__
1396 #define __IBindCtx_INTERFACE_DEFINED__
1398 DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1399 #if defined(__cplusplus) && !defined(CINTERFACE)
1400 struct IBindCtx : public IUnknown
1402 virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
1403 IUnknown* punk) = 0;
1405 virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
1406 IUnknown* punk) = 0;
1408 virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
1411 virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
1412 BIND_OPTS* pbindopts) = 0;
1414 virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
1415 BIND_OPTS* pbindopts) = 0;
1417 virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
1418 IRunningObjectTable** pprot) = 0;
1420 virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
1422 IUnknown* punk) = 0;
1424 virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
1426 IUnknown** ppunk) = 0;
1428 virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
1429 IEnumString** ppenum) = 0;
1431 virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
1432 LPOLESTR pszKey) = 0;
1436 typedef struct IBindCtxVtbl IBindCtxVtbl;
1438 const IBindCtxVtbl* lpVtbl;
1440 struct IBindCtxVtbl {
1441 ICOM_MSVTABLE_COMPAT_FIELDS
1443 /*** IUnknown methods ***/
1444 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1449 ULONG (STDMETHODCALLTYPE *AddRef)(
1452 ULONG (STDMETHODCALLTYPE *Release)(
1455 /*** IBindCtx methods ***/
1456 HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
1460 HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
1464 HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
1467 HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
1469 BIND_OPTS* pbindopts);
1471 HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
1473 BIND_OPTS* pbindopts);
1475 HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
1477 IRunningObjectTable** pprot);
1479 HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
1484 HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
1489 HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
1491 IEnumString** ppenum);
1493 HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
1500 /*** IUnknown methods ***/
1501 #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1502 #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p)
1503 #define IBindCtx_Release(p) (p)->lpVtbl->Release(p)
1504 /*** IBindCtx methods ***/
1505 #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a)
1506 #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a)
1507 #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p)
1508 #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a)
1509 #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a)
1510 #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a)
1511 #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b)
1512 #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b)
1513 #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a)
1514 #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a)
1519 #define IBindCtx_METHODS \
1520 ICOM_MSVTABLE_COMPAT_FIELDS \
1521 /*** IUnknown methods ***/ \
1522 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1523 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1524 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1525 /*** IBindCtx methods ***/ \
1526 STDMETHOD_(HRESULT,RegisterObjectBound)(THIS_ IUnknown* punk) PURE; \
1527 STDMETHOD_(HRESULT,RevokeObjectBound)(THIS_ IUnknown* punk) PURE; \
1528 STDMETHOD_(HRESULT,ReleaseBoundObjects)(THIS) PURE; \
1529 STDMETHOD_(HRESULT,SetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1530 STDMETHOD_(HRESULT,GetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1531 STDMETHOD_(HRESULT,GetRunningObjectTable)(THIS_ IRunningObjectTable** pprot) PURE; \
1532 STDMETHOD_(HRESULT,RegisterObjectParam)(THIS_ LPOLESTR pszKey, IUnknown* punk) PURE; \
1533 STDMETHOD_(HRESULT,GetObjectParam)(THIS_ LPOLESTR pszKey, IUnknown** ppunk) PURE; \
1534 STDMETHOD_(HRESULT,EnumObjectParam)(THIS_ IEnumString** ppenum) PURE; \
1535 STDMETHOD_(HRESULT,RevokeObjectParam)(THIS_ LPOLESTR pszKey) PURE;
1537 HRESULT CALLBACK IBindCtx_RegisterObjectBound_Proxy(
1540 void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
1541 struct IRpcStubBuffer* This,
1542 struct IRpcChannelBuffer* pRpcChannelBuffer,
1543 PRPC_MESSAGE pRpcMessage,
1544 DWORD* pdwStubPhase);
1545 HRESULT CALLBACK IBindCtx_RevokeObjectBound_Proxy(
1548 void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
1549 struct IRpcStubBuffer* This,
1550 struct IRpcChannelBuffer* pRpcChannelBuffer,
1551 PRPC_MESSAGE pRpcMessage,
1552 DWORD* pdwStubPhase);
1553 HRESULT CALLBACK IBindCtx_ReleaseBoundObjects_Proxy(
1555 void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
1556 struct IRpcStubBuffer* This,
1557 struct IRpcChannelBuffer* pRpcChannelBuffer,
1558 PRPC_MESSAGE pRpcMessage,
1559 DWORD* pdwStubPhase);
1560 HRESULT CALLBACK IBindCtx_RemoteSetBindOptions_Proxy(
1562 BIND_OPTS2* pbindopts);
1563 void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
1564 struct IRpcStubBuffer* This,
1565 struct IRpcChannelBuffer* pRpcChannelBuffer,
1566 PRPC_MESSAGE pRpcMessage,
1567 DWORD* pdwStubPhase);
1568 HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
1570 BIND_OPTS* pbindopts);
1571 HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
1573 BIND_OPTS2* pbindopts);
1574 HRESULT CALLBACK IBindCtx_RemoteGetBindOptions_Proxy(
1576 BIND_OPTS2* pbindopts);
1577 void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
1578 struct IRpcStubBuffer* This,
1579 struct IRpcChannelBuffer* pRpcChannelBuffer,
1580 PRPC_MESSAGE pRpcMessage,
1581 DWORD* pdwStubPhase);
1582 HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
1584 BIND_OPTS* pbindopts);
1585 HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
1587 BIND_OPTS2* pbindopts);
1588 HRESULT CALLBACK IBindCtx_GetRunningObjectTable_Proxy(
1590 IRunningObjectTable** pprot);
1591 void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
1592 struct IRpcStubBuffer* This,
1593 struct IRpcChannelBuffer* pRpcChannelBuffer,
1594 PRPC_MESSAGE pRpcMessage,
1595 DWORD* pdwStubPhase);
1596 HRESULT CALLBACK IBindCtx_RegisterObjectParam_Proxy(
1600 void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
1601 struct IRpcStubBuffer* This,
1602 struct IRpcChannelBuffer* pRpcChannelBuffer,
1603 PRPC_MESSAGE pRpcMessage,
1604 DWORD* pdwStubPhase);
1605 HRESULT CALLBACK IBindCtx_GetObjectParam_Proxy(
1609 void __RPC_STUB IBindCtx_GetObjectParam_Stub(
1610 struct IRpcStubBuffer* This,
1611 struct IRpcChannelBuffer* pRpcChannelBuffer,
1612 PRPC_MESSAGE pRpcMessage,
1613 DWORD* pdwStubPhase);
1614 HRESULT CALLBACK IBindCtx_EnumObjectParam_Proxy(
1616 IEnumString** ppenum);
1617 void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
1618 struct IRpcStubBuffer* This,
1619 struct IRpcChannelBuffer* pRpcChannelBuffer,
1620 PRPC_MESSAGE pRpcMessage,
1621 DWORD* pdwStubPhase);
1622 HRESULT CALLBACK IBindCtx_RevokeObjectParam_Proxy(
1625 void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
1626 struct IRpcStubBuffer* This,
1627 struct IRpcChannelBuffer* pRpcChannelBuffer,
1628 PRPC_MESSAGE pRpcMessage,
1629 DWORD* pdwStubPhase);
1631 #endif /* __IBindCtx_INTERFACE_DEFINED__ */
1633 #ifndef __IEnumMoniker_FWD_DEFINED__
1634 #define __IEnumMoniker_FWD_DEFINED__
1635 typedef struct IEnumMoniker IEnumMoniker;
1638 typedef IEnumMoniker *LPENUMMONIKER;
1640 /*****************************************************************************
1641 * IEnumMoniker interface
1643 #ifndef __IEnumMoniker_INTERFACE_DEFINED__
1644 #define __IEnumMoniker_INTERFACE_DEFINED__
1646 DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1647 #if defined(__cplusplus) && !defined(CINTERFACE)
1648 struct IEnumMoniker : public IUnknown
1650 virtual HRESULT STDMETHODCALLTYPE Next(
1653 ULONG* pceltFetched) = 0;
1655 virtual HRESULT STDMETHODCALLTYPE Skip(
1658 virtual HRESULT STDMETHODCALLTYPE Reset(
1661 virtual HRESULT STDMETHODCALLTYPE Clone(
1662 IEnumMoniker** ppenum) = 0;
1666 typedef struct IEnumMonikerVtbl IEnumMonikerVtbl;
1667 struct IEnumMoniker {
1668 const IEnumMonikerVtbl* lpVtbl;
1670 struct IEnumMonikerVtbl {
1671 ICOM_MSVTABLE_COMPAT_FIELDS
1673 /*** IUnknown methods ***/
1674 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1679 ULONG (STDMETHODCALLTYPE *AddRef)(
1680 IEnumMoniker* This);
1682 ULONG (STDMETHODCALLTYPE *Release)(
1683 IEnumMoniker* This);
1685 /*** IEnumMoniker methods ***/
1686 HRESULT (STDMETHODCALLTYPE *Next)(
1690 ULONG* pceltFetched);
1692 HRESULT (STDMETHODCALLTYPE *Skip)(
1696 HRESULT (STDMETHODCALLTYPE *Reset)(
1697 IEnumMoniker* This);
1699 HRESULT (STDMETHODCALLTYPE *Clone)(
1701 IEnumMoniker** ppenum);
1706 /*** IUnknown methods ***/
1707 #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1708 #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1709 #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p)
1710 /*** IEnumMoniker methods ***/
1711 #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1712 #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1713 #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p)
1714 #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1719 #define IEnumMoniker_METHODS \
1720 ICOM_MSVTABLE_COMPAT_FIELDS \
1721 /*** IUnknown methods ***/ \
1722 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1723 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1724 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1725 /*** IEnumMoniker methods ***/ \
1726 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IMoniker** rgelt, ULONG* pceltFetched) PURE; \
1727 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1728 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1729 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMoniker** ppenum) PURE;
1731 HRESULT CALLBACK IEnumMoniker_RemoteNext_Proxy(
1735 ULONG* pceltFetched);
1736 void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
1737 struct IRpcStubBuffer* This,
1738 struct IRpcChannelBuffer* pRpcChannelBuffer,
1739 PRPC_MESSAGE pRpcMessage,
1740 DWORD* pdwStubPhase);
1741 HRESULT CALLBACK IEnumMoniker_Next_Proxy(
1745 ULONG* pceltFetched);
1746 HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
1750 ULONG* pceltFetched);
1751 HRESULT CALLBACK IEnumMoniker_Skip_Proxy(
1754 void __RPC_STUB IEnumMoniker_Skip_Stub(
1755 struct IRpcStubBuffer* This,
1756 struct IRpcChannelBuffer* pRpcChannelBuffer,
1757 PRPC_MESSAGE pRpcMessage,
1758 DWORD* pdwStubPhase);
1759 HRESULT CALLBACK IEnumMoniker_Reset_Proxy(
1760 IEnumMoniker* This);
1761 void __RPC_STUB IEnumMoniker_Reset_Stub(
1762 struct IRpcStubBuffer* This,
1763 struct IRpcChannelBuffer* pRpcChannelBuffer,
1764 PRPC_MESSAGE pRpcMessage,
1765 DWORD* pdwStubPhase);
1766 HRESULT CALLBACK IEnumMoniker_Clone_Proxy(
1768 IEnumMoniker** ppenum);
1769 void __RPC_STUB IEnumMoniker_Clone_Stub(
1770 struct IRpcStubBuffer* This,
1771 struct IRpcChannelBuffer* pRpcChannelBuffer,
1772 PRPC_MESSAGE pRpcMessage,
1773 DWORD* pdwStubPhase);
1775 #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */
1777 #ifndef __IRunnableObject_FWD_DEFINED__
1778 #define __IRunnableObject_FWD_DEFINED__
1779 typedef struct IRunnableObject IRunnableObject;
1782 typedef IRunnableObject *LPRUNNABLEOBJECT;
1784 /*****************************************************************************
1785 * IRunnableObject interface
1787 #ifndef __IRunnableObject_INTERFACE_DEFINED__
1788 #define __IRunnableObject_INTERFACE_DEFINED__
1790 DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1791 #if defined(__cplusplus) && !defined(CINTERFACE)
1792 struct IRunnableObject : public IUnknown
1794 virtual HRESULT STDMETHODCALLTYPE GetRunningClass(
1795 LPCLSID lpClsid) = 0;
1797 virtual HRESULT STDMETHODCALLTYPE Run(
1800 virtual BOOL STDMETHODCALLTYPE IsRunning(
1803 virtual HRESULT STDMETHODCALLTYPE LockRunning(
1805 BOOL fLastUnlockCloses) = 0;
1807 virtual HRESULT STDMETHODCALLTYPE SetContainedObject(
1808 BOOL fContained) = 0;
1812 typedef struct IRunnableObjectVtbl IRunnableObjectVtbl;
1813 struct IRunnableObject {
1814 const IRunnableObjectVtbl* lpVtbl;
1816 struct IRunnableObjectVtbl {
1817 ICOM_MSVTABLE_COMPAT_FIELDS
1819 /*** IUnknown methods ***/
1820 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1821 IRunnableObject* This,
1825 ULONG (STDMETHODCALLTYPE *AddRef)(
1826 IRunnableObject* This);
1828 ULONG (STDMETHODCALLTYPE *Release)(
1829 IRunnableObject* This);
1831 /*** IRunnableObject methods ***/
1832 HRESULT (STDMETHODCALLTYPE *GetRunningClass)(
1833 IRunnableObject* This,
1836 HRESULT (STDMETHODCALLTYPE *Run)(
1837 IRunnableObject* This,
1840 BOOL (STDMETHODCALLTYPE *IsRunning)(
1841 IRunnableObject* This);
1843 HRESULT (STDMETHODCALLTYPE *LockRunning)(
1844 IRunnableObject* This,
1846 BOOL fLastUnlockCloses);
1848 HRESULT (STDMETHODCALLTYPE *SetContainedObject)(
1849 IRunnableObject* This,
1855 /*** IUnknown methods ***/
1856 #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1857 #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p)
1858 #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p)
1859 /*** IRunnableObject methods ***/
1860 #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a)
1861 #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a)
1862 #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p)
1863 #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b)
1864 #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a)
1869 #define IRunnableObject_METHODS \
1870 ICOM_MSVTABLE_COMPAT_FIELDS \
1871 /*** IUnknown methods ***/ \
1872 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1873 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1874 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1875 /*** IRunnableObject methods ***/ \
1876 STDMETHOD_(HRESULT,GetRunningClass)(THIS_ LPCLSID lpClsid) PURE; \
1877 STDMETHOD_(HRESULT,Run)(THIS_ LPBINDCTX pbc) PURE; \
1878 STDMETHOD_(BOOL,IsRunning)(THIS) PURE; \
1879 STDMETHOD_(HRESULT,LockRunning)(THIS_ BOOL fLock, BOOL fLastUnlockCloses) PURE; \
1880 STDMETHOD_(HRESULT,SetContainedObject)(THIS_ BOOL fContained) PURE;
1882 HRESULT CALLBACK IRunnableObject_GetRunningClass_Proxy(
1883 IRunnableObject* This,
1885 void __RPC_STUB IRunnableObject_GetRunningClass_Stub(
1886 struct IRpcStubBuffer* This,
1887 struct IRpcChannelBuffer* pRpcChannelBuffer,
1888 PRPC_MESSAGE pRpcMessage,
1889 DWORD* pdwStubPhase);
1890 HRESULT CALLBACK IRunnableObject_Run_Proxy(
1891 IRunnableObject* This,
1893 void __RPC_STUB IRunnableObject_Run_Stub(
1894 struct IRpcStubBuffer* This,
1895 struct IRpcChannelBuffer* pRpcChannelBuffer,
1896 PRPC_MESSAGE pRpcMessage,
1897 DWORD* pdwStubPhase);
1898 HRESULT CALLBACK IRunnableObject_RemoteIsRunning_Proxy(
1899 IRunnableObject* This);
1900 void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(
1901 struct IRpcStubBuffer* This,
1902 struct IRpcChannelBuffer* pRpcChannelBuffer,
1903 PRPC_MESSAGE pRpcMessage,
1904 DWORD* pdwStubPhase);
1905 BOOL CALLBACK IRunnableObject_IsRunning_Proxy(
1906 IRunnableObject* This);
1907 HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub(
1908 IRunnableObject* This);
1909 HRESULT CALLBACK IRunnableObject_LockRunning_Proxy(
1910 IRunnableObject* This,
1912 BOOL fLastUnlockCloses);
1913 void __RPC_STUB IRunnableObject_LockRunning_Stub(
1914 struct IRpcStubBuffer* This,
1915 struct IRpcChannelBuffer* pRpcChannelBuffer,
1916 PRPC_MESSAGE pRpcMessage,
1917 DWORD* pdwStubPhase);
1918 HRESULT CALLBACK IRunnableObject_SetContainedObject_Proxy(
1919 IRunnableObject* This,
1921 void __RPC_STUB IRunnableObject_SetContainedObject_Stub(
1922 struct IRpcStubBuffer* This,
1923 struct IRpcChannelBuffer* pRpcChannelBuffer,
1924 PRPC_MESSAGE pRpcMessage,
1925 DWORD* pdwStubPhase);
1927 #endif /* __IRunnableObject_INTERFACE_DEFINED__ */
1932 typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
1934 /*****************************************************************************
1935 * IRunningObjectTable interface
1937 #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
1938 #define __IRunningObjectTable_INTERFACE_DEFINED__
1940 DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1941 #if defined(__cplusplus) && !defined(CINTERFACE)
1942 struct IRunningObjectTable : public IUnknown
1944 virtual HRESULT STDMETHODCALLTYPE Register(
1946 IUnknown* punkObject,
1947 IMoniker* pmkObjectName,
1948 DWORD* pdwRegister) = 0;
1950 virtual HRESULT STDMETHODCALLTYPE Revoke(
1951 DWORD dwRegister) = 0;
1953 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1954 IMoniker* pmkObjectName) = 0;
1956 virtual HRESULT STDMETHODCALLTYPE GetObject(
1957 IMoniker* pmkObjectName,
1958 IUnknown** ppunkObject) = 0;
1960 virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
1962 FILETIME* pfiletime) = 0;
1964 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
1965 IMoniker* pmkObjectName,
1966 FILETIME* pfiletime) = 0;
1968 virtual HRESULT STDMETHODCALLTYPE EnumRunning(
1969 IEnumMoniker** ppenumMoniker) = 0;
1973 typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl;
1974 struct IRunningObjectTable {
1975 const IRunningObjectTableVtbl* lpVtbl;
1977 struct IRunningObjectTableVtbl {
1978 ICOM_MSVTABLE_COMPAT_FIELDS
1980 /*** IUnknown methods ***/
1981 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1982 IRunningObjectTable* This,
1986 ULONG (STDMETHODCALLTYPE *AddRef)(
1987 IRunningObjectTable* This);
1989 ULONG (STDMETHODCALLTYPE *Release)(
1990 IRunningObjectTable* This);
1992 /*** IRunningObjectTable methods ***/
1993 HRESULT (STDMETHODCALLTYPE *Register)(
1994 IRunningObjectTable* This,
1996 IUnknown* punkObject,
1997 IMoniker* pmkObjectName,
1998 DWORD* pdwRegister);
2000 HRESULT (STDMETHODCALLTYPE *Revoke)(
2001 IRunningObjectTable* This,
2004 HRESULT (STDMETHODCALLTYPE *IsRunning)(
2005 IRunningObjectTable* This,
2006 IMoniker* pmkObjectName);
2008 HRESULT (STDMETHODCALLTYPE *GetObject)(
2009 IRunningObjectTable* This,
2010 IMoniker* pmkObjectName,
2011 IUnknown** ppunkObject);
2013 HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
2014 IRunningObjectTable* This,
2016 FILETIME* pfiletime);
2018 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
2019 IRunningObjectTable* This,
2020 IMoniker* pmkObjectName,
2021 FILETIME* pfiletime);
2023 HRESULT (STDMETHODCALLTYPE *EnumRunning)(
2024 IRunningObjectTable* This,
2025 IEnumMoniker** ppenumMoniker);
2030 /*** IUnknown methods ***/
2031 #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2032 #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p)
2033 #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p)
2034 /*** IRunningObjectTable methods ***/
2035 #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d)
2036 #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a)
2037 #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
2038 #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
2039 #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b)
2040 #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b)
2041 #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a)
2046 #define IRunningObjectTable_METHODS \
2047 ICOM_MSVTABLE_COMPAT_FIELDS \
2048 /*** IUnknown methods ***/ \
2049 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2050 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2051 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2052 /*** IRunningObjectTable methods ***/ \
2053 STDMETHOD_(HRESULT,Register)(THIS_ DWORD grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, DWORD* pdwRegister) PURE; \
2054 STDMETHOD_(HRESULT,Revoke)(THIS_ DWORD dwRegister) PURE; \
2055 STDMETHOD_(HRESULT,IsRunning)(THIS_ IMoniker* pmkObjectName) PURE; \
2056 STDMETHOD_(HRESULT,GetObject)(THIS_ IMoniker* pmkObjectName, IUnknown** ppunkObject) PURE; \
2057 STDMETHOD_(HRESULT,NoteChangeTime)(THIS_ DWORD dwRegister, FILETIME* pfiletime) PURE; \
2058 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IMoniker* pmkObjectName, FILETIME* pfiletime) PURE; \
2059 STDMETHOD_(HRESULT,EnumRunning)(THIS_ IEnumMoniker** ppenumMoniker) PURE;
2061 HRESULT CALLBACK IRunningObjectTable_Register_Proxy(
2062 IRunningObjectTable* This,
2064 IUnknown* punkObject,
2065 IMoniker* pmkObjectName,
2066 DWORD* pdwRegister);
2067 void __RPC_STUB IRunningObjectTable_Register_Stub(
2068 struct IRpcStubBuffer* This,
2069 struct IRpcChannelBuffer* pRpcChannelBuffer,
2070 PRPC_MESSAGE pRpcMessage,
2071 DWORD* pdwStubPhase);
2072 HRESULT CALLBACK IRunningObjectTable_Revoke_Proxy(
2073 IRunningObjectTable* This,
2075 void __RPC_STUB IRunningObjectTable_Revoke_Stub(
2076 struct IRpcStubBuffer* This,
2077 struct IRpcChannelBuffer* pRpcChannelBuffer,
2078 PRPC_MESSAGE pRpcMessage,
2079 DWORD* pdwStubPhase);
2080 HRESULT CALLBACK IRunningObjectTable_IsRunning_Proxy(
2081 IRunningObjectTable* This,
2082 IMoniker* pmkObjectName);
2083 void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
2084 struct IRpcStubBuffer* This,
2085 struct IRpcChannelBuffer* pRpcChannelBuffer,
2086 PRPC_MESSAGE pRpcMessage,
2087 DWORD* pdwStubPhase);
2088 HRESULT CALLBACK IRunningObjectTable_GetObject_Proxy(
2089 IRunningObjectTable* This,
2090 IMoniker* pmkObjectName,
2091 IUnknown** ppunkObject);
2092 void __RPC_STUB IRunningObjectTable_GetObject_Stub(
2093 struct IRpcStubBuffer* This,
2094 struct IRpcChannelBuffer* pRpcChannelBuffer,
2095 PRPC_MESSAGE pRpcMessage,
2096 DWORD* pdwStubPhase);
2097 HRESULT CALLBACK IRunningObjectTable_NoteChangeTime_Proxy(
2098 IRunningObjectTable* This,
2100 FILETIME* pfiletime);
2101 void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
2102 struct IRpcStubBuffer* This,
2103 struct IRpcChannelBuffer* pRpcChannelBuffer,
2104 PRPC_MESSAGE pRpcMessage,
2105 DWORD* pdwStubPhase);
2106 HRESULT CALLBACK IRunningObjectTable_GetTimeOfLastChange_Proxy(
2107 IRunningObjectTable* This,
2108 IMoniker* pmkObjectName,
2109 FILETIME* pfiletime);
2110 void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
2111 struct IRpcStubBuffer* This,
2112 struct IRpcChannelBuffer* pRpcChannelBuffer,
2113 PRPC_MESSAGE pRpcMessage,
2114 DWORD* pdwStubPhase);
2115 HRESULT CALLBACK IRunningObjectTable_EnumRunning_Proxy(
2116 IRunningObjectTable* This,
2117 IEnumMoniker** ppenumMoniker);
2118 void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
2119 struct IRpcStubBuffer* This,
2120 struct IRpcChannelBuffer* pRpcChannelBuffer,
2121 PRPC_MESSAGE pRpcMessage,
2122 DWORD* pdwStubPhase);
2124 #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */
2126 #ifndef __IPersist_FWD_DEFINED__
2127 #define __IPersist_FWD_DEFINED__
2128 typedef struct IPersist IPersist;
2131 typedef IPersist *LPPERSIST;
2133 /*****************************************************************************
2134 * IPersist interface
2136 #ifndef __IPersist_INTERFACE_DEFINED__
2137 #define __IPersist_INTERFACE_DEFINED__
2139 DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2140 #if defined(__cplusplus) && !defined(CINTERFACE)
2141 struct IPersist : public IUnknown
2143 virtual HRESULT STDMETHODCALLTYPE GetClassID(
2144 CLSID* pClassID) = 0;
2148 typedef struct IPersistVtbl IPersistVtbl;
2150 const IPersistVtbl* lpVtbl;
2152 struct IPersistVtbl {
2153 ICOM_MSVTABLE_COMPAT_FIELDS
2155 /*** IUnknown methods ***/
2156 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2161 ULONG (STDMETHODCALLTYPE *AddRef)(
2164 ULONG (STDMETHODCALLTYPE *Release)(
2167 /*** IPersist methods ***/
2168 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2175 /*** IUnknown methods ***/
2176 #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2177 #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p)
2178 #define IPersist_Release(p) (p)->lpVtbl->Release(p)
2179 /*** IPersist methods ***/
2180 #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2185 #define IPersist_METHODS \
2186 ICOM_MSVTABLE_COMPAT_FIELDS \
2187 /*** IUnknown methods ***/ \
2188 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2189 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2190 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2191 /*** IPersist methods ***/ \
2192 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE;
2194 HRESULT CALLBACK IPersist_GetClassID_Proxy(
2197 void __RPC_STUB IPersist_GetClassID_Stub(
2198 struct IRpcStubBuffer* This,
2199 struct IRpcChannelBuffer* pRpcChannelBuffer,
2200 PRPC_MESSAGE pRpcMessage,
2201 DWORD* pdwStubPhase);
2203 #endif /* __IPersist_INTERFACE_DEFINED__ */
2205 #ifndef __IPersistStream_FWD_DEFINED__
2206 #define __IPersistStream_FWD_DEFINED__
2207 typedef struct IPersistStream IPersistStream;
2210 typedef IPersistStream *LPPERSISTSTREAM;
2212 /*****************************************************************************
2213 * IPersistStream interface
2215 #ifndef __IPersistStream_INTERFACE_DEFINED__
2216 #define __IPersistStream_INTERFACE_DEFINED__
2218 DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2219 #if defined(__cplusplus) && !defined(CINTERFACE)
2220 struct IPersistStream : public IPersist
2222 virtual HRESULT STDMETHODCALLTYPE IsDirty(
2225 virtual HRESULT STDMETHODCALLTYPE Load(
2228 virtual HRESULT STDMETHODCALLTYPE Save(
2230 BOOL fClearDirty) = 0;
2232 virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
2233 ULARGE_INTEGER* pcbSize) = 0;
2237 typedef struct IPersistStreamVtbl IPersistStreamVtbl;
2238 struct IPersistStream {
2239 const IPersistStreamVtbl* lpVtbl;
2241 struct IPersistStreamVtbl {
2242 ICOM_MSVTABLE_COMPAT_FIELDS
2244 /*** IUnknown methods ***/
2245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2246 IPersistStream* This,
2250 ULONG (STDMETHODCALLTYPE *AddRef)(
2251 IPersistStream* This);
2253 ULONG (STDMETHODCALLTYPE *Release)(
2254 IPersistStream* This);
2256 /*** IPersist methods ***/
2257 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2258 IPersistStream* This,
2261 /*** IPersistStream methods ***/
2262 HRESULT (STDMETHODCALLTYPE *IsDirty)(
2263 IPersistStream* This);
2265 HRESULT (STDMETHODCALLTYPE *Load)(
2266 IPersistStream* This,
2269 HRESULT (STDMETHODCALLTYPE *Save)(
2270 IPersistStream* This,
2274 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2275 IPersistStream* This,
2276 ULARGE_INTEGER* pcbSize);
2281 /*** IUnknown methods ***/
2282 #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2283 #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2284 #define IPersistStream_Release(p) (p)->lpVtbl->Release(p)
2285 /*** IPersist methods ***/
2286 #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2287 /*** IPersistStream methods ***/
2288 #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2289 #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a)
2290 #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2291 #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2296 #define IPersistStream_METHODS \
2297 ICOM_MSVTABLE_COMPAT_FIELDS \
2298 /*** IUnknown methods ***/ \
2299 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2300 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2301 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2302 /*** IPersist methods ***/ \
2303 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2304 /*** IPersistStream methods ***/ \
2305 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2306 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2307 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2308 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE;
2310 HRESULT CALLBACK IPersistStream_IsDirty_Proxy(
2311 IPersistStream* This);
2312 void __RPC_STUB IPersistStream_IsDirty_Stub(
2313 struct IRpcStubBuffer* This,
2314 struct IRpcChannelBuffer* pRpcChannelBuffer,
2315 PRPC_MESSAGE pRpcMessage,
2316 DWORD* pdwStubPhase);
2317 HRESULT CALLBACK IPersistStream_Load_Proxy(
2318 IPersistStream* This,
2320 void __RPC_STUB IPersistStream_Load_Stub(
2321 struct IRpcStubBuffer* This,
2322 struct IRpcChannelBuffer* pRpcChannelBuffer,
2323 PRPC_MESSAGE pRpcMessage,
2324 DWORD* pdwStubPhase);
2325 HRESULT CALLBACK IPersistStream_Save_Proxy(
2326 IPersistStream* This,
2329 void __RPC_STUB IPersistStream_Save_Stub(
2330 struct IRpcStubBuffer* This,
2331 struct IRpcChannelBuffer* pRpcChannelBuffer,
2332 PRPC_MESSAGE pRpcMessage,
2333 DWORD* pdwStubPhase);
2334 HRESULT CALLBACK IPersistStream_GetSizeMax_Proxy(
2335 IPersistStream* This,
2336 ULARGE_INTEGER* pcbSize);
2337 void __RPC_STUB IPersistStream_GetSizeMax_Stub(
2338 struct IRpcStubBuffer* This,
2339 struct IRpcChannelBuffer* pRpcChannelBuffer,
2340 PRPC_MESSAGE pRpcMessage,
2341 DWORD* pdwStubPhase);
2343 #endif /* __IPersistStream_INTERFACE_DEFINED__ */
2345 typedef IMoniker *LPMONIKER;
2347 typedef enum tagMKSYS {
2349 MKSYS_GENERICCOMPOSITE = 1,
2350 MKSYS_FILEMONIKER = 2,
2351 MKSYS_ANTIMONIKER = 3,
2352 MKSYS_ITEMMONIKER = 4,
2353 MKSYS_POINTERMONIKER = 5,
2354 MKSYS_CLASSMONIKER = 7
2357 typedef enum tagMKREDUCE {
2358 MKRREDUCE_ONE = 3 << 16,
2359 MKRREDUCE_TOUSER = 2 << 16,
2360 MKRREDUCE_THROUGHUSER = 1 << 16,
2364 /*****************************************************************************
2365 * IMoniker interface
2367 #ifndef __IMoniker_INTERFACE_DEFINED__
2368 #define __IMoniker_INTERFACE_DEFINED__
2370 DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2371 #if defined(__cplusplus) && !defined(CINTERFACE)
2372 struct IMoniker : public IPersistStream
2374 virtual HRESULT STDMETHODCALLTYPE BindToObject(
2376 IMoniker* pmkToLeft,
2378 void** ppvResult) = 0;
2380 virtual HRESULT STDMETHODCALLTYPE BindToStorage(
2382 IMoniker* pmkToLeft,
2386 virtual HRESULT STDMETHODCALLTYPE Reduce(
2388 DWORD dwReduceHowFar,
2389 IMoniker** ppmkToLeft,
2390 IMoniker** ppmkReduced) = 0;
2392 virtual HRESULT STDMETHODCALLTYPE ComposeWith(
2394 BOOL fOnlyIfNotGeneric,
2395 IMoniker** ppmkComposite) = 0;
2397 virtual HRESULT STDMETHODCALLTYPE Enum(
2399 IEnumMoniker** ppenumMoniker) = 0;
2401 virtual HRESULT STDMETHODCALLTYPE IsEqual(
2402 IMoniker* pmkOtherMoniker) = 0;
2404 virtual HRESULT STDMETHODCALLTYPE Hash(
2405 DWORD* pdwHash) = 0;
2407 virtual HRESULT STDMETHODCALLTYPE IsRunning(
2409 IMoniker* pmkToLeft,
2410 IMoniker* pmkNewlyRunning) = 0;
2412 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
2414 IMoniker* pmkToLeft,
2415 FILETIME* pFileTime) = 0;
2417 virtual HRESULT STDMETHODCALLTYPE Inverse(
2418 IMoniker** ppmk) = 0;
2420 virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
2422 IMoniker** ppmkPrefix) = 0;
2424 virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
2426 IMoniker** ppmkRelPath) = 0;
2428 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
2430 IMoniker* pmkToLeft,
2431 LPOLESTR* ppszDisplayName) = 0;
2433 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
2435 IMoniker* pmkToLeft,
2436 LPOLESTR pszDisplayName,
2438 IMoniker** ppmkOut) = 0;
2440 virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
2441 DWORD* pdwMksys) = 0;
2445 typedef struct IMonikerVtbl IMonikerVtbl;
2447 const IMonikerVtbl* lpVtbl;
2449 struct IMonikerVtbl {
2450 ICOM_MSVTABLE_COMPAT_FIELDS
2452 /*** IUnknown methods ***/
2453 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2458 ULONG (STDMETHODCALLTYPE *AddRef)(
2461 ULONG (STDMETHODCALLTYPE *Release)(
2464 /*** IPersist methods ***/
2465 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2469 /*** IPersistStream methods ***/
2470 HRESULT (STDMETHODCALLTYPE *IsDirty)(
2473 HRESULT (STDMETHODCALLTYPE *Load)(
2477 HRESULT (STDMETHODCALLTYPE *Save)(
2482 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2484 ULARGE_INTEGER* pcbSize);
2486 /*** IMoniker methods ***/
2487 HRESULT (STDMETHODCALLTYPE *BindToObject)(
2490 IMoniker* pmkToLeft,
2494 HRESULT (STDMETHODCALLTYPE *BindToStorage)(
2497 IMoniker* pmkToLeft,
2501 HRESULT (STDMETHODCALLTYPE *Reduce)(
2504 DWORD dwReduceHowFar,
2505 IMoniker** ppmkToLeft,
2506 IMoniker** ppmkReduced);
2508 HRESULT (STDMETHODCALLTYPE *ComposeWith)(
2511 BOOL fOnlyIfNotGeneric,
2512 IMoniker** ppmkComposite);
2514 HRESULT (STDMETHODCALLTYPE *Enum)(
2517 IEnumMoniker** ppenumMoniker);
2519 HRESULT (STDMETHODCALLTYPE *IsEqual)(
2521 IMoniker* pmkOtherMoniker);
2523 HRESULT (STDMETHODCALLTYPE *Hash)(
2527 HRESULT (STDMETHODCALLTYPE *IsRunning)(
2530 IMoniker* pmkToLeft,
2531 IMoniker* pmkNewlyRunning);
2533 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
2536 IMoniker* pmkToLeft,
2537 FILETIME* pFileTime);
2539 HRESULT (STDMETHODCALLTYPE *Inverse)(
2543 HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
2546 IMoniker** ppmkPrefix);
2548 HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
2551 IMoniker** ppmkRelPath);
2553 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2556 IMoniker* pmkToLeft,
2557 LPOLESTR* ppszDisplayName);
2559 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
2562 IMoniker* pmkToLeft,
2563 LPOLESTR pszDisplayName,
2565 IMoniker** ppmkOut);
2567 HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
2574 /*** IUnknown methods ***/
2575 #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2576 #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
2577 #define IMoniker_Release(p) (p)->lpVtbl->Release(p)
2578 /*** IPersist methods ***/
2579 #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2580 /*** IPersistStream methods ***/
2581 #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2582 #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a)
2583 #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2584 #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2585 /*** IMoniker methods ***/
2586 #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
2587 #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
2588 #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d)
2589 #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c)
2590 #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b)
2591 #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
2592 #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a)
2593 #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c)
2594 #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c)
2595 #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a)
2596 #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b)
2597 #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b)
2598 #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c)
2599 #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e)
2600 #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a)
2605 #define IMoniker_METHODS \
2606 ICOM_MSVTABLE_COMPAT_FIELDS \
2607 /*** IUnknown methods ***/ \
2608 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2609 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2610 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2611 /*** IPersist methods ***/ \
2612 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2613 /*** IPersistStream methods ***/ \
2614 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2615 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2616 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2617 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; \
2618 /*** IMoniker methods ***/ \
2619 STDMETHOD_(HRESULT,BindToObject)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riidResult, void** ppvResult) PURE; \
2620 STDMETHOD_(HRESULT,BindToStorage)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riid, void** ppvObj) PURE; \
2621 STDMETHOD_(HRESULT,Reduce)(THIS_ IBindCtx* pbc, DWORD dwReduceHowFar, IMoniker** ppmkToLeft, IMoniker** ppmkReduced) PURE; \
2622 STDMETHOD_(HRESULT,ComposeWith)(THIS_ IMoniker* pmkRight, BOOL fOnlyIfNotGeneric, IMoniker** ppmkComposite) PURE; \
2623 STDMETHOD_(HRESULT,Enum)(THIS_ BOOL fForward, IEnumMoniker** ppenumMoniker) PURE; \
2624 STDMETHOD_(HRESULT,IsEqual)(THIS_ IMoniker* pmkOtherMoniker) PURE; \
2625 STDMETHOD_(HRESULT,Hash)(THIS_ DWORD* pdwHash) PURE; \
2626 STDMETHOD_(HRESULT,IsRunning)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, IMoniker* pmkNewlyRunning) PURE; \
2627 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, FILETIME* pFileTime) PURE; \
2628 STDMETHOD_(HRESULT,Inverse)(THIS_ IMoniker** ppmk) PURE; \
2629 STDMETHOD_(HRESULT,CommonPrefixWith)(THIS_ IMoniker* pmkOther, IMoniker** ppmkPrefix) PURE; \
2630 STDMETHOD_(HRESULT,RelativePathTo)(THIS_ IMoniker* pmkOther, IMoniker** ppmkRelPath) PURE; \
2631 STDMETHOD_(HRESULT,GetDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR* ppszDisplayName) PURE; \
2632 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
2633 STDMETHOD_(HRESULT,IsSystemMoniker)(THIS_ DWORD* pdwMksys) PURE;
2635 HRESULT CALLBACK IMoniker_RemoteBindToObject_Proxy(
2638 IMoniker* pmkToLeft,
2640 IUnknown** ppvResult);
2641 void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
2642 struct IRpcStubBuffer* This,
2643 struct IRpcChannelBuffer* pRpcChannelBuffer,
2644 PRPC_MESSAGE pRpcMessage,
2645 DWORD* pdwStubPhase);
2646 HRESULT CALLBACK IMoniker_BindToObject_Proxy(
2649 IMoniker* pmkToLeft,
2652 HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
2655 IMoniker* pmkToLeft,
2657 IUnknown** ppvResult);
2658 HRESULT CALLBACK IMoniker_RemoteBindToStorage_Proxy(
2661 IMoniker* pmkToLeft,
2664 void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
2665 struct IRpcStubBuffer* This,
2666 struct IRpcChannelBuffer* pRpcChannelBuffer,
2667 PRPC_MESSAGE pRpcMessage,
2668 DWORD* pdwStubPhase);
2669 HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
2672 IMoniker* pmkToLeft,
2675 HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
2678 IMoniker* pmkToLeft,
2681 HRESULT CALLBACK IMoniker_Reduce_Proxy(
2684 DWORD dwReduceHowFar,
2685 IMoniker** ppmkToLeft,
2686 IMoniker** ppmkReduced);
2687 void __RPC_STUB IMoniker_Reduce_Stub(
2688 struct IRpcStubBuffer* This,
2689 struct IRpcChannelBuffer* pRpcChannelBuffer,
2690 PRPC_MESSAGE pRpcMessage,
2691 DWORD* pdwStubPhase);
2692 HRESULT CALLBACK IMoniker_ComposeWith_Proxy(
2695 BOOL fOnlyIfNotGeneric,
2696 IMoniker** ppmkComposite);
2697 void __RPC_STUB IMoniker_ComposeWith_Stub(
2698 struct IRpcStubBuffer* This,
2699 struct IRpcChannelBuffer* pRpcChannelBuffer,
2700 PRPC_MESSAGE pRpcMessage,
2701 DWORD* pdwStubPhase);
2702 HRESULT CALLBACK IMoniker_Enum_Proxy(
2705 IEnumMoniker** ppenumMoniker);
2706 void __RPC_STUB IMoniker_Enum_Stub(
2707 struct IRpcStubBuffer* This,
2708 struct IRpcChannelBuffer* pRpcChannelBuffer,
2709 PRPC_MESSAGE pRpcMessage,
2710 DWORD* pdwStubPhase);
2711 HRESULT CALLBACK IMoniker_IsEqual_Proxy(
2713 IMoniker* pmkOtherMoniker);
2714 void __RPC_STUB IMoniker_IsEqual_Stub(
2715 struct IRpcStubBuffer* This,
2716 struct IRpcChannelBuffer* pRpcChannelBuffer,
2717 PRPC_MESSAGE pRpcMessage,
2718 DWORD* pdwStubPhase);
2719 HRESULT CALLBACK IMoniker_Hash_Proxy(
2722 void __RPC_STUB IMoniker_Hash_Stub(
2723 struct IRpcStubBuffer* This,
2724 struct IRpcChannelBuffer* pRpcChannelBuffer,
2725 PRPC_MESSAGE pRpcMessage,
2726 DWORD* pdwStubPhase);
2727 HRESULT CALLBACK IMoniker_IsRunning_Proxy(
2730 IMoniker* pmkToLeft,
2731 IMoniker* pmkNewlyRunning);
2732 void __RPC_STUB IMoniker_IsRunning_Stub(
2733 struct IRpcStubBuffer* This,
2734 struct IRpcChannelBuffer* pRpcChannelBuffer,
2735 PRPC_MESSAGE pRpcMessage,
2736 DWORD* pdwStubPhase);
2737 HRESULT CALLBACK IMoniker_GetTimeOfLastChange_Proxy(
2740 IMoniker* pmkToLeft,
2741 FILETIME* pFileTime);
2742 void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
2743 struct IRpcStubBuffer* This,
2744 struct IRpcChannelBuffer* pRpcChannelBuffer,
2745 PRPC_MESSAGE pRpcMessage,
2746 DWORD* pdwStubPhase);
2747 HRESULT CALLBACK IMoniker_Inverse_Proxy(
2750 void __RPC_STUB IMoniker_Inverse_Stub(
2751 struct IRpcStubBuffer* This,
2752 struct IRpcChannelBuffer* pRpcChannelBuffer,
2753 PRPC_MESSAGE pRpcMessage,
2754 DWORD* pdwStubPhase);
2755 HRESULT CALLBACK IMoniker_CommonPrefixWith_Proxy(
2758 IMoniker** ppmkPrefix);
2759 void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
2760 struct IRpcStubBuffer* This,
2761 struct IRpcChannelBuffer* pRpcChannelBuffer,
2762 PRPC_MESSAGE pRpcMessage,
2763 DWORD* pdwStubPhase);
2764 HRESULT CALLBACK IMoniker_RelativePathTo_Proxy(
2767 IMoniker** ppmkRelPath);
2768 void __RPC_STUB IMoniker_RelativePathTo_Stub(
2769 struct IRpcStubBuffer* This,
2770 struct IRpcChannelBuffer* pRpcChannelBuffer,
2771 PRPC_MESSAGE pRpcMessage,
2772 DWORD* pdwStubPhase);
2773 HRESULT CALLBACK IMoniker_GetDisplayName_Proxy(
2776 IMoniker* pmkToLeft,
2777 LPOLESTR* ppszDisplayName);
2778 void __RPC_STUB IMoniker_GetDisplayName_Stub(
2779 struct IRpcStubBuffer* This,
2780 struct IRpcChannelBuffer* pRpcChannelBuffer,
2781 PRPC_MESSAGE pRpcMessage,
2782 DWORD* pdwStubPhase);
2783 HRESULT CALLBACK IMoniker_ParseDisplayName_Proxy(
2786 IMoniker* pmkToLeft,
2787 LPOLESTR pszDisplayName,
2789 IMoniker** ppmkOut);
2790 void __RPC_STUB IMoniker_ParseDisplayName_Stub(
2791 struct IRpcStubBuffer* This,
2792 struct IRpcChannelBuffer* pRpcChannelBuffer,
2793 PRPC_MESSAGE pRpcMessage,
2794 DWORD* pdwStubPhase);
2795 HRESULT CALLBACK IMoniker_IsSystemMoniker_Proxy(
2798 void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
2799 struct IRpcStubBuffer* This,
2800 struct IRpcChannelBuffer* pRpcChannelBuffer,
2801 PRPC_MESSAGE pRpcMessage,
2802 DWORD* pdwStubPhase);
2804 #endif /* __IMoniker_INTERFACE_DEFINED__ */
2806 #ifndef __IROTData_FWD_DEFINED__
2807 #define __IROTData_FWD_DEFINED__
2808 typedef struct IROTData IROTData;
2811 /*****************************************************************************
2812 * IROTData interface
2814 #ifndef __IROTData_INTERFACE_DEFINED__
2815 #define __IROTData_INTERFACE_DEFINED__
2817 DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
2818 #if defined(__cplusplus) && !defined(CINTERFACE)
2819 struct IROTData : public IUnknown
2821 virtual HRESULT STDMETHODCALLTYPE GetComparisonData(
2824 ULONG* pcbData) = 0;
2828 typedef struct IROTDataVtbl IROTDataVtbl;
2830 const IROTDataVtbl* lpVtbl;
2832 struct IROTDataVtbl {
2833 ICOM_MSVTABLE_COMPAT_FIELDS
2835 /*** IUnknown methods ***/
2836 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2841 ULONG (STDMETHODCALLTYPE *AddRef)(
2844 ULONG (STDMETHODCALLTYPE *Release)(
2847 /*** IROTData methods ***/
2848 HRESULT (STDMETHODCALLTYPE *GetComparisonData)(
2857 /*** IUnknown methods ***/
2858 #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2859 #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p)
2860 #define IROTData_Release(p) (p)->lpVtbl->Release(p)
2861 /*** IROTData methods ***/
2862 #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c)
2867 #define IROTData_METHODS \
2868 ICOM_MSVTABLE_COMPAT_FIELDS \
2869 /*** IUnknown methods ***/ \
2870 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2871 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2872 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2873 /*** IROTData methods ***/ \
2874 STDMETHOD_(HRESULT,GetComparisonData)(THIS_ byte* pbData, ULONG cbMax, ULONG* pcbData) PURE;
2876 HRESULT CALLBACK IROTData_GetComparisonData_Proxy(
2881 void __RPC_STUB IROTData_GetComparisonData_Stub(
2882 struct IRpcStubBuffer* This,
2883 struct IRpcChannelBuffer* pRpcChannelBuffer,
2884 PRPC_MESSAGE pRpcMessage,
2885 DWORD* pdwStubPhase);
2887 #endif /* __IROTData_INTERFACE_DEFINED__ */
2889 typedef IEnumString *LPENUMSTRING;
2891 /*****************************************************************************
2892 * IEnumString interface
2894 #ifndef __IEnumString_INTERFACE_DEFINED__
2895 #define __IEnumString_INTERFACE_DEFINED__
2897 DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2898 #if defined(__cplusplus) && !defined(CINTERFACE)
2899 struct IEnumString : public IUnknown
2901 virtual HRESULT STDMETHODCALLTYPE Next(
2904 ULONG* pceltFetched) = 0;
2906 virtual HRESULT STDMETHODCALLTYPE Skip(
2909 virtual HRESULT STDMETHODCALLTYPE Reset(
2912 virtual HRESULT STDMETHODCALLTYPE Clone(
2913 IEnumString** ppenum) = 0;
2917 typedef struct IEnumStringVtbl IEnumStringVtbl;
2918 struct IEnumString {
2919 const IEnumStringVtbl* lpVtbl;
2921 struct IEnumStringVtbl {
2922 ICOM_MSVTABLE_COMPAT_FIELDS
2924 /*** IUnknown methods ***/
2925 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2930 ULONG (STDMETHODCALLTYPE *AddRef)(
2933 ULONG (STDMETHODCALLTYPE *Release)(
2936 /*** IEnumString methods ***/
2937 HRESULT (STDMETHODCALLTYPE *Next)(
2941 ULONG* pceltFetched);
2943 HRESULT (STDMETHODCALLTYPE *Skip)(
2947 HRESULT (STDMETHODCALLTYPE *Reset)(
2950 HRESULT (STDMETHODCALLTYPE *Clone)(
2952 IEnumString** ppenum);
2957 /*** IUnknown methods ***/
2958 #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2959 #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p)
2960 #define IEnumString_Release(p) (p)->lpVtbl->Release(p)
2961 /*** IEnumString methods ***/
2962 #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2963 #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2964 #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p)
2965 #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2970 #define IEnumString_METHODS \
2971 ICOM_MSVTABLE_COMPAT_FIELDS \
2972 /*** IUnknown methods ***/ \
2973 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2974 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2975 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2976 /*** IEnumString methods ***/ \
2977 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched) PURE; \
2978 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2979 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2980 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumString** ppenum) PURE;
2982 HRESULT CALLBACK IEnumString_RemoteNext_Proxy(
2986 ULONG* pceltFetched);
2987 void __RPC_STUB IEnumString_RemoteNext_Stub(
2988 struct IRpcStubBuffer* This,
2989 struct IRpcChannelBuffer* pRpcChannelBuffer,
2990 PRPC_MESSAGE pRpcMessage,
2991 DWORD* pdwStubPhase);
2992 HRESULT CALLBACK IEnumString_Next_Proxy(
2996 ULONG* pceltFetched);
2997 HRESULT __RPC_STUB IEnumString_Next_Stub(
3001 ULONG* pceltFetched);
3002 HRESULT CALLBACK IEnumString_Skip_Proxy(
3005 void __RPC_STUB IEnumString_Skip_Stub(
3006 struct IRpcStubBuffer* This,
3007 struct IRpcChannelBuffer* pRpcChannelBuffer,
3008 PRPC_MESSAGE pRpcMessage,
3009 DWORD* pdwStubPhase);
3010 HRESULT CALLBACK IEnumString_Reset_Proxy(
3012 void __RPC_STUB IEnumString_Reset_Stub(
3013 struct IRpcStubBuffer* This,
3014 struct IRpcChannelBuffer* pRpcChannelBuffer,
3015 PRPC_MESSAGE pRpcMessage,
3016 DWORD* pdwStubPhase);
3017 HRESULT CALLBACK IEnumString_Clone_Proxy(
3019 IEnumString** ppenum);
3020 void __RPC_STUB IEnumString_Clone_Stub(
3021 struct IRpcStubBuffer* This,
3022 struct IRpcChannelBuffer* pRpcChannelBuffer,
3023 PRPC_MESSAGE pRpcMessage,
3024 DWORD* pdwStubPhase);
3026 #endif /* __IEnumString_INTERFACE_DEFINED__ */
3028 #ifndef __IClassActivator_FWD_DEFINED__
3029 #define __IClassActivator_FWD_DEFINED__
3030 typedef struct IClassActivator IClassActivator;
3033 /*****************************************************************************
3034 * IClassActivator interface
3036 #ifndef __IClassActivator_INTERFACE_DEFINED__
3037 #define __IClassActivator_INTERFACE_DEFINED__
3039 DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3040 #if defined(__cplusplus) && !defined(CINTERFACE)
3041 struct IClassActivator : public IUnknown
3043 virtual HRESULT STDMETHODCALLTYPE GetClassObject(
3045 DWORD dwClassContext,
3052 typedef struct IClassActivatorVtbl IClassActivatorVtbl;
3053 struct IClassActivator {
3054 const IClassActivatorVtbl* lpVtbl;
3056 struct IClassActivatorVtbl {
3057 ICOM_MSVTABLE_COMPAT_FIELDS
3059 /*** IUnknown methods ***/
3060 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3061 IClassActivator* This,
3065 ULONG (STDMETHODCALLTYPE *AddRef)(
3066 IClassActivator* This);
3068 ULONG (STDMETHODCALLTYPE *Release)(
3069 IClassActivator* This);
3071 /*** IClassActivator methods ***/
3072 HRESULT (STDMETHODCALLTYPE *GetClassObject)(
3073 IClassActivator* This,
3075 DWORD dwClassContext,
3083 /*** IUnknown methods ***/
3084 #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3085 #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p)
3086 #define IClassActivator_Release(p) (p)->lpVtbl->Release(p)
3087 /*** IClassActivator methods ***/
3088 #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e)
3093 #define IClassActivator_METHODS \
3094 ICOM_MSVTABLE_COMPAT_FIELDS \
3095 /*** IUnknown methods ***/ \
3096 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3097 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3098 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3099 /*** IClassActivator methods ***/ \
3100 STDMETHOD_(HRESULT,GetClassObject)(THIS_ REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) PURE;
3102 HRESULT CALLBACK IClassActivator_GetClassObject_Proxy(
3103 IClassActivator* This,
3105 DWORD dwClassContext,
3109 void __RPC_STUB IClassActivator_GetClassObject_Stub(
3110 struct IRpcStubBuffer* This,
3111 struct IRpcChannelBuffer* pRpcChannelBuffer,
3112 PRPC_MESSAGE pRpcMessage,
3113 DWORD* pdwStubPhase);
3115 #endif /* __IClassActivator_INTERFACE_DEFINED__ */
3117 #ifndef __ISequentialStream_FWD_DEFINED__
3118 #define __ISequentialStream_FWD_DEFINED__
3119 typedef struct ISequentialStream ISequentialStream;
3122 /*****************************************************************************
3123 * ISequentialStream interface
3125 #ifndef __ISequentialStream_INTERFACE_DEFINED__
3126 #define __ISequentialStream_INTERFACE_DEFINED__
3128 DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
3129 #if defined(__cplusplus) && !defined(CINTERFACE)
3130 struct ISequentialStream : public IUnknown
3132 virtual HRESULT STDMETHODCALLTYPE Read(
3135 ULONG* pcbRead) = 0;
3137 virtual HRESULT STDMETHODCALLTYPE Write(
3140 ULONG* pcbWritten) = 0;
3144 typedef struct ISequentialStreamVtbl ISequentialStreamVtbl;
3145 struct ISequentialStream {
3146 const ISequentialStreamVtbl* lpVtbl;
3148 struct ISequentialStreamVtbl {
3149 ICOM_MSVTABLE_COMPAT_FIELDS
3151 /*** IUnknown methods ***/
3152 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3153 ISequentialStream* This,
3157 ULONG (STDMETHODCALLTYPE *AddRef)(
3158 ISequentialStream* This);
3160 ULONG (STDMETHODCALLTYPE *Release)(
3161 ISequentialStream* This);
3163 /*** ISequentialStream methods ***/
3164 HRESULT (STDMETHODCALLTYPE *Read)(
3165 ISequentialStream* This,
3170 HRESULT (STDMETHODCALLTYPE *Write)(
3171 ISequentialStream* This,
3179 /*** IUnknown methods ***/
3180 #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3181 #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3182 #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p)
3183 /*** ISequentialStream methods ***/
3184 #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3185 #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3190 #define ISequentialStream_METHODS \
3191 ICOM_MSVTABLE_COMPAT_FIELDS \
3192 /*** IUnknown methods ***/ \
3193 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3194 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3195 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3196 /*** ISequentialStream methods ***/ \
3197 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3198 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE;
3200 HRESULT CALLBACK ISequentialStream_RemoteRead_Proxy(
3201 ISequentialStream* This,
3205 void __RPC_STUB ISequentialStream_RemoteRead_Stub(
3206 struct IRpcStubBuffer* This,
3207 struct IRpcChannelBuffer* pRpcChannelBuffer,
3208 PRPC_MESSAGE pRpcMessage,
3209 DWORD* pdwStubPhase);
3210 HRESULT CALLBACK ISequentialStream_Read_Proxy(
3211 ISequentialStream* This,
3215 HRESULT __RPC_STUB ISequentialStream_Read_Stub(
3216 ISequentialStream* This,
3220 HRESULT CALLBACK ISequentialStream_RemoteWrite_Proxy(
3221 ISequentialStream* This,
3225 void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
3226 struct IRpcStubBuffer* This,
3227 struct IRpcChannelBuffer* pRpcChannelBuffer,
3228 PRPC_MESSAGE pRpcMessage,
3229 DWORD* pdwStubPhase);
3230 HRESULT CALLBACK ISequentialStream_Write_Proxy(
3231 ISequentialStream* This,
3235 HRESULT __RPC_STUB ISequentialStream_Write_Stub(
3236 ISequentialStream* This,
3241 #endif /* __ISequentialStream_INTERFACE_DEFINED__ */
3243 typedef IStream *LPSTREAM;
3245 typedef struct tagSTATSTG {
3248 ULARGE_INTEGER cbSize;
3253 DWORD grfLocksSupported;
3259 typedef enum tagSTGTY {
3262 STGTY_LOCKBYTES = 3,
3266 typedef enum tagSTREAM_SEEK {
3267 STREAM_SEEK_SET = 0,
3268 STREAM_SEEK_CUR = 1,
3276 typedef enum tagLOCKTYPE {
3282 /*****************************************************************************
3285 #ifndef __IStream_INTERFACE_DEFINED__
3286 #define __IStream_INTERFACE_DEFINED__
3288 DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3289 #if defined(__cplusplus) && !defined(CINTERFACE)
3290 struct IStream : public ISequentialStream
3292 virtual HRESULT STDMETHODCALLTYPE Seek(
3293 LARGE_INTEGER dlibMove,
3295 ULARGE_INTEGER* plibNewPosition) = 0;
3297 virtual HRESULT STDMETHODCALLTYPE SetSize(
3298 ULARGE_INTEGER libNewSize) = 0;
3300 virtual HRESULT STDMETHODCALLTYPE CopyTo(
3303 ULARGE_INTEGER* pcbRead,
3304 ULARGE_INTEGER* pcbWritten) = 0;
3306 virtual HRESULT STDMETHODCALLTYPE Commit(
3307 DWORD grfCommitFlags) = 0;
3309 virtual HRESULT STDMETHODCALLTYPE Revert(
3312 virtual HRESULT STDMETHODCALLTYPE LockRegion(
3313 ULARGE_INTEGER libOffset,
3315 DWORD dwLockType) = 0;
3317 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
3318 ULARGE_INTEGER libOffset,
3320 DWORD dwLockType) = 0;
3322 virtual HRESULT STDMETHODCALLTYPE Stat(
3324 DWORD grfStatFlag) = 0;
3326 virtual HRESULT STDMETHODCALLTYPE Clone(
3327 IStream** ppstm) = 0;
3331 typedef struct IStreamVtbl IStreamVtbl;
3333 const IStreamVtbl* lpVtbl;
3335 struct IStreamVtbl {
3336 ICOM_MSVTABLE_COMPAT_FIELDS
3338 /*** IUnknown methods ***/
3339 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3344 ULONG (STDMETHODCALLTYPE *AddRef)(
3347 ULONG (STDMETHODCALLTYPE *Release)(
3350 /*** ISequentialStream methods ***/
3351 HRESULT (STDMETHODCALLTYPE *Read)(
3357 HRESULT (STDMETHODCALLTYPE *Write)(
3363 /*** IStream methods ***/
3364 HRESULT (STDMETHODCALLTYPE *Seek)(
3366 LARGE_INTEGER dlibMove,
3368 ULARGE_INTEGER* plibNewPosition);
3370 HRESULT (STDMETHODCALLTYPE *SetSize)(
3372 ULARGE_INTEGER libNewSize);
3374 HRESULT (STDMETHODCALLTYPE *CopyTo)(
3378 ULARGE_INTEGER* pcbRead,
3379 ULARGE_INTEGER* pcbWritten);
3381 HRESULT (STDMETHODCALLTYPE *Commit)(
3383 DWORD grfCommitFlags);
3385 HRESULT (STDMETHODCALLTYPE *Revert)(
3388 HRESULT (STDMETHODCALLTYPE *LockRegion)(
3390 ULARGE_INTEGER libOffset,
3394 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
3396 ULARGE_INTEGER libOffset,
3400 HRESULT (STDMETHODCALLTYPE *Stat)(
3405 HRESULT (STDMETHODCALLTYPE *Clone)(
3412 /*** IUnknown methods ***/
3413 #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3414 #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3415 #define IStream_Release(p) (p)->lpVtbl->Release(p)
3416 /*** ISequentialStream methods ***/
3417 #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3418 #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3419 /*** IStream methods ***/
3420 #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3421 #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3422 #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3423 #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3424 #define IStream_Revert(p) (p)->lpVtbl->Revert(p)
3425 #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3426 #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3427 #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3428 #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3433 #define IStream_METHODS \
3434 ICOM_MSVTABLE_COMPAT_FIELDS \
3435 /*** IUnknown methods ***/ \
3436 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3437 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3438 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3439 /*** ISequentialStream methods ***/ \
3440 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3441 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3442 /*** IStream methods ***/ \
3443 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3444 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3445 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3446 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3447 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3448 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3449 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3450 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3451 STDMETHOD_(HRESULT,Clone)(THIS_ IStream** ppstm) PURE;
3453 HRESULT CALLBACK IStream_RemoteSeek_Proxy(
3455 LARGE_INTEGER dlibMove,
3457 ULARGE_INTEGER* plibNewPosition);
3458 void __RPC_STUB IStream_RemoteSeek_Stub(
3459 struct IRpcStubBuffer* This,
3460 struct IRpcChannelBuffer* pRpcChannelBuffer,
3461 PRPC_MESSAGE pRpcMessage,
3462 DWORD* pdwStubPhase);
3463 HRESULT CALLBACK IStream_Seek_Proxy(
3465 LARGE_INTEGER dlibMove,
3467 ULARGE_INTEGER* plibNewPosition);
3468 HRESULT __RPC_STUB IStream_Seek_Stub(
3470 LARGE_INTEGER dlibMove,
3472 ULARGE_INTEGER* plibNewPosition);
3473 HRESULT CALLBACK IStream_SetSize_Proxy(
3475 ULARGE_INTEGER libNewSize);
3476 void __RPC_STUB IStream_SetSize_Stub(
3477 struct IRpcStubBuffer* This,
3478 struct IRpcChannelBuffer* pRpcChannelBuffer,
3479 PRPC_MESSAGE pRpcMessage,
3480 DWORD* pdwStubPhase);
3481 HRESULT CALLBACK IStream_RemoteCopyTo_Proxy(
3485 ULARGE_INTEGER* pcbRead,
3486 ULARGE_INTEGER* pcbWritten);
3487 void __RPC_STUB IStream_RemoteCopyTo_Stub(
3488 struct IRpcStubBuffer* This,
3489 struct IRpcChannelBuffer* pRpcChannelBuffer,
3490 PRPC_MESSAGE pRpcMessage,
3491 DWORD* pdwStubPhase);
3492 HRESULT CALLBACK IStream_CopyTo_Proxy(
3496 ULARGE_INTEGER* pcbRead,
3497 ULARGE_INTEGER* pcbWritten);
3498 HRESULT __RPC_STUB IStream_CopyTo_Stub(
3502 ULARGE_INTEGER* pcbRead,
3503 ULARGE_INTEGER* pcbWritten);
3504 HRESULT CALLBACK IStream_Commit_Proxy(
3506 DWORD grfCommitFlags);
3507 void __RPC_STUB IStream_Commit_Stub(
3508 struct IRpcStubBuffer* This,
3509 struct IRpcChannelBuffer* pRpcChannelBuffer,
3510 PRPC_MESSAGE pRpcMessage,
3511 DWORD* pdwStubPhase);
3512 HRESULT CALLBACK IStream_Revert_Proxy(
3514 void __RPC_STUB IStream_Revert_Stub(
3515 struct IRpcStubBuffer* This,
3516 struct IRpcChannelBuffer* pRpcChannelBuffer,
3517 PRPC_MESSAGE pRpcMessage,
3518 DWORD* pdwStubPhase);
3519 HRESULT CALLBACK IStream_LockRegion_Proxy(
3521 ULARGE_INTEGER libOffset,
3524 void __RPC_STUB IStream_LockRegion_Stub(
3525 struct IRpcStubBuffer* This,
3526 struct IRpcChannelBuffer* pRpcChannelBuffer,
3527 PRPC_MESSAGE pRpcMessage,
3528 DWORD* pdwStubPhase);
3529 HRESULT CALLBACK IStream_UnlockRegion_Proxy(
3531 ULARGE_INTEGER libOffset,
3534 void __RPC_STUB IStream_UnlockRegion_Stub(
3535 struct IRpcStubBuffer* This,
3536 struct IRpcChannelBuffer* pRpcChannelBuffer,
3537 PRPC_MESSAGE pRpcMessage,
3538 DWORD* pdwStubPhase);
3539 HRESULT CALLBACK IStream_Stat_Proxy(
3543 void __RPC_STUB IStream_Stat_Stub(
3544 struct IRpcStubBuffer* This,
3545 struct IRpcChannelBuffer* pRpcChannelBuffer,
3546 PRPC_MESSAGE pRpcMessage,
3547 DWORD* pdwStubPhase);
3548 HRESULT CALLBACK IStream_Clone_Proxy(
3551 void __RPC_STUB IStream_Clone_Stub(
3552 struct IRpcStubBuffer* This,
3553 struct IRpcChannelBuffer* pRpcChannelBuffer,
3554 PRPC_MESSAGE pRpcMessage,
3555 DWORD* pdwStubPhase);
3557 #endif /* __IStream_INTERFACE_DEFINED__ */
3559 #ifndef __IEnumSTATSTG_FWD_DEFINED__
3560 #define __IEnumSTATSTG_FWD_DEFINED__
3561 typedef struct IEnumSTATSTG IEnumSTATSTG;
3564 typedef IEnumSTATSTG *LPENUMSTATSTG;
3566 /*****************************************************************************
3567 * IEnumSTATSTG interface
3569 #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
3570 #define __IEnumSTATSTG_INTERFACE_DEFINED__
3572 DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3573 #if defined(__cplusplus) && !defined(CINTERFACE)
3574 struct IEnumSTATSTG : public IUnknown
3576 virtual HRESULT STDMETHODCALLTYPE Next(
3579 ULONG* pceltFetched) = 0;
3581 virtual HRESULT STDMETHODCALLTYPE Skip(
3584 virtual HRESULT STDMETHODCALLTYPE Reset(
3587 virtual HRESULT STDMETHODCALLTYPE Clone(
3588 IEnumSTATSTG** ppenum) = 0;
3592 typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl;
3593 struct IEnumSTATSTG {
3594 const IEnumSTATSTGVtbl* lpVtbl;
3596 struct IEnumSTATSTGVtbl {
3597 ICOM_MSVTABLE_COMPAT_FIELDS
3599 /*** IUnknown methods ***/
3600 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3605 ULONG (STDMETHODCALLTYPE *AddRef)(
3606 IEnumSTATSTG* This);
3608 ULONG (STDMETHODCALLTYPE *Release)(
3609 IEnumSTATSTG* This);
3611 /*** IEnumSTATSTG methods ***/
3612 HRESULT (STDMETHODCALLTYPE *Next)(
3616 ULONG* pceltFetched);
3618 HRESULT (STDMETHODCALLTYPE *Skip)(
3622 HRESULT (STDMETHODCALLTYPE *Reset)(
3623 IEnumSTATSTG* This);
3625 HRESULT (STDMETHODCALLTYPE *Clone)(
3627 IEnumSTATSTG** ppenum);
3632 /*** IUnknown methods ***/
3633 #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3634 #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
3635 #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p)
3636 /*** IEnumSTATSTG methods ***/
3637 #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
3638 #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
3639 #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p)
3640 #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3645 #define IEnumSTATSTG_METHODS \
3646 ICOM_MSVTABLE_COMPAT_FIELDS \
3647 /*** IUnknown methods ***/ \
3648 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3649 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3650 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3651 /*** IEnumSTATSTG methods ***/ \
3652 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATSTG* rgelt, ULONG* pceltFetched) PURE; \
3653 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
3654 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
3655 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATSTG** ppenum) PURE;
3657 HRESULT CALLBACK IEnumSTATSTG_RemoteNext_Proxy(
3661 ULONG* pceltFetched);
3662 void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
3663 struct IRpcStubBuffer* This,
3664 struct IRpcChannelBuffer* pRpcChannelBuffer,
3665 PRPC_MESSAGE pRpcMessage,
3666 DWORD* pdwStubPhase);
3667 HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
3671 ULONG* pceltFetched);
3672 HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
3676 ULONG* pceltFetched);
3677 HRESULT CALLBACK IEnumSTATSTG_Skip_Proxy(
3680 void __RPC_STUB IEnumSTATSTG_Skip_Stub(
3681 struct IRpcStubBuffer* This,
3682 struct IRpcChannelBuffer* pRpcChannelBuffer,
3683 PRPC_MESSAGE pRpcMessage,
3684 DWORD* pdwStubPhase);
3685 HRESULT CALLBACK IEnumSTATSTG_Reset_Proxy(
3686 IEnumSTATSTG* This);
3687 void __RPC_STUB IEnumSTATSTG_Reset_Stub(
3688 struct IRpcStubBuffer* This,
3689 struct IRpcChannelBuffer* pRpcChannelBuffer,
3690 PRPC_MESSAGE pRpcMessage,
3691 DWORD* pdwStubPhase);
3692 HRESULT CALLBACK IEnumSTATSTG_Clone_Proxy(
3694 IEnumSTATSTG** ppenum);
3695 void __RPC_STUB IEnumSTATSTG_Clone_Stub(
3696 struct IRpcStubBuffer* This,
3697 struct IRpcChannelBuffer* pRpcChannelBuffer,
3698 PRPC_MESSAGE pRpcMessage,
3699 DWORD* pdwStubPhase);
3701 #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
3703 #ifndef __IStorage_FWD_DEFINED__
3704 #define __IStorage_FWD_DEFINED__
3705 typedef struct IStorage IStorage;
3708 typedef IStorage *LPSTORAGE;
3710 typedef struct tagRemSNB {
3711 unsigned long ulCntStr;
3712 unsigned long ulCntChar;
3713 OLECHAR rgString[1];
3716 typedef RemSNB *wireSNB;
3718 typedef OLECHAR **SNB;
3719 unsigned long __RPC_USER SNB_UserSize (unsigned long *, unsigned long, SNB *);
3720 unsigned char * __RPC_USER SNB_UserMarshal (unsigned long *, unsigned char *, SNB *);
3721 unsigned char * __RPC_USER SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB *);
3722 void __RPC_USER SNB_UserFree (unsigned long *, SNB *);
3724 /*****************************************************************************
3725 * IStorage interface
3727 #ifndef __IStorage_INTERFACE_DEFINED__
3728 #define __IStorage_INTERFACE_DEFINED__
3730 DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3731 #if defined(__cplusplus) && !defined(CINTERFACE)
3732 struct IStorage : public IUnknown
3734 virtual HRESULT STDMETHODCALLTYPE CreateStream(
3739 IStream** ppstm) = 0;
3741 virtual HRESULT STDMETHODCALLTYPE OpenStream(
3746 IStream** ppstm) = 0;
3748 virtual HRESULT STDMETHODCALLTYPE CreateStorage(
3753 IStorage** ppstg) = 0;
3755 virtual HRESULT STDMETHODCALLTYPE OpenStorage(
3757 IStorage* pstgPriority,
3761 IStorage** ppstg) = 0;
3763 virtual HRESULT STDMETHODCALLTYPE CopyTo(
3765 const IID* rgiidExclude,
3767 IStorage* pstgDest) = 0;
3769 virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
3772 LPCOLESTR pwcsNewName,
3773 DWORD grfFlags) = 0;
3775 virtual HRESULT STDMETHODCALLTYPE Commit(
3776 DWORD grfCommitFlags) = 0;
3778 virtual HRESULT STDMETHODCALLTYPE Revert(
3781 virtual HRESULT STDMETHODCALLTYPE EnumElements(
3785 IEnumSTATSTG** ppenum) = 0;
3787 virtual HRESULT STDMETHODCALLTYPE DestroyElement(
3788 LPCOLESTR pwcsName) = 0;
3790 virtual HRESULT STDMETHODCALLTYPE RenameElement(
3791 LPCOLESTR pwcsOldName,
3792 LPCOLESTR pwcsNewName) = 0;
3794 virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
3796 const FILETIME* pctime,
3797 const FILETIME* patime,
3798 const FILETIME* pmtime) = 0;
3800 virtual HRESULT STDMETHODCALLTYPE SetClass(
3801 REFCLSID clsid) = 0;
3803 virtual HRESULT STDMETHODCALLTYPE SetStateBits(
3807 virtual HRESULT STDMETHODCALLTYPE Stat(
3809 DWORD grfStatFlag) = 0;
3813 typedef struct IStorageVtbl IStorageVtbl;
3815 const IStorageVtbl* lpVtbl;
3817 struct IStorageVtbl {
3818 ICOM_MSVTABLE_COMPAT_FIELDS
3820 /*** IUnknown methods ***/
3821 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3826 ULONG (STDMETHODCALLTYPE *AddRef)(
3829 ULONG (STDMETHODCALLTYPE *Release)(
3832 /*** IStorage methods ***/
3833 HRESULT (STDMETHODCALLTYPE *CreateStream)(
3841 HRESULT (STDMETHODCALLTYPE *OpenStream)(
3849 HRESULT (STDMETHODCALLTYPE *CreateStorage)(
3857 HRESULT (STDMETHODCALLTYPE *OpenStorage)(
3860 IStorage* pstgPriority,
3866 HRESULT (STDMETHODCALLTYPE *CopyTo)(
3869 const IID* rgiidExclude,
3871 IStorage* pstgDest);
3873 HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
3877 LPCOLESTR pwcsNewName,
3880 HRESULT (STDMETHODCALLTYPE *Commit)(
3882 DWORD grfCommitFlags);
3884 HRESULT (STDMETHODCALLTYPE *Revert)(
3887 HRESULT (STDMETHODCALLTYPE *EnumElements)(
3892 IEnumSTATSTG** ppenum);
3894 HRESULT (STDMETHODCALLTYPE *DestroyElement)(
3896 LPCOLESTR pwcsName);
3898 HRESULT (STDMETHODCALLTYPE *RenameElement)(
3900 LPCOLESTR pwcsOldName,
3901 LPCOLESTR pwcsNewName);
3903 HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
3906 const FILETIME* pctime,
3907 const FILETIME* patime,
3908 const FILETIME* pmtime);
3910 HRESULT (STDMETHODCALLTYPE *SetClass)(
3914 HRESULT (STDMETHODCALLTYPE *SetStateBits)(
3919 HRESULT (STDMETHODCALLTYPE *Stat)(
3927 /*** IUnknown methods ***/
3928 #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3929 #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
3930 #define IStorage_Release(p) (p)->lpVtbl->Release(p)
3931 /*** IStorage methods ***/
3932 #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
3933 #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
3934 #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
3935 #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
3936 #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3937 #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
3938 #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3939 #define IStorage_Revert(p) (p)->lpVtbl->Revert(p)
3940 #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
3941 #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
3942 #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
3943 #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
3944 #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
3945 #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
3946 #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3951 #define IStorage_METHODS \
3952 ICOM_MSVTABLE_COMPAT_FIELDS \
3953 /*** IUnknown methods ***/ \
3954 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3955 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3956 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3957 /*** IStorage methods ***/ \
3958 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream** ppstm) PURE; \
3959 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream** ppstm) PURE; \
3960 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage** ppstg) PURE; \
3961 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstg) PURE; \
3962 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB snbExclude, IStorage* pstgDest) PURE; \
3963 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR pwcsName, IStorage* pstgDest, LPCOLESTR pwcsNewName, DWORD grfFlags) PURE; \
3964 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3965 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3966 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
3967 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR pwcsName) PURE; \
3968 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR pwcsOldName, LPCOLESTR pwcsNewName) PURE; \
3969 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
3970 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
3971 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
3972 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
3974 HRESULT CALLBACK IStorage_CreateStream_Proxy(
3981 void __RPC_STUB IStorage_CreateStream_Stub(
3982 struct IRpcStubBuffer* This,
3983 struct IRpcChannelBuffer* pRpcChannelBuffer,
3984 PRPC_MESSAGE pRpcMessage,
3985 DWORD* pdwStubPhase);
3986 HRESULT CALLBACK IStorage_RemoteOpenStream_Proxy(
3989 unsigned long cbReserved1,
3994 void __RPC_STUB IStorage_RemoteOpenStream_Stub(
3995 struct IRpcStubBuffer* This,
3996 struct IRpcChannelBuffer* pRpcChannelBuffer,
3997 PRPC_MESSAGE pRpcMessage,
3998 DWORD* pdwStubPhase);
3999 HRESULT CALLBACK IStorage_OpenStream_Proxy(
4006 HRESULT __RPC_STUB IStorage_OpenStream_Stub(
4009 unsigned long cbReserved1,
4014 HRESULT CALLBACK IStorage_CreateStorage_Proxy(
4021 void __RPC_STUB IStorage_CreateStorage_Stub(
4022 struct IRpcStubBuffer* This,
4023 struct IRpcChannelBuffer* pRpcChannelBuffer,
4024 PRPC_MESSAGE pRpcMessage,
4025 DWORD* pdwStubPhase);
4026 HRESULT CALLBACK IStorage_OpenStorage_Proxy(
4029 IStorage* pstgPriority,
4034 void __RPC_STUB IStorage_OpenStorage_Stub(
4035 struct IRpcStubBuffer* This,
4036 struct IRpcChannelBuffer* pRpcChannelBuffer,
4037 PRPC_MESSAGE pRpcMessage,
4038 DWORD* pdwStubPhase);
4039 HRESULT CALLBACK IStorage_CopyTo_Proxy(
4042 const IID* rgiidExclude,
4044 IStorage* pstgDest);
4045 void __RPC_STUB IStorage_CopyTo_Stub(
4046 struct IRpcStubBuffer* This,
4047 struct IRpcChannelBuffer* pRpcChannelBuffer,
4048 PRPC_MESSAGE pRpcMessage,
4049 DWORD* pdwStubPhase);
4050 HRESULT CALLBACK IStorage_MoveElementTo_Proxy(
4054 LPCOLESTR pwcsNewName,
4056 void __RPC_STUB IStorage_MoveElementTo_Stub(
4057 struct IRpcStubBuffer* This,
4058 struct IRpcChannelBuffer* pRpcChannelBuffer,
4059 PRPC_MESSAGE pRpcMessage,
4060 DWORD* pdwStubPhase);
4061 HRESULT CALLBACK IStorage_Commit_Proxy(
4063 DWORD grfCommitFlags);
4064 void __RPC_STUB IStorage_Commit_Stub(
4065 struct IRpcStubBuffer* This,
4066 struct IRpcChannelBuffer* pRpcChannelBuffer,
4067 PRPC_MESSAGE pRpcMessage,
4068 DWORD* pdwStubPhase);
4069 HRESULT CALLBACK IStorage_Revert_Proxy(
4071 void __RPC_STUB IStorage_Revert_Stub(
4072 struct IRpcStubBuffer* This,
4073 struct IRpcChannelBuffer* pRpcChannelBuffer,
4074 PRPC_MESSAGE pRpcMessage,
4075 DWORD* pdwStubPhase);
4076 HRESULT CALLBACK IStorage_RemoteEnumElements_Proxy(
4079 unsigned long cbReserved2,
4082 IEnumSTATSTG** ppenum);
4083 void __RPC_STUB IStorage_RemoteEnumElements_Stub(
4084 struct IRpcStubBuffer* This,
4085 struct IRpcChannelBuffer* pRpcChannelBuffer,
4086 PRPC_MESSAGE pRpcMessage,
4087 DWORD* pdwStubPhase);
4088 HRESULT CALLBACK IStorage_EnumElements_Proxy(
4093 IEnumSTATSTG** ppenum);
4094 HRESULT __RPC_STUB IStorage_EnumElements_Stub(
4097 unsigned long cbReserved2,
4100 IEnumSTATSTG** ppenum);
4101 HRESULT CALLBACK IStorage_DestroyElement_Proxy(
4103 LPCOLESTR pwcsName);
4104 void __RPC_STUB IStorage_DestroyElement_Stub(
4105 struct IRpcStubBuffer* This,
4106 struct IRpcChannelBuffer* pRpcChannelBuffer,
4107 PRPC_MESSAGE pRpcMessage,
4108 DWORD* pdwStubPhase);
4109 HRESULT CALLBACK IStorage_RenameElement_Proxy(
4111 LPCOLESTR pwcsOldName,
4112 LPCOLESTR pwcsNewName);
4113 void __RPC_STUB IStorage_RenameElement_Stub(
4114 struct IRpcStubBuffer* This,
4115 struct IRpcChannelBuffer* pRpcChannelBuffer,
4116 PRPC_MESSAGE pRpcMessage,
4117 DWORD* pdwStubPhase);
4118 HRESULT CALLBACK IStorage_SetElementTimes_Proxy(
4121 const FILETIME* pctime,
4122 const FILETIME* patime,
4123 const FILETIME* pmtime);
4124 void __RPC_STUB IStorage_SetElementTimes_Stub(
4125 struct IRpcStubBuffer* This,
4126 struct IRpcChannelBuffer* pRpcChannelBuffer,
4127 PRPC_MESSAGE pRpcMessage,
4128 DWORD* pdwStubPhase);
4129 HRESULT CALLBACK IStorage_SetClass_Proxy(
4132 void __RPC_STUB IStorage_SetClass_Stub(
4133 struct IRpcStubBuffer* This,
4134 struct IRpcChannelBuffer* pRpcChannelBuffer,
4135 PRPC_MESSAGE pRpcMessage,
4136 DWORD* pdwStubPhase);
4137 HRESULT CALLBACK IStorage_SetStateBits_Proxy(
4141 void __RPC_STUB IStorage_SetStateBits_Stub(
4142 struct IRpcStubBuffer* This,
4143 struct IRpcChannelBuffer* pRpcChannelBuffer,
4144 PRPC_MESSAGE pRpcMessage,
4145 DWORD* pdwStubPhase);
4146 HRESULT CALLBACK IStorage_Stat_Proxy(
4150 void __RPC_STUB IStorage_Stat_Stub(
4151 struct IRpcStubBuffer* This,
4152 struct IRpcChannelBuffer* pRpcChannelBuffer,
4153 PRPC_MESSAGE pRpcMessage,
4154 DWORD* pdwStubPhase);
4156 #endif /* __IStorage_INTERFACE_DEFINED__ */
4158 #ifndef __IPersistFile_FWD_DEFINED__
4159 #define __IPersistFile_FWD_DEFINED__
4160 typedef struct IPersistFile IPersistFile;
4163 typedef IPersistFile *LPPERSISTFILE;
4165 /*****************************************************************************
4166 * IPersistFile interface
4168 #ifndef __IPersistFile_INTERFACE_DEFINED__
4169 #define __IPersistFile_INTERFACE_DEFINED__
4171 DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4172 #if defined(__cplusplus) && !defined(CINTERFACE)
4173 struct IPersistFile : public IPersist
4175 virtual HRESULT STDMETHODCALLTYPE IsDirty(
4178 virtual HRESULT STDMETHODCALLTYPE Load(
4179 LPCOLESTR pszFileName,
4182 virtual HRESULT STDMETHODCALLTYPE Save(
4183 LPCOLESTR pszFileName,
4184 BOOL fRemember) = 0;
4186 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
4187 LPCOLESTR pszFileName) = 0;
4189 virtual HRESULT STDMETHODCALLTYPE GetCurFile(
4190 LPOLESTR* ppszFileName) = 0;
4194 typedef struct IPersistFileVtbl IPersistFileVtbl;
4195 struct IPersistFile {
4196 const IPersistFileVtbl* lpVtbl;
4198 struct IPersistFileVtbl {
4199 ICOM_MSVTABLE_COMPAT_FIELDS
4201 /*** IUnknown methods ***/
4202 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4207 ULONG (STDMETHODCALLTYPE *AddRef)(
4208 IPersistFile* This);
4210 ULONG (STDMETHODCALLTYPE *Release)(
4211 IPersistFile* This);
4213 /*** IPersist methods ***/
4214 HRESULT (STDMETHODCALLTYPE *GetClassID)(
4218 /*** IPersistFile methods ***/
4219 HRESULT (STDMETHODCALLTYPE *IsDirty)(
4220 IPersistFile* This);
4222 HRESULT (STDMETHODCALLTYPE *Load)(
4224 LPCOLESTR pszFileName,
4227 HRESULT (STDMETHODCALLTYPE *Save)(
4229 LPCOLESTR pszFileName,
4232 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
4234 LPCOLESTR pszFileName);
4236 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
4238 LPOLESTR* ppszFileName);
4243 /*** IUnknown methods ***/
4244 #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4245 #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p)
4246 #define IPersistFile_Release(p) (p)->lpVtbl->Release(p)
4247 /*** IPersist methods ***/
4248 #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4249 /*** IPersistFile methods ***/
4250 #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4251 #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b)
4252 #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4253 #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4254 #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a)
4259 #define IPersistFile_METHODS \
4260 ICOM_MSVTABLE_COMPAT_FIELDS \
4261 /*** IUnknown methods ***/ \
4262 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4263 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4264 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4265 /*** IPersist methods ***/ \
4266 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4267 /*** IPersistFile methods ***/ \
4268 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4269 STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, DWORD dwMode) PURE; \
4270 STDMETHOD_(HRESULT,Save)(THIS_ LPCOLESTR pszFileName, BOOL fRemember) PURE; \
4271 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ LPCOLESTR pszFileName) PURE; \
4272 STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName) PURE;
4274 HRESULT CALLBACK IPersistFile_IsDirty_Proxy(
4275 IPersistFile* This);
4276 void __RPC_STUB IPersistFile_IsDirty_Stub(
4277 struct IRpcStubBuffer* This,
4278 struct IRpcChannelBuffer* pRpcChannelBuffer,
4279 PRPC_MESSAGE pRpcMessage,
4280 DWORD* pdwStubPhase);
4281 HRESULT CALLBACK IPersistFile_Load_Proxy(
4283 LPCOLESTR pszFileName,
4285 void __RPC_STUB IPersistFile_Load_Stub(
4286 struct IRpcStubBuffer* This,
4287 struct IRpcChannelBuffer* pRpcChannelBuffer,
4288 PRPC_MESSAGE pRpcMessage,
4289 DWORD* pdwStubPhase);
4290 HRESULT CALLBACK IPersistFile_Save_Proxy(
4292 LPCOLESTR pszFileName,
4294 void __RPC_STUB IPersistFile_Save_Stub(
4295 struct IRpcStubBuffer* This,
4296 struct IRpcChannelBuffer* pRpcChannelBuffer,
4297 PRPC_MESSAGE pRpcMessage,
4298 DWORD* pdwStubPhase);
4299 HRESULT CALLBACK IPersistFile_SaveCompleted_Proxy(
4301 LPCOLESTR pszFileName);
4302 void __RPC_STUB IPersistFile_SaveCompleted_Stub(
4303 struct IRpcStubBuffer* This,
4304 struct IRpcChannelBuffer* pRpcChannelBuffer,
4305 PRPC_MESSAGE pRpcMessage,
4306 DWORD* pdwStubPhase);
4307 HRESULT CALLBACK IPersistFile_GetCurFile_Proxy(
4309 LPOLESTR* ppszFileName);
4310 void __RPC_STUB IPersistFile_GetCurFile_Stub(
4311 struct IRpcStubBuffer* This,
4312 struct IRpcChannelBuffer* pRpcChannelBuffer,
4313 PRPC_MESSAGE pRpcMessage,
4314 DWORD* pdwStubPhase);
4316 #endif /* __IPersistFile_INTERFACE_DEFINED__ */
4318 #ifndef __IPersistStorage_FWD_DEFINED__
4319 #define __IPersistStorage_FWD_DEFINED__
4320 typedef struct IPersistStorage IPersistStorage;
4323 typedef IPersistStorage *LPPERSISTSTORAGE;
4325 /*****************************************************************************
4326 * IPersistStorage interface
4328 #ifndef __IPersistStorage_INTERFACE_DEFINED__
4329 #define __IPersistStorage_INTERFACE_DEFINED__
4331 DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4332 #if defined(__cplusplus) && !defined(CINTERFACE)
4333 struct IPersistStorage : public IPersist
4335 virtual HRESULT STDMETHODCALLTYPE IsDirty(
4338 virtual HRESULT STDMETHODCALLTYPE InitNew(
4339 IStorage* pStg) = 0;
4341 virtual HRESULT STDMETHODCALLTYPE Load(
4342 IStorage* pStg) = 0;
4344 virtual HRESULT STDMETHODCALLTYPE Save(
4346 BOOL fSameAsLoad) = 0;
4348 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
4349 IStorage* pStgNew) = 0;
4351 virtual HRESULT STDMETHODCALLTYPE HandsOffStorage(
4356 typedef struct IPersistStorageVtbl IPersistStorageVtbl;
4357 struct IPersistStorage {
4358 const IPersistStorageVtbl* lpVtbl;
4360 struct IPersistStorageVtbl {
4361 ICOM_MSVTABLE_COMPAT_FIELDS
4363 /*** IUnknown methods ***/
4364 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4365 IPersistStorage* This,
4369 ULONG (STDMETHODCALLTYPE *AddRef)(
4370 IPersistStorage* This);
4372 ULONG (STDMETHODCALLTYPE *Release)(
4373 IPersistStorage* This);
4375 /*** IPersist methods ***/
4376 HRESULT (STDMETHODCALLTYPE *GetClassID)(
4377 IPersistStorage* This,
4380 /*** IPersistStorage methods ***/
4381 HRESULT (STDMETHODCALLTYPE *IsDirty)(
4382 IPersistStorage* This);
4384 HRESULT (STDMETHODCALLTYPE *InitNew)(
4385 IPersistStorage* This,
4388 HRESULT (STDMETHODCALLTYPE *Load)(
4389 IPersistStorage* This,
4392 HRESULT (STDMETHODCALLTYPE *Save)(
4393 IPersistStorage* This,
4397 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
4398 IPersistStorage* This,
4401 HRESULT (STDMETHODCALLTYPE *HandsOffStorage)(
4402 IPersistStorage* This);
4407 /*** IUnknown methods ***/
4408 #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4409 #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4410 #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p)
4411 /*** IPersist methods ***/
4412 #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4413 /*** IPersistStorage methods ***/
4414 #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4415 #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a)
4416 #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a)
4417 #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4418 #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4419 #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p)
4424 #define IPersistStorage_METHODS \
4425 ICOM_MSVTABLE_COMPAT_FIELDS \
4426 /*** IUnknown methods ***/ \
4427 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4428 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4429 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4430 /*** IPersist methods ***/ \
4431 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4432 /*** IPersistStorage methods ***/ \
4433 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4434 STDMETHOD_(HRESULT,InitNew)(THIS_ IStorage* pStg) PURE; \
4435 STDMETHOD_(HRESULT,Load)(THIS_ IStorage* pStg) PURE; \
4436 STDMETHOD_(HRESULT,Save)(THIS_ IStorage* pStgSave, BOOL fSameAsLoad) PURE; \
4437 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IStorage* pStgNew) PURE; \
4438 STDMETHOD_(HRESULT,HandsOffStorage)(THIS) PURE;
4440 HRESULT CALLBACK IPersistStorage_IsDirty_Proxy(
4441 IPersistStorage* This);
4442 void __RPC_STUB IPersistStorage_IsDirty_Stub(
4443 struct IRpcStubBuffer* This,
4444 struct IRpcChannelBuffer* pRpcChannelBuffer,
4445 PRPC_MESSAGE pRpcMessage,
4446 DWORD* pdwStubPhase);
4447 HRESULT CALLBACK IPersistStorage_InitNew_Proxy(
4448 IPersistStorage* This,
4450 void __RPC_STUB IPersistStorage_InitNew_Stub(
4451 struct IRpcStubBuffer* This,
4452 struct IRpcChannelBuffer* pRpcChannelBuffer,
4453 PRPC_MESSAGE pRpcMessage,
4454 DWORD* pdwStubPhase);
4455 HRESULT CALLBACK IPersistStorage_Load_Proxy(
4456 IPersistStorage* This,
4458 void __RPC_STUB IPersistStorage_Load_Stub(
4459 struct IRpcStubBuffer* This,
4460 struct IRpcChannelBuffer* pRpcChannelBuffer,
4461 PRPC_MESSAGE pRpcMessage,
4462 DWORD* pdwStubPhase);
4463 HRESULT CALLBACK IPersistStorage_Save_Proxy(
4464 IPersistStorage* This,
4467 void __RPC_STUB IPersistStorage_Save_Stub(
4468 struct IRpcStubBuffer* This,
4469 struct IRpcChannelBuffer* pRpcChannelBuffer,
4470 PRPC_MESSAGE pRpcMessage,
4471 DWORD* pdwStubPhase);
4472 HRESULT CALLBACK IPersistStorage_SaveCompleted_Proxy(
4473 IPersistStorage* This,
4475 void __RPC_STUB IPersistStorage_SaveCompleted_Stub(
4476 struct IRpcStubBuffer* This,
4477 struct IRpcChannelBuffer* pRpcChannelBuffer,
4478 PRPC_MESSAGE pRpcMessage,
4479 DWORD* pdwStubPhase);
4480 HRESULT CALLBACK IPersistStorage_HandsOffStorage_Proxy(
4481 IPersistStorage* This);
4482 void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(
4483 struct IRpcStubBuffer* This,
4484 struct IRpcChannelBuffer* pRpcChannelBuffer,
4485 PRPC_MESSAGE pRpcMessage,
4486 DWORD* pdwStubPhase);
4488 #endif /* __IPersistStorage_INTERFACE_DEFINED__ */
4490 #ifndef __IRootStorage_FWD_DEFINED__
4491 #define __IRootStorage_FWD_DEFINED__
4492 typedef struct IRootStorage IRootStorage;
4495 typedef IRootStorage *LPROOTSTORAGE;
4497 /*****************************************************************************
4498 * IRootStorage interface
4500 #ifndef __IRootStorage_INTERFACE_DEFINED__
4501 #define __IRootStorage_INTERFACE_DEFINED__
4503 DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4504 #if defined(__cplusplus) && !defined(CINTERFACE)
4505 struct IRootStorage : public IUnknown
4507 virtual HRESULT STDMETHODCALLTYPE SwitchToFile(
4508 LPOLESTR pszFile) = 0;
4512 typedef struct IRootStorageVtbl IRootStorageVtbl;
4513 struct IRootStorage {
4514 const IRootStorageVtbl* lpVtbl;
4516 struct IRootStorageVtbl {
4517 ICOM_MSVTABLE_COMPAT_FIELDS
4519 /*** IUnknown methods ***/
4520 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4525 ULONG (STDMETHODCALLTYPE *AddRef)(
4526 IRootStorage* This);
4528 ULONG (STDMETHODCALLTYPE *Release)(
4529 IRootStorage* This);
4531 /*** IRootStorage methods ***/
4532 HRESULT (STDMETHODCALLTYPE *SwitchToFile)(
4539 /*** IUnknown methods ***/
4540 #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4541 #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4542 #define IRootStorage_Release(p) (p)->lpVtbl->Release(p)
4543 /*** IRootStorage methods ***/
4544 #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a)
4549 #define IRootStorage_METHODS \
4550 ICOM_MSVTABLE_COMPAT_FIELDS \
4551 /*** IUnknown methods ***/ \
4552 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4553 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4554 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4555 /*** IRootStorage methods ***/ \
4556 STDMETHOD_(HRESULT,SwitchToFile)(THIS_ LPOLESTR pszFile) PURE;
4558 HRESULT CALLBACK IRootStorage_SwitchToFile_Proxy(
4561 void __RPC_STUB IRootStorage_SwitchToFile_Stub(
4562 struct IRpcStubBuffer* This,
4563 struct IRpcChannelBuffer* pRpcChannelBuffer,
4564 PRPC_MESSAGE pRpcMessage,
4565 DWORD* pdwStubPhase);
4567 #endif /* __IRootStorage_INTERFACE_DEFINED__ */
4569 #ifndef __ILockBytes_FWD_DEFINED__
4570 #define __ILockBytes_FWD_DEFINED__
4571 typedef struct ILockBytes ILockBytes;
4574 typedef ILockBytes *LPLOCKBYTES;
4576 /*****************************************************************************
4577 * ILockBytes interface
4579 #ifndef __ILockBytes_INTERFACE_DEFINED__
4580 #define __ILockBytes_INTERFACE_DEFINED__
4582 DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4583 #if defined(__cplusplus) && !defined(CINTERFACE)
4584 struct ILockBytes : public IUnknown
4586 virtual HRESULT STDMETHODCALLTYPE ReadAt(
4587 ULARGE_INTEGER ulOffset,
4590 ULONG* pcbRead) = 0;
4592 virtual HRESULT STDMETHODCALLTYPE WriteAt(
4593 ULARGE_INTEGER ulOffset,
4596 ULONG* pcbWritten) = 0;
4598 virtual HRESULT STDMETHODCALLTYPE Flush(
4601 virtual HRESULT STDMETHODCALLTYPE SetSize(
4602 ULARGE_INTEGER cb) = 0;
4604 virtual HRESULT STDMETHODCALLTYPE LockRegion(
4605 ULARGE_INTEGER libOffset,
4607 DWORD dwLockType) = 0;
4609 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
4610 ULARGE_INTEGER libOffset,
4612 DWORD dwLockType) = 0;
4614 virtual HRESULT STDMETHODCALLTYPE Stat(
4616 DWORD grfStatFlag) = 0;
4620 typedef struct ILockBytesVtbl ILockBytesVtbl;
4622 const ILockBytesVtbl* lpVtbl;
4624 struct ILockBytesVtbl {
4625 ICOM_MSVTABLE_COMPAT_FIELDS
4627 /*** IUnknown methods ***/
4628 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4633 ULONG (STDMETHODCALLTYPE *AddRef)(
4636 ULONG (STDMETHODCALLTYPE *Release)(
4639 /*** ILockBytes methods ***/
4640 HRESULT (STDMETHODCALLTYPE *ReadAt)(
4642 ULARGE_INTEGER ulOffset,
4647 HRESULT (STDMETHODCALLTYPE *WriteAt)(
4649 ULARGE_INTEGER ulOffset,
4654 HRESULT (STDMETHODCALLTYPE *Flush)(
4657 HRESULT (STDMETHODCALLTYPE *SetSize)(
4661 HRESULT (STDMETHODCALLTYPE *LockRegion)(
4663 ULARGE_INTEGER libOffset,
4667 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4669 ULARGE_INTEGER libOffset,
4673 HRESULT (STDMETHODCALLTYPE *Stat)(
4681 /*** IUnknown methods ***/
4682 #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4683 #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
4684 #define ILockBytes_Release(p) (p)->lpVtbl->Release(p)
4685 /*** ILockBytes methods ***/
4686 #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d)
4687 #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d)
4688 #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p)
4689 #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
4690 #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
4691 #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
4692 #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4697 #define ILockBytes_METHODS \
4698 ICOM_MSVTABLE_COMPAT_FIELDS \
4699 /*** IUnknown methods ***/ \
4700 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4701 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4702 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4703 /*** ILockBytes methods ***/ \
4704 STDMETHOD_(HRESULT,ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void* pv, ULONG cb, ULONG* pcbRead) PURE; \
4705 STDMETHOD_(HRESULT,WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4706 STDMETHOD_(HRESULT,Flush)(THIS) PURE; \
4707 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \
4708 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
4709 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
4710 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4712 HRESULT CALLBACK ILockBytes_RemoteReadAt_Proxy(
4714 ULARGE_INTEGER ulOffset,
4718 void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
4719 struct IRpcStubBuffer* This,
4720 struct IRpcChannelBuffer* pRpcChannelBuffer,
4721 PRPC_MESSAGE pRpcMessage,
4722 DWORD* pdwStubPhase);
4723 HRESULT CALLBACK ILockBytes_ReadAt_Proxy(
4725 ULARGE_INTEGER ulOffset,
4729 HRESULT __RPC_STUB ILockBytes_ReadAt_Stub(
4731 ULARGE_INTEGER ulOffset,
4735 HRESULT CALLBACK ILockBytes_RemoteWriteAt_Proxy(
4737 ULARGE_INTEGER ulOffset,
4741 void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
4742 struct IRpcStubBuffer* This,
4743 struct IRpcChannelBuffer* pRpcChannelBuffer,
4744 PRPC_MESSAGE pRpcMessage,
4745 DWORD* pdwStubPhase);
4746 HRESULT CALLBACK ILockBytes_WriteAt_Proxy(
4748 ULARGE_INTEGER ulOffset,
4752 HRESULT __RPC_STUB ILockBytes_WriteAt_Stub(
4754 ULARGE_INTEGER ulOffset,
4758 HRESULT CALLBACK ILockBytes_Flush_Proxy(
4760 void __RPC_STUB ILockBytes_Flush_Stub(
4761 struct IRpcStubBuffer* This,
4762 struct IRpcChannelBuffer* pRpcChannelBuffer,
4763 PRPC_MESSAGE pRpcMessage,
4764 DWORD* pdwStubPhase);
4765 HRESULT CALLBACK ILockBytes_SetSize_Proxy(
4768 void __RPC_STUB ILockBytes_SetSize_Stub(
4769 struct IRpcStubBuffer* This,
4770 struct IRpcChannelBuffer* pRpcChannelBuffer,
4771 PRPC_MESSAGE pRpcMessage,
4772 DWORD* pdwStubPhase);
4773 HRESULT CALLBACK ILockBytes_LockRegion_Proxy(
4775 ULARGE_INTEGER libOffset,
4778 void __RPC_STUB ILockBytes_LockRegion_Stub(
4779 struct IRpcStubBuffer* This,
4780 struct IRpcChannelBuffer* pRpcChannelBuffer,
4781 PRPC_MESSAGE pRpcMessage,
4782 DWORD* pdwStubPhase);
4783 HRESULT CALLBACK ILockBytes_UnlockRegion_Proxy(
4785 ULARGE_INTEGER libOffset,
4788 void __RPC_STUB ILockBytes_UnlockRegion_Stub(
4789 struct IRpcStubBuffer* This,
4790 struct IRpcChannelBuffer* pRpcChannelBuffer,
4791 PRPC_MESSAGE pRpcMessage,
4792 DWORD* pdwStubPhase);
4793 HRESULT CALLBACK ILockBytes_Stat_Proxy(
4797 void __RPC_STUB ILockBytes_Stat_Stub(
4798 struct IRpcStubBuffer* This,
4799 struct IRpcChannelBuffer* pRpcChannelBuffer,
4800 PRPC_MESSAGE pRpcMessage,
4801 DWORD* pdwStubPhase);
4803 #endif /* __ILockBytes_INTERFACE_DEFINED__ */
4805 #ifndef __IFillLockBytes_FWD_DEFINED__
4806 #define __IFillLockBytes_FWD_DEFINED__
4807 typedef struct IFillLockBytes IFillLockBytes;
4810 /*****************************************************************************
4811 * IFillLockBytes interface
4813 #ifndef __IFillLockBytes_INTERFACE_DEFINED__
4814 #define __IFillLockBytes_INTERFACE_DEFINED__
4816 DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
4817 #if defined(__cplusplus) && !defined(CINTERFACE)
4818 struct IFillLockBytes : public IUnknown
4820 virtual HRESULT STDMETHODCALLTYPE FillAppend(
4823 ULONG* pcbWritten) = 0;
4825 virtual HRESULT STDMETHODCALLTYPE FillAt(
4826 ULARGE_INTEGER ulOffset,
4829 ULONG* pcbWritten) = 0;
4831 virtual HRESULT STDMETHODCALLTYPE SetFillSize(
4832 ULARGE_INTEGER ulSize) = 0;
4834 virtual HRESULT STDMETHODCALLTYPE Terminate(
4835 BOOL bCanceled) = 0;
4839 typedef struct IFillLockBytesVtbl IFillLockBytesVtbl;
4840 struct IFillLockBytes {
4841 const IFillLockBytesVtbl* lpVtbl;
4843 struct IFillLockBytesVtbl {
4844 ICOM_MSVTABLE_COMPAT_FIELDS
4846 /*** IUnknown methods ***/
4847 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4848 IFillLockBytes* This,
4852 ULONG (STDMETHODCALLTYPE *AddRef)(
4853 IFillLockBytes* This);
4855 ULONG (STDMETHODCALLTYPE *Release)(
4856 IFillLockBytes* This);
4858 /*** IFillLockBytes methods ***/
4859 HRESULT (STDMETHODCALLTYPE *FillAppend)(
4860 IFillLockBytes* This,
4865 HRESULT (STDMETHODCALLTYPE *FillAt)(
4866 IFillLockBytes* This,
4867 ULARGE_INTEGER ulOffset,
4872 HRESULT (STDMETHODCALLTYPE *SetFillSize)(
4873 IFillLockBytes* This,
4874 ULARGE_INTEGER ulSize);
4876 HRESULT (STDMETHODCALLTYPE *Terminate)(
4877 IFillLockBytes* This,
4883 /*** IUnknown methods ***/
4884 #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4885 #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
4886 #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p)
4887 /*** IFillLockBytes methods ***/
4888 #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c)
4889 #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d)
4890 #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a)
4891 #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
4896 #define IFillLockBytes_METHODS \
4897 ICOM_MSVTABLE_COMPAT_FIELDS \
4898 /*** IUnknown methods ***/ \
4899 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4900 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4901 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4902 /*** IFillLockBytes methods ***/ \
4903 STDMETHOD_(HRESULT,FillAppend)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4904 STDMETHOD_(HRESULT,FillAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4905 STDMETHOD_(HRESULT,SetFillSize)(THIS_ ULARGE_INTEGER ulSize) PURE; \
4906 STDMETHOD_(HRESULT,Terminate)(THIS_ BOOL bCanceled) PURE;
4908 HRESULT CALLBACK IFillLockBytes_RemoteFillAppend_Proxy(
4909 IFillLockBytes* This,
4913 void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
4914 struct IRpcStubBuffer* This,
4915 struct IRpcChannelBuffer* pRpcChannelBuffer,
4916 PRPC_MESSAGE pRpcMessage,
4917 DWORD* pdwStubPhase);
4918 HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy(
4919 IFillLockBytes* This,
4923 HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub(
4924 IFillLockBytes* This,
4928 HRESULT CALLBACK IFillLockBytes_RemoteFillAt_Proxy(
4929 IFillLockBytes* This,
4930 ULARGE_INTEGER ulOffset,
4934 void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
4935 struct IRpcStubBuffer* This,
4936 struct IRpcChannelBuffer* pRpcChannelBuffer,
4937 PRPC_MESSAGE pRpcMessage,
4938 DWORD* pdwStubPhase);
4939 HRESULT CALLBACK IFillLockBytes_FillAt_Proxy(
4940 IFillLockBytes* This,
4941 ULARGE_INTEGER ulOffset,
4945 HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub(
4946 IFillLockBytes* This,
4947 ULARGE_INTEGER ulOffset,
4951 HRESULT CALLBACK IFillLockBytes_SetFillSize_Proxy(
4952 IFillLockBytes* This,
4953 ULARGE_INTEGER ulSize);
4954 void __RPC_STUB IFillLockBytes_SetFillSize_Stub(
4955 struct IRpcStubBuffer* This,
4956 struct IRpcChannelBuffer* pRpcChannelBuffer,
4957 PRPC_MESSAGE pRpcMessage,
4958 DWORD* pdwStubPhase);
4959 HRESULT CALLBACK IFillLockBytes_Terminate_Proxy(
4960 IFillLockBytes* This,
4962 void __RPC_STUB IFillLockBytes_Terminate_Stub(
4963 struct IRpcStubBuffer* This,
4964 struct IRpcChannelBuffer* pRpcChannelBuffer,
4965 PRPC_MESSAGE pRpcMessage,
4966 DWORD* pdwStubPhase);
4968 #endif /* __IFillLockBytes_INTERFACE_DEFINED__ */
4970 #ifndef __IProgressNotify_FWD_DEFINED__
4971 #define __IProgressNotify_FWD_DEFINED__
4972 typedef struct IProgressNotify IProgressNotify;
4975 /*****************************************************************************
4976 * IProgressNotify interface
4978 #ifndef __IProgressNotify_INTERFACE_DEFINED__
4979 #define __IProgressNotify_INTERFACE_DEFINED__
4981 DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
4982 #if defined(__cplusplus) && !defined(CINTERFACE)
4983 struct IProgressNotify : public IUnknown
4985 virtual HRESULT STDMETHODCALLTYPE OnProgress(
4986 DWORD dwProgressCurrent,
4987 DWORD dwProgressMaximum,
4993 typedef struct IProgressNotifyVtbl IProgressNotifyVtbl;
4994 struct IProgressNotify {
4995 const IProgressNotifyVtbl* lpVtbl;
4997 struct IProgressNotifyVtbl {
4998 ICOM_MSVTABLE_COMPAT_FIELDS
5000 /*** IUnknown methods ***/
5001 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5002 IProgressNotify* This,
5006 ULONG (STDMETHODCALLTYPE *AddRef)(
5007 IProgressNotify* This);
5009 ULONG (STDMETHODCALLTYPE *Release)(
5010 IProgressNotify* This);
5012 /*** IProgressNotify methods ***/
5013 HRESULT (STDMETHODCALLTYPE *OnProgress)(
5014 IProgressNotify* This,
5015 DWORD dwProgressCurrent,
5016 DWORD dwProgressMaximum,
5023 /*** IUnknown methods ***/
5024 #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5025 #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
5026 #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p)
5027 /*** IProgressNotify methods ***/
5028 #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
5033 #define IProgressNotify_METHODS \
5034 ICOM_MSVTABLE_COMPAT_FIELDS \
5035 /*** IUnknown methods ***/ \
5036 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5037 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5038 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5039 /*** IProgressNotify methods ***/ \
5040 STDMETHOD_(HRESULT,OnProgress)(THIS_ DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) PURE;
5042 HRESULT CALLBACK IProgressNotify_OnProgress_Proxy(
5043 IProgressNotify* This,
5044 DWORD dwProgressCurrent,
5045 DWORD dwProgressMaximum,
5048 void __RPC_STUB IProgressNotify_OnProgress_Stub(
5049 struct IRpcStubBuffer* This,
5050 struct IRpcChannelBuffer* pRpcChannelBuffer,
5051 PRPC_MESSAGE pRpcMessage,
5052 DWORD* pdwStubPhase);
5054 #endif /* __IProgressNotify_INTERFACE_DEFINED__ */
5056 #ifndef __ILayoutStorage_FWD_DEFINED__
5057 #define __ILayoutStorage_FWD_DEFINED__
5058 typedef struct ILayoutStorage ILayoutStorage;
5061 typedef struct tagStorageLayout {
5063 OLECHAR *pwcsElementName;
5064 LARGE_INTEGER cOffset;
5065 LARGE_INTEGER cBytes;
5068 /*****************************************************************************
5069 * ILayoutStorage interface
5071 #ifndef __ILayoutStorage_INTERFACE_DEFINED__
5072 #define __ILayoutStorage_INTERFACE_DEFINED__
5074 DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5075 #if defined(__cplusplus) && !defined(CINTERFACE)
5076 struct ILayoutStorage : public IUnknown
5078 virtual HRESULT STDMETHODCALLTYPE LayoutScript(
5079 StorageLayout* pStorageLayout,
5081 DWORD glfInterleavedFlag) = 0;
5083 virtual HRESULT STDMETHODCALLTYPE BeginMonitor(
5086 virtual HRESULT STDMETHODCALLTYPE EndMonitor(
5089 virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfile(
5090 OLECHAR* pwcsNewDfName) = 0;
5092 virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfileOnILockBytes(
5093 ILockBytes* pILockBytes) = 0;
5097 typedef struct ILayoutStorageVtbl ILayoutStorageVtbl;
5098 struct ILayoutStorage {
5099 const ILayoutStorageVtbl* lpVtbl;
5101 struct ILayoutStorageVtbl {
5102 ICOM_MSVTABLE_COMPAT_FIELDS
5104 /*** IUnknown methods ***/
5105 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5106 ILayoutStorage* This,
5110 ULONG (STDMETHODCALLTYPE *AddRef)(
5111 ILayoutStorage* This);
5113 ULONG (STDMETHODCALLTYPE *Release)(
5114 ILayoutStorage* This);
5116 /*** ILayoutStorage methods ***/
5117 HRESULT (STDMETHODCALLTYPE *LayoutScript)(
5118 ILayoutStorage* This,
5119 StorageLayout* pStorageLayout,
5121 DWORD glfInterleavedFlag);
5123 HRESULT (STDMETHODCALLTYPE *BeginMonitor)(
5124 ILayoutStorage* This);
5126 HRESULT (STDMETHODCALLTYPE *EndMonitor)(
5127 ILayoutStorage* This);
5129 HRESULT (STDMETHODCALLTYPE *ReLayoutDocfile)(
5130 ILayoutStorage* This,
5131 OLECHAR* pwcsNewDfName);
5133 HRESULT (STDMETHODCALLTYPE *ReLayoutDocfileOnILockBytes)(
5134 ILayoutStorage* This,
5135 ILockBytes* pILockBytes);
5140 /*** IUnknown methods ***/
5141 #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5142 #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5143 #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p)
5144 /*** ILayoutStorage methods ***/
5145 #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c)
5146 #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p)
5147 #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p)
5148 #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a)
5149 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a)
5154 #define ILayoutStorage_METHODS \
5155 ICOM_MSVTABLE_COMPAT_FIELDS \
5156 /*** IUnknown methods ***/ \
5157 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5158 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5159 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5160 /*** ILayoutStorage methods ***/ \
5161 STDMETHOD_(HRESULT,LayoutScript)(THIS_ StorageLayout* pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) PURE; \
5162 STDMETHOD_(HRESULT,BeginMonitor)(THIS) PURE; \
5163 STDMETHOD_(HRESULT,EndMonitor)(THIS) PURE; \
5164 STDMETHOD_(HRESULT,ReLayoutDocfile)(THIS_ OLECHAR* pwcsNewDfName) PURE; \
5165 STDMETHOD_(HRESULT,ReLayoutDocfileOnILockBytes)(THIS_ ILockBytes* pILockBytes) PURE;
5167 HRESULT CALLBACK ILayoutStorage_LayoutScript_Proxy(
5168 ILayoutStorage* This,
5169 StorageLayout* pStorageLayout,
5171 DWORD glfInterleavedFlag);
5172 void __RPC_STUB ILayoutStorage_LayoutScript_Stub(
5173 struct IRpcStubBuffer* This,
5174 struct IRpcChannelBuffer* pRpcChannelBuffer,
5175 PRPC_MESSAGE pRpcMessage,
5176 DWORD* pdwStubPhase);
5177 HRESULT CALLBACK ILayoutStorage_BeginMonitor_Proxy(
5178 ILayoutStorage* This);
5179 void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(
5180 struct IRpcStubBuffer* This,
5181 struct IRpcChannelBuffer* pRpcChannelBuffer,
5182 PRPC_MESSAGE pRpcMessage,
5183 DWORD* pdwStubPhase);
5184 HRESULT CALLBACK ILayoutStorage_EndMonitor_Proxy(
5185 ILayoutStorage* This);
5186 void __RPC_STUB ILayoutStorage_EndMonitor_Stub(
5187 struct IRpcStubBuffer* This,
5188 struct IRpcChannelBuffer* pRpcChannelBuffer,
5189 PRPC_MESSAGE pRpcMessage,
5190 DWORD* pdwStubPhase);
5191 HRESULT CALLBACK ILayoutStorage_ReLayoutDocfile_Proxy(
5192 ILayoutStorage* This,
5193 OLECHAR* pwcsNewDfName);
5194 void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(
5195 struct IRpcStubBuffer* This,
5196 struct IRpcChannelBuffer* pRpcChannelBuffer,
5197 PRPC_MESSAGE pRpcMessage,
5198 DWORD* pdwStubPhase);
5199 HRESULT CALLBACK ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
5200 ILayoutStorage* This,
5201 ILockBytes* pILockBytes);
5202 void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
5203 struct IRpcStubBuffer* This,
5204 struct IRpcChannelBuffer* pRpcChannelBuffer,
5205 PRPC_MESSAGE pRpcMessage,
5206 DWORD* pdwStubPhase);
5208 #endif /* __ILayoutStorage_INTERFACE_DEFINED__ */
5210 #ifndef __IEnumFORMATETC_FWD_DEFINED__
5211 #define __IEnumFORMATETC_FWD_DEFINED__
5212 typedef struct IEnumFORMATETC IEnumFORMATETC;
5215 typedef IEnumFORMATETC *LPENUMFORMATETC;
5217 typedef struct tagDVTARGETDEVICE {
5219 WORD tdDriverNameOffset;
5220 WORD tdDeviceNameOffset;
5221 WORD tdPortNameOffset;
5222 WORD tdExtDevmodeOffset;
5226 typedef CLIPFORMAT *LPCLIPFORMAT;
5228 typedef struct tagFORMATETC {
5229 CLIPFORMAT cfFormat;
5230 DVTARGETDEVICE *ptd;
5234 } FORMATETC, *LPFORMATETC;
5236 /*****************************************************************************
5237 * IEnumFORMATETC interface
5239 #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
5240 #define __IEnumFORMATETC_INTERFACE_DEFINED__
5242 DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5243 #if defined(__cplusplus) && !defined(CINTERFACE)
5244 struct IEnumFORMATETC : public IUnknown
5246 virtual HRESULT STDMETHODCALLTYPE Next(
5249 ULONG* pceltFetched) = 0;
5251 virtual HRESULT STDMETHODCALLTYPE Skip(
5254 virtual HRESULT STDMETHODCALLTYPE Reset(
5257 virtual HRESULT STDMETHODCALLTYPE Clone(
5258 IEnumFORMATETC** ppenum) = 0;
5262 typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl;
5263 struct IEnumFORMATETC {
5264 const IEnumFORMATETCVtbl* lpVtbl;
5266 struct IEnumFORMATETCVtbl {
5267 ICOM_MSVTABLE_COMPAT_FIELDS
5269 /*** IUnknown methods ***/
5270 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5271 IEnumFORMATETC* This,
5275 ULONG (STDMETHODCALLTYPE *AddRef)(
5276 IEnumFORMATETC* This);
5278 ULONG (STDMETHODCALLTYPE *Release)(
5279 IEnumFORMATETC* This);
5281 /*** IEnumFORMATETC methods ***/
5282 HRESULT (STDMETHODCALLTYPE *Next)(
5283 IEnumFORMATETC* This,
5286 ULONG* pceltFetched);
5288 HRESULT (STDMETHODCALLTYPE *Skip)(
5289 IEnumFORMATETC* This,
5292 HRESULT (STDMETHODCALLTYPE *Reset)(
5293 IEnumFORMATETC* This);
5295 HRESULT (STDMETHODCALLTYPE *Clone)(
5296 IEnumFORMATETC* This,
5297 IEnumFORMATETC** ppenum);
5302 /*** IUnknown methods ***/
5303 #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5304 #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p)
5305 #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p)
5306 /*** IEnumFORMATETC methods ***/
5307 #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5308 #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5309 #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p)
5310 #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5315 #define IEnumFORMATETC_METHODS \
5316 ICOM_MSVTABLE_COMPAT_FIELDS \
5317 /*** IUnknown methods ***/ \
5318 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5319 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5320 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5321 /*** IEnumFORMATETC methods ***/ \
5322 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched) PURE; \
5323 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5324 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5325 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFORMATETC** ppenum) PURE;
5327 HRESULT CALLBACK IEnumFORMATETC_RemoteNext_Proxy(
5328 IEnumFORMATETC* This,
5331 ULONG* pceltFetched);
5332 void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
5333 struct IRpcStubBuffer* This,
5334 struct IRpcChannelBuffer* pRpcChannelBuffer,
5335 PRPC_MESSAGE pRpcMessage,
5336 DWORD* pdwStubPhase);
5337 HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
5338 IEnumFORMATETC* This,
5341 ULONG* pceltFetched);
5342 HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
5343 IEnumFORMATETC* This,
5346 ULONG* pceltFetched);
5347 HRESULT CALLBACK IEnumFORMATETC_Skip_Proxy(
5348 IEnumFORMATETC* This,
5350 void __RPC_STUB IEnumFORMATETC_Skip_Stub(
5351 struct IRpcStubBuffer* This,
5352 struct IRpcChannelBuffer* pRpcChannelBuffer,
5353 PRPC_MESSAGE pRpcMessage,
5354 DWORD* pdwStubPhase);
5355 HRESULT CALLBACK IEnumFORMATETC_Reset_Proxy(
5356 IEnumFORMATETC* This);
5357 void __RPC_STUB IEnumFORMATETC_Reset_Stub(
5358 struct IRpcStubBuffer* This,
5359 struct IRpcChannelBuffer* pRpcChannelBuffer,
5360 PRPC_MESSAGE pRpcMessage,
5361 DWORD* pdwStubPhase);
5362 HRESULT CALLBACK IEnumFORMATETC_Clone_Proxy(
5363 IEnumFORMATETC* This,
5364 IEnumFORMATETC** ppenum);
5365 void __RPC_STUB IEnumFORMATETC_Clone_Stub(
5366 struct IRpcStubBuffer* This,
5367 struct IRpcChannelBuffer* pRpcChannelBuffer,
5368 PRPC_MESSAGE pRpcMessage,
5369 DWORD* pdwStubPhase);
5371 #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
5373 #ifndef __IEnumSTATDATA_FWD_DEFINED__
5374 #define __IEnumSTATDATA_FWD_DEFINED__
5375 typedef struct IEnumSTATDATA IEnumSTATDATA;
5378 typedef IEnumSTATDATA *LPENUMSTATDATA;
5380 typedef enum tagADVF {
5382 ADVF_PRIMEFIRST = 2,
5384 ADVF_DATAONSTOP = 64,
5385 ADVFCACHE_NOHANDLER = 8,
5386 ADVFCACHE_FORCEBUILTIN = 16,
5387 ADVFCACHE_ONSAVE = 32
5390 typedef struct tagSTATDATA {
5391 FORMATETC formatetc;
5393 IAdviseSink *pAdvSink;
5395 } STATDATA, *LPSTATDATA;
5397 /*****************************************************************************
5398 * IEnumSTATDATA interface
5400 #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
5401 #define __IEnumSTATDATA_INTERFACE_DEFINED__
5403 DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5404 #if defined(__cplusplus) && !defined(CINTERFACE)
5405 struct IEnumSTATDATA : public IUnknown
5407 virtual HRESULT STDMETHODCALLTYPE Next(
5410 ULONG* pceltFetched) = 0;
5412 virtual HRESULT STDMETHODCALLTYPE Skip(
5415 virtual HRESULT STDMETHODCALLTYPE Reset(
5418 virtual HRESULT STDMETHODCALLTYPE Clone(
5419 IEnumSTATDATA** ppenum) = 0;
5423 typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl;
5424 struct IEnumSTATDATA {
5425 const IEnumSTATDATAVtbl* lpVtbl;
5427 struct IEnumSTATDATAVtbl {
5428 ICOM_MSVTABLE_COMPAT_FIELDS
5430 /*** IUnknown methods ***/
5431 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5432 IEnumSTATDATA* This,
5436 ULONG (STDMETHODCALLTYPE *AddRef)(
5437 IEnumSTATDATA* This);
5439 ULONG (STDMETHODCALLTYPE *Release)(
5440 IEnumSTATDATA* This);
5442 /*** IEnumSTATDATA methods ***/
5443 HRESULT (STDMETHODCALLTYPE *Next)(
5444 IEnumSTATDATA* This,
5447 ULONG* pceltFetched);
5449 HRESULT (STDMETHODCALLTYPE *Skip)(
5450 IEnumSTATDATA* This,
5453 HRESULT (STDMETHODCALLTYPE *Reset)(
5454 IEnumSTATDATA* This);
5456 HRESULT (STDMETHODCALLTYPE *Clone)(
5457 IEnumSTATDATA* This,
5458 IEnumSTATDATA** ppenum);
5463 /*** IUnknown methods ***/
5464 #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5465 #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p)
5466 #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p)
5467 /*** IEnumSTATDATA methods ***/
5468 #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5469 #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5470 #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p)
5471 #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5476 #define IEnumSTATDATA_METHODS \
5477 ICOM_MSVTABLE_COMPAT_FIELDS \
5478 /*** IUnknown methods ***/ \
5479 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5480 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5481 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5482 /*** IEnumSTATDATA methods ***/ \
5483 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATDATA* rgelt, ULONG* pceltFetched) PURE; \
5484 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5485 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5486 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATDATA** ppenum) PURE;
5488 HRESULT CALLBACK IEnumSTATDATA_RemoteNext_Proxy(
5489 IEnumSTATDATA* This,
5492 ULONG* pceltFetched);
5493 void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
5494 struct IRpcStubBuffer* This,
5495 struct IRpcChannelBuffer* pRpcChannelBuffer,
5496 PRPC_MESSAGE pRpcMessage,
5497 DWORD* pdwStubPhase);
5498 HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
5499 IEnumSTATDATA* This,
5502 ULONG* pceltFetched);
5503 HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
5504 IEnumSTATDATA* This,
5507 ULONG* pceltFetched);
5508 HRESULT CALLBACK IEnumSTATDATA_Skip_Proxy(
5509 IEnumSTATDATA* This,
5511 void __RPC_STUB IEnumSTATDATA_Skip_Stub(
5512 struct IRpcStubBuffer* This,
5513 struct IRpcChannelBuffer* pRpcChannelBuffer,
5514 PRPC_MESSAGE pRpcMessage,
5515 DWORD* pdwStubPhase);
5516 HRESULT CALLBACK IEnumSTATDATA_Reset_Proxy(
5517 IEnumSTATDATA* This);
5518 void __RPC_STUB IEnumSTATDATA_Reset_Stub(
5519 struct IRpcStubBuffer* This,
5520 struct IRpcChannelBuffer* pRpcChannelBuffer,
5521 PRPC_MESSAGE pRpcMessage,
5522 DWORD* pdwStubPhase);
5523 HRESULT CALLBACK IEnumSTATDATA_Clone_Proxy(
5524 IEnumSTATDATA* This,
5525 IEnumSTATDATA** ppenum);
5526 void __RPC_STUB IEnumSTATDATA_Clone_Stub(
5527 struct IRpcStubBuffer* This,
5528 struct IRpcChannelBuffer* pRpcChannelBuffer,
5529 PRPC_MESSAGE pRpcMessage,
5530 DWORD* pdwStubPhase);
5532 #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
5534 typedef IAdviseSink *LPADVISESINK;
5536 typedef enum tagTYMED {
5547 typedef struct tagRemSTGMEDIUM {
5550 unsigned long pData;
5551 unsigned long pUnkForRelease;
5552 unsigned long cbData;
5556 typedef struct tagSTGMEDIUM {
5560 HMETAFILEPICT hMetaFilePict;
5561 HENHMETAFILE hEnhMetaFile;
5563 LPOLESTR lpszFileName;
5567 IUnknown *pUnkForRelease;
5570 typedef struct _GDI_OBJECT {
5573 wireHBITMAP hBitmap;
5574 wireHPALETTE hPalette;
5575 wireHGLOBAL hGeneric;
5579 typedef struct _userSTGMEDIUM {
5583 wireHMETAFILEPICT hMetaFilePict;
5584 wireHENHMETAFILE hHEnhMetaFile;
5585 GDI_OBJECT *hGdiHandle;
5586 wireHGLOBAL hGlobal;
5587 LPOLESTR lpszFileName;
5592 IUnknown *pUnkForRelease;
5595 typedef userSTGMEDIUM *wireSTGMEDIUM;
5597 typedef uSTGMEDIUM STGMEDIUM;
5598 unsigned long __RPC_USER STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM *);
5599 unsigned char * __RPC_USER STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM *);
5600 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM *);
5601 void __RPC_USER STGMEDIUM_UserFree (unsigned long *, STGMEDIUM *);
5603 typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
5605 typedef STGMEDIUM ASYNC_STGMEDIUM;
5606 unsigned long __RPC_USER ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM *);
5607 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM *);
5608 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM *);
5609 void __RPC_USER ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM *);
5611 typedef STGMEDIUM *LPSTGMEDIUM;
5613 typedef struct _userFLAG_STGMEDIUM {
5615 long fPassOwnership;
5616 userSTGMEDIUM Stgmed;
5617 } userFLAG_STGMEDIUM;
5619 typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
5621 typedef struct _FLAG_STGMEDIUM {
5623 long fPassOwnership;
5626 unsigned long __RPC_USER FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM *);
5627 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM *);
5628 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM *);
5629 void __RPC_USER FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM *);
5631 /*****************************************************************************
5632 * IAdviseSink interface
5634 #ifndef __IAdviseSink_INTERFACE_DEFINED__
5635 #define __IAdviseSink_INTERFACE_DEFINED__
5637 DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5638 #if defined(__cplusplus) && !defined(CINTERFACE)
5639 struct IAdviseSink : public IUnknown
5641 virtual void STDMETHODCALLTYPE OnDataChange(
5642 FORMATETC* pFormatetc,
5643 STGMEDIUM* pStgmed) = 0;
5645 virtual void STDMETHODCALLTYPE OnViewChange(
5649 virtual void STDMETHODCALLTYPE OnRename(
5652 virtual void STDMETHODCALLTYPE OnSave(
5655 virtual void STDMETHODCALLTYPE OnClose(
5660 typedef struct IAdviseSinkVtbl IAdviseSinkVtbl;
5661 struct IAdviseSink {
5662 const IAdviseSinkVtbl* lpVtbl;
5664 struct IAdviseSinkVtbl {
5665 ICOM_MSVTABLE_COMPAT_FIELDS
5667 /*** IUnknown methods ***/
5668 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5673 ULONG (STDMETHODCALLTYPE *AddRef)(
5676 ULONG (STDMETHODCALLTYPE *Release)(
5679 /*** IAdviseSink methods ***/
5680 void (STDMETHODCALLTYPE *OnDataChange)(
5682 FORMATETC* pFormatetc,
5683 STGMEDIUM* pStgmed);
5685 void (STDMETHODCALLTYPE *OnViewChange)(
5690 void (STDMETHODCALLTYPE *OnRename)(
5694 void (STDMETHODCALLTYPE *OnSave)(
5697 void (STDMETHODCALLTYPE *OnClose)(
5703 /*** IUnknown methods ***/
5704 #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5705 #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
5706 #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p)
5707 /*** IAdviseSink methods ***/
5708 #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
5709 #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
5710 #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
5711 #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p)
5712 #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p)
5717 #define IAdviseSink_METHODS \
5718 ICOM_MSVTABLE_COMPAT_FIELDS \
5719 /*** IUnknown methods ***/ \
5720 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5721 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5722 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5723 /*** IAdviseSink methods ***/ \
5724 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
5725 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
5726 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
5727 STDMETHOD_(void,OnSave)(THIS) PURE; \
5728 STDMETHOD_(void,OnClose)(THIS) PURE;
5730 HRESULT CALLBACK IAdviseSink_RemoteOnDataChange_Proxy(
5732 IAsyncManager** ppIAM,
5733 FORMATETC* pFormatetc,
5734 ASYNC_STGMEDIUM* pStgmed);
5735 void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
5736 struct IRpcStubBuffer* This,
5737 struct IRpcChannelBuffer* pRpcChannelBuffer,
5738 PRPC_MESSAGE pRpcMessage,
5739 DWORD* pdwStubPhase);
5740 void CALLBACK IAdviseSink_OnDataChange_Proxy(
5742 FORMATETC* pFormatetc,
5743 STGMEDIUM* pStgmed);
5744 HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
5746 IAsyncManager** ppIAM,
5747 FORMATETC* pFormatetc,
5748 ASYNC_STGMEDIUM* pStgmed);
5749 HRESULT CALLBACK IAdviseSink_RemoteOnViewChange_Proxy(
5751 IAsyncManager** ppIAM,
5754 void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
5755 struct IRpcStubBuffer* This,
5756 struct IRpcChannelBuffer* pRpcChannelBuffer,
5757 PRPC_MESSAGE pRpcMessage,
5758 DWORD* pdwStubPhase);
5759 void CALLBACK IAdviseSink_OnViewChange_Proxy(
5763 HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
5765 IAsyncManager** ppIAM,
5768 HRESULT CALLBACK IAdviseSink_RemoteOnRename_Proxy(
5770 IAsyncManager** ppIAM,
5772 void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
5773 struct IRpcStubBuffer* This,
5774 struct IRpcChannelBuffer* pRpcChannelBuffer,
5775 PRPC_MESSAGE pRpcMessage,
5776 DWORD* pdwStubPhase);
5777 void CALLBACK IAdviseSink_OnRename_Proxy(
5780 HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
5782 IAsyncManager** ppIAM,
5784 HRESULT CALLBACK IAdviseSink_RemoteOnSave_Proxy(
5786 IAsyncManager** ppIAM);
5787 void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
5788 struct IRpcStubBuffer* This,
5789 struct IRpcChannelBuffer* pRpcChannelBuffer,
5790 PRPC_MESSAGE pRpcMessage,
5791 DWORD* pdwStubPhase);
5792 void CALLBACK IAdviseSink_OnSave_Proxy(
5794 HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
5796 IAsyncManager** ppIAM);
5797 HRESULT CALLBACK IAdviseSink_RemoteOnClose_Proxy(
5799 void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
5800 struct IRpcStubBuffer* This,
5801 struct IRpcChannelBuffer* pRpcChannelBuffer,
5802 PRPC_MESSAGE pRpcMessage,
5803 DWORD* pdwStubPhase);
5804 void CALLBACK IAdviseSink_OnClose_Proxy(
5806 HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
5809 #endif /* __IAdviseSink_INTERFACE_DEFINED__ */
5811 #ifndef __IAdviseSink2_FWD_DEFINED__
5812 #define __IAdviseSink2_FWD_DEFINED__
5813 typedef struct IAdviseSink2 IAdviseSink2;
5816 typedef IAdviseSink2 *LPADVISESINK2;
5818 /*****************************************************************************
5819 * IAdviseSink2 interface
5821 #ifndef __IAdviseSink2_INTERFACE_DEFINED__
5822 #define __IAdviseSink2_INTERFACE_DEFINED__
5824 DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5825 #if defined(__cplusplus) && !defined(CINTERFACE)
5826 struct IAdviseSink2 : public IAdviseSink
5828 virtual void STDMETHODCALLTYPE OnLinkSrcChange(
5833 typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl;
5834 struct IAdviseSink2 {
5835 const IAdviseSink2Vtbl* lpVtbl;
5837 struct IAdviseSink2Vtbl {
5838 ICOM_MSVTABLE_COMPAT_FIELDS
5840 /*** IUnknown methods ***/
5841 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5846 ULONG (STDMETHODCALLTYPE *AddRef)(
5847 IAdviseSink2* This);
5849 ULONG (STDMETHODCALLTYPE *Release)(
5850 IAdviseSink2* This);
5852 /*** IAdviseSink methods ***/
5853 void (STDMETHODCALLTYPE *OnDataChange)(
5855 FORMATETC* pFormatetc,
5856 STGMEDIUM* pStgmed);
5858 void (STDMETHODCALLTYPE *OnViewChange)(
5863 void (STDMETHODCALLTYPE *OnRename)(
5867 void (STDMETHODCALLTYPE *OnSave)(
5868 IAdviseSink2* This);
5870 void (STDMETHODCALLTYPE *OnClose)(
5871 IAdviseSink2* This);
5873 /*** IAdviseSink2 methods ***/
5874 void (STDMETHODCALLTYPE *OnLinkSrcChange)(
5881 /*** IUnknown methods ***/
5882 #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5883 #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p)
5884 #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p)
5885 /*** IAdviseSink methods ***/
5886 #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
5887 #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
5888 #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
5889 #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p)
5890 #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p)
5891 /*** IAdviseSink2 methods ***/
5892 #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a)
5897 #define IAdviseSink2_METHODS \
5898 ICOM_MSVTABLE_COMPAT_FIELDS \
5899 /*** IUnknown methods ***/ \
5900 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5901 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5902 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5903 /*** IAdviseSink methods ***/ \
5904 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
5905 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
5906 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
5907 STDMETHOD_(void,OnSave)(THIS) PURE; \
5908 STDMETHOD_(void,OnClose)(THIS) PURE; \
5909 /*** IAdviseSink2 methods ***/ \
5910 STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker* pmk) PURE;
5912 HRESULT CALLBACK IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
5914 IAsyncManager** ppIAM,
5916 void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
5917 struct IRpcStubBuffer* This,
5918 struct IRpcChannelBuffer* pRpcChannelBuffer,
5919 PRPC_MESSAGE pRpcMessage,
5920 DWORD* pdwStubPhase);
5921 void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy(
5924 HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub(
5926 IAsyncManager** ppIAM,
5929 #endif /* __IAdviseSink2_INTERFACE_DEFINED__ */
5931 #ifndef __IDataObject_FWD_DEFINED__
5932 #define __IDataObject_FWD_DEFINED__
5933 typedef struct IDataObject IDataObject;
5936 typedef IDataObject *LPDATAOBJECT;
5938 typedef enum tagDATADIR {
5943 /*****************************************************************************
5944 * IDataObject interface
5946 #ifndef __IDataObject_INTERFACE_DEFINED__
5947 #define __IDataObject_INTERFACE_DEFINED__
5949 DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5950 #if defined(__cplusplus) && !defined(CINTERFACE)
5951 struct IDataObject : public IUnknown
5953 virtual HRESULT STDMETHODCALLTYPE GetData(
5954 FORMATETC* pformatetcIn,
5955 STGMEDIUM* pmedium) = 0;
5957 virtual HRESULT STDMETHODCALLTYPE GetDataHere(
5958 FORMATETC* pformatetc,
5959 STGMEDIUM* pmedium) = 0;
5961 virtual HRESULT STDMETHODCALLTYPE QueryGetData(
5962 FORMATETC* pformatetc) = 0;
5964 virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
5965 FORMATETC* pformatectIn,
5966 FORMATETC* pformatetcOut) = 0;
5968 virtual HRESULT STDMETHODCALLTYPE SetData(
5969 FORMATETC* pformatetc,
5973 virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
5975 IEnumFORMATETC** ppenumFormatEtc) = 0;
5977 virtual HRESULT STDMETHODCALLTYPE DAdvise(
5978 FORMATETC* pformatetc,
5980 IAdviseSink* pAdvSink,
5981 DWORD* pdwConnection) = 0;
5983 virtual HRESULT STDMETHODCALLTYPE DUnadvise(
5984 DWORD dwConnection) = 0;
5986 virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
5987 IEnumSTATDATA** ppenumAdvise) = 0;
5991 typedef struct IDataObjectVtbl IDataObjectVtbl;
5992 struct IDataObject {
5993 const IDataObjectVtbl* lpVtbl;
5995 struct IDataObjectVtbl {
5996 ICOM_MSVTABLE_COMPAT_FIELDS
5998 /*** IUnknown methods ***/
5999 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6004 ULONG (STDMETHODCALLTYPE *AddRef)(
6007 ULONG (STDMETHODCALLTYPE *Release)(
6010 /*** IDataObject methods ***/
6011 HRESULT (STDMETHODCALLTYPE *GetData)(
6013 FORMATETC* pformatetcIn,
6014 STGMEDIUM* pmedium);
6016 HRESULT (STDMETHODCALLTYPE *GetDataHere)(
6018 FORMATETC* pformatetc,
6019 STGMEDIUM* pmedium);
6021 HRESULT (STDMETHODCALLTYPE *QueryGetData)(
6023 FORMATETC* pformatetc);
6025 HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
6027 FORMATETC* pformatectIn,
6028 FORMATETC* pformatetcOut);
6030 HRESULT (STDMETHODCALLTYPE *SetData)(
6032 FORMATETC* pformatetc,
6036 HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
6039 IEnumFORMATETC** ppenumFormatEtc);
6041 HRESULT (STDMETHODCALLTYPE *DAdvise)(
6043 FORMATETC* pformatetc,
6045 IAdviseSink* pAdvSink,
6046 DWORD* pdwConnection);
6048 HRESULT (STDMETHODCALLTYPE *DUnadvise)(
6050 DWORD dwConnection);
6052 HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
6054 IEnumSTATDATA** ppenumAdvise);
6059 /*** IUnknown methods ***/
6060 #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6061 #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p)
6062 #define IDataObject_Release(p) (p)->lpVtbl->Release(p)
6063 /*** IDataObject methods ***/
6064 #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b)
6065 #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b)
6066 #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a)
6067 #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b)
6068 #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
6069 #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b)
6070 #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d)
6071 #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a)
6072 #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a)
6077 #define IDataObject_METHODS \
6078 ICOM_MSVTABLE_COMPAT_FIELDS \
6079 /*** IUnknown methods ***/ \
6080 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6081 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6082 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6083 /*** IDataObject methods ***/ \
6084 STDMETHOD_(HRESULT,GetData)(THIS_ FORMATETC* pformatetcIn, STGMEDIUM* pmedium) PURE; \
6085 STDMETHOD_(HRESULT,GetDataHere)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium) PURE; \
6086 STDMETHOD_(HRESULT,QueryGetData)(THIS_ FORMATETC* pformatetc) PURE; \
6087 STDMETHOD_(HRESULT,GetCanonicalFormatEtc)(THIS_ FORMATETC* pformatectIn, FORMATETC* pformatetcOut) PURE; \
6088 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
6089 STDMETHOD_(HRESULT,EnumFormatEtc)(THIS_ DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc) PURE; \
6090 STDMETHOD_(HRESULT,DAdvise)(THIS_ FORMATETC* pformatetc, DWORD advf, IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
6091 STDMETHOD_(HRESULT,DUnadvise)(THIS_ DWORD dwConnection) PURE; \
6092 STDMETHOD_(HRESULT,EnumDAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE;
6094 HRESULT CALLBACK IDataObject_RemoteGetData_Proxy(
6096 FORMATETC* pformatetcIn,
6097 STGMEDIUM* pRemoteMedium);
6098 void __RPC_STUB IDataObject_RemoteGetData_Stub(
6099 struct IRpcStubBuffer* This,
6100 struct IRpcChannelBuffer* pRpcChannelBuffer,
6101 PRPC_MESSAGE pRpcMessage,
6102 DWORD* pdwStubPhase);
6103 HRESULT CALLBACK IDataObject_GetData_Proxy(
6105 FORMATETC* pformatetcIn,
6106 STGMEDIUM* pmedium);
6107 HRESULT __RPC_STUB IDataObject_GetData_Stub(
6109 FORMATETC* pformatetcIn,
6110 STGMEDIUM* pRemoteMedium);
6111 HRESULT CALLBACK IDataObject_RemoteGetDataHere_Proxy(
6113 FORMATETC* pformatetc,
6114 STGMEDIUM* pRemoteMedium);
6115 void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
6116 struct IRpcStubBuffer* This,
6117 struct IRpcChannelBuffer* pRpcChannelBuffer,
6118 PRPC_MESSAGE pRpcMessage,
6119 DWORD* pdwStubPhase);
6120 HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
6122 FORMATETC* pformatetc,
6123 STGMEDIUM* pmedium);
6124 HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
6126 FORMATETC* pformatetc,
6127 STGMEDIUM* pRemoteMedium);
6128 HRESULT CALLBACK IDataObject_QueryGetData_Proxy(
6130 FORMATETC* pformatetc);
6131 void __RPC_STUB IDataObject_QueryGetData_Stub(
6132 struct IRpcStubBuffer* This,
6133 struct IRpcChannelBuffer* pRpcChannelBuffer,
6134 PRPC_MESSAGE pRpcMessage,
6135 DWORD* pdwStubPhase);
6136 HRESULT CALLBACK IDataObject_GetCanonicalFormatEtc_Proxy(
6138 FORMATETC* pformatectIn,
6139 FORMATETC* pformatetcOut);
6140 void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
6141 struct IRpcStubBuffer* This,
6142 struct IRpcChannelBuffer* pRpcChannelBuffer,
6143 PRPC_MESSAGE pRpcMessage,
6144 DWORD* pdwStubPhase);
6145 HRESULT CALLBACK IDataObject_RemoteSetData_Proxy(
6147 FORMATETC* pformatetc,
6148 FLAG_STGMEDIUM* pmedium,
6150 void __RPC_STUB IDataObject_RemoteSetData_Stub(
6151 struct IRpcStubBuffer* This,
6152 struct IRpcChannelBuffer* pRpcChannelBuffer,
6153 PRPC_MESSAGE pRpcMessage,
6154 DWORD* pdwStubPhase);
6155 HRESULT CALLBACK IDataObject_SetData_Proxy(
6157 FORMATETC* pformatetc,
6160 HRESULT __RPC_STUB IDataObject_SetData_Stub(
6162 FORMATETC* pformatetc,
6163 FLAG_STGMEDIUM* pmedium,
6165 HRESULT CALLBACK IDataObject_EnumFormatEtc_Proxy(
6168 IEnumFORMATETC** ppenumFormatEtc);
6169 void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
6170 struct IRpcStubBuffer* This,
6171 struct IRpcChannelBuffer* pRpcChannelBuffer,
6172 PRPC_MESSAGE pRpcMessage,
6173 DWORD* pdwStubPhase);
6174 HRESULT CALLBACK IDataObject_DAdvise_Proxy(
6176 FORMATETC* pformatetc,
6178 IAdviseSink* pAdvSink,
6179 DWORD* pdwConnection);
6180 void __RPC_STUB IDataObject_DAdvise_Stub(
6181 struct IRpcStubBuffer* This,
6182 struct IRpcChannelBuffer* pRpcChannelBuffer,
6183 PRPC_MESSAGE pRpcMessage,
6184 DWORD* pdwStubPhase);
6185 HRESULT CALLBACK IDataObject_DUnadvise_Proxy(
6187 DWORD dwConnection);
6188 void __RPC_STUB IDataObject_DUnadvise_Stub(
6189 struct IRpcStubBuffer* This,
6190 struct IRpcChannelBuffer* pRpcChannelBuffer,
6191 PRPC_MESSAGE pRpcMessage,
6192 DWORD* pdwStubPhase);
6193 HRESULT CALLBACK IDataObject_EnumDAdvise_Proxy(
6195 IEnumSTATDATA** ppenumAdvise);
6196 void __RPC_STUB IDataObject_EnumDAdvise_Stub(
6197 struct IRpcStubBuffer* This,
6198 struct IRpcChannelBuffer* pRpcChannelBuffer,
6199 PRPC_MESSAGE pRpcMessage,
6200 DWORD* pdwStubPhase);
6202 #endif /* __IDataObject_INTERFACE_DEFINED__ */
6204 #ifndef __IDataAdviseHolder_FWD_DEFINED__
6205 #define __IDataAdviseHolder_FWD_DEFINED__
6206 typedef struct IDataAdviseHolder IDataAdviseHolder;
6209 typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
6211 /*****************************************************************************
6212 * IDataAdviseHolder interface
6214 #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
6215 #define __IDataAdviseHolder_INTERFACE_DEFINED__
6217 DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6218 #if defined(__cplusplus) && !defined(CINTERFACE)
6219 struct IDataAdviseHolder : public IUnknown
6221 virtual HRESULT STDMETHODCALLTYPE Advise(
6222 IDataObject* pDataObject,
6225 IAdviseSink* pAdvise,
6226 DWORD* pdwConnection) = 0;
6228 virtual HRESULT STDMETHODCALLTYPE Unadvise(
6229 DWORD dwConnection) = 0;
6231 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
6232 IEnumSTATDATA** ppenumAdvise) = 0;
6234 virtual HRESULT STDMETHODCALLTYPE SendOnDataChange(
6235 IDataObject* pDataObject,
6241 typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl;
6242 struct IDataAdviseHolder {
6243 const IDataAdviseHolderVtbl* lpVtbl;
6245 struct IDataAdviseHolderVtbl {
6246 ICOM_MSVTABLE_COMPAT_FIELDS
6248 /*** IUnknown methods ***/
6249 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6250 IDataAdviseHolder* This,
6254 ULONG (STDMETHODCALLTYPE *AddRef)(
6255 IDataAdviseHolder* This);
6257 ULONG (STDMETHODCALLTYPE *Release)(
6258 IDataAdviseHolder* This);
6260 /*** IDataAdviseHolder methods ***/
6261 HRESULT (STDMETHODCALLTYPE *Advise)(
6262 IDataAdviseHolder* This,
6263 IDataObject* pDataObject,
6266 IAdviseSink* pAdvise,
6267 DWORD* pdwConnection);
6269 HRESULT (STDMETHODCALLTYPE *Unadvise)(
6270 IDataAdviseHolder* This,
6271 DWORD dwConnection);
6273 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
6274 IDataAdviseHolder* This,
6275 IEnumSTATDATA** ppenumAdvise);
6277 HRESULT (STDMETHODCALLTYPE *SendOnDataChange)(
6278 IDataAdviseHolder* This,
6279 IDataObject* pDataObject,
6286 /*** IUnknown methods ***/
6287 #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6288 #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
6289 #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
6290 /*** IDataAdviseHolder methods ***/
6291 #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
6292 #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
6293 #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
6294 #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c)
6299 #define IDataAdviseHolder_METHODS \
6300 ICOM_MSVTABLE_COMPAT_FIELDS \
6301 /*** IUnknown methods ***/ \
6302 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6303 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6304 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6305 /*** IDataAdviseHolder methods ***/ \
6306 STDMETHOD_(HRESULT,Advise)(THIS_ IDataObject* pDataObject, FORMATETC* pFetc, DWORD advf, IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
6307 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
6308 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
6309 STDMETHOD_(HRESULT,SendOnDataChange)(THIS_ IDataObject* pDataObject, DWORD dwReserved, DWORD advf) PURE;
6311 HRESULT CALLBACK IDataAdviseHolder_Advise_Proxy(
6312 IDataAdviseHolder* This,
6313 IDataObject* pDataObject,
6316 IAdviseSink* pAdvise,
6317 DWORD* pdwConnection);
6318 void __RPC_STUB IDataAdviseHolder_Advise_Stub(
6319 struct IRpcStubBuffer* This,
6320 struct IRpcChannelBuffer* pRpcChannelBuffer,
6321 PRPC_MESSAGE pRpcMessage,
6322 DWORD* pdwStubPhase);
6323 HRESULT CALLBACK IDataAdviseHolder_Unadvise_Proxy(
6324 IDataAdviseHolder* This,
6325 DWORD dwConnection);
6326 void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
6327 struct IRpcStubBuffer* This,
6328 struct IRpcChannelBuffer* pRpcChannelBuffer,
6329 PRPC_MESSAGE pRpcMessage,
6330 DWORD* pdwStubPhase);
6331 HRESULT CALLBACK IDataAdviseHolder_EnumAdvise_Proxy(
6332 IDataAdviseHolder* This,
6333 IEnumSTATDATA** ppenumAdvise);
6334 void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
6335 struct IRpcStubBuffer* This,
6336 struct IRpcChannelBuffer* pRpcChannelBuffer,
6337 PRPC_MESSAGE pRpcMessage,
6338 DWORD* pdwStubPhase);
6339 HRESULT CALLBACK IDataAdviseHolder_SendOnDataChange_Proxy(
6340 IDataAdviseHolder* This,
6341 IDataObject* pDataObject,
6344 void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
6345 struct IRpcStubBuffer* This,
6346 struct IRpcChannelBuffer* pRpcChannelBuffer,
6347 PRPC_MESSAGE pRpcMessage,
6348 DWORD* pdwStubPhase);
6350 #endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
6352 #ifndef __IMessageFilter_FWD_DEFINED__
6353 #define __IMessageFilter_FWD_DEFINED__
6354 typedef struct IMessageFilter IMessageFilter;
6357 typedef IMessageFilter *LPMESSAGEFILTER;
6359 typedef enum tagCALLTYPE {
6360 CALLTYPE_TOPLEVEL = 1,
6361 CALLTYPE_NESTED = 2,
6363 CALLTYPE_TOPLEVEL_CALLPENDING = 4,
6364 CALLTYPE_ASYNC_CALLPENDING = 5
6367 typedef enum tagSERVERCALL {
6368 SERVERCALL_ISHANDLED = 0,
6369 SERVERCALL_REJECTED = 1,
6370 SERVERCALL_RETRYLATER = 2
6373 typedef enum tagPENDINGTYPE {
6374 PENDINGTYPE_TOPLEVEL = 1,
6375 PENDINGTYPE_NESTED = 2
6378 typedef enum tagPENDINGMSG {
6379 PENDINGMSG_CANCELCALL = 0,
6380 PENDINGMSG_WAITNOPROCESS = 1,
6381 PENDINGMSG_WAITDEFPROCESS = 2
6384 typedef struct tagINTERFACEINFO {
6388 } INTERFACEINFO, *LPINTERFACEINFO;
6390 /*****************************************************************************
6391 * IMessageFilter interface
6393 #ifndef __IMessageFilter_INTERFACE_DEFINED__
6394 #define __IMessageFilter_INTERFACE_DEFINED__
6396 DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6397 #if defined(__cplusplus) && !defined(CINTERFACE)
6398 struct IMessageFilter : public IUnknown
6400 virtual DWORD STDMETHODCALLTYPE HandleIncomingCall(
6404 LPINTERFACEINFO lpInterfaceInfo) = 0;
6406 virtual DWORD STDMETHODCALLTYPE RetryRejectedCall(
6409 DWORD dwRejectType) = 0;
6411 virtual DWORD STDMETHODCALLTYPE MessagePending(
6414 DWORD dwPendingType) = 0;
6418 typedef struct IMessageFilterVtbl IMessageFilterVtbl;
6419 struct IMessageFilter {
6420 const IMessageFilterVtbl* lpVtbl;
6422 struct IMessageFilterVtbl {
6423 ICOM_MSVTABLE_COMPAT_FIELDS
6425 /*** IUnknown methods ***/
6426 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6427 IMessageFilter* This,
6431 ULONG (STDMETHODCALLTYPE *AddRef)(
6432 IMessageFilter* This);
6434 ULONG (STDMETHODCALLTYPE *Release)(
6435 IMessageFilter* This);
6437 /*** IMessageFilter methods ***/
6438 DWORD (STDMETHODCALLTYPE *HandleIncomingCall)(
6439 IMessageFilter* This,
6443 LPINTERFACEINFO lpInterfaceInfo);
6445 DWORD (STDMETHODCALLTYPE *RetryRejectedCall)(
6446 IMessageFilter* This,
6449 DWORD dwRejectType);
6451 DWORD (STDMETHODCALLTYPE *MessagePending)(
6452 IMessageFilter* This,
6455 DWORD dwPendingType);
6460 /*** IUnknown methods ***/
6461 #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6462 #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
6463 #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p)
6464 /*** IMessageFilter methods ***/
6465 #define IMessageFilter_HandleIncomingCall(p,a,b,c,d) (p)->lpVtbl->HandleIncomingCall(p,a,b,c,d)
6466 #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c)
6467 #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c)
6472 #define IMessageFilter_METHODS \
6473 ICOM_MSVTABLE_COMPAT_FIELDS \
6474 /*** IUnknown methods ***/ \
6475 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6476 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6477 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6478 /*** IMessageFilter methods ***/ \
6479 STDMETHOD_(DWORD,HandleIncomingCall)(THIS_ DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) PURE; \
6480 STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) PURE; \
6481 STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) PURE;
6483 DWORD CALLBACK IMessageFilter_HandleIncomingCall_Proxy(
6484 IMessageFilter* This,
6488 LPINTERFACEINFO lpInterfaceInfo);
6489 void __RPC_STUB IMessageFilter_HandleIncomingCall_Stub(
6490 struct IRpcStubBuffer* This,
6491 struct IRpcChannelBuffer* pRpcChannelBuffer,
6492 PRPC_MESSAGE pRpcMessage,
6493 DWORD* pdwStubPhase);
6494 DWORD CALLBACK IMessageFilter_RetryRejectedCall_Proxy(
6495 IMessageFilter* This,
6498 DWORD dwRejectType);
6499 void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
6500 struct IRpcStubBuffer* This,
6501 struct IRpcChannelBuffer* pRpcChannelBuffer,
6502 PRPC_MESSAGE pRpcMessage,
6503 DWORD* pdwStubPhase);
6504 DWORD CALLBACK IMessageFilter_MessagePending_Proxy(
6505 IMessageFilter* This,
6508 DWORD dwPendingType);
6509 void __RPC_STUB IMessageFilter_MessagePending_Stub(
6510 struct IRpcStubBuffer* This,
6511 struct IRpcChannelBuffer* pRpcChannelBuffer,
6512 PRPC_MESSAGE pRpcMessage,
6513 DWORD* pdwStubPhase);
6515 #endif /* __IMessageFilter_INTERFACE_DEFINED__ */
6517 #ifndef __IRpcChannelBuffer_FWD_DEFINED__
6518 #define __IRpcChannelBuffer_FWD_DEFINED__
6519 typedef struct IRpcChannelBuffer IRpcChannelBuffer;
6522 typedef IRpcChannelBuffer *LPRPCCHANNELBUFFER;
6524 typedef unsigned long RPCOLEDATAREP;
6526 typedef struct tagRPCOLEMESSAGE {
6528 RPCOLEDATAREP dataRepresentation;
6536 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
6538 /*****************************************************************************
6539 * IRpcChannelBuffer interface
6541 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
6542 #define __IRpcChannelBuffer_INTERFACE_DEFINED__
6544 DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
6545 #if defined(__cplusplus) && !defined(CINTERFACE)
6546 struct IRpcChannelBuffer : public IUnknown
6548 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
6549 RPCOLEMESSAGE* pMessage,
6552 virtual HRESULT STDMETHODCALLTYPE SendReceive(
6553 RPCOLEMESSAGE* pMessage,
6554 ULONG* pStatus) = 0;
6556 virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
6557 RPCOLEMESSAGE* pMessage) = 0;
6559 virtual HRESULT STDMETHODCALLTYPE GetDestCtx(
6560 DWORD* pdwDestContext,
6561 void** ppvDestContext) = 0;
6563 virtual HRESULT STDMETHODCALLTYPE IsConnected(
6568 typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl;
6569 struct IRpcChannelBuffer {
6570 const IRpcChannelBufferVtbl* lpVtbl;
6572 struct IRpcChannelBufferVtbl {
6573 ICOM_MSVTABLE_COMPAT_FIELDS
6575 /*** IUnknown methods ***/
6576 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6577 IRpcChannelBuffer* This,
6581 ULONG (STDMETHODCALLTYPE *AddRef)(
6582 IRpcChannelBuffer* This);
6584 ULONG (STDMETHODCALLTYPE *Release)(
6585 IRpcChannelBuffer* This);
6587 /*** IRpcChannelBuffer methods ***/
6588 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6589 IRpcChannelBuffer* This,
6590 RPCOLEMESSAGE* pMessage,
6593 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6594 IRpcChannelBuffer* This,
6595 RPCOLEMESSAGE* pMessage,
6598 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6599 IRpcChannelBuffer* This,
6600 RPCOLEMESSAGE* pMessage);
6602 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6603 IRpcChannelBuffer* This,
6604 DWORD* pdwDestContext,
6605 void** ppvDestContext);
6607 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6608 IRpcChannelBuffer* This);
6613 /*** IUnknown methods ***/
6614 #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6615 #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
6616 #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p)
6617 /*** IRpcChannelBuffer methods ***/
6618 #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6619 #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6620 #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6621 #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6622 #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6627 #define IRpcChannelBuffer_METHODS \
6628 ICOM_MSVTABLE_COMPAT_FIELDS \
6629 /*** IUnknown methods ***/ \
6630 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6631 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6632 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6633 /*** IRpcChannelBuffer methods ***/ \
6634 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6635 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6636 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6637 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6638 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE;
6640 HRESULT CALLBACK IRpcChannelBuffer_GetBuffer_Proxy(
6641 IRpcChannelBuffer* This,
6642 RPCOLEMESSAGE* pMessage,
6644 void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
6645 struct IRpcStubBuffer* This,
6646 struct IRpcChannelBuffer* pRpcChannelBuffer,
6647 PRPC_MESSAGE pRpcMessage,
6648 DWORD* pdwStubPhase);
6649 HRESULT CALLBACK IRpcChannelBuffer_SendReceive_Proxy(
6650 IRpcChannelBuffer* This,
6651 RPCOLEMESSAGE* pMessage,
6653 void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
6654 struct IRpcStubBuffer* This,
6655 struct IRpcChannelBuffer* pRpcChannelBuffer,
6656 PRPC_MESSAGE pRpcMessage,
6657 DWORD* pdwStubPhase);
6658 HRESULT CALLBACK IRpcChannelBuffer_FreeBuffer_Proxy(
6659 IRpcChannelBuffer* This,
6660 RPCOLEMESSAGE* pMessage);
6661 void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
6662 struct IRpcStubBuffer* This,
6663 struct IRpcChannelBuffer* pRpcChannelBuffer,
6664 PRPC_MESSAGE pRpcMessage,
6665 DWORD* pdwStubPhase);
6666 HRESULT CALLBACK IRpcChannelBuffer_GetDestCtx_Proxy(
6667 IRpcChannelBuffer* This,
6668 DWORD* pdwDestContext,
6669 void** ppvDestContext);
6670 void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
6671 struct IRpcStubBuffer* This,
6672 struct IRpcChannelBuffer* pRpcChannelBuffer,
6673 PRPC_MESSAGE pRpcMessage,
6674 DWORD* pdwStubPhase);
6675 HRESULT CALLBACK IRpcChannelBuffer_IsConnected_Proxy(
6676 IRpcChannelBuffer* This);
6677 void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
6678 struct IRpcStubBuffer* This,
6679 struct IRpcChannelBuffer* pRpcChannelBuffer,
6680 PRPC_MESSAGE pRpcMessage,
6681 DWORD* pdwStubPhase);
6683 #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
6685 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
6686 #define __IRpcChannelBuffer2_FWD_DEFINED__
6687 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
6690 typedef IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2;
6692 /*****************************************************************************
6693 * IRpcChannelBuffer2 interface
6695 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
6696 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
6698 DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
6699 #if defined(__cplusplus) && !defined(CINTERFACE)
6700 struct IRpcChannelBuffer2 : public IRpcChannelBuffer
6702 virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion(
6703 DWORD* pdwVersion) = 0;
6707 typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl;
6708 struct IRpcChannelBuffer2 {
6709 const IRpcChannelBuffer2Vtbl* lpVtbl;
6711 struct IRpcChannelBuffer2Vtbl {
6712 ICOM_MSVTABLE_COMPAT_FIELDS
6714 /*** IUnknown methods ***/
6715 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6716 IRpcChannelBuffer2* This,
6720 ULONG (STDMETHODCALLTYPE *AddRef)(
6721 IRpcChannelBuffer2* This);
6723 ULONG (STDMETHODCALLTYPE *Release)(
6724 IRpcChannelBuffer2* This);
6726 /*** IRpcChannelBuffer methods ***/
6727 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6728 IRpcChannelBuffer2* This,
6729 RPCOLEMESSAGE* pMessage,
6732 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6733 IRpcChannelBuffer2* This,
6734 RPCOLEMESSAGE* pMessage,
6737 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6738 IRpcChannelBuffer2* This,
6739 RPCOLEMESSAGE* pMessage);
6741 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6742 IRpcChannelBuffer2* This,
6743 DWORD* pdwDestContext,
6744 void** ppvDestContext);
6746 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6747 IRpcChannelBuffer2* This);
6749 /*** IRpcChannelBuffer2 methods ***/
6750 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
6751 IRpcChannelBuffer2* This,
6757 /*** IUnknown methods ***/
6758 #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6759 #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p)
6760 #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p)
6761 /*** IRpcChannelBuffer methods ***/
6762 #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6763 #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6764 #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6765 #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6766 #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6767 /*** IRpcChannelBuffer2 methods ***/
6768 #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
6773 #define IRpcChannelBuffer2_METHODS \
6774 ICOM_MSVTABLE_COMPAT_FIELDS \
6775 /*** IUnknown methods ***/ \
6776 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6777 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6778 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6779 /*** IRpcChannelBuffer methods ***/ \
6780 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6781 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6782 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6783 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6784 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
6785 /*** IRpcChannelBuffer2 methods ***/ \
6786 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE;
6788 HRESULT CALLBACK IRpcChannelBuffer2_GetProtocolVersion_Proxy(
6789 IRpcChannelBuffer2* This,
6791 void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(
6792 struct IRpcStubBuffer* This,
6793 struct IRpcChannelBuffer* pRpcChannelBuffer,
6794 PRPC_MESSAGE pRpcMessage,
6795 DWORD* pdwStubPhase);
6797 #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
6799 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
6800 #define __IRpcChannelBuffer3_FWD_DEFINED__
6801 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
6804 typedef IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3;
6806 /*****************************************************************************
6807 * IRpcChannelBuffer3 interface
6809 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
6810 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
6812 DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
6813 #if defined(__cplusplus) && !defined(CINTERFACE)
6814 struct IRpcChannelBuffer3 : public IRpcChannelBuffer2
6816 virtual HRESULT STDMETHODCALLTYPE Send(
6817 RPCOLEMESSAGE* pMsg,
6818 ULONG* pulStatus) = 0;
6820 virtual HRESULT STDMETHODCALLTYPE Receive(
6821 RPCOLEMESSAGE* pMsg,
6823 ULONG* pulStatus) = 0;
6825 virtual HRESULT STDMETHODCALLTYPE Cancel(
6826 RPCOLEMESSAGE* pMsg) = 0;
6828 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
6829 RPCOLEMESSAGE* pMsg,
6831 void** pInterface) = 0;
6833 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
6834 RPCOLEMESSAGE* pMsg,
6835 DWORD* pdwDestContext,
6836 void** ppvDestContext) = 0;
6838 virtual HRESULT STDMETHODCALLTYPE GetState(
6839 RPCOLEMESSAGE* pMsg,
6842 virtual HRESULT STDMETHODCALLTYPE RegisterAsync(
6843 RPCOLEMESSAGE* pMsg,
6844 IAsyncManager* pAsyncMgr) = 0;
6848 typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl;
6849 struct IRpcChannelBuffer3 {
6850 const IRpcChannelBuffer3Vtbl* lpVtbl;
6852 struct IRpcChannelBuffer3Vtbl {
6853 ICOM_MSVTABLE_COMPAT_FIELDS
6855 /*** IUnknown methods ***/
6856 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6857 IRpcChannelBuffer3* This,
6861 ULONG (STDMETHODCALLTYPE *AddRef)(
6862 IRpcChannelBuffer3* This);
6864 ULONG (STDMETHODCALLTYPE *Release)(
6865 IRpcChannelBuffer3* This);
6867 /*** IRpcChannelBuffer methods ***/
6868 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6869 IRpcChannelBuffer3* This,
6870 RPCOLEMESSAGE* pMessage,
6873 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6874 IRpcChannelBuffer3* This,
6875 RPCOLEMESSAGE* pMessage,
6878 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6879 IRpcChannelBuffer3* This,
6880 RPCOLEMESSAGE* pMessage);
6882 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6883 IRpcChannelBuffer3* This,
6884 DWORD* pdwDestContext,
6885 void** ppvDestContext);
6887 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6888 IRpcChannelBuffer3* This);
6890 /*** IRpcChannelBuffer2 methods ***/
6891 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
6892 IRpcChannelBuffer3* This,
6895 /*** IRpcChannelBuffer3 methods ***/
6896 HRESULT (STDMETHODCALLTYPE *Send)(
6897 IRpcChannelBuffer3* This,
6898 RPCOLEMESSAGE* pMsg,
6901 HRESULT (STDMETHODCALLTYPE *Receive)(
6902 IRpcChannelBuffer3* This,
6903 RPCOLEMESSAGE* pMsg,
6907 HRESULT (STDMETHODCALLTYPE *Cancel)(
6908 IRpcChannelBuffer3* This,
6909 RPCOLEMESSAGE* pMsg);
6911 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
6912 IRpcChannelBuffer3* This,
6913 RPCOLEMESSAGE* pMsg,
6917 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
6918 IRpcChannelBuffer3* This,
6919 RPCOLEMESSAGE* pMsg,
6920 DWORD* pdwDestContext,
6921 void** ppvDestContext);
6923 HRESULT (STDMETHODCALLTYPE *GetState)(
6924 IRpcChannelBuffer3* This,
6925 RPCOLEMESSAGE* pMsg,
6928 HRESULT (STDMETHODCALLTYPE *RegisterAsync)(
6929 IRpcChannelBuffer3* This,
6930 RPCOLEMESSAGE* pMsg,
6931 IAsyncManager* pAsyncMgr);
6936 /*** IUnknown methods ***/
6937 #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6938 #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p)
6939 #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p)
6940 /*** IRpcChannelBuffer methods ***/
6941 #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6942 #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6943 #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6944 #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6945 #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6946 /*** IRpcChannelBuffer2 methods ***/
6947 #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
6948 /*** IRpcChannelBuffer3 methods ***/
6949 #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b)
6950 #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c)
6951 #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a)
6952 #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c)
6953 #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c)
6954 #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
6955 #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b)
6960 #define IRpcChannelBuffer3_METHODS \
6961 ICOM_MSVTABLE_COMPAT_FIELDS \
6962 /*** IUnknown methods ***/ \
6963 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6964 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6965 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6966 /*** IRpcChannelBuffer methods ***/ \
6967 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6968 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6969 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6970 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6971 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
6972 /*** IRpcChannelBuffer2 methods ***/ \
6973 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; \
6974 /*** IRpcChannelBuffer3 methods ***/ \
6975 STDMETHOD_(HRESULT,Send)(THIS_ RPCOLEMESSAGE* pMsg, ULONG* pulStatus) PURE; \
6976 STDMETHOD_(HRESULT,Receive)(THIS_ RPCOLEMESSAGE* pMsg, ULONG ulSize, ULONG* pulStatus) PURE; \
6977 STDMETHOD_(HRESULT,Cancel)(THIS_ RPCOLEMESSAGE* pMsg) PURE; \
6978 STDMETHOD_(HRESULT,GetCallContext)(THIS_ RPCOLEMESSAGE* pMsg, REFIID riid, void** pInterface) PURE; \
6979 STDMETHOD_(HRESULT,GetDestCtxEx)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6980 STDMETHOD_(HRESULT,GetState)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pState) PURE; \
6981 STDMETHOD_(HRESULT,RegisterAsync)(THIS_ RPCOLEMESSAGE* pMsg, IAsyncManager* pAsyncMgr) PURE;
6983 HRESULT CALLBACK IRpcChannelBuffer3_Send_Proxy(
6984 IRpcChannelBuffer3* This,
6985 RPCOLEMESSAGE* pMsg,
6987 void __RPC_STUB IRpcChannelBuffer3_Send_Stub(
6988 struct IRpcStubBuffer* This,
6989 struct IRpcChannelBuffer* pRpcChannelBuffer,
6990 PRPC_MESSAGE pRpcMessage,
6991 DWORD* pdwStubPhase);
6992 HRESULT CALLBACK IRpcChannelBuffer3_Receive_Proxy(
6993 IRpcChannelBuffer3* This,
6994 RPCOLEMESSAGE* pMsg,
6997 void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(
6998 struct IRpcStubBuffer* This,
6999 struct IRpcChannelBuffer* pRpcChannelBuffer,
7000 PRPC_MESSAGE pRpcMessage,
7001 DWORD* pdwStubPhase);
7002 HRESULT CALLBACK IRpcChannelBuffer3_Cancel_Proxy(
7003 IRpcChannelBuffer3* This,
7004 RPCOLEMESSAGE* pMsg);
7005 void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(
7006 struct IRpcStubBuffer* This,
7007 struct IRpcChannelBuffer* pRpcChannelBuffer,
7008 PRPC_MESSAGE pRpcMessage,
7009 DWORD* pdwStubPhase);
7010 HRESULT CALLBACK IRpcChannelBuffer3_GetCallContext_Proxy(
7011 IRpcChannelBuffer3* This,
7012 RPCOLEMESSAGE* pMsg,
7015 void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(
7016 struct IRpcStubBuffer* This,
7017 struct IRpcChannelBuffer* pRpcChannelBuffer,
7018 PRPC_MESSAGE pRpcMessage,
7019 DWORD* pdwStubPhase);
7020 HRESULT CALLBACK IRpcChannelBuffer3_GetDestCtxEx_Proxy(
7021 IRpcChannelBuffer3* This,
7022 RPCOLEMESSAGE* pMsg,
7023 DWORD* pdwDestContext,
7024 void** ppvDestContext);
7025 void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(
7026 struct IRpcStubBuffer* This,
7027 struct IRpcChannelBuffer* pRpcChannelBuffer,
7028 PRPC_MESSAGE pRpcMessage,
7029 DWORD* pdwStubPhase);
7030 HRESULT CALLBACK IRpcChannelBuffer3_GetState_Proxy(
7031 IRpcChannelBuffer3* This,
7032 RPCOLEMESSAGE* pMsg,
7034 void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(
7035 struct IRpcStubBuffer* This,
7036 struct IRpcChannelBuffer* pRpcChannelBuffer,
7037 PRPC_MESSAGE pRpcMessage,
7038 DWORD* pdwStubPhase);
7039 HRESULT CALLBACK IRpcChannelBuffer3_RegisterAsync_Proxy(
7040 IRpcChannelBuffer3* This,
7041 RPCOLEMESSAGE* pMsg,
7042 IAsyncManager* pAsyncMgr);
7043 void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(
7044 struct IRpcStubBuffer* This,
7045 struct IRpcChannelBuffer* pRpcChannelBuffer,
7046 PRPC_MESSAGE pRpcMessage,
7047 DWORD* pdwStubPhase);
7049 #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
7051 #ifndef __IRpcProxyBuffer_FWD_DEFINED__
7052 #define __IRpcProxyBuffer_FWD_DEFINED__
7053 typedef struct IRpcProxyBuffer IRpcProxyBuffer;
7056 typedef IRpcProxyBuffer *LPRPCPROXYBUFFER;
7058 /*****************************************************************************
7059 * IRpcProxyBuffer interface
7061 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
7062 #define __IRpcProxyBuffer_INTERFACE_DEFINED__
7064 DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7065 #if defined(__cplusplus) && !defined(CINTERFACE)
7066 struct IRpcProxyBuffer : public IUnknown
7068 virtual HRESULT STDMETHODCALLTYPE Connect(
7069 IRpcChannelBuffer* pRpcChannelBuffer) = 0;
7071 virtual void STDMETHODCALLTYPE Disconnect(
7076 typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl;
7077 struct IRpcProxyBuffer {
7078 const IRpcProxyBufferVtbl* lpVtbl;
7080 struct IRpcProxyBufferVtbl {
7081 ICOM_MSVTABLE_COMPAT_FIELDS
7083 /*** IUnknown methods ***/
7084 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7085 IRpcProxyBuffer* This,
7089 ULONG (STDMETHODCALLTYPE *AddRef)(
7090 IRpcProxyBuffer* This);
7092 ULONG (STDMETHODCALLTYPE *Release)(
7093 IRpcProxyBuffer* This);
7095 /*** IRpcProxyBuffer methods ***/
7096 HRESULT (STDMETHODCALLTYPE *Connect)(
7097 IRpcProxyBuffer* This,
7098 IRpcChannelBuffer* pRpcChannelBuffer);
7100 void (STDMETHODCALLTYPE *Disconnect)(
7101 IRpcProxyBuffer* This);
7106 /*** IUnknown methods ***/
7107 #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7108 #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7109 #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p)
7110 /*** IRpcProxyBuffer methods ***/
7111 #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7112 #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7117 #define IRpcProxyBuffer_METHODS \
7118 ICOM_MSVTABLE_COMPAT_FIELDS \
7119 /*** IUnknown methods ***/ \
7120 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7121 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7122 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7123 /*** IRpcProxyBuffer methods ***/ \
7124 STDMETHOD_(HRESULT,Connect)(THIS_ IRpcChannelBuffer* pRpcChannelBuffer) PURE; \
7125 STDMETHOD_(void,Disconnect)(THIS) PURE;
7127 HRESULT CALLBACK IRpcProxyBuffer_Connect_Proxy(
7128 IRpcProxyBuffer* This,
7129 IRpcChannelBuffer* pRpcChannelBuffer);
7130 void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
7131 struct IRpcStubBuffer* This,
7132 struct IRpcChannelBuffer* pRpcChannelBuffer,
7133 PRPC_MESSAGE pRpcMessage,
7134 DWORD* pdwStubPhase);
7135 void CALLBACK IRpcProxyBuffer_Disconnect_Proxy(
7136 IRpcProxyBuffer* This);
7137 void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
7138 struct IRpcStubBuffer* This,
7139 struct IRpcChannelBuffer* pRpcChannelBuffer,
7140 PRPC_MESSAGE pRpcMessage,
7141 DWORD* pdwStubPhase);
7143 #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
7145 #ifndef __IRpcStubBuffer_FWD_DEFINED__
7146 #define __IRpcStubBuffer_FWD_DEFINED__
7147 typedef struct IRpcStubBuffer IRpcStubBuffer;
7150 typedef IRpcStubBuffer *LPRPCSTUBBUFFER;
7152 /*****************************************************************************
7153 * IRpcStubBuffer interface
7155 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
7156 #define __IRpcStubBuffer_INTERFACE_DEFINED__
7158 DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7159 #if defined(__cplusplus) && !defined(CINTERFACE)
7160 struct IRpcStubBuffer : public IUnknown
7162 virtual HRESULT STDMETHODCALLTYPE Connect(
7163 IUnknown* pUnkServer) = 0;
7165 virtual void STDMETHODCALLTYPE Disconnect(
7168 virtual HRESULT STDMETHODCALLTYPE Invoke(
7169 RPCOLEMESSAGE* _prpcmsg,
7170 IRpcChannelBuffer* _pRpcChannelBuffer) = 0;
7172 virtual IRpcStubBuffer* STDMETHODCALLTYPE IsIIDSupported(
7175 virtual ULONG STDMETHODCALLTYPE CountRefs(
7178 virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface(
7181 virtual void STDMETHODCALLTYPE DebugServerRelease(
7186 typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl;
7187 struct IRpcStubBuffer {
7188 const IRpcStubBufferVtbl* lpVtbl;
7190 struct IRpcStubBufferVtbl {
7191 ICOM_MSVTABLE_COMPAT_FIELDS
7193 /*** IUnknown methods ***/
7194 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7195 IRpcStubBuffer* This,
7199 ULONG (STDMETHODCALLTYPE *AddRef)(
7200 IRpcStubBuffer* This);
7202 ULONG (STDMETHODCALLTYPE *Release)(
7203 IRpcStubBuffer* This);
7205 /*** IRpcStubBuffer methods ***/
7206 HRESULT (STDMETHODCALLTYPE *Connect)(
7207 IRpcStubBuffer* This,
7208 IUnknown* pUnkServer);
7210 void (STDMETHODCALLTYPE *Disconnect)(
7211 IRpcStubBuffer* This);
7213 HRESULT (STDMETHODCALLTYPE *Invoke)(
7214 IRpcStubBuffer* This,
7215 RPCOLEMESSAGE* _prpcmsg,
7216 IRpcChannelBuffer* _pRpcChannelBuffer);
7218 IRpcStubBuffer* (STDMETHODCALLTYPE *IsIIDSupported)(
7219 IRpcStubBuffer* This,
7222 ULONG (STDMETHODCALLTYPE *CountRefs)(
7223 IRpcStubBuffer* This);
7225 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)(
7226 IRpcStubBuffer* This,
7229 void (STDMETHODCALLTYPE *DebugServerRelease)(
7230 IRpcStubBuffer* This,
7236 /*** IUnknown methods ***/
7237 #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7238 #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7239 #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p)
7240 /*** IRpcStubBuffer methods ***/
7241 #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7242 #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7243 #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b)
7244 #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a)
7245 #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p)
7246 #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a)
7247 #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a)
7252 #define IRpcStubBuffer_METHODS \
7253 ICOM_MSVTABLE_COMPAT_FIELDS \
7254 /*** IUnknown methods ***/ \
7255 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7256 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7257 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7258 /*** IRpcStubBuffer methods ***/ \
7259 STDMETHOD_(HRESULT,Connect)(THIS_ IUnknown* pUnkServer) PURE; \
7260 STDMETHOD_(void,Disconnect)(THIS) PURE; \
7261 STDMETHOD_(HRESULT,Invoke)(THIS_ RPCOLEMESSAGE* _prpcmsg, IRpcChannelBuffer* _pRpcChannelBuffer) PURE; \
7262 STDMETHOD_(IRpcStubBuffer*,IsIIDSupported)(THIS_ REFIID riid) PURE; \
7263 STDMETHOD_(ULONG,CountRefs)(THIS) PURE; \
7264 STDMETHOD_(HRESULT,DebugServerQueryInterface)(THIS_ void** ppv) PURE; \
7265 STDMETHOD_(void,DebugServerRelease)(THIS_ void* pv) PURE;
7267 HRESULT CALLBACK IRpcStubBuffer_Connect_Proxy(
7268 IRpcStubBuffer* This,
7269 IUnknown* pUnkServer);
7270 void __RPC_STUB IRpcStubBuffer_Connect_Stub(
7271 struct IRpcStubBuffer* This,
7272 struct IRpcChannelBuffer* pRpcChannelBuffer,
7273 PRPC_MESSAGE pRpcMessage,
7274 DWORD* pdwStubPhase);
7275 void CALLBACK IRpcStubBuffer_Disconnect_Proxy(
7276 IRpcStubBuffer* This);
7277 void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
7278 struct IRpcStubBuffer* This,
7279 struct IRpcChannelBuffer* pRpcChannelBuffer,
7280 PRPC_MESSAGE pRpcMessage,
7281 DWORD* pdwStubPhase);
7282 HRESULT CALLBACK IRpcStubBuffer_Invoke_Proxy(
7283 IRpcStubBuffer* This,
7284 RPCOLEMESSAGE* _prpcmsg,
7285 IRpcChannelBuffer* _pRpcChannelBuffer);
7286 void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
7287 struct IRpcStubBuffer* This,
7288 struct IRpcChannelBuffer* pRpcChannelBuffer,
7289 PRPC_MESSAGE pRpcMessage,
7290 DWORD* pdwStubPhase);
7291 IRpcStubBuffer* CALLBACK IRpcStubBuffer_IsIIDSupported_Proxy(
7292 IRpcStubBuffer* This,
7294 void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
7295 struct IRpcStubBuffer* This,
7296 struct IRpcChannelBuffer* pRpcChannelBuffer,
7297 PRPC_MESSAGE pRpcMessage,
7298 DWORD* pdwStubPhase);
7299 ULONG CALLBACK IRpcStubBuffer_CountRefs_Proxy(
7300 IRpcStubBuffer* This);
7301 void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
7302 struct IRpcStubBuffer* This,
7303 struct IRpcChannelBuffer* pRpcChannelBuffer,
7304 PRPC_MESSAGE pRpcMessage,
7305 DWORD* pdwStubPhase);
7306 HRESULT CALLBACK IRpcStubBuffer_DebugServerQueryInterface_Proxy(
7307 IRpcStubBuffer* This,
7309 void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
7310 struct IRpcStubBuffer* This,
7311 struct IRpcChannelBuffer* pRpcChannelBuffer,
7312 PRPC_MESSAGE pRpcMessage,
7313 DWORD* pdwStubPhase);
7314 void CALLBACK IRpcStubBuffer_DebugServerRelease_Proxy(
7315 IRpcStubBuffer* This,
7317 void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
7318 struct IRpcStubBuffer* This,
7319 struct IRpcChannelBuffer* pRpcChannelBuffer,
7320 PRPC_MESSAGE pRpcMessage,
7321 DWORD* pdwStubPhase);
7323 #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
7325 #ifndef __IPSFactoryBuffer_FWD_DEFINED__
7326 #define __IPSFactoryBuffer_FWD_DEFINED__
7327 typedef struct IPSFactoryBuffer IPSFactoryBuffer;
7330 typedef IPSFactoryBuffer *LPPSFACTORYBUFFER;
7332 /*****************************************************************************
7333 * IPSFactoryBuffer interface
7335 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
7336 #define __IPSFactoryBuffer_INTERFACE_DEFINED__
7338 DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7339 #if defined(__cplusplus) && !defined(CINTERFACE)
7340 struct IPSFactoryBuffer : public IUnknown
7342 virtual HRESULT STDMETHODCALLTYPE CreateProxy(
7343 IUnknown* pUnkOuter,
7345 IRpcProxyBuffer** ppProxy,
7348 virtual HRESULT STDMETHODCALLTYPE CreateStub(
7350 IUnknown* pUnkServer,
7351 IRpcStubBuffer** ppStub) = 0;
7355 typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl;
7356 struct IPSFactoryBuffer {
7357 const IPSFactoryBufferVtbl* lpVtbl;
7359 struct IPSFactoryBufferVtbl {
7360 ICOM_MSVTABLE_COMPAT_FIELDS
7362 /*** IUnknown methods ***/
7363 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7364 IPSFactoryBuffer* This,
7368 ULONG (STDMETHODCALLTYPE *AddRef)(
7369 IPSFactoryBuffer* This);
7371 ULONG (STDMETHODCALLTYPE *Release)(
7372 IPSFactoryBuffer* This);
7374 /*** IPSFactoryBuffer methods ***/
7375 HRESULT (STDMETHODCALLTYPE *CreateProxy)(
7376 IPSFactoryBuffer* This,
7377 IUnknown* pUnkOuter,
7379 IRpcProxyBuffer** ppProxy,
7382 HRESULT (STDMETHODCALLTYPE *CreateStub)(
7383 IPSFactoryBuffer* This,
7385 IUnknown* pUnkServer,
7386 IRpcStubBuffer** ppStub);
7391 /*** IUnknown methods ***/
7392 #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7393 #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7394 #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p)
7395 /*** IPSFactoryBuffer methods ***/
7396 #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d)
7397 #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c)
7402 #define IPSFactoryBuffer_METHODS \
7403 ICOM_MSVTABLE_COMPAT_FIELDS \
7404 /*** IUnknown methods ***/ \
7405 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7406 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7407 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7408 /*** IPSFactoryBuffer methods ***/ \
7409 STDMETHOD_(HRESULT,CreateProxy)(THIS_ IUnknown* pUnkOuter, REFIID riid, IRpcProxyBuffer** ppProxy, void** ppv) PURE; \
7410 STDMETHOD_(HRESULT,CreateStub)(THIS_ REFIID riid, IUnknown* pUnkServer, IRpcStubBuffer** ppStub) PURE;
7412 HRESULT CALLBACK IPSFactoryBuffer_CreateProxy_Proxy(
7413 IPSFactoryBuffer* This,
7414 IUnknown* pUnkOuter,
7416 IRpcProxyBuffer** ppProxy,
7418 void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
7419 struct IRpcStubBuffer* This,
7420 struct IRpcChannelBuffer* pRpcChannelBuffer,
7421 PRPC_MESSAGE pRpcMessage,
7422 DWORD* pdwStubPhase);
7423 HRESULT CALLBACK IPSFactoryBuffer_CreateStub_Proxy(
7424 IPSFactoryBuffer* This,
7426 IUnknown* pUnkServer,
7427 IRpcStubBuffer** ppStub);
7428 void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
7429 struct IRpcStubBuffer* This,
7430 struct IRpcChannelBuffer* pRpcChannelBuffer,
7431 PRPC_MESSAGE pRpcMessage,
7432 DWORD* pdwStubPhase);
7434 #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
7436 #ifndef __IChannelHook_FWD_DEFINED__
7437 #define __IChannelHook_FWD_DEFINED__
7438 typedef struct IChannelHook IChannelHook;
7441 typedef IChannelHook *LPCHANNELHOOK;
7443 typedef struct SChannelHookCallInfo {
7450 } SChannelHookCallInfo;
7452 /*****************************************************************************
7453 * IChannelHook interface
7455 #ifndef __IChannelHook_INTERFACE_DEFINED__
7456 #define __IChannelHook_INTERFACE_DEFINED__
7458 DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
7459 #if defined(__cplusplus) && !defined(CINTERFACE)
7460 struct IChannelHook : public IUnknown
7462 virtual void STDMETHODCALLTYPE ClientGetSize(
7465 ULONG* pDataSize) = 0;
7467 virtual void STDMETHODCALLTYPE ClientFillBuffer(
7471 void* pDataBuffer) = 0;
7473 virtual void STDMETHODCALLTYPE ClientNotify(
7479 HRESULT hrFault) = 0;
7481 virtual void STDMETHODCALLTYPE ServerNotify(
7486 DWORD lDataRep) = 0;
7488 virtual void STDMETHODCALLTYPE ServerGetSize(
7492 ULONG* pDataSize) = 0;
7494 virtual void STDMETHODCALLTYPE ServerFillBuffer(
7499 HRESULT hrFault) = 0;
7503 typedef struct IChannelHookVtbl IChannelHookVtbl;
7504 struct IChannelHook {
7505 const IChannelHookVtbl* lpVtbl;
7507 struct IChannelHookVtbl {
7508 ICOM_MSVTABLE_COMPAT_FIELDS
7510 /*** IUnknown methods ***/
7511 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7516 ULONG (STDMETHODCALLTYPE *AddRef)(
7517 IChannelHook* This);
7519 ULONG (STDMETHODCALLTYPE *Release)(
7520 IChannelHook* This);
7522 /*** IChannelHook methods ***/
7523 void (STDMETHODCALLTYPE *ClientGetSize)(
7529 void (STDMETHODCALLTYPE *ClientFillBuffer)(
7536 void (STDMETHODCALLTYPE *ClientNotify)(
7545 void (STDMETHODCALLTYPE *ServerNotify)(
7553 void (STDMETHODCALLTYPE *ServerGetSize)(
7560 void (STDMETHODCALLTYPE *ServerFillBuffer)(
7571 /*** IUnknown methods ***/
7572 #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7573 #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p)
7574 #define IChannelHook_Release(p) (p)->lpVtbl->Release(p)
7575 /*** IChannelHook methods ***/
7576 #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c)
7577 #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d)
7578 #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f)
7579 #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e)
7580 #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d)
7581 #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e)
7586 #define IChannelHook_METHODS \
7587 ICOM_MSVTABLE_COMPAT_FIELDS \
7588 /*** IUnknown methods ***/ \
7589 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7590 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7591 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7592 /*** IChannelHook methods ***/ \
7593 STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize) PURE; \
7594 STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer) PURE; \
7595 STDMETHOD_(void,ClientNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep, HRESULT hrFault) PURE; \
7596 STDMETHOD_(void,ServerNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep) PURE; \
7597 STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID uExtent, REFIID riid, HRESULT hrFault, ULONG* pDataSize) PURE; \
7598 STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer, HRESULT hrFault) PURE;
7600 void CALLBACK IChannelHook_ClientGetSize_Proxy(
7605 void __RPC_STUB IChannelHook_ClientGetSize_Stub(
7606 struct IRpcStubBuffer* This,
7607 struct IRpcChannelBuffer* pRpcChannelBuffer,
7608 PRPC_MESSAGE pRpcMessage,
7609 DWORD* pdwStubPhase);
7610 void CALLBACK IChannelHook_ClientFillBuffer_Proxy(
7616 void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(
7617 struct IRpcStubBuffer* This,
7618 struct IRpcChannelBuffer* pRpcChannelBuffer,
7619 PRPC_MESSAGE pRpcMessage,
7620 DWORD* pdwStubPhase);
7621 void CALLBACK IChannelHook_ClientNotify_Proxy(
7629 void __RPC_STUB IChannelHook_ClientNotify_Stub(
7630 struct IRpcStubBuffer* This,
7631 struct IRpcChannelBuffer* pRpcChannelBuffer,
7632 PRPC_MESSAGE pRpcMessage,
7633 DWORD* pdwStubPhase);
7634 void CALLBACK IChannelHook_ServerNotify_Proxy(
7641 void __RPC_STUB IChannelHook_ServerNotify_Stub(
7642 struct IRpcStubBuffer* This,
7643 struct IRpcChannelBuffer* pRpcChannelBuffer,
7644 PRPC_MESSAGE pRpcMessage,
7645 DWORD* pdwStubPhase);
7646 void CALLBACK IChannelHook_ServerGetSize_Proxy(
7652 void __RPC_STUB IChannelHook_ServerGetSize_Stub(
7653 struct IRpcStubBuffer* This,
7654 struct IRpcChannelBuffer* pRpcChannelBuffer,
7655 PRPC_MESSAGE pRpcMessage,
7656 DWORD* pdwStubPhase);
7657 void CALLBACK IChannelHook_ServerFillBuffer_Proxy(
7664 void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
7665 struct IRpcStubBuffer* This,
7666 struct IRpcChannelBuffer* pRpcChannelBuffer,
7667 PRPC_MESSAGE pRpcMessage,
7668 DWORD* pdwStubPhase);
7670 #endif /* __IChannelHook_INTERFACE_DEFINED__ */
7672 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
7673 #define __IEnumSTATPROPSTG_FWD_DEFINED__
7674 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
7677 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
7678 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
7679 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
7682 #ifndef __IPropertyStorage_FWD_DEFINED__
7683 #define __IPropertyStorage_FWD_DEFINED__
7684 typedef struct IPropertyStorage IPropertyStorage;
7687 typedef IPropertyStorage *LPPROPERTYSTORAGE;
7689 extern const FMTID FMTID_SummaryInformation;
7691 extern const FMTID FMTID_DocSummaryInformation;
7693 extern const FMTID FMTID_UserDefinedProperties;
7695 #define PROPSETFLAG_DEFAULT (0)
7697 #define PROPSETFLAG_NONSIMPLE (1)
7699 #define PROPSETFLAG_ANSI (2)
7701 #define PROPSETFLAG_UNBUFFERED (4)
7703 typedef struct tagPROPVARIANT PROPVARIANT;
7705 typedef struct tagCAUB {
7707 unsigned char *pElems;
7710 typedef struct tagCAI {
7715 typedef struct tagCAUI {
7720 typedef struct tagCAL {
7725 typedef struct tagCAUL {
7730 typedef struct tagCAFLT {
7735 typedef struct tagCADBL {
7740 typedef struct tagCACY {
7745 typedef struct tagCADATE {
7750 typedef struct tagCABSTR {
7755 typedef struct tagCABSTRBLOB {
7760 typedef struct tagCABOOL {
7762 VARIANT_BOOL *pElems;
7765 typedef struct tagCASCODE {
7770 typedef struct tagCAPROPVARIANT {
7772 PROPVARIANT *pElems;
7775 typedef struct tagCAH {
7777 LARGE_INTEGER *pElems;
7780 typedef struct tagCAUH {
7782 ULARGE_INTEGER *pElems;
7785 typedef struct tagCALPSTR {
7790 typedef struct tagCALPWSTR {
7795 typedef struct tagCAFILETIME {
7800 typedef struct tagCACLIPDATA {
7805 typedef struct tagCACLSID {
7810 struct tagPROPVARIANT {
7820 VARIANT_BOOL boolVal;
7826 ULARGE_INTEGER uhVal;
7833 CLIPDATA *pclipdata;
7837 BSTRBLOB bstrblobVal;
7853 CAFILETIME cafiletime;
7855 CACLIPDATA caclipdata;
7857 CABSTRBLOB cabstrblob;
7860 CAPROPVARIANT capropvar;
7864 typedef struct tagPROPVARIANT *LPPROPVARIANT;
7866 #define PRSPEC_INVALID (0xffffffff)
7868 #define PRSPEC_LPWSTR (0)
7870 #define PRSPEC_PROPID (1)
7872 typedef struct tagPROPSPEC {
7880 typedef struct tagSTATPROPSTG {
7881 LPOLESTR lpwstrName;
7886 typedef struct tagSTATPROPSETSTG {
7896 /*****************************************************************************
7897 * IPropertyStorage interface
7899 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
7900 #define __IPropertyStorage_INTERFACE_DEFINED__
7902 DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7903 #if defined(__cplusplus) && !defined(CINTERFACE)
7904 struct IPropertyStorage : public IUnknown
7906 virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
7908 const PROPSPEC rgpspec[],
7909 PROPVARIANT rgpropvar[]) = 0;
7911 virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
7913 const PROPSPEC rgpspec[],
7914 const PROPVARIANT rgpropvar[],
7915 PROPID propidNameFirst) = 0;
7917 virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
7919 const PROPSPEC rgpspec[]) = 0;
7921 virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
7923 const PROPID rgpropid[],
7924 LPOLESTR rglpwstrName[]) = 0;
7926 virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
7928 const PROPID rgpropid[],
7929 const LPOLESTR rglpwstrName[]) = 0;
7931 virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
7933 const PROPID rgpropid[]) = 0;
7935 virtual HRESULT STDMETHODCALLTYPE Commit(
7936 DWORD grfCommitFlags) = 0;
7938 virtual HRESULT STDMETHODCALLTYPE Revert(
7941 virtual HRESULT STDMETHODCALLTYPE Enum(
7942 IEnumSTATPROPSTG** ppenum) = 0;
7944 virtual HRESULT STDMETHODCALLTYPE SetTimes(
7945 const FILETIME* pctime,
7946 const FILETIME* patime,
7947 const FILETIME* pmtime) = 0;
7949 virtual HRESULT STDMETHODCALLTYPE SetClass(
7950 REFCLSID clsid) = 0;
7952 virtual HRESULT STDMETHODCALLTYPE Stat(
7953 STATPROPSETSTG* statpsstg) = 0;
7957 typedef struct IPropertyStorageVtbl IPropertyStorageVtbl;
7958 struct IPropertyStorage {
7959 const IPropertyStorageVtbl* lpVtbl;
7961 struct IPropertyStorageVtbl {
7962 ICOM_MSVTABLE_COMPAT_FIELDS
7964 /*** IUnknown methods ***/
7965 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7966 IPropertyStorage* This,
7970 ULONG (STDMETHODCALLTYPE *AddRef)(
7971 IPropertyStorage* This);
7973 ULONG (STDMETHODCALLTYPE *Release)(
7974 IPropertyStorage* This);
7976 /*** IPropertyStorage methods ***/
7977 HRESULT (STDMETHODCALLTYPE *ReadMultiple)(
7978 IPropertyStorage* This,
7980 const PROPSPEC rgpspec[],
7981 PROPVARIANT rgpropvar[]);
7983 HRESULT (STDMETHODCALLTYPE *WriteMultiple)(
7984 IPropertyStorage* This,
7986 const PROPSPEC rgpspec[],
7987 const PROPVARIANT rgpropvar[],
7988 PROPID propidNameFirst);
7990 HRESULT (STDMETHODCALLTYPE *DeleteMultiple)(
7991 IPropertyStorage* This,
7993 const PROPSPEC rgpspec[]);
7995 HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)(
7996 IPropertyStorage* This,
7998 const PROPID rgpropid[],
7999 LPOLESTR rglpwstrName[]);
8001 HRESULT (STDMETHODCALLTYPE *WritePropertyNames)(
8002 IPropertyStorage* This,
8004 const PROPID rgpropid[],
8005 const LPOLESTR rglpwstrName[]);
8007 HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)(
8008 IPropertyStorage* This,
8010 const PROPID rgpropid[]);
8012 HRESULT (STDMETHODCALLTYPE *Commit)(
8013 IPropertyStorage* This,
8014 DWORD grfCommitFlags);
8016 HRESULT (STDMETHODCALLTYPE *Revert)(
8017 IPropertyStorage* This);
8019 HRESULT (STDMETHODCALLTYPE *Enum)(
8020 IPropertyStorage* This,
8021 IEnumSTATPROPSTG** ppenum);
8023 HRESULT (STDMETHODCALLTYPE *SetTimes)(
8024 IPropertyStorage* This,
8025 const FILETIME* pctime,
8026 const FILETIME* patime,
8027 const FILETIME* pmtime);
8029 HRESULT (STDMETHODCALLTYPE *SetClass)(
8030 IPropertyStorage* This,
8033 HRESULT (STDMETHODCALLTYPE *Stat)(
8034 IPropertyStorage* This,
8035 STATPROPSETSTG* statpsstg);
8040 /*** IUnknown methods ***/
8041 #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8042 #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8043 #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
8044 /*** IPropertyStorage methods ***/
8045 #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
8046 #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
8047 #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
8048 #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
8049 #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
8050 #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
8051 #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
8052 #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
8053 #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8054 #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
8055 #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
8056 #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
8061 #define IPropertyStorage_METHODS \
8062 ICOM_MSVTABLE_COMPAT_FIELDS \
8063 /*** IUnknown methods ***/ \
8064 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8065 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8066 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8067 /*** IPropertyStorage methods ***/ \
8068 STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
8069 STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
8070 STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
8071 STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
8072 STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
8073 STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
8074 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
8075 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
8076 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
8077 STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
8078 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
8079 STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
8081 HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy(
8082 IPropertyStorage* This,
8084 const PROPSPEC rgpspec[],
8085 PROPVARIANT rgpropvar[]);
8086 void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
8087 struct IRpcStubBuffer* This,
8088 struct IRpcChannelBuffer* pRpcChannelBuffer,
8089 PRPC_MESSAGE pRpcMessage,
8090 DWORD* pdwStubPhase);
8091 HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy(
8092 IPropertyStorage* This,
8094 const PROPSPEC rgpspec[],
8095 const PROPVARIANT rgpropvar[],
8096 PROPID propidNameFirst);
8097 void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
8098 struct IRpcStubBuffer* This,
8099 struct IRpcChannelBuffer* pRpcChannelBuffer,
8100 PRPC_MESSAGE pRpcMessage,
8101 DWORD* pdwStubPhase);
8102 HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy(
8103 IPropertyStorage* This,
8105 const PROPSPEC rgpspec[]);
8106 void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
8107 struct IRpcStubBuffer* This,
8108 struct IRpcChannelBuffer* pRpcChannelBuffer,
8109 PRPC_MESSAGE pRpcMessage,
8110 DWORD* pdwStubPhase);
8111 HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy(
8112 IPropertyStorage* This,
8114 const PROPID rgpropid[],
8115 LPOLESTR rglpwstrName[]);
8116 void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
8117 struct IRpcStubBuffer* This,
8118 struct IRpcChannelBuffer* pRpcChannelBuffer,
8119 PRPC_MESSAGE pRpcMessage,
8120 DWORD* pdwStubPhase);
8121 HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy(
8122 IPropertyStorage* This,
8124 const PROPID rgpropid[],
8125 const LPOLESTR rglpwstrName[]);
8126 void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
8127 struct IRpcStubBuffer* This,
8128 struct IRpcChannelBuffer* pRpcChannelBuffer,
8129 PRPC_MESSAGE pRpcMessage,
8130 DWORD* pdwStubPhase);
8131 HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy(
8132 IPropertyStorage* This,
8134 const PROPID rgpropid[]);
8135 void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
8136 struct IRpcStubBuffer* This,
8137 struct IRpcChannelBuffer* pRpcChannelBuffer,
8138 PRPC_MESSAGE pRpcMessage,
8139 DWORD* pdwStubPhase);
8140 HRESULT CALLBACK IPropertyStorage_Commit_Proxy(
8141 IPropertyStorage* This,
8142 DWORD grfCommitFlags);
8143 void __RPC_STUB IPropertyStorage_Commit_Stub(
8144 struct IRpcStubBuffer* This,
8145 struct IRpcChannelBuffer* pRpcChannelBuffer,
8146 PRPC_MESSAGE pRpcMessage,
8147 DWORD* pdwStubPhase);
8148 HRESULT CALLBACK IPropertyStorage_Revert_Proxy(
8149 IPropertyStorage* This);
8150 void __RPC_STUB IPropertyStorage_Revert_Stub(
8151 struct IRpcStubBuffer* This,
8152 struct IRpcChannelBuffer* pRpcChannelBuffer,
8153 PRPC_MESSAGE pRpcMessage,
8154 DWORD* pdwStubPhase);
8155 HRESULT CALLBACK IPropertyStorage_Enum_Proxy(
8156 IPropertyStorage* This,
8157 IEnumSTATPROPSTG** ppenum);
8158 void __RPC_STUB IPropertyStorage_Enum_Stub(
8159 struct IRpcStubBuffer* This,
8160 struct IRpcChannelBuffer* pRpcChannelBuffer,
8161 PRPC_MESSAGE pRpcMessage,
8162 DWORD* pdwStubPhase);
8163 HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy(
8164 IPropertyStorage* This,
8165 const FILETIME* pctime,
8166 const FILETIME* patime,
8167 const FILETIME* pmtime);
8168 void __RPC_STUB IPropertyStorage_SetTimes_Stub(
8169 struct IRpcStubBuffer* This,
8170 struct IRpcChannelBuffer* pRpcChannelBuffer,
8171 PRPC_MESSAGE pRpcMessage,
8172 DWORD* pdwStubPhase);
8173 HRESULT CALLBACK IPropertyStorage_SetClass_Proxy(
8174 IPropertyStorage* This,
8176 void __RPC_STUB IPropertyStorage_SetClass_Stub(
8177 struct IRpcStubBuffer* This,
8178 struct IRpcChannelBuffer* pRpcChannelBuffer,
8179 PRPC_MESSAGE pRpcMessage,
8180 DWORD* pdwStubPhase);
8181 HRESULT CALLBACK IPropertyStorage_Stat_Proxy(
8182 IPropertyStorage* This,
8183 STATPROPSETSTG* statpsstg);
8184 void __RPC_STUB IPropertyStorage_Stat_Stub(
8185 struct IRpcStubBuffer* This,
8186 struct IRpcChannelBuffer* pRpcChannelBuffer,
8187 PRPC_MESSAGE pRpcMessage,
8188 DWORD* pdwStubPhase);
8190 #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
8192 #ifndef __IPropertySetStorage_FWD_DEFINED__
8193 #define __IPropertySetStorage_FWD_DEFINED__
8194 typedef struct IPropertySetStorage IPropertySetStorage;
8197 typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
8199 /*****************************************************************************
8200 * IPropertySetStorage interface
8202 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
8203 #define __IPropertySetStorage_INTERFACE_DEFINED__
8205 DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8206 #if defined(__cplusplus) && !defined(CINTERFACE)
8207 struct IPropertySetStorage : public IUnknown
8209 virtual HRESULT STDMETHODCALLTYPE Create(
8211 const CLSID* pclsid,
8214 IPropertyStorage** ppprstg) = 0;
8216 virtual HRESULT STDMETHODCALLTYPE Open(
8219 IPropertyStorage** ppprstg) = 0;
8221 virtual HRESULT STDMETHODCALLTYPE Delete(
8222 REFFMTID rfmtid) = 0;
8224 virtual HRESULT STDMETHODCALLTYPE Enum(
8225 IEnumSTATPROPSETSTG** ppenum) = 0;
8229 typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl;
8230 struct IPropertySetStorage {
8231 const IPropertySetStorageVtbl* lpVtbl;
8233 struct IPropertySetStorageVtbl {
8234 ICOM_MSVTABLE_COMPAT_FIELDS
8236 /*** IUnknown methods ***/
8237 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8238 IPropertySetStorage* This,
8242 ULONG (STDMETHODCALLTYPE *AddRef)(
8243 IPropertySetStorage* This);
8245 ULONG (STDMETHODCALLTYPE *Release)(
8246 IPropertySetStorage* This);
8248 /*** IPropertySetStorage methods ***/
8249 HRESULT (STDMETHODCALLTYPE *Create)(
8250 IPropertySetStorage* This,
8252 const CLSID* pclsid,
8255 IPropertyStorage** ppprstg);
8257 HRESULT (STDMETHODCALLTYPE *Open)(
8258 IPropertySetStorage* This,
8261 IPropertyStorage** ppprstg);
8263 HRESULT (STDMETHODCALLTYPE *Delete)(
8264 IPropertySetStorage* This,
8267 HRESULT (STDMETHODCALLTYPE *Enum)(
8268 IPropertySetStorage* This,
8269 IEnumSTATPROPSETSTG** ppenum);
8274 /*** IUnknown methods ***/
8275 #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8276 #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8277 #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
8278 /*** IPropertySetStorage methods ***/
8279 #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
8280 #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
8281 #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
8282 #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8287 #define IPropertySetStorage_METHODS \
8288 ICOM_MSVTABLE_COMPAT_FIELDS \
8289 /*** IUnknown methods ***/ \
8290 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8291 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8292 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8293 /*** IPropertySetStorage methods ***/ \
8294 STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8295 STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8296 STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
8297 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8299 HRESULT CALLBACK IPropertySetStorage_Create_Proxy(
8300 IPropertySetStorage* This,
8302 const CLSID* pclsid,
8305 IPropertyStorage** ppprstg);
8306 void __RPC_STUB IPropertySetStorage_Create_Stub(
8307 struct IRpcStubBuffer* This,
8308 struct IRpcChannelBuffer* pRpcChannelBuffer,
8309 PRPC_MESSAGE pRpcMessage,
8310 DWORD* pdwStubPhase);
8311 HRESULT CALLBACK IPropertySetStorage_Open_Proxy(
8312 IPropertySetStorage* This,
8315 IPropertyStorage** ppprstg);
8316 void __RPC_STUB IPropertySetStorage_Open_Stub(
8317 struct IRpcStubBuffer* This,
8318 struct IRpcChannelBuffer* pRpcChannelBuffer,
8319 PRPC_MESSAGE pRpcMessage,
8320 DWORD* pdwStubPhase);
8321 HRESULT CALLBACK IPropertySetStorage_Delete_Proxy(
8322 IPropertySetStorage* This,
8324 void __RPC_STUB IPropertySetStorage_Delete_Stub(
8325 struct IRpcStubBuffer* This,
8326 struct IRpcChannelBuffer* pRpcChannelBuffer,
8327 PRPC_MESSAGE pRpcMessage,
8328 DWORD* pdwStubPhase);
8329 HRESULT CALLBACK IPropertySetStorage_Enum_Proxy(
8330 IPropertySetStorage* This,
8331 IEnumSTATPROPSETSTG** ppenum);
8332 void __RPC_STUB IPropertySetStorage_Enum_Stub(
8333 struct IRpcStubBuffer* This,
8334 struct IRpcChannelBuffer* pRpcChannelBuffer,
8335 PRPC_MESSAGE pRpcMessage,
8336 DWORD* pdwStubPhase);
8338 #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
8340 typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
8342 /*****************************************************************************
8343 * IEnumSTATPROPSTG interface
8345 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
8346 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
8348 DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8349 #if defined(__cplusplus) && !defined(CINTERFACE)
8350 struct IEnumSTATPROPSTG : public IUnknown
8352 virtual HRESULT STDMETHODCALLTYPE Next(
8355 ULONG* pceltFetched) = 0;
8357 virtual HRESULT STDMETHODCALLTYPE Skip(
8360 virtual HRESULT STDMETHODCALLTYPE Reset(
8363 virtual HRESULT STDMETHODCALLTYPE Clone(
8364 IEnumSTATPROPSTG** ppenum) = 0;
8368 typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl;
8369 struct IEnumSTATPROPSTG {
8370 const IEnumSTATPROPSTGVtbl* lpVtbl;
8372 struct IEnumSTATPROPSTGVtbl {
8373 ICOM_MSVTABLE_COMPAT_FIELDS
8375 /*** IUnknown methods ***/
8376 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8377 IEnumSTATPROPSTG* This,
8381 ULONG (STDMETHODCALLTYPE *AddRef)(
8382 IEnumSTATPROPSTG* This);
8384 ULONG (STDMETHODCALLTYPE *Release)(
8385 IEnumSTATPROPSTG* This);
8387 /*** IEnumSTATPROPSTG methods ***/
8388 HRESULT (STDMETHODCALLTYPE *Next)(
8389 IEnumSTATPROPSTG* This,
8392 ULONG* pceltFetched);
8394 HRESULT (STDMETHODCALLTYPE *Skip)(
8395 IEnumSTATPROPSTG* This,
8398 HRESULT (STDMETHODCALLTYPE *Reset)(
8399 IEnumSTATPROPSTG* This);
8401 HRESULT (STDMETHODCALLTYPE *Clone)(
8402 IEnumSTATPROPSTG* This,
8403 IEnumSTATPROPSTG** ppenum);
8408 /*** IUnknown methods ***/
8409 #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8410 #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8411 #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
8412 /*** IEnumSTATPROPSTG methods ***/
8413 #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8414 #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8415 #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
8416 #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8421 #define IEnumSTATPROPSTG_METHODS \
8422 ICOM_MSVTABLE_COMPAT_FIELDS \
8423 /*** IUnknown methods ***/ \
8424 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8425 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8426 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8427 /*** IEnumSTATPROPSTG methods ***/ \
8428 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
8429 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8430 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8431 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
8433 HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy(
8434 IEnumSTATPROPSTG* This,
8437 ULONG* pceltFetched);
8438 void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
8439 struct IRpcStubBuffer* This,
8440 struct IRpcChannelBuffer* pRpcChannelBuffer,
8441 PRPC_MESSAGE pRpcMessage,
8442 DWORD* pdwStubPhase);
8443 HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
8444 IEnumSTATPROPSTG* This,
8447 ULONG* pceltFetched);
8448 HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
8449 IEnumSTATPROPSTG* This,
8452 ULONG* pceltFetched);
8453 HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy(
8454 IEnumSTATPROPSTG* This,
8456 void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
8457 struct IRpcStubBuffer* This,
8458 struct IRpcChannelBuffer* pRpcChannelBuffer,
8459 PRPC_MESSAGE pRpcMessage,
8460 DWORD* pdwStubPhase);
8461 HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy(
8462 IEnumSTATPROPSTG* This);
8463 void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
8464 struct IRpcStubBuffer* This,
8465 struct IRpcChannelBuffer* pRpcChannelBuffer,
8466 PRPC_MESSAGE pRpcMessage,
8467 DWORD* pdwStubPhase);
8468 HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy(
8469 IEnumSTATPROPSTG* This,
8470 IEnumSTATPROPSTG** ppenum);
8471 void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
8472 struct IRpcStubBuffer* This,
8473 struct IRpcChannelBuffer* pRpcChannelBuffer,
8474 PRPC_MESSAGE pRpcMessage,
8475 DWORD* pdwStubPhase);
8477 #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
8479 typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
8481 /*****************************************************************************
8482 * IEnumSTATPROPSETSTG interface
8484 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
8485 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
8487 DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8488 #if defined(__cplusplus) && !defined(CINTERFACE)
8489 struct IEnumSTATPROPSETSTG : public IUnknown
8491 virtual HRESULT STDMETHODCALLTYPE Next(
8493 STATPROPSETSTG* rgelt,
8494 ULONG* pceltFetched) = 0;
8496 virtual HRESULT STDMETHODCALLTYPE Skip(
8499 virtual HRESULT STDMETHODCALLTYPE Reset(
8502 virtual HRESULT STDMETHODCALLTYPE Clone(
8503 IEnumSTATPROPSETSTG** ppenum) = 0;
8507 typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl;
8508 struct IEnumSTATPROPSETSTG {
8509 const IEnumSTATPROPSETSTGVtbl* lpVtbl;
8511 struct IEnumSTATPROPSETSTGVtbl {
8512 ICOM_MSVTABLE_COMPAT_FIELDS
8514 /*** IUnknown methods ***/
8515 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8516 IEnumSTATPROPSETSTG* This,
8520 ULONG (STDMETHODCALLTYPE *AddRef)(
8521 IEnumSTATPROPSETSTG* This);
8523 ULONG (STDMETHODCALLTYPE *Release)(
8524 IEnumSTATPROPSETSTG* This);
8526 /*** IEnumSTATPROPSETSTG methods ***/
8527 HRESULT (STDMETHODCALLTYPE *Next)(
8528 IEnumSTATPROPSETSTG* This,
8530 STATPROPSETSTG* rgelt,
8531 ULONG* pceltFetched);
8533 HRESULT (STDMETHODCALLTYPE *Skip)(
8534 IEnumSTATPROPSETSTG* This,
8537 HRESULT (STDMETHODCALLTYPE *Reset)(
8538 IEnumSTATPROPSETSTG* This);
8540 HRESULT (STDMETHODCALLTYPE *Clone)(
8541 IEnumSTATPROPSETSTG* This,
8542 IEnumSTATPROPSETSTG** ppenum);
8547 /*** IUnknown methods ***/
8548 #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8549 #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8550 #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
8551 /*** IEnumSTATPROPSETSTG methods ***/
8552 #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8553 #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8554 #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
8555 #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8560 #define IEnumSTATPROPSETSTG_METHODS \
8561 ICOM_MSVTABLE_COMPAT_FIELDS \
8562 /*** IUnknown methods ***/ \
8563 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8564 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8565 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8566 /*** IEnumSTATPROPSETSTG methods ***/ \
8567 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
8568 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8569 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8570 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8572 HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy(
8573 IEnumSTATPROPSETSTG* This,
8575 STATPROPSETSTG* rgelt,
8576 ULONG* pceltFetched);
8577 void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
8578 struct IRpcStubBuffer* This,
8579 struct IRpcChannelBuffer* pRpcChannelBuffer,
8580 PRPC_MESSAGE pRpcMessage,
8581 DWORD* pdwStubPhase);
8582 HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
8583 IEnumSTATPROPSETSTG* This,
8585 STATPROPSETSTG* rgelt,
8586 ULONG* pceltFetched);
8587 HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
8588 IEnumSTATPROPSETSTG* This,
8590 STATPROPSETSTG* rgelt,
8591 ULONG* pceltFetched);
8592 HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy(
8593 IEnumSTATPROPSETSTG* This,
8595 void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
8596 struct IRpcStubBuffer* This,
8597 struct IRpcChannelBuffer* pRpcChannelBuffer,
8598 PRPC_MESSAGE pRpcMessage,
8599 DWORD* pdwStubPhase);
8600 HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy(
8601 IEnumSTATPROPSETSTG* This);
8602 void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
8603 struct IRpcStubBuffer* This,
8604 struct IRpcChannelBuffer* pRpcChannelBuffer,
8605 PRPC_MESSAGE pRpcMessage,
8606 DWORD* pdwStubPhase);
8607 HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy(
8608 IEnumSTATPROPSETSTG* This,
8609 IEnumSTATPROPSETSTG** ppenum);
8610 void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
8611 struct IRpcStubBuffer* This,
8612 struct IRpcChannelBuffer* pRpcChannelBuffer,
8613 PRPC_MESSAGE pRpcMessage,
8614 DWORD* pdwStubPhase);
8616 #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
8618 #ifndef __IClientSecurity_FWD_DEFINED__
8619 #define __IClientSecurity_FWD_DEFINED__
8620 typedef struct IClientSecurity IClientSecurity;
8623 typedef struct tagSOLE_AUTHENTICATION_SERVICE {
8626 OLECHAR *pPrincipalName;
8628 } SOLE_AUTHENTICATION_SERVICE;
8630 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
8632 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
8634 EOAC_MUTUAL_AUTH = 0x1,
8635 EOAC_CLOAKING = 0x10,
8636 EOAC_SECURE_REFS = 0x2,
8637 EOAC_ACCESS_CONTROL = 0x4,
8639 } EOLE_AUTHENTICATION_CAPABILITIES;
8641 /*****************************************************************************
8642 * IClientSecurity interface
8644 #ifndef __IClientSecurity_INTERFACE_DEFINED__
8645 #define __IClientSecurity_INTERFACE_DEFINED__
8647 DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8648 #if defined(__cplusplus) && !defined(CINTERFACE)
8649 struct IClientSecurity : public IUnknown
8651 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
8655 OLECHAR** pServerPrincName,
8659 DWORD* pCapabilites) = 0;
8661 virtual HRESULT STDMETHODCALLTYPE SetBlanket(
8665 OLECHAR* pServerPrincName,
8669 DWORD Capabilities) = 0;
8671 virtual HRESULT STDMETHODCALLTYPE CopyProxy(
8673 IUnknown** ppCopy) = 0;
8677 typedef struct IClientSecurityVtbl IClientSecurityVtbl;
8678 struct IClientSecurity {
8679 const IClientSecurityVtbl* lpVtbl;
8681 struct IClientSecurityVtbl {
8682 ICOM_MSVTABLE_COMPAT_FIELDS
8684 /*** IUnknown methods ***/
8685 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8686 IClientSecurity* This,
8690 ULONG (STDMETHODCALLTYPE *AddRef)(
8691 IClientSecurity* This);
8693 ULONG (STDMETHODCALLTYPE *Release)(
8694 IClientSecurity* This);
8696 /*** IClientSecurity methods ***/
8697 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
8698 IClientSecurity* This,
8702 OLECHAR** pServerPrincName,
8706 DWORD* pCapabilites);
8708 HRESULT (STDMETHODCALLTYPE *SetBlanket)(
8709 IClientSecurity* This,
8713 OLECHAR* pServerPrincName,
8717 DWORD Capabilities);
8719 HRESULT (STDMETHODCALLTYPE *CopyProxy)(
8720 IClientSecurity* This,
8727 /*** IUnknown methods ***/
8728 #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8729 #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8730 #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p)
8731 /*** IClientSecurity methods ***/
8732 #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h)
8733 #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h)
8734 #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b)
8739 #define IClientSecurity_METHODS \
8740 ICOM_MSVTABLE_COMPAT_FIELDS \
8741 /*** IUnknown methods ***/ \
8742 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8743 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8744 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8745 /*** IClientSecurity methods ***/ \
8746 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ IUnknown* pProxy, DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pAuthInfo, DWORD* pCapabilites) PURE; \
8747 STDMETHOD_(HRESULT,SetBlanket)(THIS_ IUnknown* pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR* pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void* pAuthInfo, DWORD Capabilities) PURE; \
8748 STDMETHOD_(HRESULT,CopyProxy)(THIS_ IUnknown* pProxy, IUnknown** ppCopy) PURE;
8750 HRESULT CALLBACK IClientSecurity_QueryBlanket_Proxy(
8751 IClientSecurity* This,
8755 OLECHAR** pServerPrincName,
8759 DWORD* pCapabilites);
8760 void __RPC_STUB IClientSecurity_QueryBlanket_Stub(
8761 struct IRpcStubBuffer* This,
8762 struct IRpcChannelBuffer* pRpcChannelBuffer,
8763 PRPC_MESSAGE pRpcMessage,
8764 DWORD* pdwStubPhase);
8765 HRESULT CALLBACK IClientSecurity_SetBlanket_Proxy(
8766 IClientSecurity* This,
8770 OLECHAR* pServerPrincName,
8774 DWORD Capabilities);
8775 void __RPC_STUB IClientSecurity_SetBlanket_Stub(
8776 struct IRpcStubBuffer* This,
8777 struct IRpcChannelBuffer* pRpcChannelBuffer,
8778 PRPC_MESSAGE pRpcMessage,
8779 DWORD* pdwStubPhase);
8780 HRESULT CALLBACK IClientSecurity_CopyProxy_Proxy(
8781 IClientSecurity* This,
8784 void __RPC_STUB IClientSecurity_CopyProxy_Stub(
8785 struct IRpcStubBuffer* This,
8786 struct IRpcChannelBuffer* pRpcChannelBuffer,
8787 PRPC_MESSAGE pRpcMessage,
8788 DWORD* pdwStubPhase);
8790 #endif /* __IClientSecurity_INTERFACE_DEFINED__ */
8792 #ifndef __IServerSecurity_FWD_DEFINED__
8793 #define __IServerSecurity_FWD_DEFINED__
8794 typedef struct IServerSecurity IServerSecurity;
8797 /*****************************************************************************
8798 * IServerSecurity interface
8800 #ifndef __IServerSecurity_INTERFACE_DEFINED__
8801 #define __IServerSecurity_INTERFACE_DEFINED__
8803 DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8804 #if defined(__cplusplus) && !defined(CINTERFACE)
8805 struct IServerSecurity : public IUnknown
8807 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
8810 OLECHAR** pServerPrincName,
8814 DWORD* pCapabilities) = 0;
8816 virtual HRESULT STDMETHODCALLTYPE ImpersonateClient(
8819 virtual HRESULT STDMETHODCALLTYPE RevertToSelf(
8822 virtual BOOL STDMETHODCALLTYPE IsImpersonating(
8827 typedef struct IServerSecurityVtbl IServerSecurityVtbl;
8828 struct IServerSecurity {
8829 const IServerSecurityVtbl* lpVtbl;
8831 struct IServerSecurityVtbl {
8832 ICOM_MSVTABLE_COMPAT_FIELDS
8834 /*** IUnknown methods ***/
8835 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8836 IServerSecurity* This,
8840 ULONG (STDMETHODCALLTYPE *AddRef)(
8841 IServerSecurity* This);
8843 ULONG (STDMETHODCALLTYPE *Release)(
8844 IServerSecurity* This);
8846 /*** IServerSecurity methods ***/
8847 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
8848 IServerSecurity* This,
8851 OLECHAR** pServerPrincName,
8855 DWORD* pCapabilities);
8857 HRESULT (STDMETHODCALLTYPE *ImpersonateClient)(
8858 IServerSecurity* This);
8860 HRESULT (STDMETHODCALLTYPE *RevertToSelf)(
8861 IServerSecurity* This);
8863 BOOL (STDMETHODCALLTYPE *IsImpersonating)(
8864 IServerSecurity* This);
8869 /*** IUnknown methods ***/
8870 #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8871 #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8872 #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p)
8873 /*** IServerSecurity methods ***/
8874 #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g)
8875 #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p)
8876 #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p)
8877 #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p)
8882 #define IServerSecurity_METHODS \
8883 ICOM_MSVTABLE_COMPAT_FIELDS \
8884 /*** IUnknown methods ***/ \
8885 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8886 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8887 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8888 /*** IServerSecurity methods ***/ \
8889 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pPrivs, DWORD* pCapabilities) PURE; \
8890 STDMETHOD_(HRESULT,ImpersonateClient)(THIS) PURE; \
8891 STDMETHOD_(HRESULT,RevertToSelf)(THIS) PURE; \
8892 STDMETHOD_(BOOL,IsImpersonating)(THIS) PURE;
8894 HRESULT CALLBACK IServerSecurity_QueryBlanket_Proxy(
8895 IServerSecurity* This,
8898 OLECHAR** pServerPrincName,
8902 DWORD* pCapabilities);
8903 void __RPC_STUB IServerSecurity_QueryBlanket_Stub(
8904 struct IRpcStubBuffer* This,
8905 struct IRpcChannelBuffer* pRpcChannelBuffer,
8906 PRPC_MESSAGE pRpcMessage,
8907 DWORD* pdwStubPhase);
8908 HRESULT CALLBACK IServerSecurity_ImpersonateClient_Proxy(
8909 IServerSecurity* This);
8910 void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(
8911 struct IRpcStubBuffer* This,
8912 struct IRpcChannelBuffer* pRpcChannelBuffer,
8913 PRPC_MESSAGE pRpcMessage,
8914 DWORD* pdwStubPhase);
8915 HRESULT CALLBACK IServerSecurity_RevertToSelf_Proxy(
8916 IServerSecurity* This);
8917 void __RPC_STUB IServerSecurity_RevertToSelf_Stub(
8918 struct IRpcStubBuffer* This,
8919 struct IRpcChannelBuffer* pRpcChannelBuffer,
8920 PRPC_MESSAGE pRpcMessage,
8921 DWORD* pdwStubPhase);
8922 BOOL CALLBACK IServerSecurity_IsImpersonating_Proxy(
8923 IServerSecurity* This);
8924 void __RPC_STUB IServerSecurity_IsImpersonating_Stub(
8925 struct IRpcStubBuffer* This,
8926 struct IRpcChannelBuffer* pRpcChannelBuffer,
8927 PRPC_MESSAGE pRpcMessage,
8928 DWORD* pdwStubPhase);
8930 #endif /* __IServerSecurity_INTERFACE_DEFINED__ */
8932 #ifndef __IAsyncSetup_FWD_DEFINED__
8933 #define __IAsyncSetup_FWD_DEFINED__
8934 typedef struct IAsyncSetup IAsyncSetup;
8937 /*****************************************************************************
8938 * IAsyncSetup interface
8940 #ifndef __IAsyncSetup_INTERFACE_DEFINED__
8941 #define __IAsyncSetup_INTERFACE_DEFINED__
8943 DEFINE_GUID(IID_IAsyncSetup, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8944 #if defined(__cplusplus) && !defined(CINTERFACE)
8945 struct IAsyncSetup : public IUnknown
8947 virtual HRESULT STDMETHODCALLTYPE GetAsyncManager(
8952 IAsyncManager** ppAsyncMgr) = 0;
8956 typedef struct IAsyncSetupVtbl IAsyncSetupVtbl;
8957 struct IAsyncSetup {
8958 const IAsyncSetupVtbl* lpVtbl;
8960 struct IAsyncSetupVtbl {
8961 ICOM_MSVTABLE_COMPAT_FIELDS
8963 /*** IUnknown methods ***/
8964 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8969 ULONG (STDMETHODCALLTYPE *AddRef)(
8972 ULONG (STDMETHODCALLTYPE *Release)(
8975 /*** IAsyncSetup methods ***/
8976 HRESULT (STDMETHODCALLTYPE *GetAsyncManager)(
8982 IAsyncManager** ppAsyncMgr);
8987 /*** IUnknown methods ***/
8988 #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8989 #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p)
8990 #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p)
8991 /*** IAsyncSetup methods ***/
8992 #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e)
8997 #define IAsyncSetup_METHODS \
8998 ICOM_MSVTABLE_COMPAT_FIELDS \
8999 /*** IUnknown methods ***/ \
9000 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9001 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9002 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9003 /*** IAsyncSetup methods ***/ \
9004 STDMETHOD_(HRESULT,GetAsyncManager)(THIS_ REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) PURE;
9006 HRESULT CALLBACK IAsyncSetup_GetAsyncManager_Proxy(
9012 IAsyncManager** ppAsyncMgr);
9013 void __RPC_STUB IAsyncSetup_GetAsyncManager_Stub(
9014 struct IRpcStubBuffer* This,
9015 struct IRpcChannelBuffer* pRpcChannelBuffer,
9016 PRPC_MESSAGE pRpcMessage,
9017 DWORD* pdwStubPhase);
9019 #endif /* __IAsyncSetup_INTERFACE_DEFINED__ */
9021 typedef enum tagDCOM_CALL_STATE {
9023 DCOM_CALL_COMPLETE = 1,
9024 DCOM_CALL_CANCELED = 2
9027 /*****************************************************************************
9028 * IAsyncManager interface
9030 #ifndef __IAsyncManager_INTERFACE_DEFINED__
9031 #define __IAsyncManager_INTERFACE_DEFINED__
9033 DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9034 #if defined(__cplusplus) && !defined(CINTERFACE)
9035 struct IAsyncManager : public IUnknown
9037 virtual HRESULT STDMETHODCALLTYPE CompleteCall(
9038 HRESULT Result) = 0;
9040 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
9042 void** pInterface) = 0;
9044 virtual HRESULT STDMETHODCALLTYPE GetState(
9045 ULONG* pulStateFlags) = 0;
9049 typedef struct IAsyncManagerVtbl IAsyncManagerVtbl;
9050 struct IAsyncManager {
9051 const IAsyncManagerVtbl* lpVtbl;
9053 struct IAsyncManagerVtbl {
9054 ICOM_MSVTABLE_COMPAT_FIELDS
9056 /*** IUnknown methods ***/
9057 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9058 IAsyncManager* This,
9062 ULONG (STDMETHODCALLTYPE *AddRef)(
9063 IAsyncManager* This);
9065 ULONG (STDMETHODCALLTYPE *Release)(
9066 IAsyncManager* This);
9068 /*** IAsyncManager methods ***/
9069 HRESULT (STDMETHODCALLTYPE *CompleteCall)(
9070 IAsyncManager* This,
9073 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
9074 IAsyncManager* This,
9078 HRESULT (STDMETHODCALLTYPE *GetState)(
9079 IAsyncManager* This,
9080 ULONG* pulStateFlags);
9085 /*** IUnknown methods ***/
9086 #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9087 #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p)
9088 #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p)
9089 /*** IAsyncManager methods ***/
9090 #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a)
9091 #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b)
9092 #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a)
9097 #define IAsyncManager_METHODS \
9098 ICOM_MSVTABLE_COMPAT_FIELDS \
9099 /*** IUnknown methods ***/ \
9100 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9101 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9102 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9103 /*** IAsyncManager methods ***/ \
9104 STDMETHOD_(HRESULT,CompleteCall)(THIS_ HRESULT Result) PURE; \
9105 STDMETHOD_(HRESULT,GetCallContext)(THIS_ REFIID riid, void** pInterface) PURE; \
9106 STDMETHOD_(HRESULT,GetState)(THIS_ ULONG* pulStateFlags) PURE;
9108 HRESULT CALLBACK IAsyncManager_CompleteCall_Proxy(
9109 IAsyncManager* This,
9111 void __RPC_STUB IAsyncManager_CompleteCall_Stub(
9112 struct IRpcStubBuffer* This,
9113 struct IRpcChannelBuffer* pRpcChannelBuffer,
9114 PRPC_MESSAGE pRpcMessage,
9115 DWORD* pdwStubPhase);
9116 HRESULT CALLBACK IAsyncManager_GetCallContext_Proxy(
9117 IAsyncManager* This,
9120 void __RPC_STUB IAsyncManager_GetCallContext_Stub(
9121 struct IRpcStubBuffer* This,
9122 struct IRpcChannelBuffer* pRpcChannelBuffer,
9123 PRPC_MESSAGE pRpcMessage,
9124 DWORD* pdwStubPhase);
9125 HRESULT CALLBACK IAsyncManager_GetState_Proxy(
9126 IAsyncManager* This,
9127 ULONG* pulStateFlags);
9128 void __RPC_STUB IAsyncManager_GetState_Stub(
9129 struct IRpcStubBuffer* This,
9130 struct IRpcChannelBuffer* pRpcChannelBuffer,
9131 PRPC_MESSAGE pRpcMessage,
9132 DWORD* pdwStubPhase);
9134 #endif /* __IAsyncManager_INTERFACE_DEFINED__ */
9139 #endif /* __WIDL_OBJIDL_H */