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)(
158 /*** IUnknown methods ***/
159 #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
160 #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
161 #define IMarshal_Release(p) (p)->lpVtbl->Release(p)
162 /*** IMarshal methods ***/
163 #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f)
164 #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f)
165 #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f)
166 #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c)
167 #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a)
168 #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a)
172 #define IMarshal_METHODS \
173 ICOM_MSVTABLE_COMPAT_FIELDS \
174 /*** IUnknown methods ***/ \
175 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
176 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
177 STDMETHOD_(ULONG,Release)(THIS) PURE; \
178 /*** IMarshal methods ***/ \
179 STDMETHOD_(HRESULT,GetUnmarshalClass)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) PURE; \
180 STDMETHOD_(HRESULT,GetMarshalSizeMax)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) PURE; \
181 STDMETHOD_(HRESULT,MarshalInterface)(THIS_ IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) PURE; \
182 STDMETHOD_(HRESULT,UnmarshalInterface)(THIS_ IStream* pStm, REFIID riid, void** ppv) PURE; \
183 STDMETHOD_(HRESULT,ReleaseMarshalData)(THIS_ IStream* pStm) PURE; \
184 STDMETHOD_(HRESULT,DisconnectObject)(THIS_ DWORD dwReserved) PURE;
186 HRESULT CALLBACK IMarshal_GetUnmarshalClass_Proxy(
194 void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
195 struct IRpcStubBuffer* This,
196 struct IRpcChannelBuffer* pRpcChannelBuffer,
197 PRPC_MESSAGE pRpcMessage,
198 DWORD* pdwStubPhase);
199 HRESULT CALLBACK IMarshal_GetMarshalSizeMax_Proxy(
207 void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
208 struct IRpcStubBuffer* This,
209 struct IRpcChannelBuffer* pRpcChannelBuffer,
210 PRPC_MESSAGE pRpcMessage,
211 DWORD* pdwStubPhase);
212 HRESULT CALLBACK IMarshal_MarshalInterface_Proxy(
220 void __RPC_STUB IMarshal_MarshalInterface_Stub(
221 struct IRpcStubBuffer* This,
222 struct IRpcChannelBuffer* pRpcChannelBuffer,
223 PRPC_MESSAGE pRpcMessage,
224 DWORD* pdwStubPhase);
225 HRESULT CALLBACK IMarshal_UnmarshalInterface_Proxy(
230 void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
231 struct IRpcStubBuffer* This,
232 struct IRpcChannelBuffer* pRpcChannelBuffer,
233 PRPC_MESSAGE pRpcMessage,
234 DWORD* pdwStubPhase);
235 HRESULT CALLBACK IMarshal_ReleaseMarshalData_Proxy(
238 void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
239 struct IRpcStubBuffer* This,
240 struct IRpcChannelBuffer* pRpcChannelBuffer,
241 PRPC_MESSAGE pRpcMessage,
242 DWORD* pdwStubPhase);
243 HRESULT CALLBACK IMarshal_DisconnectObject_Proxy(
246 void __RPC_STUB IMarshal_DisconnectObject_Stub(
247 struct IRpcStubBuffer* This,
248 struct IRpcChannelBuffer* pRpcChannelBuffer,
249 PRPC_MESSAGE pRpcMessage,
250 DWORD* pdwStubPhase);
252 #endif /* __IMarshal_INTERFACE_DEFINED__ */
254 #ifndef __IStdMarshalInfo_FWD_DEFINED__
255 #define __IStdMarshalInfo_FWD_DEFINED__
256 typedef struct IStdMarshalInfo IStdMarshalInfo;
259 typedef IStdMarshalInfo *LPSTDMARSHALINFO;
261 /*****************************************************************************
262 * IStdMarshalInfo interface
264 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
265 #define __IStdMarshalInfo_INTERFACE_DEFINED__
267 DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
268 #if defined(__cplusplus) && !defined(CINTERFACE)
269 struct IStdMarshalInfo : public IUnknown
271 virtual HRESULT STDMETHODCALLTYPE GetClassForHandler(
278 typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl;
279 struct IStdMarshalInfo {
280 const IStdMarshalInfoVtbl* lpVtbl;
282 struct IStdMarshalInfoVtbl {
283 ICOM_MSVTABLE_COMPAT_FIELDS
285 /*** IUnknown methods ***/
286 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
287 IStdMarshalInfo* This,
291 ULONG (STDMETHODCALLTYPE *AddRef)(
292 IStdMarshalInfo* This);
294 ULONG (STDMETHODCALLTYPE *Release)(
295 IStdMarshalInfo* This);
297 /*** IStdMarshalInfo methods ***/
298 HRESULT (STDMETHODCALLTYPE *GetClassForHandler)(
299 IStdMarshalInfo* This,
306 /*** IUnknown methods ***/
307 #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
308 #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
309 #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p)
310 /*** IStdMarshalInfo methods ***/
311 #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c)
315 #define IStdMarshalInfo_METHODS \
316 ICOM_MSVTABLE_COMPAT_FIELDS \
317 /*** IUnknown methods ***/ \
318 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
319 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
320 STDMETHOD_(ULONG,Release)(THIS) PURE; \
321 /*** IStdMarshalInfo methods ***/ \
322 STDMETHOD_(HRESULT,GetClassForHandler)(THIS_ DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) PURE;
324 HRESULT CALLBACK IStdMarshalInfo_GetClassForHandler_Proxy(
325 IStdMarshalInfo* This,
329 void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
330 struct IRpcStubBuffer* This,
331 struct IRpcChannelBuffer* pRpcChannelBuffer,
332 PRPC_MESSAGE pRpcMessage,
333 DWORD* pdwStubPhase);
335 #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
337 #ifndef __IExternalConnection_FWD_DEFINED__
338 #define __IExternalConnection_FWD_DEFINED__
339 typedef struct IExternalConnection IExternalConnection;
342 typedef IExternalConnection *LPEXTERNALCONNECTION;
344 typedef enum tagEXTCONN {
345 EXTCONN_STRONG = 0x1,
347 EXTCONN_CALLABLE = 0x4
350 /*****************************************************************************
351 * IExternalConnection interface
353 #ifndef __IExternalConnection_INTERFACE_DEFINED__
354 #define __IExternalConnection_INTERFACE_DEFINED__
356 DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
357 #if defined(__cplusplus) && !defined(CINTERFACE)
358 struct IExternalConnection : public IUnknown
360 virtual DWORD STDMETHODCALLTYPE AddConnection(
364 virtual DWORD STDMETHODCALLTYPE ReleaseConnection(
367 BOOL fLastReleaseCloses) = 0;
371 typedef struct IExternalConnectionVtbl IExternalConnectionVtbl;
372 struct IExternalConnection {
373 const IExternalConnectionVtbl* lpVtbl;
375 struct IExternalConnectionVtbl {
376 ICOM_MSVTABLE_COMPAT_FIELDS
378 /*** IUnknown methods ***/
379 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
380 IExternalConnection* This,
384 ULONG (STDMETHODCALLTYPE *AddRef)(
385 IExternalConnection* This);
387 ULONG (STDMETHODCALLTYPE *Release)(
388 IExternalConnection* This);
390 /*** IExternalConnection methods ***/
391 DWORD (STDMETHODCALLTYPE *AddConnection)(
392 IExternalConnection* This,
396 DWORD (STDMETHODCALLTYPE *ReleaseConnection)(
397 IExternalConnection* This,
400 BOOL fLastReleaseCloses);
404 /*** IUnknown methods ***/
405 #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
406 #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
407 #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p)
408 /*** IExternalConnection methods ***/
409 #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b)
410 #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c)
414 #define IExternalConnection_METHODS \
415 ICOM_MSVTABLE_COMPAT_FIELDS \
416 /*** IUnknown methods ***/ \
417 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
418 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
419 STDMETHOD_(ULONG,Release)(THIS) PURE; \
420 /*** IExternalConnection methods ***/ \
421 STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD extconn, DWORD reserved) PURE; \
422 STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) PURE;
424 DWORD CALLBACK IExternalConnection_AddConnection_Proxy(
425 IExternalConnection* This,
428 void __RPC_STUB IExternalConnection_AddConnection_Stub(
429 struct IRpcStubBuffer* This,
430 struct IRpcChannelBuffer* pRpcChannelBuffer,
431 PRPC_MESSAGE pRpcMessage,
432 DWORD* pdwStubPhase);
433 DWORD CALLBACK IExternalConnection_ReleaseConnection_Proxy(
434 IExternalConnection* This,
437 BOOL fLastReleaseCloses);
438 void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
439 struct IRpcStubBuffer* This,
440 struct IRpcChannelBuffer* pRpcChannelBuffer,
441 PRPC_MESSAGE pRpcMessage,
442 DWORD* pdwStubPhase);
444 #endif /* __IExternalConnection_INTERFACE_DEFINED__ */
446 #ifndef __IMultiQI_FWD_DEFINED__
447 #define __IMultiQI_FWD_DEFINED__
448 typedef struct IMultiQI IMultiQI;
451 typedef IMultiQI *LPMULTIQI;
453 typedef struct tagMULTI_QI {
459 /*****************************************************************************
462 #ifndef __IMultiQI_INTERFACE_DEFINED__
463 #define __IMultiQI_INTERFACE_DEFINED__
465 DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
466 #if defined(__cplusplus) && !defined(CINTERFACE)
467 struct IMultiQI : public IUnknown
469 virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces(
471 MULTI_QI* pMQIs) = 0;
475 typedef struct IMultiQIVtbl IMultiQIVtbl;
477 const IMultiQIVtbl* lpVtbl;
479 struct IMultiQIVtbl {
480 ICOM_MSVTABLE_COMPAT_FIELDS
482 /*** IUnknown methods ***/
483 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
488 ULONG (STDMETHODCALLTYPE *AddRef)(
491 ULONG (STDMETHODCALLTYPE *Release)(
494 /*** IMultiQI methods ***/
495 HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)(
502 /*** IUnknown methods ***/
503 #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
504 #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p)
505 #define IMultiQI_Release(p) (p)->lpVtbl->Release(p)
506 /*** IMultiQI methods ***/
507 #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b)
511 #define IMultiQI_METHODS \
512 ICOM_MSVTABLE_COMPAT_FIELDS \
513 /*** IUnknown methods ***/ \
514 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
515 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
516 STDMETHOD_(ULONG,Release)(THIS) PURE; \
517 /*** IMultiQI methods ***/ \
518 STDMETHOD_(HRESULT,QueryMultipleInterfaces)(THIS_ ULONG cMQIs, MULTI_QI* pMQIs) PURE;
520 HRESULT CALLBACK IMultiQI_QueryMultipleInterfaces_Proxy(
524 void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(
525 struct IRpcStubBuffer* This,
526 struct IRpcChannelBuffer* pRpcChannelBuffer,
527 PRPC_MESSAGE pRpcMessage,
528 DWORD* pdwStubPhase);
530 #endif /* __IMultiQI_INTERFACE_DEFINED__ */
532 #ifndef __IMalloc_FWD_DEFINED__
533 #define __IMalloc_FWD_DEFINED__
534 typedef struct IMalloc IMalloc;
537 typedef IMalloc *LPMALLOC;
539 /*****************************************************************************
542 #ifndef __IMalloc_INTERFACE_DEFINED__
543 #define __IMalloc_INTERFACE_DEFINED__
545 DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
546 #if defined(__cplusplus) && !defined(CINTERFACE)
547 struct IMalloc : public IUnknown
549 virtual LPVOID STDMETHODCALLTYPE Alloc(
552 virtual LPVOID STDMETHODCALLTYPE Realloc(
556 virtual void STDMETHODCALLTYPE Free(
559 virtual ULONG STDMETHODCALLTYPE GetSize(
562 virtual int STDMETHODCALLTYPE DidAlloc(
565 virtual void STDMETHODCALLTYPE HeapMinimize(
570 typedef struct IMallocVtbl IMallocVtbl;
572 const IMallocVtbl* lpVtbl;
575 ICOM_MSVTABLE_COMPAT_FIELDS
577 /*** IUnknown methods ***/
578 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
583 ULONG (STDMETHODCALLTYPE *AddRef)(
586 ULONG (STDMETHODCALLTYPE *Release)(
589 /*** IMalloc methods ***/
590 LPVOID (STDMETHODCALLTYPE *Alloc)(
594 LPVOID (STDMETHODCALLTYPE *Realloc)(
599 void (STDMETHODCALLTYPE *Free)(
603 ULONG (STDMETHODCALLTYPE *GetSize)(
607 int (STDMETHODCALLTYPE *DidAlloc)(
611 void (STDMETHODCALLTYPE *HeapMinimize)(
616 /*** IUnknown methods ***/
617 #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
618 #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p)
619 #define IMalloc_Release(p) (p)->lpVtbl->Release(p)
620 /*** IMalloc methods ***/
621 #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a)
622 #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b)
623 #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a)
624 #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
625 #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a)
626 #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p)
630 #define IMalloc_METHODS \
631 ICOM_MSVTABLE_COMPAT_FIELDS \
632 /*** IUnknown methods ***/ \
633 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
634 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
635 STDMETHOD_(ULONG,Release)(THIS) PURE; \
636 /*** IMalloc methods ***/ \
637 STDMETHOD_(LPVOID,Alloc)(THIS_ ULONG cb) PURE; \
638 STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, ULONG cb) PURE; \
639 STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \
640 STDMETHOD_(ULONG,GetSize)(THIS_ LPVOID pv) PURE; \
641 STDMETHOD_(int,DidAlloc)(THIS_ LPVOID pv) PURE; \
642 STDMETHOD_(void,HeapMinimize)(THIS) PURE;
644 LPVOID CALLBACK IMalloc_Alloc_Proxy(
647 void __RPC_STUB IMalloc_Alloc_Stub(
648 struct IRpcStubBuffer* This,
649 struct IRpcChannelBuffer* pRpcChannelBuffer,
650 PRPC_MESSAGE pRpcMessage,
651 DWORD* pdwStubPhase);
652 LPVOID CALLBACK IMalloc_Realloc_Proxy(
656 void __RPC_STUB IMalloc_Realloc_Stub(
657 struct IRpcStubBuffer* This,
658 struct IRpcChannelBuffer* pRpcChannelBuffer,
659 PRPC_MESSAGE pRpcMessage,
660 DWORD* pdwStubPhase);
661 void CALLBACK IMalloc_Free_Proxy(
664 void __RPC_STUB IMalloc_Free_Stub(
665 struct IRpcStubBuffer* This,
666 struct IRpcChannelBuffer* pRpcChannelBuffer,
667 PRPC_MESSAGE pRpcMessage,
668 DWORD* pdwStubPhase);
669 ULONG CALLBACK IMalloc_GetSize_Proxy(
672 void __RPC_STUB IMalloc_GetSize_Stub(
673 struct IRpcStubBuffer* This,
674 struct IRpcChannelBuffer* pRpcChannelBuffer,
675 PRPC_MESSAGE pRpcMessage,
676 DWORD* pdwStubPhase);
677 int CALLBACK IMalloc_DidAlloc_Proxy(
680 void __RPC_STUB IMalloc_DidAlloc_Stub(
681 struct IRpcStubBuffer* This,
682 struct IRpcChannelBuffer* pRpcChannelBuffer,
683 PRPC_MESSAGE pRpcMessage,
684 DWORD* pdwStubPhase);
685 void CALLBACK IMalloc_HeapMinimize_Proxy(
687 void __RPC_STUB IMalloc_HeapMinimize_Stub(
688 struct IRpcStubBuffer* This,
689 struct IRpcChannelBuffer* pRpcChannelBuffer,
690 PRPC_MESSAGE pRpcMessage,
691 DWORD* pdwStubPhase);
693 #endif /* __IMalloc_INTERFACE_DEFINED__ */
695 #ifndef __IMallocSpy_FWD_DEFINED__
696 #define __IMallocSpy_FWD_DEFINED__
697 typedef struct IMallocSpy IMallocSpy;
700 typedef IMallocSpy *LPMALLOCSPY;
702 /*****************************************************************************
703 * IMallocSpy interface
705 #ifndef __IMallocSpy_INTERFACE_DEFINED__
706 #define __IMallocSpy_INTERFACE_DEFINED__
708 DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
709 #if defined(__cplusplus) && !defined(CINTERFACE)
710 struct IMallocSpy : public IUnknown
712 virtual ULONG STDMETHODCALLTYPE PreAlloc(
713 ULONG cbRequest) = 0;
715 virtual LPVOID STDMETHODCALLTYPE PostAlloc(
718 virtual LPVOID STDMETHODCALLTYPE PreFree(
722 virtual void STDMETHODCALLTYPE PostFree(
725 virtual ULONG STDMETHODCALLTYPE PreRealloc(
728 LPVOID* ppNewRequest,
731 virtual LPVOID STDMETHODCALLTYPE PostRealloc(
735 virtual LPVOID STDMETHODCALLTYPE PreGetSize(
739 virtual ULONG STDMETHODCALLTYPE PostGetSize(
743 virtual LPVOID STDMETHODCALLTYPE PreDidAlloc(
747 virtual int STDMETHODCALLTYPE PostDidAlloc(
752 virtual void STDMETHODCALLTYPE PreHeapMinimize(
755 virtual void STDMETHODCALLTYPE PostHeapMinimize(
760 typedef struct IMallocSpyVtbl IMallocSpyVtbl;
762 const IMallocSpyVtbl* lpVtbl;
764 struct IMallocSpyVtbl {
765 ICOM_MSVTABLE_COMPAT_FIELDS
767 /*** IUnknown methods ***/
768 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
773 ULONG (STDMETHODCALLTYPE *AddRef)(
776 ULONG (STDMETHODCALLTYPE *Release)(
779 /*** IMallocSpy methods ***/
780 ULONG (STDMETHODCALLTYPE *PreAlloc)(
784 LPVOID (STDMETHODCALLTYPE *PostAlloc)(
788 LPVOID (STDMETHODCALLTYPE *PreFree)(
793 void (STDMETHODCALLTYPE *PostFree)(
797 ULONG (STDMETHODCALLTYPE *PreRealloc)(
801 LPVOID* ppNewRequest,
804 LPVOID (STDMETHODCALLTYPE *PostRealloc)(
809 LPVOID (STDMETHODCALLTYPE *PreGetSize)(
814 ULONG (STDMETHODCALLTYPE *PostGetSize)(
819 LPVOID (STDMETHODCALLTYPE *PreDidAlloc)(
824 int (STDMETHODCALLTYPE *PostDidAlloc)(
830 void (STDMETHODCALLTYPE *PreHeapMinimize)(
833 void (STDMETHODCALLTYPE *PostHeapMinimize)(
838 /*** IUnknown methods ***/
839 #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
840 #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p)
841 #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p)
842 /*** IMallocSpy methods ***/
843 #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a)
844 #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a)
845 #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b)
846 #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a)
847 #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d)
848 #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b)
849 #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b)
850 #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b)
851 #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b)
852 #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c)
853 #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p)
854 #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p)
858 #define IMallocSpy_METHODS \
859 ICOM_MSVTABLE_COMPAT_FIELDS \
860 /*** IUnknown methods ***/ \
861 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
862 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
863 STDMETHOD_(ULONG,Release)(THIS) PURE; \
864 /*** IMallocSpy methods ***/ \
865 STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG cbRequest) PURE; \
866 STDMETHOD_(LPVOID,PostAlloc)(THIS_ LPVOID pActual) PURE; \
867 STDMETHOD_(LPVOID,PreFree)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
868 STDMETHOD_(void,PostFree)(THIS_ BOOL fSpyed) PURE; \
869 STDMETHOD_(ULONG,PreRealloc)(THIS_ LPVOID pRequest, ULONG cbRequest, LPVOID* ppNewRequest, BOOL fSpyed) PURE; \
870 STDMETHOD_(LPVOID,PostRealloc)(THIS_ LPVOID pActual, BOOL fSpyed) PURE; \
871 STDMETHOD_(LPVOID,PreGetSize)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
872 STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG cbActual, BOOL fSpyed) PURE; \
873 STDMETHOD_(LPVOID,PreDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
874 STDMETHOD_(int,PostDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed, int fActual) PURE; \
875 STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; \
876 STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
878 ULONG CALLBACK IMallocSpy_PreAlloc_Proxy(
881 void __RPC_STUB IMallocSpy_PreAlloc_Stub(
882 struct IRpcStubBuffer* This,
883 struct IRpcChannelBuffer* pRpcChannelBuffer,
884 PRPC_MESSAGE pRpcMessage,
885 DWORD* pdwStubPhase);
886 LPVOID CALLBACK IMallocSpy_PostAlloc_Proxy(
889 void __RPC_STUB IMallocSpy_PostAlloc_Stub(
890 struct IRpcStubBuffer* This,
891 struct IRpcChannelBuffer* pRpcChannelBuffer,
892 PRPC_MESSAGE pRpcMessage,
893 DWORD* pdwStubPhase);
894 LPVOID CALLBACK IMallocSpy_PreFree_Proxy(
898 void __RPC_STUB IMallocSpy_PreFree_Stub(
899 struct IRpcStubBuffer* This,
900 struct IRpcChannelBuffer* pRpcChannelBuffer,
901 PRPC_MESSAGE pRpcMessage,
902 DWORD* pdwStubPhase);
903 void CALLBACK IMallocSpy_PostFree_Proxy(
906 void __RPC_STUB IMallocSpy_PostFree_Stub(
907 struct IRpcStubBuffer* This,
908 struct IRpcChannelBuffer* pRpcChannelBuffer,
909 PRPC_MESSAGE pRpcMessage,
910 DWORD* pdwStubPhase);
911 ULONG CALLBACK IMallocSpy_PreRealloc_Proxy(
915 LPVOID* ppNewRequest,
917 void __RPC_STUB IMallocSpy_PreRealloc_Stub(
918 struct IRpcStubBuffer* This,
919 struct IRpcChannelBuffer* pRpcChannelBuffer,
920 PRPC_MESSAGE pRpcMessage,
921 DWORD* pdwStubPhase);
922 LPVOID CALLBACK IMallocSpy_PostRealloc_Proxy(
926 void __RPC_STUB IMallocSpy_PostRealloc_Stub(
927 struct IRpcStubBuffer* This,
928 struct IRpcChannelBuffer* pRpcChannelBuffer,
929 PRPC_MESSAGE pRpcMessage,
930 DWORD* pdwStubPhase);
931 LPVOID CALLBACK IMallocSpy_PreGetSize_Proxy(
935 void __RPC_STUB IMallocSpy_PreGetSize_Stub(
936 struct IRpcStubBuffer* This,
937 struct IRpcChannelBuffer* pRpcChannelBuffer,
938 PRPC_MESSAGE pRpcMessage,
939 DWORD* pdwStubPhase);
940 ULONG CALLBACK IMallocSpy_PostGetSize_Proxy(
944 void __RPC_STUB IMallocSpy_PostGetSize_Stub(
945 struct IRpcStubBuffer* This,
946 struct IRpcChannelBuffer* pRpcChannelBuffer,
947 PRPC_MESSAGE pRpcMessage,
948 DWORD* pdwStubPhase);
949 LPVOID CALLBACK IMallocSpy_PreDidAlloc_Proxy(
953 void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(
954 struct IRpcStubBuffer* This,
955 struct IRpcChannelBuffer* pRpcChannelBuffer,
956 PRPC_MESSAGE pRpcMessage,
957 DWORD* pdwStubPhase);
958 int CALLBACK IMallocSpy_PostDidAlloc_Proxy(
963 void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(
964 struct IRpcStubBuffer* This,
965 struct IRpcChannelBuffer* pRpcChannelBuffer,
966 PRPC_MESSAGE pRpcMessage,
967 DWORD* pdwStubPhase);
968 void CALLBACK IMallocSpy_PreHeapMinimize_Proxy(
970 void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(
971 struct IRpcStubBuffer* This,
972 struct IRpcChannelBuffer* pRpcChannelBuffer,
973 PRPC_MESSAGE pRpcMessage,
974 DWORD* pdwStubPhase);
975 void CALLBACK IMallocSpy_PostHeapMinimize_Proxy(
977 void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(
978 struct IRpcStubBuffer* This,
979 struct IRpcChannelBuffer* pRpcChannelBuffer,
980 PRPC_MESSAGE pRpcMessage,
981 DWORD* pdwStubPhase);
983 #endif /* __IMallocSpy_INTERFACE_DEFINED__ */
985 #ifndef __IEnumUnknown_FWD_DEFINED__
986 #define __IEnumUnknown_FWD_DEFINED__
987 typedef struct IEnumUnknown IEnumUnknown;
990 typedef IEnumUnknown *LPENUMUNKNOWN;
992 /*****************************************************************************
993 * IEnumUnknown interface
995 #ifndef __IEnumUnknown_INTERFACE_DEFINED__
996 #define __IEnumUnknown_INTERFACE_DEFINED__
998 DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
999 #if defined(__cplusplus) && !defined(CINTERFACE)
1000 struct IEnumUnknown : public IUnknown
1002 virtual HRESULT STDMETHODCALLTYPE Next(
1005 ULONG* pceltFetched) = 0;
1007 virtual HRESULT STDMETHODCALLTYPE Skip(
1010 virtual HRESULT STDMETHODCALLTYPE Reset(
1013 virtual HRESULT STDMETHODCALLTYPE Clone(
1014 IEnumUnknown** ppenum) = 0;
1018 typedef struct IEnumUnknownVtbl IEnumUnknownVtbl;
1019 struct IEnumUnknown {
1020 const IEnumUnknownVtbl* lpVtbl;
1022 struct IEnumUnknownVtbl {
1023 ICOM_MSVTABLE_COMPAT_FIELDS
1025 /*** IUnknown methods ***/
1026 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1031 ULONG (STDMETHODCALLTYPE *AddRef)(
1032 IEnumUnknown* This);
1034 ULONG (STDMETHODCALLTYPE *Release)(
1035 IEnumUnknown* This);
1037 /*** IEnumUnknown methods ***/
1038 HRESULT (STDMETHODCALLTYPE *Next)(
1042 ULONG* pceltFetched);
1044 HRESULT (STDMETHODCALLTYPE *Skip)(
1048 HRESULT (STDMETHODCALLTYPE *Reset)(
1049 IEnumUnknown* This);
1051 HRESULT (STDMETHODCALLTYPE *Clone)(
1053 IEnumUnknown** ppenum);
1057 /*** IUnknown methods ***/
1058 #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1059 #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
1060 #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p)
1061 /*** IEnumUnknown methods ***/
1062 #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1063 #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1064 #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p)
1065 #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1069 #define IEnumUnknown_METHODS \
1070 ICOM_MSVTABLE_COMPAT_FIELDS \
1071 /*** IUnknown methods ***/ \
1072 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1073 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1074 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1075 /*** IEnumUnknown methods ***/ \
1076 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IUnknown** rgelt, ULONG* pceltFetched) PURE; \
1077 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1078 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1079 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumUnknown** ppenum) PURE;
1081 HRESULT CALLBACK IEnumUnknown_RemoteNext_Proxy(
1085 ULONG* pceltFetched);
1086 void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
1087 struct IRpcStubBuffer* This,
1088 struct IRpcChannelBuffer* pRpcChannelBuffer,
1089 PRPC_MESSAGE pRpcMessage,
1090 DWORD* pdwStubPhase);
1091 HRESULT CALLBACK IEnumUnknown_Next_Proxy(
1095 ULONG* pceltFetched);
1096 HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
1100 ULONG* pceltFetched);
1101 HRESULT CALLBACK IEnumUnknown_Skip_Proxy(
1104 void __RPC_STUB IEnumUnknown_Skip_Stub(
1105 struct IRpcStubBuffer* This,
1106 struct IRpcChannelBuffer* pRpcChannelBuffer,
1107 PRPC_MESSAGE pRpcMessage,
1108 DWORD* pdwStubPhase);
1109 HRESULT CALLBACK IEnumUnknown_Reset_Proxy(
1110 IEnumUnknown* This);
1111 void __RPC_STUB IEnumUnknown_Reset_Stub(
1112 struct IRpcStubBuffer* This,
1113 struct IRpcChannelBuffer* pRpcChannelBuffer,
1114 PRPC_MESSAGE pRpcMessage,
1115 DWORD* pdwStubPhase);
1116 HRESULT CALLBACK IEnumUnknown_Clone_Proxy(
1118 IEnumUnknown** ppenum);
1119 void __RPC_STUB IEnumUnknown_Clone_Stub(
1120 struct IRpcStubBuffer* This,
1121 struct IRpcChannelBuffer* pRpcChannelBuffer,
1122 PRPC_MESSAGE pRpcMessage,
1123 DWORD* pdwStubPhase);
1125 #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
1127 #ifndef __ISurrogate_FWD_DEFINED__
1128 #define __ISurrogate_FWD_DEFINED__
1129 typedef struct ISurrogate ISurrogate;
1132 typedef ISurrogate *LPSURROGATE;
1134 /*****************************************************************************
1135 * ISurrogate interface
1137 #ifndef __ISurrogate_INTERFACE_DEFINED__
1138 #define __ISurrogate_INTERFACE_DEFINED__
1140 DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1141 #if defined(__cplusplus) && !defined(CINTERFACE)
1142 struct ISurrogate : public IUnknown
1144 virtual HRESULT STDMETHODCALLTYPE LoadDllServer(
1145 REFCLSID Clsid) = 0;
1147 virtual HRESULT STDMETHODCALLTYPE FreeSurrogate(
1152 typedef struct ISurrogateVtbl ISurrogateVtbl;
1154 const ISurrogateVtbl* lpVtbl;
1156 struct ISurrogateVtbl {
1157 ICOM_MSVTABLE_COMPAT_FIELDS
1159 /*** IUnknown methods ***/
1160 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1165 ULONG (STDMETHODCALLTYPE *AddRef)(
1168 ULONG (STDMETHODCALLTYPE *Release)(
1171 /*** ISurrogate methods ***/
1172 HRESULT (STDMETHODCALLTYPE *LoadDllServer)(
1176 HRESULT (STDMETHODCALLTYPE *FreeSurrogate)(
1181 /*** IUnknown methods ***/
1182 #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1183 #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p)
1184 #define ISurrogate_Release(p) (p)->lpVtbl->Release(p)
1185 /*** ISurrogate methods ***/
1186 #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a)
1187 #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p)
1191 #define ISurrogate_METHODS \
1192 ICOM_MSVTABLE_COMPAT_FIELDS \
1193 /*** IUnknown methods ***/ \
1194 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1195 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1196 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1197 /*** ISurrogate methods ***/ \
1198 STDMETHOD_(HRESULT,LoadDllServer)(THIS_ REFCLSID Clsid) PURE; \
1199 STDMETHOD_(HRESULT,FreeSurrogate)(THIS) PURE;
1201 HRESULT CALLBACK ISurrogate_LoadDllServer_Proxy(
1204 void __RPC_STUB ISurrogate_LoadDllServer_Stub(
1205 struct IRpcStubBuffer* This,
1206 struct IRpcChannelBuffer* pRpcChannelBuffer,
1207 PRPC_MESSAGE pRpcMessage,
1208 DWORD* pdwStubPhase);
1209 HRESULT CALLBACK ISurrogate_FreeSurrogate_Proxy(
1211 void __RPC_STUB ISurrogate_FreeSurrogate_Stub(
1212 struct IRpcStubBuffer* This,
1213 struct IRpcChannelBuffer* pRpcChannelBuffer,
1214 PRPC_MESSAGE pRpcMessage,
1215 DWORD* pdwStubPhase);
1217 #endif /* __ISurrogate_INTERFACE_DEFINED__ */
1219 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
1220 #define __IGlobalInterfaceTable_FWD_DEFINED__
1221 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
1224 typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
1226 /*****************************************************************************
1227 * IGlobalInterfaceTable interface
1229 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
1230 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
1232 DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1233 #if defined(__cplusplus) && !defined(CINTERFACE)
1234 struct IGlobalInterfaceTable : public IUnknown
1236 virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal(
1239 DWORD* pdwCookie) = 0;
1241 virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal(
1242 DWORD dwCookie) = 0;
1244 virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal(
1251 typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl;
1252 struct IGlobalInterfaceTable {
1253 const IGlobalInterfaceTableVtbl* lpVtbl;
1255 struct IGlobalInterfaceTableVtbl {
1256 ICOM_MSVTABLE_COMPAT_FIELDS
1258 /*** IUnknown methods ***/
1259 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1260 IGlobalInterfaceTable* This,
1264 ULONG (STDMETHODCALLTYPE *AddRef)(
1265 IGlobalInterfaceTable* This);
1267 ULONG (STDMETHODCALLTYPE *Release)(
1268 IGlobalInterfaceTable* This);
1270 /*** IGlobalInterfaceTable methods ***/
1271 HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)(
1272 IGlobalInterfaceTable* This,
1277 HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)(
1278 IGlobalInterfaceTable* This,
1281 HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)(
1282 IGlobalInterfaceTable* This,
1289 /*** IUnknown methods ***/
1290 #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1291 #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1292 #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p)
1293 /*** IGlobalInterfaceTable methods ***/
1294 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c)
1295 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a)
1296 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c)
1300 #define IGlobalInterfaceTable_METHODS \
1301 ICOM_MSVTABLE_COMPAT_FIELDS \
1302 /*** IUnknown methods ***/ \
1303 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1304 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1305 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1306 /*** IGlobalInterfaceTable methods ***/ \
1307 STDMETHOD_(HRESULT,RegisterInterfaceInGlobal)(THIS_ IUnknown* pUnk, REFIID riid, DWORD* pdwCookie) PURE; \
1308 STDMETHOD_(HRESULT,RevokeInterfaceFromGlobal)(THIS_ DWORD dwCookie) PURE; \
1309 STDMETHOD_(HRESULT,GetInterfaceFromGlobal)(THIS_ DWORD dwCookie, REFIID riid, void** ppv) PURE;
1311 HRESULT CALLBACK IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
1312 IGlobalInterfaceTable* This,
1316 void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
1317 struct IRpcStubBuffer* This,
1318 struct IRpcChannelBuffer* pRpcChannelBuffer,
1319 PRPC_MESSAGE pRpcMessage,
1320 DWORD* pdwStubPhase);
1321 HRESULT CALLBACK IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
1322 IGlobalInterfaceTable* This,
1324 void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
1325 struct IRpcStubBuffer* This,
1326 struct IRpcChannelBuffer* pRpcChannelBuffer,
1327 PRPC_MESSAGE pRpcMessage,
1328 DWORD* pdwStubPhase);
1329 HRESULT CALLBACK IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
1330 IGlobalInterfaceTable* This,
1334 void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
1335 struct IRpcStubBuffer* This,
1336 struct IRpcChannelBuffer* pRpcChannelBuffer,
1337 PRPC_MESSAGE pRpcMessage,
1338 DWORD* pdwStubPhase);
1340 #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
1342 #ifndef __IBindCtx_FWD_DEFINED__
1343 #define __IBindCtx_FWD_DEFINED__
1344 typedef struct IBindCtx IBindCtx;
1347 typedef IBindCtx *LPBINDCTX;
1349 typedef IBindCtx *LPBC;
1351 typedef struct tagBIND_OPTS {
1355 DWORD dwTickCountDeadline;
1356 } BIND_OPTS, *LPBIND_OPTS;
1358 typedef struct tagBIND_OPTS2 {
1362 DWORD dwTickCountDeadline;
1364 DWORD dwClassContext;
1366 COSERVERINFO *pServerInfo;
1367 } BIND_OPTS2, *LPBIND_OPTS2;
1369 typedef enum tagBIND_FLAGS {
1370 BIND_MAYBOTHERUSER = 1,
1371 BIND_JUSTTESTEXISTENCE = 2
1374 /*****************************************************************************
1375 * IBindCtx interface
1377 #ifndef __IBindCtx_INTERFACE_DEFINED__
1378 #define __IBindCtx_INTERFACE_DEFINED__
1380 DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1381 #if defined(__cplusplus) && !defined(CINTERFACE)
1382 struct IBindCtx : public IUnknown
1384 virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
1385 IUnknown* punk) = 0;
1387 virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
1388 IUnknown* punk) = 0;
1390 virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
1393 virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
1394 BIND_OPTS* pbindopts) = 0;
1396 virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
1397 BIND_OPTS* pbindopts) = 0;
1399 virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
1400 IRunningObjectTable** pprot) = 0;
1402 virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
1404 IUnknown* punk) = 0;
1406 virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
1408 IUnknown** ppunk) = 0;
1410 virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
1411 IEnumString** ppenum) = 0;
1413 virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
1414 LPOLESTR pszKey) = 0;
1418 typedef struct IBindCtxVtbl IBindCtxVtbl;
1420 const IBindCtxVtbl* lpVtbl;
1422 struct IBindCtxVtbl {
1423 ICOM_MSVTABLE_COMPAT_FIELDS
1425 /*** IUnknown methods ***/
1426 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1431 ULONG (STDMETHODCALLTYPE *AddRef)(
1434 ULONG (STDMETHODCALLTYPE *Release)(
1437 /*** IBindCtx methods ***/
1438 HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
1442 HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
1446 HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
1449 HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
1451 BIND_OPTS* pbindopts);
1453 HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
1455 BIND_OPTS* pbindopts);
1457 HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
1459 IRunningObjectTable** pprot);
1461 HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
1466 HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
1471 HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
1473 IEnumString** ppenum);
1475 HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
1481 /*** IUnknown methods ***/
1482 #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1483 #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p)
1484 #define IBindCtx_Release(p) (p)->lpVtbl->Release(p)
1485 /*** IBindCtx methods ***/
1486 #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a)
1487 #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a)
1488 #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p)
1489 #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a)
1490 #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a)
1491 #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a)
1492 #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b)
1493 #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b)
1494 #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a)
1495 #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a)
1499 #define IBindCtx_METHODS \
1500 ICOM_MSVTABLE_COMPAT_FIELDS \
1501 /*** IUnknown methods ***/ \
1502 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1503 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1504 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1505 /*** IBindCtx methods ***/ \
1506 STDMETHOD_(HRESULT,RegisterObjectBound)(THIS_ IUnknown* punk) PURE; \
1507 STDMETHOD_(HRESULT,RevokeObjectBound)(THIS_ IUnknown* punk) PURE; \
1508 STDMETHOD_(HRESULT,ReleaseBoundObjects)(THIS) PURE; \
1509 STDMETHOD_(HRESULT,SetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1510 STDMETHOD_(HRESULT,GetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1511 STDMETHOD_(HRESULT,GetRunningObjectTable)(THIS_ IRunningObjectTable** pprot) PURE; \
1512 STDMETHOD_(HRESULT,RegisterObjectParam)(THIS_ LPOLESTR pszKey, IUnknown* punk) PURE; \
1513 STDMETHOD_(HRESULT,GetObjectParam)(THIS_ LPOLESTR pszKey, IUnknown** ppunk) PURE; \
1514 STDMETHOD_(HRESULT,EnumObjectParam)(THIS_ IEnumString** ppenum) PURE; \
1515 STDMETHOD_(HRESULT,RevokeObjectParam)(THIS_ LPOLESTR pszKey) PURE;
1517 HRESULT CALLBACK IBindCtx_RegisterObjectBound_Proxy(
1520 void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
1521 struct IRpcStubBuffer* This,
1522 struct IRpcChannelBuffer* pRpcChannelBuffer,
1523 PRPC_MESSAGE pRpcMessage,
1524 DWORD* pdwStubPhase);
1525 HRESULT CALLBACK IBindCtx_RevokeObjectBound_Proxy(
1528 void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
1529 struct IRpcStubBuffer* This,
1530 struct IRpcChannelBuffer* pRpcChannelBuffer,
1531 PRPC_MESSAGE pRpcMessage,
1532 DWORD* pdwStubPhase);
1533 HRESULT CALLBACK IBindCtx_ReleaseBoundObjects_Proxy(
1535 void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
1536 struct IRpcStubBuffer* This,
1537 struct IRpcChannelBuffer* pRpcChannelBuffer,
1538 PRPC_MESSAGE pRpcMessage,
1539 DWORD* pdwStubPhase);
1540 HRESULT CALLBACK IBindCtx_RemoteSetBindOptions_Proxy(
1542 BIND_OPTS2* pbindopts);
1543 void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
1544 struct IRpcStubBuffer* This,
1545 struct IRpcChannelBuffer* pRpcChannelBuffer,
1546 PRPC_MESSAGE pRpcMessage,
1547 DWORD* pdwStubPhase);
1548 HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
1550 BIND_OPTS* pbindopts);
1551 HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
1553 BIND_OPTS2* pbindopts);
1554 HRESULT CALLBACK IBindCtx_RemoteGetBindOptions_Proxy(
1556 BIND_OPTS2* pbindopts);
1557 void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
1558 struct IRpcStubBuffer* This,
1559 struct IRpcChannelBuffer* pRpcChannelBuffer,
1560 PRPC_MESSAGE pRpcMessage,
1561 DWORD* pdwStubPhase);
1562 HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
1564 BIND_OPTS* pbindopts);
1565 HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
1567 BIND_OPTS2* pbindopts);
1568 HRESULT CALLBACK IBindCtx_GetRunningObjectTable_Proxy(
1570 IRunningObjectTable** pprot);
1571 void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
1572 struct IRpcStubBuffer* This,
1573 struct IRpcChannelBuffer* pRpcChannelBuffer,
1574 PRPC_MESSAGE pRpcMessage,
1575 DWORD* pdwStubPhase);
1576 HRESULT CALLBACK IBindCtx_RegisterObjectParam_Proxy(
1580 void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
1581 struct IRpcStubBuffer* This,
1582 struct IRpcChannelBuffer* pRpcChannelBuffer,
1583 PRPC_MESSAGE pRpcMessage,
1584 DWORD* pdwStubPhase);
1585 HRESULT CALLBACK IBindCtx_GetObjectParam_Proxy(
1589 void __RPC_STUB IBindCtx_GetObjectParam_Stub(
1590 struct IRpcStubBuffer* This,
1591 struct IRpcChannelBuffer* pRpcChannelBuffer,
1592 PRPC_MESSAGE pRpcMessage,
1593 DWORD* pdwStubPhase);
1594 HRESULT CALLBACK IBindCtx_EnumObjectParam_Proxy(
1596 IEnumString** ppenum);
1597 void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
1598 struct IRpcStubBuffer* This,
1599 struct IRpcChannelBuffer* pRpcChannelBuffer,
1600 PRPC_MESSAGE pRpcMessage,
1601 DWORD* pdwStubPhase);
1602 HRESULT CALLBACK IBindCtx_RevokeObjectParam_Proxy(
1605 void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
1606 struct IRpcStubBuffer* This,
1607 struct IRpcChannelBuffer* pRpcChannelBuffer,
1608 PRPC_MESSAGE pRpcMessage,
1609 DWORD* pdwStubPhase);
1611 #endif /* __IBindCtx_INTERFACE_DEFINED__ */
1613 #ifndef __IEnumMoniker_FWD_DEFINED__
1614 #define __IEnumMoniker_FWD_DEFINED__
1615 typedef struct IEnumMoniker IEnumMoniker;
1618 typedef IEnumMoniker *LPENUMMONIKER;
1620 /*****************************************************************************
1621 * IEnumMoniker interface
1623 #ifndef __IEnumMoniker_INTERFACE_DEFINED__
1624 #define __IEnumMoniker_INTERFACE_DEFINED__
1626 DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1627 #if defined(__cplusplus) && !defined(CINTERFACE)
1628 struct IEnumMoniker : public IUnknown
1630 virtual HRESULT STDMETHODCALLTYPE Next(
1633 ULONG* pceltFetched) = 0;
1635 virtual HRESULT STDMETHODCALLTYPE Skip(
1638 virtual HRESULT STDMETHODCALLTYPE Reset(
1641 virtual HRESULT STDMETHODCALLTYPE Clone(
1642 IEnumMoniker** ppenum) = 0;
1646 typedef struct IEnumMonikerVtbl IEnumMonikerVtbl;
1647 struct IEnumMoniker {
1648 const IEnumMonikerVtbl* lpVtbl;
1650 struct IEnumMonikerVtbl {
1651 ICOM_MSVTABLE_COMPAT_FIELDS
1653 /*** IUnknown methods ***/
1654 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1659 ULONG (STDMETHODCALLTYPE *AddRef)(
1660 IEnumMoniker* This);
1662 ULONG (STDMETHODCALLTYPE *Release)(
1663 IEnumMoniker* This);
1665 /*** IEnumMoniker methods ***/
1666 HRESULT (STDMETHODCALLTYPE *Next)(
1670 ULONG* pceltFetched);
1672 HRESULT (STDMETHODCALLTYPE *Skip)(
1676 HRESULT (STDMETHODCALLTYPE *Reset)(
1677 IEnumMoniker* This);
1679 HRESULT (STDMETHODCALLTYPE *Clone)(
1681 IEnumMoniker** ppenum);
1685 /*** IUnknown methods ***/
1686 #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1687 #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1688 #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p)
1689 /*** IEnumMoniker methods ***/
1690 #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1691 #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1692 #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p)
1693 #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1697 #define IEnumMoniker_METHODS \
1698 ICOM_MSVTABLE_COMPAT_FIELDS \
1699 /*** IUnknown methods ***/ \
1700 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1701 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1702 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1703 /*** IEnumMoniker methods ***/ \
1704 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IMoniker** rgelt, ULONG* pceltFetched) PURE; \
1705 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1706 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1707 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMoniker** ppenum) PURE;
1709 HRESULT CALLBACK IEnumMoniker_RemoteNext_Proxy(
1713 ULONG* pceltFetched);
1714 void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
1715 struct IRpcStubBuffer* This,
1716 struct IRpcChannelBuffer* pRpcChannelBuffer,
1717 PRPC_MESSAGE pRpcMessage,
1718 DWORD* pdwStubPhase);
1719 HRESULT CALLBACK IEnumMoniker_Next_Proxy(
1723 ULONG* pceltFetched);
1724 HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
1728 ULONG* pceltFetched);
1729 HRESULT CALLBACK IEnumMoniker_Skip_Proxy(
1732 void __RPC_STUB IEnumMoniker_Skip_Stub(
1733 struct IRpcStubBuffer* This,
1734 struct IRpcChannelBuffer* pRpcChannelBuffer,
1735 PRPC_MESSAGE pRpcMessage,
1736 DWORD* pdwStubPhase);
1737 HRESULT CALLBACK IEnumMoniker_Reset_Proxy(
1738 IEnumMoniker* This);
1739 void __RPC_STUB IEnumMoniker_Reset_Stub(
1740 struct IRpcStubBuffer* This,
1741 struct IRpcChannelBuffer* pRpcChannelBuffer,
1742 PRPC_MESSAGE pRpcMessage,
1743 DWORD* pdwStubPhase);
1744 HRESULT CALLBACK IEnumMoniker_Clone_Proxy(
1746 IEnumMoniker** ppenum);
1747 void __RPC_STUB IEnumMoniker_Clone_Stub(
1748 struct IRpcStubBuffer* This,
1749 struct IRpcChannelBuffer* pRpcChannelBuffer,
1750 PRPC_MESSAGE pRpcMessage,
1751 DWORD* pdwStubPhase);
1753 #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */
1755 #ifndef __IRunnableObject_FWD_DEFINED__
1756 #define __IRunnableObject_FWD_DEFINED__
1757 typedef struct IRunnableObject IRunnableObject;
1760 typedef IRunnableObject *LPRUNNABLEOBJECT;
1762 /*****************************************************************************
1763 * IRunnableObject interface
1765 #ifndef __IRunnableObject_INTERFACE_DEFINED__
1766 #define __IRunnableObject_INTERFACE_DEFINED__
1768 DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1769 #if defined(__cplusplus) && !defined(CINTERFACE)
1770 struct IRunnableObject : public IUnknown
1772 virtual HRESULT STDMETHODCALLTYPE GetRunningClass(
1773 LPCLSID lpClsid) = 0;
1775 virtual HRESULT STDMETHODCALLTYPE Run(
1778 virtual BOOL STDMETHODCALLTYPE IsRunning(
1781 virtual HRESULT STDMETHODCALLTYPE LockRunning(
1783 BOOL fLastUnlockCloses) = 0;
1785 virtual HRESULT STDMETHODCALLTYPE SetContainedObject(
1786 BOOL fContained) = 0;
1790 typedef struct IRunnableObjectVtbl IRunnableObjectVtbl;
1791 struct IRunnableObject {
1792 const IRunnableObjectVtbl* lpVtbl;
1794 struct IRunnableObjectVtbl {
1795 ICOM_MSVTABLE_COMPAT_FIELDS
1797 /*** IUnknown methods ***/
1798 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1799 IRunnableObject* This,
1803 ULONG (STDMETHODCALLTYPE *AddRef)(
1804 IRunnableObject* This);
1806 ULONG (STDMETHODCALLTYPE *Release)(
1807 IRunnableObject* This);
1809 /*** IRunnableObject methods ***/
1810 HRESULT (STDMETHODCALLTYPE *GetRunningClass)(
1811 IRunnableObject* This,
1814 HRESULT (STDMETHODCALLTYPE *Run)(
1815 IRunnableObject* This,
1818 BOOL (STDMETHODCALLTYPE *IsRunning)(
1819 IRunnableObject* This);
1821 HRESULT (STDMETHODCALLTYPE *LockRunning)(
1822 IRunnableObject* This,
1824 BOOL fLastUnlockCloses);
1826 HRESULT (STDMETHODCALLTYPE *SetContainedObject)(
1827 IRunnableObject* This,
1832 /*** IUnknown methods ***/
1833 #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1834 #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p)
1835 #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p)
1836 /*** IRunnableObject methods ***/
1837 #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a)
1838 #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a)
1839 #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p)
1840 #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b)
1841 #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a)
1845 #define IRunnableObject_METHODS \
1846 ICOM_MSVTABLE_COMPAT_FIELDS \
1847 /*** IUnknown methods ***/ \
1848 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1849 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1850 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1851 /*** IRunnableObject methods ***/ \
1852 STDMETHOD_(HRESULT,GetRunningClass)(THIS_ LPCLSID lpClsid) PURE; \
1853 STDMETHOD_(HRESULT,Run)(THIS_ LPBINDCTX pbc) PURE; \
1854 STDMETHOD_(BOOL,IsRunning)(THIS) PURE; \
1855 STDMETHOD_(HRESULT,LockRunning)(THIS_ BOOL fLock, BOOL fLastUnlockCloses) PURE; \
1856 STDMETHOD_(HRESULT,SetContainedObject)(THIS_ BOOL fContained) PURE;
1858 HRESULT CALLBACK IRunnableObject_GetRunningClass_Proxy(
1859 IRunnableObject* This,
1861 void __RPC_STUB IRunnableObject_GetRunningClass_Stub(
1862 struct IRpcStubBuffer* This,
1863 struct IRpcChannelBuffer* pRpcChannelBuffer,
1864 PRPC_MESSAGE pRpcMessage,
1865 DWORD* pdwStubPhase);
1866 HRESULT CALLBACK IRunnableObject_Run_Proxy(
1867 IRunnableObject* This,
1869 void __RPC_STUB IRunnableObject_Run_Stub(
1870 struct IRpcStubBuffer* This,
1871 struct IRpcChannelBuffer* pRpcChannelBuffer,
1872 PRPC_MESSAGE pRpcMessage,
1873 DWORD* pdwStubPhase);
1874 HRESULT CALLBACK IRunnableObject_RemoteIsRunning_Proxy(
1875 IRunnableObject* This);
1876 void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(
1877 struct IRpcStubBuffer* This,
1878 struct IRpcChannelBuffer* pRpcChannelBuffer,
1879 PRPC_MESSAGE pRpcMessage,
1880 DWORD* pdwStubPhase);
1881 BOOL CALLBACK IRunnableObject_IsRunning_Proxy(
1882 IRunnableObject* This);
1883 HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub(
1884 IRunnableObject* This);
1885 HRESULT CALLBACK IRunnableObject_LockRunning_Proxy(
1886 IRunnableObject* This,
1888 BOOL fLastUnlockCloses);
1889 void __RPC_STUB IRunnableObject_LockRunning_Stub(
1890 struct IRpcStubBuffer* This,
1891 struct IRpcChannelBuffer* pRpcChannelBuffer,
1892 PRPC_MESSAGE pRpcMessage,
1893 DWORD* pdwStubPhase);
1894 HRESULT CALLBACK IRunnableObject_SetContainedObject_Proxy(
1895 IRunnableObject* This,
1897 void __RPC_STUB IRunnableObject_SetContainedObject_Stub(
1898 struct IRpcStubBuffer* This,
1899 struct IRpcChannelBuffer* pRpcChannelBuffer,
1900 PRPC_MESSAGE pRpcMessage,
1901 DWORD* pdwStubPhase);
1903 #endif /* __IRunnableObject_INTERFACE_DEFINED__ */
1908 typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
1910 /*****************************************************************************
1911 * IRunningObjectTable interface
1913 #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
1914 #define __IRunningObjectTable_INTERFACE_DEFINED__
1916 DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1917 #if defined(__cplusplus) && !defined(CINTERFACE)
1918 struct IRunningObjectTable : public IUnknown
1920 virtual HRESULT STDMETHODCALLTYPE Register(
1922 IUnknown* punkObject,
1923 IMoniker* pmkObjectName,
1924 DWORD* pdwRegister) = 0;
1926 virtual HRESULT STDMETHODCALLTYPE Revoke(
1927 DWORD dwRegister) = 0;
1929 virtual HRESULT STDMETHODCALLTYPE IsRunning(
1930 IMoniker* pmkObjectName) = 0;
1932 virtual HRESULT STDMETHODCALLTYPE GetObject(
1933 IMoniker* pmkObjectName,
1934 IUnknown** ppunkObject) = 0;
1936 virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
1938 FILETIME* pfiletime) = 0;
1940 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
1941 IMoniker* pmkObjectName,
1942 FILETIME* pfiletime) = 0;
1944 virtual HRESULT STDMETHODCALLTYPE EnumRunning(
1945 IEnumMoniker** ppenumMoniker) = 0;
1949 typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl;
1950 struct IRunningObjectTable {
1951 const IRunningObjectTableVtbl* lpVtbl;
1953 struct IRunningObjectTableVtbl {
1954 ICOM_MSVTABLE_COMPAT_FIELDS
1956 /*** IUnknown methods ***/
1957 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1958 IRunningObjectTable* This,
1962 ULONG (STDMETHODCALLTYPE *AddRef)(
1963 IRunningObjectTable* This);
1965 ULONG (STDMETHODCALLTYPE *Release)(
1966 IRunningObjectTable* This);
1968 /*** IRunningObjectTable methods ***/
1969 HRESULT (STDMETHODCALLTYPE *Register)(
1970 IRunningObjectTable* This,
1972 IUnknown* punkObject,
1973 IMoniker* pmkObjectName,
1974 DWORD* pdwRegister);
1976 HRESULT (STDMETHODCALLTYPE *Revoke)(
1977 IRunningObjectTable* This,
1980 HRESULT (STDMETHODCALLTYPE *IsRunning)(
1981 IRunningObjectTable* This,
1982 IMoniker* pmkObjectName);
1984 HRESULT (STDMETHODCALLTYPE *GetObject)(
1985 IRunningObjectTable* This,
1986 IMoniker* pmkObjectName,
1987 IUnknown** ppunkObject);
1989 HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
1990 IRunningObjectTable* This,
1992 FILETIME* pfiletime);
1994 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
1995 IRunningObjectTable* This,
1996 IMoniker* pmkObjectName,
1997 FILETIME* pfiletime);
1999 HRESULT (STDMETHODCALLTYPE *EnumRunning)(
2000 IRunningObjectTable* This,
2001 IEnumMoniker** ppenumMoniker);
2005 /*** IUnknown methods ***/
2006 #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2007 #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p)
2008 #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p)
2009 /*** IRunningObjectTable methods ***/
2010 #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d)
2011 #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a)
2012 #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
2013 #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
2014 #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b)
2015 #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b)
2016 #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a)
2020 #define IRunningObjectTable_METHODS \
2021 ICOM_MSVTABLE_COMPAT_FIELDS \
2022 /*** IUnknown methods ***/ \
2023 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2024 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2025 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2026 /*** IRunningObjectTable methods ***/ \
2027 STDMETHOD_(HRESULT,Register)(THIS_ DWORD grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, DWORD* pdwRegister) PURE; \
2028 STDMETHOD_(HRESULT,Revoke)(THIS_ DWORD dwRegister) PURE; \
2029 STDMETHOD_(HRESULT,IsRunning)(THIS_ IMoniker* pmkObjectName) PURE; \
2030 STDMETHOD_(HRESULT,GetObject)(THIS_ IMoniker* pmkObjectName, IUnknown** ppunkObject) PURE; \
2031 STDMETHOD_(HRESULT,NoteChangeTime)(THIS_ DWORD dwRegister, FILETIME* pfiletime) PURE; \
2032 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IMoniker* pmkObjectName, FILETIME* pfiletime) PURE; \
2033 STDMETHOD_(HRESULT,EnumRunning)(THIS_ IEnumMoniker** ppenumMoniker) PURE;
2035 HRESULT CALLBACK IRunningObjectTable_Register_Proxy(
2036 IRunningObjectTable* This,
2038 IUnknown* punkObject,
2039 IMoniker* pmkObjectName,
2040 DWORD* pdwRegister);
2041 void __RPC_STUB IRunningObjectTable_Register_Stub(
2042 struct IRpcStubBuffer* This,
2043 struct IRpcChannelBuffer* pRpcChannelBuffer,
2044 PRPC_MESSAGE pRpcMessage,
2045 DWORD* pdwStubPhase);
2046 HRESULT CALLBACK IRunningObjectTable_Revoke_Proxy(
2047 IRunningObjectTable* This,
2049 void __RPC_STUB IRunningObjectTable_Revoke_Stub(
2050 struct IRpcStubBuffer* This,
2051 struct IRpcChannelBuffer* pRpcChannelBuffer,
2052 PRPC_MESSAGE pRpcMessage,
2053 DWORD* pdwStubPhase);
2054 HRESULT CALLBACK IRunningObjectTable_IsRunning_Proxy(
2055 IRunningObjectTable* This,
2056 IMoniker* pmkObjectName);
2057 void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
2058 struct IRpcStubBuffer* This,
2059 struct IRpcChannelBuffer* pRpcChannelBuffer,
2060 PRPC_MESSAGE pRpcMessage,
2061 DWORD* pdwStubPhase);
2062 HRESULT CALLBACK IRunningObjectTable_GetObject_Proxy(
2063 IRunningObjectTable* This,
2064 IMoniker* pmkObjectName,
2065 IUnknown** ppunkObject);
2066 void __RPC_STUB IRunningObjectTable_GetObject_Stub(
2067 struct IRpcStubBuffer* This,
2068 struct IRpcChannelBuffer* pRpcChannelBuffer,
2069 PRPC_MESSAGE pRpcMessage,
2070 DWORD* pdwStubPhase);
2071 HRESULT CALLBACK IRunningObjectTable_NoteChangeTime_Proxy(
2072 IRunningObjectTable* This,
2074 FILETIME* pfiletime);
2075 void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
2076 struct IRpcStubBuffer* This,
2077 struct IRpcChannelBuffer* pRpcChannelBuffer,
2078 PRPC_MESSAGE pRpcMessage,
2079 DWORD* pdwStubPhase);
2080 HRESULT CALLBACK IRunningObjectTable_GetTimeOfLastChange_Proxy(
2081 IRunningObjectTable* This,
2082 IMoniker* pmkObjectName,
2083 FILETIME* pfiletime);
2084 void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
2085 struct IRpcStubBuffer* This,
2086 struct IRpcChannelBuffer* pRpcChannelBuffer,
2087 PRPC_MESSAGE pRpcMessage,
2088 DWORD* pdwStubPhase);
2089 HRESULT CALLBACK IRunningObjectTable_EnumRunning_Proxy(
2090 IRunningObjectTable* This,
2091 IEnumMoniker** ppenumMoniker);
2092 void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
2093 struct IRpcStubBuffer* This,
2094 struct IRpcChannelBuffer* pRpcChannelBuffer,
2095 PRPC_MESSAGE pRpcMessage,
2096 DWORD* pdwStubPhase);
2098 #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */
2100 #ifndef __IPersist_FWD_DEFINED__
2101 #define __IPersist_FWD_DEFINED__
2102 typedef struct IPersist IPersist;
2105 typedef IPersist *LPPERSIST;
2107 /*****************************************************************************
2108 * IPersist interface
2110 #ifndef __IPersist_INTERFACE_DEFINED__
2111 #define __IPersist_INTERFACE_DEFINED__
2113 DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2114 #if defined(__cplusplus) && !defined(CINTERFACE)
2115 struct IPersist : public IUnknown
2117 virtual HRESULT STDMETHODCALLTYPE GetClassID(
2118 CLSID* pClassID) = 0;
2122 typedef struct IPersistVtbl IPersistVtbl;
2124 const IPersistVtbl* lpVtbl;
2126 struct IPersistVtbl {
2127 ICOM_MSVTABLE_COMPAT_FIELDS
2129 /*** IUnknown methods ***/
2130 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2135 ULONG (STDMETHODCALLTYPE *AddRef)(
2138 ULONG (STDMETHODCALLTYPE *Release)(
2141 /*** IPersist methods ***/
2142 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2148 /*** IUnknown methods ***/
2149 #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2150 #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p)
2151 #define IPersist_Release(p) (p)->lpVtbl->Release(p)
2152 /*** IPersist methods ***/
2153 #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2157 #define IPersist_METHODS \
2158 ICOM_MSVTABLE_COMPAT_FIELDS \
2159 /*** IUnknown methods ***/ \
2160 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2161 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2162 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2163 /*** IPersist methods ***/ \
2164 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE;
2166 HRESULT CALLBACK IPersist_GetClassID_Proxy(
2169 void __RPC_STUB IPersist_GetClassID_Stub(
2170 struct IRpcStubBuffer* This,
2171 struct IRpcChannelBuffer* pRpcChannelBuffer,
2172 PRPC_MESSAGE pRpcMessage,
2173 DWORD* pdwStubPhase);
2175 #endif /* __IPersist_INTERFACE_DEFINED__ */
2177 #ifndef __IPersistStream_FWD_DEFINED__
2178 #define __IPersistStream_FWD_DEFINED__
2179 typedef struct IPersistStream IPersistStream;
2182 typedef IPersistStream *LPPERSISTSTREAM;
2184 /*****************************************************************************
2185 * IPersistStream interface
2187 #ifndef __IPersistStream_INTERFACE_DEFINED__
2188 #define __IPersistStream_INTERFACE_DEFINED__
2190 DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2191 #if defined(__cplusplus) && !defined(CINTERFACE)
2192 struct IPersistStream : public IPersist
2194 virtual HRESULT STDMETHODCALLTYPE IsDirty(
2197 virtual HRESULT STDMETHODCALLTYPE Load(
2200 virtual HRESULT STDMETHODCALLTYPE Save(
2202 BOOL fClearDirty) = 0;
2204 virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
2205 ULARGE_INTEGER* pcbSize) = 0;
2209 typedef struct IPersistStreamVtbl IPersistStreamVtbl;
2210 struct IPersistStream {
2211 const IPersistStreamVtbl* lpVtbl;
2213 struct IPersistStreamVtbl {
2214 ICOM_MSVTABLE_COMPAT_FIELDS
2216 /*** IUnknown methods ***/
2217 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2218 IPersistStream* This,
2222 ULONG (STDMETHODCALLTYPE *AddRef)(
2223 IPersistStream* This);
2225 ULONG (STDMETHODCALLTYPE *Release)(
2226 IPersistStream* This);
2228 /*** IPersist methods ***/
2229 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2230 IPersistStream* This,
2233 /*** IPersistStream methods ***/
2234 HRESULT (STDMETHODCALLTYPE *IsDirty)(
2235 IPersistStream* This);
2237 HRESULT (STDMETHODCALLTYPE *Load)(
2238 IPersistStream* This,
2241 HRESULT (STDMETHODCALLTYPE *Save)(
2242 IPersistStream* This,
2246 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2247 IPersistStream* This,
2248 ULARGE_INTEGER* pcbSize);
2252 /*** IUnknown methods ***/
2253 #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2254 #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2255 #define IPersistStream_Release(p) (p)->lpVtbl->Release(p)
2256 /*** IPersist methods ***/
2257 #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2258 /*** IPersistStream methods ***/
2259 #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2260 #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a)
2261 #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2262 #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2266 #define IPersistStream_METHODS \
2267 ICOM_MSVTABLE_COMPAT_FIELDS \
2268 /*** IUnknown methods ***/ \
2269 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2270 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2271 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2272 /*** IPersist methods ***/ \
2273 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2274 /*** IPersistStream methods ***/ \
2275 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2276 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2277 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2278 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE;
2280 HRESULT CALLBACK IPersistStream_IsDirty_Proxy(
2281 IPersistStream* This);
2282 void __RPC_STUB IPersistStream_IsDirty_Stub(
2283 struct IRpcStubBuffer* This,
2284 struct IRpcChannelBuffer* pRpcChannelBuffer,
2285 PRPC_MESSAGE pRpcMessage,
2286 DWORD* pdwStubPhase);
2287 HRESULT CALLBACK IPersistStream_Load_Proxy(
2288 IPersistStream* This,
2290 void __RPC_STUB IPersistStream_Load_Stub(
2291 struct IRpcStubBuffer* This,
2292 struct IRpcChannelBuffer* pRpcChannelBuffer,
2293 PRPC_MESSAGE pRpcMessage,
2294 DWORD* pdwStubPhase);
2295 HRESULT CALLBACK IPersistStream_Save_Proxy(
2296 IPersistStream* This,
2299 void __RPC_STUB IPersistStream_Save_Stub(
2300 struct IRpcStubBuffer* This,
2301 struct IRpcChannelBuffer* pRpcChannelBuffer,
2302 PRPC_MESSAGE pRpcMessage,
2303 DWORD* pdwStubPhase);
2304 HRESULT CALLBACK IPersistStream_GetSizeMax_Proxy(
2305 IPersistStream* This,
2306 ULARGE_INTEGER* pcbSize);
2307 void __RPC_STUB IPersistStream_GetSizeMax_Stub(
2308 struct IRpcStubBuffer* This,
2309 struct IRpcChannelBuffer* pRpcChannelBuffer,
2310 PRPC_MESSAGE pRpcMessage,
2311 DWORD* pdwStubPhase);
2313 #endif /* __IPersistStream_INTERFACE_DEFINED__ */
2315 typedef IMoniker *LPMONIKER;
2317 typedef enum tagMKSYS {
2319 MKSYS_GENERICCOMPOSITE = 1,
2320 MKSYS_FILEMONIKER = 2,
2321 MKSYS_ANTIMONIKER = 3,
2322 MKSYS_ITEMMONIKER = 4,
2323 MKSYS_POINTERMONIKER = 5,
2324 MKSYS_CLASSMONIKER = 7
2327 typedef enum tagMKREDUCE {
2328 MKRREDUCE_ONE = 3 << 16,
2329 MKRREDUCE_TOUSER = 2 << 16,
2330 MKRREDUCE_THROUGHUSER = 1 << 16,
2334 /*****************************************************************************
2335 * IMoniker interface
2337 #ifndef __IMoniker_INTERFACE_DEFINED__
2338 #define __IMoniker_INTERFACE_DEFINED__
2340 DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2341 #if defined(__cplusplus) && !defined(CINTERFACE)
2342 struct IMoniker : public IPersistStream
2344 virtual HRESULT STDMETHODCALLTYPE BindToObject(
2346 IMoniker* pmkToLeft,
2348 void** ppvResult) = 0;
2350 virtual HRESULT STDMETHODCALLTYPE BindToStorage(
2352 IMoniker* pmkToLeft,
2356 virtual HRESULT STDMETHODCALLTYPE Reduce(
2358 DWORD dwReduceHowFar,
2359 IMoniker** ppmkToLeft,
2360 IMoniker** ppmkReduced) = 0;
2362 virtual HRESULT STDMETHODCALLTYPE ComposeWith(
2364 BOOL fOnlyIfNotGeneric,
2365 IMoniker** ppmkComposite) = 0;
2367 virtual HRESULT STDMETHODCALLTYPE Enum(
2369 IEnumMoniker** ppenumMoniker) = 0;
2371 virtual HRESULT STDMETHODCALLTYPE IsEqual(
2372 IMoniker* pmkOtherMoniker) = 0;
2374 virtual HRESULT STDMETHODCALLTYPE Hash(
2375 DWORD* pdwHash) = 0;
2377 virtual HRESULT STDMETHODCALLTYPE IsRunning(
2379 IMoniker* pmkToLeft,
2380 IMoniker* pmkNewlyRunning) = 0;
2382 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
2384 IMoniker* pmkToLeft,
2385 FILETIME* pFileTime) = 0;
2387 virtual HRESULT STDMETHODCALLTYPE Inverse(
2388 IMoniker** ppmk) = 0;
2390 virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
2392 IMoniker** ppmkPrefix) = 0;
2394 virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
2396 IMoniker** ppmkRelPath) = 0;
2398 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
2400 IMoniker* pmkToLeft,
2401 LPOLESTR* ppszDisplayName) = 0;
2403 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
2405 IMoniker* pmkToLeft,
2406 LPOLESTR pszDisplayName,
2408 IMoniker** ppmkOut) = 0;
2410 virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
2411 DWORD* pdwMksys) = 0;
2415 typedef struct IMonikerVtbl IMonikerVtbl;
2417 const IMonikerVtbl* lpVtbl;
2419 struct IMonikerVtbl {
2420 ICOM_MSVTABLE_COMPAT_FIELDS
2422 /*** IUnknown methods ***/
2423 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2428 ULONG (STDMETHODCALLTYPE *AddRef)(
2431 ULONG (STDMETHODCALLTYPE *Release)(
2434 /*** IPersist methods ***/
2435 HRESULT (STDMETHODCALLTYPE *GetClassID)(
2439 /*** IPersistStream methods ***/
2440 HRESULT (STDMETHODCALLTYPE *IsDirty)(
2443 HRESULT (STDMETHODCALLTYPE *Load)(
2447 HRESULT (STDMETHODCALLTYPE *Save)(
2452 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2454 ULARGE_INTEGER* pcbSize);
2456 /*** IMoniker methods ***/
2457 HRESULT (STDMETHODCALLTYPE *BindToObject)(
2460 IMoniker* pmkToLeft,
2464 HRESULT (STDMETHODCALLTYPE *BindToStorage)(
2467 IMoniker* pmkToLeft,
2471 HRESULT (STDMETHODCALLTYPE *Reduce)(
2474 DWORD dwReduceHowFar,
2475 IMoniker** ppmkToLeft,
2476 IMoniker** ppmkReduced);
2478 HRESULT (STDMETHODCALLTYPE *ComposeWith)(
2481 BOOL fOnlyIfNotGeneric,
2482 IMoniker** ppmkComposite);
2484 HRESULT (STDMETHODCALLTYPE *Enum)(
2487 IEnumMoniker** ppenumMoniker);
2489 HRESULT (STDMETHODCALLTYPE *IsEqual)(
2491 IMoniker* pmkOtherMoniker);
2493 HRESULT (STDMETHODCALLTYPE *Hash)(
2497 HRESULT (STDMETHODCALLTYPE *IsRunning)(
2500 IMoniker* pmkToLeft,
2501 IMoniker* pmkNewlyRunning);
2503 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
2506 IMoniker* pmkToLeft,
2507 FILETIME* pFileTime);
2509 HRESULT (STDMETHODCALLTYPE *Inverse)(
2513 HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
2516 IMoniker** ppmkPrefix);
2518 HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
2521 IMoniker** ppmkRelPath);
2523 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2526 IMoniker* pmkToLeft,
2527 LPOLESTR* ppszDisplayName);
2529 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
2532 IMoniker* pmkToLeft,
2533 LPOLESTR pszDisplayName,
2535 IMoniker** ppmkOut);
2537 HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
2543 /*** IUnknown methods ***/
2544 #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2545 #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
2546 #define IMoniker_Release(p) (p)->lpVtbl->Release(p)
2547 /*** IPersist methods ***/
2548 #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2549 /*** IPersistStream methods ***/
2550 #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2551 #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a)
2552 #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2553 #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2554 /*** IMoniker methods ***/
2555 #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
2556 #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
2557 #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d)
2558 #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c)
2559 #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b)
2560 #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
2561 #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a)
2562 #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c)
2563 #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c)
2564 #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a)
2565 #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b)
2566 #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b)
2567 #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c)
2568 #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e)
2569 #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a)
2573 #define IMoniker_METHODS \
2574 ICOM_MSVTABLE_COMPAT_FIELDS \
2575 /*** IUnknown methods ***/ \
2576 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2577 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2578 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2579 /*** IPersist methods ***/ \
2580 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2581 /*** IPersistStream methods ***/ \
2582 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2583 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2584 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2585 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; \
2586 /*** IMoniker methods ***/ \
2587 STDMETHOD_(HRESULT,BindToObject)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riidResult, void** ppvResult) PURE; \
2588 STDMETHOD_(HRESULT,BindToStorage)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riid, void** ppvObj) PURE; \
2589 STDMETHOD_(HRESULT,Reduce)(THIS_ IBindCtx* pbc, DWORD dwReduceHowFar, IMoniker** ppmkToLeft, IMoniker** ppmkReduced) PURE; \
2590 STDMETHOD_(HRESULT,ComposeWith)(THIS_ IMoniker* pmkRight, BOOL fOnlyIfNotGeneric, IMoniker** ppmkComposite) PURE; \
2591 STDMETHOD_(HRESULT,Enum)(THIS_ BOOL fForward, IEnumMoniker** ppenumMoniker) PURE; \
2592 STDMETHOD_(HRESULT,IsEqual)(THIS_ IMoniker* pmkOtherMoniker) PURE; \
2593 STDMETHOD_(HRESULT,Hash)(THIS_ DWORD* pdwHash) PURE; \
2594 STDMETHOD_(HRESULT,IsRunning)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, IMoniker* pmkNewlyRunning) PURE; \
2595 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, FILETIME* pFileTime) PURE; \
2596 STDMETHOD_(HRESULT,Inverse)(THIS_ IMoniker** ppmk) PURE; \
2597 STDMETHOD_(HRESULT,CommonPrefixWith)(THIS_ IMoniker* pmkOther, IMoniker** ppmkPrefix) PURE; \
2598 STDMETHOD_(HRESULT,RelativePathTo)(THIS_ IMoniker* pmkOther, IMoniker** ppmkRelPath) PURE; \
2599 STDMETHOD_(HRESULT,GetDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR* ppszDisplayName) PURE; \
2600 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
2601 STDMETHOD_(HRESULT,IsSystemMoniker)(THIS_ DWORD* pdwMksys) PURE;
2603 HRESULT CALLBACK IMoniker_RemoteBindToObject_Proxy(
2606 IMoniker* pmkToLeft,
2608 IUnknown** ppvResult);
2609 void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
2610 struct IRpcStubBuffer* This,
2611 struct IRpcChannelBuffer* pRpcChannelBuffer,
2612 PRPC_MESSAGE pRpcMessage,
2613 DWORD* pdwStubPhase);
2614 HRESULT CALLBACK IMoniker_BindToObject_Proxy(
2617 IMoniker* pmkToLeft,
2620 HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
2623 IMoniker* pmkToLeft,
2625 IUnknown** ppvResult);
2626 HRESULT CALLBACK IMoniker_RemoteBindToStorage_Proxy(
2629 IMoniker* pmkToLeft,
2632 void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
2633 struct IRpcStubBuffer* This,
2634 struct IRpcChannelBuffer* pRpcChannelBuffer,
2635 PRPC_MESSAGE pRpcMessage,
2636 DWORD* pdwStubPhase);
2637 HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
2640 IMoniker* pmkToLeft,
2643 HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
2646 IMoniker* pmkToLeft,
2649 HRESULT CALLBACK IMoniker_Reduce_Proxy(
2652 DWORD dwReduceHowFar,
2653 IMoniker** ppmkToLeft,
2654 IMoniker** ppmkReduced);
2655 void __RPC_STUB IMoniker_Reduce_Stub(
2656 struct IRpcStubBuffer* This,
2657 struct IRpcChannelBuffer* pRpcChannelBuffer,
2658 PRPC_MESSAGE pRpcMessage,
2659 DWORD* pdwStubPhase);
2660 HRESULT CALLBACK IMoniker_ComposeWith_Proxy(
2663 BOOL fOnlyIfNotGeneric,
2664 IMoniker** ppmkComposite);
2665 void __RPC_STUB IMoniker_ComposeWith_Stub(
2666 struct IRpcStubBuffer* This,
2667 struct IRpcChannelBuffer* pRpcChannelBuffer,
2668 PRPC_MESSAGE pRpcMessage,
2669 DWORD* pdwStubPhase);
2670 HRESULT CALLBACK IMoniker_Enum_Proxy(
2673 IEnumMoniker** ppenumMoniker);
2674 void __RPC_STUB IMoniker_Enum_Stub(
2675 struct IRpcStubBuffer* This,
2676 struct IRpcChannelBuffer* pRpcChannelBuffer,
2677 PRPC_MESSAGE pRpcMessage,
2678 DWORD* pdwStubPhase);
2679 HRESULT CALLBACK IMoniker_IsEqual_Proxy(
2681 IMoniker* pmkOtherMoniker);
2682 void __RPC_STUB IMoniker_IsEqual_Stub(
2683 struct IRpcStubBuffer* This,
2684 struct IRpcChannelBuffer* pRpcChannelBuffer,
2685 PRPC_MESSAGE pRpcMessage,
2686 DWORD* pdwStubPhase);
2687 HRESULT CALLBACK IMoniker_Hash_Proxy(
2690 void __RPC_STUB IMoniker_Hash_Stub(
2691 struct IRpcStubBuffer* This,
2692 struct IRpcChannelBuffer* pRpcChannelBuffer,
2693 PRPC_MESSAGE pRpcMessage,
2694 DWORD* pdwStubPhase);
2695 HRESULT CALLBACK IMoniker_IsRunning_Proxy(
2698 IMoniker* pmkToLeft,
2699 IMoniker* pmkNewlyRunning);
2700 void __RPC_STUB IMoniker_IsRunning_Stub(
2701 struct IRpcStubBuffer* This,
2702 struct IRpcChannelBuffer* pRpcChannelBuffer,
2703 PRPC_MESSAGE pRpcMessage,
2704 DWORD* pdwStubPhase);
2705 HRESULT CALLBACK IMoniker_GetTimeOfLastChange_Proxy(
2708 IMoniker* pmkToLeft,
2709 FILETIME* pFileTime);
2710 void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
2711 struct IRpcStubBuffer* This,
2712 struct IRpcChannelBuffer* pRpcChannelBuffer,
2713 PRPC_MESSAGE pRpcMessage,
2714 DWORD* pdwStubPhase);
2715 HRESULT CALLBACK IMoniker_Inverse_Proxy(
2718 void __RPC_STUB IMoniker_Inverse_Stub(
2719 struct IRpcStubBuffer* This,
2720 struct IRpcChannelBuffer* pRpcChannelBuffer,
2721 PRPC_MESSAGE pRpcMessage,
2722 DWORD* pdwStubPhase);
2723 HRESULT CALLBACK IMoniker_CommonPrefixWith_Proxy(
2726 IMoniker** ppmkPrefix);
2727 void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
2728 struct IRpcStubBuffer* This,
2729 struct IRpcChannelBuffer* pRpcChannelBuffer,
2730 PRPC_MESSAGE pRpcMessage,
2731 DWORD* pdwStubPhase);
2732 HRESULT CALLBACK IMoniker_RelativePathTo_Proxy(
2735 IMoniker** ppmkRelPath);
2736 void __RPC_STUB IMoniker_RelativePathTo_Stub(
2737 struct IRpcStubBuffer* This,
2738 struct IRpcChannelBuffer* pRpcChannelBuffer,
2739 PRPC_MESSAGE pRpcMessage,
2740 DWORD* pdwStubPhase);
2741 HRESULT CALLBACK IMoniker_GetDisplayName_Proxy(
2744 IMoniker* pmkToLeft,
2745 LPOLESTR* ppszDisplayName);
2746 void __RPC_STUB IMoniker_GetDisplayName_Stub(
2747 struct IRpcStubBuffer* This,
2748 struct IRpcChannelBuffer* pRpcChannelBuffer,
2749 PRPC_MESSAGE pRpcMessage,
2750 DWORD* pdwStubPhase);
2751 HRESULT CALLBACK IMoniker_ParseDisplayName_Proxy(
2754 IMoniker* pmkToLeft,
2755 LPOLESTR pszDisplayName,
2757 IMoniker** ppmkOut);
2758 void __RPC_STUB IMoniker_ParseDisplayName_Stub(
2759 struct IRpcStubBuffer* This,
2760 struct IRpcChannelBuffer* pRpcChannelBuffer,
2761 PRPC_MESSAGE pRpcMessage,
2762 DWORD* pdwStubPhase);
2763 HRESULT CALLBACK IMoniker_IsSystemMoniker_Proxy(
2766 void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
2767 struct IRpcStubBuffer* This,
2768 struct IRpcChannelBuffer* pRpcChannelBuffer,
2769 PRPC_MESSAGE pRpcMessage,
2770 DWORD* pdwStubPhase);
2772 #endif /* __IMoniker_INTERFACE_DEFINED__ */
2774 #ifndef __IROTData_FWD_DEFINED__
2775 #define __IROTData_FWD_DEFINED__
2776 typedef struct IROTData IROTData;
2779 /*****************************************************************************
2780 * IROTData interface
2782 #ifndef __IROTData_INTERFACE_DEFINED__
2783 #define __IROTData_INTERFACE_DEFINED__
2785 DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
2786 #if defined(__cplusplus) && !defined(CINTERFACE)
2787 struct IROTData : public IUnknown
2789 virtual HRESULT STDMETHODCALLTYPE GetComparisonData(
2792 ULONG* pcbData) = 0;
2796 typedef struct IROTDataVtbl IROTDataVtbl;
2798 const IROTDataVtbl* lpVtbl;
2800 struct IROTDataVtbl {
2801 ICOM_MSVTABLE_COMPAT_FIELDS
2803 /*** IUnknown methods ***/
2804 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2809 ULONG (STDMETHODCALLTYPE *AddRef)(
2812 ULONG (STDMETHODCALLTYPE *Release)(
2815 /*** IROTData methods ***/
2816 HRESULT (STDMETHODCALLTYPE *GetComparisonData)(
2824 /*** IUnknown methods ***/
2825 #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2826 #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p)
2827 #define IROTData_Release(p) (p)->lpVtbl->Release(p)
2828 /*** IROTData methods ***/
2829 #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c)
2833 #define IROTData_METHODS \
2834 ICOM_MSVTABLE_COMPAT_FIELDS \
2835 /*** IUnknown methods ***/ \
2836 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2837 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2838 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2839 /*** IROTData methods ***/ \
2840 STDMETHOD_(HRESULT,GetComparisonData)(THIS_ byte* pbData, ULONG cbMax, ULONG* pcbData) PURE;
2842 HRESULT CALLBACK IROTData_GetComparisonData_Proxy(
2847 void __RPC_STUB IROTData_GetComparisonData_Stub(
2848 struct IRpcStubBuffer* This,
2849 struct IRpcChannelBuffer* pRpcChannelBuffer,
2850 PRPC_MESSAGE pRpcMessage,
2851 DWORD* pdwStubPhase);
2853 #endif /* __IROTData_INTERFACE_DEFINED__ */
2855 typedef IEnumString *LPENUMSTRING;
2857 /*****************************************************************************
2858 * IEnumString interface
2860 #ifndef __IEnumString_INTERFACE_DEFINED__
2861 #define __IEnumString_INTERFACE_DEFINED__
2863 DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2864 #if defined(__cplusplus) && !defined(CINTERFACE)
2865 struct IEnumString : public IUnknown
2867 virtual HRESULT STDMETHODCALLTYPE Next(
2870 ULONG* pceltFetched) = 0;
2872 virtual HRESULT STDMETHODCALLTYPE Skip(
2875 virtual HRESULT STDMETHODCALLTYPE Reset(
2878 virtual HRESULT STDMETHODCALLTYPE Clone(
2879 IEnumString** ppenum) = 0;
2883 typedef struct IEnumStringVtbl IEnumStringVtbl;
2884 struct IEnumString {
2885 const IEnumStringVtbl* lpVtbl;
2887 struct IEnumStringVtbl {
2888 ICOM_MSVTABLE_COMPAT_FIELDS
2890 /*** IUnknown methods ***/
2891 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2896 ULONG (STDMETHODCALLTYPE *AddRef)(
2899 ULONG (STDMETHODCALLTYPE *Release)(
2902 /*** IEnumString methods ***/
2903 HRESULT (STDMETHODCALLTYPE *Next)(
2907 ULONG* pceltFetched);
2909 HRESULT (STDMETHODCALLTYPE *Skip)(
2913 HRESULT (STDMETHODCALLTYPE *Reset)(
2916 HRESULT (STDMETHODCALLTYPE *Clone)(
2918 IEnumString** ppenum);
2922 /*** IUnknown methods ***/
2923 #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2924 #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p)
2925 #define IEnumString_Release(p) (p)->lpVtbl->Release(p)
2926 /*** IEnumString methods ***/
2927 #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2928 #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2929 #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p)
2930 #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2934 #define IEnumString_METHODS \
2935 ICOM_MSVTABLE_COMPAT_FIELDS \
2936 /*** IUnknown methods ***/ \
2937 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2938 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2939 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2940 /*** IEnumString methods ***/ \
2941 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched) PURE; \
2942 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2943 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2944 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumString** ppenum) PURE;
2946 HRESULT CALLBACK IEnumString_RemoteNext_Proxy(
2950 ULONG* pceltFetched);
2951 void __RPC_STUB IEnumString_RemoteNext_Stub(
2952 struct IRpcStubBuffer* This,
2953 struct IRpcChannelBuffer* pRpcChannelBuffer,
2954 PRPC_MESSAGE pRpcMessage,
2955 DWORD* pdwStubPhase);
2956 HRESULT CALLBACK IEnumString_Next_Proxy(
2960 ULONG* pceltFetched);
2961 HRESULT __RPC_STUB IEnumString_Next_Stub(
2965 ULONG* pceltFetched);
2966 HRESULT CALLBACK IEnumString_Skip_Proxy(
2969 void __RPC_STUB IEnumString_Skip_Stub(
2970 struct IRpcStubBuffer* This,
2971 struct IRpcChannelBuffer* pRpcChannelBuffer,
2972 PRPC_MESSAGE pRpcMessage,
2973 DWORD* pdwStubPhase);
2974 HRESULT CALLBACK IEnumString_Reset_Proxy(
2976 void __RPC_STUB IEnumString_Reset_Stub(
2977 struct IRpcStubBuffer* This,
2978 struct IRpcChannelBuffer* pRpcChannelBuffer,
2979 PRPC_MESSAGE pRpcMessage,
2980 DWORD* pdwStubPhase);
2981 HRESULT CALLBACK IEnumString_Clone_Proxy(
2983 IEnumString** ppenum);
2984 void __RPC_STUB IEnumString_Clone_Stub(
2985 struct IRpcStubBuffer* This,
2986 struct IRpcChannelBuffer* pRpcChannelBuffer,
2987 PRPC_MESSAGE pRpcMessage,
2988 DWORD* pdwStubPhase);
2990 #endif /* __IEnumString_INTERFACE_DEFINED__ */
2992 #ifndef __IClassActivator_FWD_DEFINED__
2993 #define __IClassActivator_FWD_DEFINED__
2994 typedef struct IClassActivator IClassActivator;
2997 /*****************************************************************************
2998 * IClassActivator interface
3000 #ifndef __IClassActivator_INTERFACE_DEFINED__
3001 #define __IClassActivator_INTERFACE_DEFINED__
3003 DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3004 #if defined(__cplusplus) && !defined(CINTERFACE)
3005 struct IClassActivator : public IUnknown
3007 virtual HRESULT STDMETHODCALLTYPE GetClassObject(
3009 DWORD dwClassContext,
3016 typedef struct IClassActivatorVtbl IClassActivatorVtbl;
3017 struct IClassActivator {
3018 const IClassActivatorVtbl* lpVtbl;
3020 struct IClassActivatorVtbl {
3021 ICOM_MSVTABLE_COMPAT_FIELDS
3023 /*** IUnknown methods ***/
3024 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3025 IClassActivator* This,
3029 ULONG (STDMETHODCALLTYPE *AddRef)(
3030 IClassActivator* This);
3032 ULONG (STDMETHODCALLTYPE *Release)(
3033 IClassActivator* This);
3035 /*** IClassActivator methods ***/
3036 HRESULT (STDMETHODCALLTYPE *GetClassObject)(
3037 IClassActivator* This,
3039 DWORD dwClassContext,
3046 /*** IUnknown methods ***/
3047 #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3048 #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p)
3049 #define IClassActivator_Release(p) (p)->lpVtbl->Release(p)
3050 /*** IClassActivator methods ***/
3051 #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e)
3055 #define IClassActivator_METHODS \
3056 ICOM_MSVTABLE_COMPAT_FIELDS \
3057 /*** IUnknown methods ***/ \
3058 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3059 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3060 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3061 /*** IClassActivator methods ***/ \
3062 STDMETHOD_(HRESULT,GetClassObject)(THIS_ REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) PURE;
3064 HRESULT CALLBACK IClassActivator_GetClassObject_Proxy(
3065 IClassActivator* This,
3067 DWORD dwClassContext,
3071 void __RPC_STUB IClassActivator_GetClassObject_Stub(
3072 struct IRpcStubBuffer* This,
3073 struct IRpcChannelBuffer* pRpcChannelBuffer,
3074 PRPC_MESSAGE pRpcMessage,
3075 DWORD* pdwStubPhase);
3077 #endif /* __IClassActivator_INTERFACE_DEFINED__ */
3079 #ifndef __ISequentialStream_FWD_DEFINED__
3080 #define __ISequentialStream_FWD_DEFINED__
3081 typedef struct ISequentialStream ISequentialStream;
3084 /*****************************************************************************
3085 * ISequentialStream interface
3087 #ifndef __ISequentialStream_INTERFACE_DEFINED__
3088 #define __ISequentialStream_INTERFACE_DEFINED__
3090 DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
3091 #if defined(__cplusplus) && !defined(CINTERFACE)
3092 struct ISequentialStream : public IUnknown
3094 virtual HRESULT STDMETHODCALLTYPE Read(
3097 ULONG* pcbRead) = 0;
3099 virtual HRESULT STDMETHODCALLTYPE Write(
3102 ULONG* pcbWritten) = 0;
3106 typedef struct ISequentialStreamVtbl ISequentialStreamVtbl;
3107 struct ISequentialStream {
3108 const ISequentialStreamVtbl* lpVtbl;
3110 struct ISequentialStreamVtbl {
3111 ICOM_MSVTABLE_COMPAT_FIELDS
3113 /*** IUnknown methods ***/
3114 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3115 ISequentialStream* This,
3119 ULONG (STDMETHODCALLTYPE *AddRef)(
3120 ISequentialStream* This);
3122 ULONG (STDMETHODCALLTYPE *Release)(
3123 ISequentialStream* This);
3125 /*** ISequentialStream methods ***/
3126 HRESULT (STDMETHODCALLTYPE *Read)(
3127 ISequentialStream* This,
3132 HRESULT (STDMETHODCALLTYPE *Write)(
3133 ISequentialStream* This,
3140 /*** IUnknown methods ***/
3141 #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3142 #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3143 #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p)
3144 /*** ISequentialStream methods ***/
3145 #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3146 #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3150 #define ISequentialStream_METHODS \
3151 ICOM_MSVTABLE_COMPAT_FIELDS \
3152 /*** IUnknown methods ***/ \
3153 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3154 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3155 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3156 /*** ISequentialStream methods ***/ \
3157 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3158 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE;
3160 HRESULT CALLBACK ISequentialStream_RemoteRead_Proxy(
3161 ISequentialStream* This,
3165 void __RPC_STUB ISequentialStream_RemoteRead_Stub(
3166 struct IRpcStubBuffer* This,
3167 struct IRpcChannelBuffer* pRpcChannelBuffer,
3168 PRPC_MESSAGE pRpcMessage,
3169 DWORD* pdwStubPhase);
3170 HRESULT CALLBACK ISequentialStream_Read_Proxy(
3171 ISequentialStream* This,
3175 HRESULT __RPC_STUB ISequentialStream_Read_Stub(
3176 ISequentialStream* This,
3180 HRESULT CALLBACK ISequentialStream_RemoteWrite_Proxy(
3181 ISequentialStream* This,
3185 void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
3186 struct IRpcStubBuffer* This,
3187 struct IRpcChannelBuffer* pRpcChannelBuffer,
3188 PRPC_MESSAGE pRpcMessage,
3189 DWORD* pdwStubPhase);
3190 HRESULT CALLBACK ISequentialStream_Write_Proxy(
3191 ISequentialStream* This,
3195 HRESULT __RPC_STUB ISequentialStream_Write_Stub(
3196 ISequentialStream* This,
3201 #endif /* __ISequentialStream_INTERFACE_DEFINED__ */
3203 typedef IStream *LPSTREAM;
3205 typedef struct tagSTATSTG {
3208 ULARGE_INTEGER cbSize;
3213 DWORD grfLocksSupported;
3219 typedef enum tagSTGTY {
3222 STGTY_LOCKBYTES = 3,
3226 typedef enum tagSTREAM_SEEK {
3227 STREAM_SEEK_SET = 0,
3228 STREAM_SEEK_CUR = 1,
3236 typedef enum tagLOCKTYPE {
3242 /*****************************************************************************
3245 #ifndef __IStream_INTERFACE_DEFINED__
3246 #define __IStream_INTERFACE_DEFINED__
3248 DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3249 #if defined(__cplusplus) && !defined(CINTERFACE)
3250 struct IStream : public ISequentialStream
3252 virtual HRESULT STDMETHODCALLTYPE Seek(
3253 LARGE_INTEGER dlibMove,
3255 ULARGE_INTEGER* plibNewPosition) = 0;
3257 virtual HRESULT STDMETHODCALLTYPE SetSize(
3258 ULARGE_INTEGER libNewSize) = 0;
3260 virtual HRESULT STDMETHODCALLTYPE CopyTo(
3263 ULARGE_INTEGER* pcbRead,
3264 ULARGE_INTEGER* pcbWritten) = 0;
3266 virtual HRESULT STDMETHODCALLTYPE Commit(
3267 DWORD grfCommitFlags) = 0;
3269 virtual HRESULT STDMETHODCALLTYPE Revert(
3272 virtual HRESULT STDMETHODCALLTYPE LockRegion(
3273 ULARGE_INTEGER libOffset,
3275 DWORD dwLockType) = 0;
3277 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
3278 ULARGE_INTEGER libOffset,
3280 DWORD dwLockType) = 0;
3282 virtual HRESULT STDMETHODCALLTYPE Stat(
3284 DWORD grfStatFlag) = 0;
3286 virtual HRESULT STDMETHODCALLTYPE Clone(
3287 IStream** ppstm) = 0;
3291 typedef struct IStreamVtbl IStreamVtbl;
3293 const IStreamVtbl* lpVtbl;
3295 struct IStreamVtbl {
3296 ICOM_MSVTABLE_COMPAT_FIELDS
3298 /*** IUnknown methods ***/
3299 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3304 ULONG (STDMETHODCALLTYPE *AddRef)(
3307 ULONG (STDMETHODCALLTYPE *Release)(
3310 /*** ISequentialStream methods ***/
3311 HRESULT (STDMETHODCALLTYPE *Read)(
3317 HRESULT (STDMETHODCALLTYPE *Write)(
3323 /*** IStream methods ***/
3324 HRESULT (STDMETHODCALLTYPE *Seek)(
3326 LARGE_INTEGER dlibMove,
3328 ULARGE_INTEGER* plibNewPosition);
3330 HRESULT (STDMETHODCALLTYPE *SetSize)(
3332 ULARGE_INTEGER libNewSize);
3334 HRESULT (STDMETHODCALLTYPE *CopyTo)(
3338 ULARGE_INTEGER* pcbRead,
3339 ULARGE_INTEGER* pcbWritten);
3341 HRESULT (STDMETHODCALLTYPE *Commit)(
3343 DWORD grfCommitFlags);
3345 HRESULT (STDMETHODCALLTYPE *Revert)(
3348 HRESULT (STDMETHODCALLTYPE *LockRegion)(
3350 ULARGE_INTEGER libOffset,
3354 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
3356 ULARGE_INTEGER libOffset,
3360 HRESULT (STDMETHODCALLTYPE *Stat)(
3365 HRESULT (STDMETHODCALLTYPE *Clone)(
3371 /*** IUnknown methods ***/
3372 #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3373 #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3374 #define IStream_Release(p) (p)->lpVtbl->Release(p)
3375 /*** ISequentialStream methods ***/
3376 #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3377 #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3378 /*** IStream methods ***/
3379 #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3380 #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3381 #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3382 #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3383 #define IStream_Revert(p) (p)->lpVtbl->Revert(p)
3384 #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3385 #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3386 #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3387 #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3391 #define IStream_METHODS \
3392 ICOM_MSVTABLE_COMPAT_FIELDS \
3393 /*** IUnknown methods ***/ \
3394 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3395 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3396 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3397 /*** ISequentialStream methods ***/ \
3398 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3399 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3400 /*** IStream methods ***/ \
3401 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3402 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3403 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3404 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3405 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3406 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3407 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3408 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3409 STDMETHOD_(HRESULT,Clone)(THIS_ IStream** ppstm) PURE;
3411 HRESULT CALLBACK IStream_RemoteSeek_Proxy(
3413 LARGE_INTEGER dlibMove,
3415 ULARGE_INTEGER* plibNewPosition);
3416 void __RPC_STUB IStream_RemoteSeek_Stub(
3417 struct IRpcStubBuffer* This,
3418 struct IRpcChannelBuffer* pRpcChannelBuffer,
3419 PRPC_MESSAGE pRpcMessage,
3420 DWORD* pdwStubPhase);
3421 HRESULT CALLBACK IStream_Seek_Proxy(
3423 LARGE_INTEGER dlibMove,
3425 ULARGE_INTEGER* plibNewPosition);
3426 HRESULT __RPC_STUB IStream_Seek_Stub(
3428 LARGE_INTEGER dlibMove,
3430 ULARGE_INTEGER* plibNewPosition);
3431 HRESULT CALLBACK IStream_SetSize_Proxy(
3433 ULARGE_INTEGER libNewSize);
3434 void __RPC_STUB IStream_SetSize_Stub(
3435 struct IRpcStubBuffer* This,
3436 struct IRpcChannelBuffer* pRpcChannelBuffer,
3437 PRPC_MESSAGE pRpcMessage,
3438 DWORD* pdwStubPhase);
3439 HRESULT CALLBACK IStream_RemoteCopyTo_Proxy(
3443 ULARGE_INTEGER* pcbRead,
3444 ULARGE_INTEGER* pcbWritten);
3445 void __RPC_STUB IStream_RemoteCopyTo_Stub(
3446 struct IRpcStubBuffer* This,
3447 struct IRpcChannelBuffer* pRpcChannelBuffer,
3448 PRPC_MESSAGE pRpcMessage,
3449 DWORD* pdwStubPhase);
3450 HRESULT CALLBACK IStream_CopyTo_Proxy(
3454 ULARGE_INTEGER* pcbRead,
3455 ULARGE_INTEGER* pcbWritten);
3456 HRESULT __RPC_STUB IStream_CopyTo_Stub(
3460 ULARGE_INTEGER* pcbRead,
3461 ULARGE_INTEGER* pcbWritten);
3462 HRESULT CALLBACK IStream_Commit_Proxy(
3464 DWORD grfCommitFlags);
3465 void __RPC_STUB IStream_Commit_Stub(
3466 struct IRpcStubBuffer* This,
3467 struct IRpcChannelBuffer* pRpcChannelBuffer,
3468 PRPC_MESSAGE pRpcMessage,
3469 DWORD* pdwStubPhase);
3470 HRESULT CALLBACK IStream_Revert_Proxy(
3472 void __RPC_STUB IStream_Revert_Stub(
3473 struct IRpcStubBuffer* This,
3474 struct IRpcChannelBuffer* pRpcChannelBuffer,
3475 PRPC_MESSAGE pRpcMessage,
3476 DWORD* pdwStubPhase);
3477 HRESULT CALLBACK IStream_LockRegion_Proxy(
3479 ULARGE_INTEGER libOffset,
3482 void __RPC_STUB IStream_LockRegion_Stub(
3483 struct IRpcStubBuffer* This,
3484 struct IRpcChannelBuffer* pRpcChannelBuffer,
3485 PRPC_MESSAGE pRpcMessage,
3486 DWORD* pdwStubPhase);
3487 HRESULT CALLBACK IStream_UnlockRegion_Proxy(
3489 ULARGE_INTEGER libOffset,
3492 void __RPC_STUB IStream_UnlockRegion_Stub(
3493 struct IRpcStubBuffer* This,
3494 struct IRpcChannelBuffer* pRpcChannelBuffer,
3495 PRPC_MESSAGE pRpcMessage,
3496 DWORD* pdwStubPhase);
3497 HRESULT CALLBACK IStream_Stat_Proxy(
3501 void __RPC_STUB IStream_Stat_Stub(
3502 struct IRpcStubBuffer* This,
3503 struct IRpcChannelBuffer* pRpcChannelBuffer,
3504 PRPC_MESSAGE pRpcMessage,
3505 DWORD* pdwStubPhase);
3506 HRESULT CALLBACK IStream_Clone_Proxy(
3509 void __RPC_STUB IStream_Clone_Stub(
3510 struct IRpcStubBuffer* This,
3511 struct IRpcChannelBuffer* pRpcChannelBuffer,
3512 PRPC_MESSAGE pRpcMessage,
3513 DWORD* pdwStubPhase);
3515 #endif /* __IStream_INTERFACE_DEFINED__ */
3517 #ifndef __IEnumSTATSTG_FWD_DEFINED__
3518 #define __IEnumSTATSTG_FWD_DEFINED__
3519 typedef struct IEnumSTATSTG IEnumSTATSTG;
3522 typedef IEnumSTATSTG *LPENUMSTATSTG;
3524 /*****************************************************************************
3525 * IEnumSTATSTG interface
3527 #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
3528 #define __IEnumSTATSTG_INTERFACE_DEFINED__
3530 DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3531 #if defined(__cplusplus) && !defined(CINTERFACE)
3532 struct IEnumSTATSTG : public IUnknown
3534 virtual HRESULT STDMETHODCALLTYPE Next(
3537 ULONG* pceltFetched) = 0;
3539 virtual HRESULT STDMETHODCALLTYPE Skip(
3542 virtual HRESULT STDMETHODCALLTYPE Reset(
3545 virtual HRESULT STDMETHODCALLTYPE Clone(
3546 IEnumSTATSTG** ppenum) = 0;
3550 typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl;
3551 struct IEnumSTATSTG {
3552 const IEnumSTATSTGVtbl* lpVtbl;
3554 struct IEnumSTATSTGVtbl {
3555 ICOM_MSVTABLE_COMPAT_FIELDS
3557 /*** IUnknown methods ***/
3558 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3563 ULONG (STDMETHODCALLTYPE *AddRef)(
3564 IEnumSTATSTG* This);
3566 ULONG (STDMETHODCALLTYPE *Release)(
3567 IEnumSTATSTG* This);
3569 /*** IEnumSTATSTG methods ***/
3570 HRESULT (STDMETHODCALLTYPE *Next)(
3574 ULONG* pceltFetched);
3576 HRESULT (STDMETHODCALLTYPE *Skip)(
3580 HRESULT (STDMETHODCALLTYPE *Reset)(
3581 IEnumSTATSTG* This);
3583 HRESULT (STDMETHODCALLTYPE *Clone)(
3585 IEnumSTATSTG** ppenum);
3589 /*** IUnknown methods ***/
3590 #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3591 #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
3592 #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p)
3593 /*** IEnumSTATSTG methods ***/
3594 #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
3595 #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
3596 #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p)
3597 #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3601 #define IEnumSTATSTG_METHODS \
3602 ICOM_MSVTABLE_COMPAT_FIELDS \
3603 /*** IUnknown methods ***/ \
3604 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3605 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3606 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3607 /*** IEnumSTATSTG methods ***/ \
3608 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATSTG* rgelt, ULONG* pceltFetched) PURE; \
3609 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
3610 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
3611 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATSTG** ppenum) PURE;
3613 HRESULT CALLBACK IEnumSTATSTG_RemoteNext_Proxy(
3617 ULONG* pceltFetched);
3618 void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
3619 struct IRpcStubBuffer* This,
3620 struct IRpcChannelBuffer* pRpcChannelBuffer,
3621 PRPC_MESSAGE pRpcMessage,
3622 DWORD* pdwStubPhase);
3623 HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
3627 ULONG* pceltFetched);
3628 HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
3632 ULONG* pceltFetched);
3633 HRESULT CALLBACK IEnumSTATSTG_Skip_Proxy(
3636 void __RPC_STUB IEnumSTATSTG_Skip_Stub(
3637 struct IRpcStubBuffer* This,
3638 struct IRpcChannelBuffer* pRpcChannelBuffer,
3639 PRPC_MESSAGE pRpcMessage,
3640 DWORD* pdwStubPhase);
3641 HRESULT CALLBACK IEnumSTATSTG_Reset_Proxy(
3642 IEnumSTATSTG* This);
3643 void __RPC_STUB IEnumSTATSTG_Reset_Stub(
3644 struct IRpcStubBuffer* This,
3645 struct IRpcChannelBuffer* pRpcChannelBuffer,
3646 PRPC_MESSAGE pRpcMessage,
3647 DWORD* pdwStubPhase);
3648 HRESULT CALLBACK IEnumSTATSTG_Clone_Proxy(
3650 IEnumSTATSTG** ppenum);
3651 void __RPC_STUB IEnumSTATSTG_Clone_Stub(
3652 struct IRpcStubBuffer* This,
3653 struct IRpcChannelBuffer* pRpcChannelBuffer,
3654 PRPC_MESSAGE pRpcMessage,
3655 DWORD* pdwStubPhase);
3657 #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
3659 #ifndef __IStorage_FWD_DEFINED__
3660 #define __IStorage_FWD_DEFINED__
3661 typedef struct IStorage IStorage;
3664 typedef IStorage *LPSTORAGE;
3666 typedef struct tagRemSNB {
3667 unsigned long ulCntStr;
3668 unsigned long ulCntChar;
3669 OLECHAR rgString[1];
3672 typedef RemSNB *wireSNB;
3674 typedef OLECHAR **SNB;
3675 unsigned long __RPC_USER SNB_UserSize (unsigned long *, unsigned long, SNB *);
3676 unsigned char * __RPC_USER SNB_UserMarshal (unsigned long *, unsigned char *, SNB *);
3677 unsigned char * __RPC_USER SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB *);
3678 void __RPC_USER SNB_UserFree (unsigned long *, SNB *);
3680 /*****************************************************************************
3681 * IStorage interface
3683 #ifndef __IStorage_INTERFACE_DEFINED__
3684 #define __IStorage_INTERFACE_DEFINED__
3686 DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3687 #if defined(__cplusplus) && !defined(CINTERFACE)
3688 struct IStorage : public IUnknown
3690 virtual HRESULT STDMETHODCALLTYPE CreateStream(
3695 IStream** ppstm) = 0;
3697 virtual HRESULT STDMETHODCALLTYPE OpenStream(
3702 IStream** ppstm) = 0;
3704 virtual HRESULT STDMETHODCALLTYPE CreateStorage(
3709 IStorage** ppstg) = 0;
3711 virtual HRESULT STDMETHODCALLTYPE OpenStorage(
3713 IStorage* pstgPriority,
3717 IStorage** ppstg) = 0;
3719 virtual HRESULT STDMETHODCALLTYPE CopyTo(
3721 const IID* rgiidExclude,
3723 IStorage* pstgDest) = 0;
3725 virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
3728 LPCOLESTR pwcsNewName,
3729 DWORD grfFlags) = 0;
3731 virtual HRESULT STDMETHODCALLTYPE Commit(
3732 DWORD grfCommitFlags) = 0;
3734 virtual HRESULT STDMETHODCALLTYPE Revert(
3737 virtual HRESULT STDMETHODCALLTYPE EnumElements(
3741 IEnumSTATSTG** ppenum) = 0;
3743 virtual HRESULT STDMETHODCALLTYPE DestroyElement(
3744 LPCOLESTR pwcsName) = 0;
3746 virtual HRESULT STDMETHODCALLTYPE RenameElement(
3747 LPCOLESTR pwcsOldName,
3748 LPCOLESTR pwcsNewName) = 0;
3750 virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
3752 const FILETIME* pctime,
3753 const FILETIME* patime,
3754 const FILETIME* pmtime) = 0;
3756 virtual HRESULT STDMETHODCALLTYPE SetClass(
3757 REFCLSID clsid) = 0;
3759 virtual HRESULT STDMETHODCALLTYPE SetStateBits(
3763 virtual HRESULT STDMETHODCALLTYPE Stat(
3765 DWORD grfStatFlag) = 0;
3769 typedef struct IStorageVtbl IStorageVtbl;
3771 const IStorageVtbl* lpVtbl;
3773 struct IStorageVtbl {
3774 ICOM_MSVTABLE_COMPAT_FIELDS
3776 /*** IUnknown methods ***/
3777 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3782 ULONG (STDMETHODCALLTYPE *AddRef)(
3785 ULONG (STDMETHODCALLTYPE *Release)(
3788 /*** IStorage methods ***/
3789 HRESULT (STDMETHODCALLTYPE *CreateStream)(
3797 HRESULT (STDMETHODCALLTYPE *OpenStream)(
3805 HRESULT (STDMETHODCALLTYPE *CreateStorage)(
3813 HRESULT (STDMETHODCALLTYPE *OpenStorage)(
3816 IStorage* pstgPriority,
3822 HRESULT (STDMETHODCALLTYPE *CopyTo)(
3825 const IID* rgiidExclude,
3827 IStorage* pstgDest);
3829 HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
3833 LPCOLESTR pwcsNewName,
3836 HRESULT (STDMETHODCALLTYPE *Commit)(
3838 DWORD grfCommitFlags);
3840 HRESULT (STDMETHODCALLTYPE *Revert)(
3843 HRESULT (STDMETHODCALLTYPE *EnumElements)(
3848 IEnumSTATSTG** ppenum);
3850 HRESULT (STDMETHODCALLTYPE *DestroyElement)(
3852 LPCOLESTR pwcsName);
3854 HRESULT (STDMETHODCALLTYPE *RenameElement)(
3856 LPCOLESTR pwcsOldName,
3857 LPCOLESTR pwcsNewName);
3859 HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
3862 const FILETIME* pctime,
3863 const FILETIME* patime,
3864 const FILETIME* pmtime);
3866 HRESULT (STDMETHODCALLTYPE *SetClass)(
3870 HRESULT (STDMETHODCALLTYPE *SetStateBits)(
3875 HRESULT (STDMETHODCALLTYPE *Stat)(
3882 /*** IUnknown methods ***/
3883 #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3884 #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
3885 #define IStorage_Release(p) (p)->lpVtbl->Release(p)
3886 /*** IStorage methods ***/
3887 #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
3888 #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
3889 #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
3890 #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
3891 #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3892 #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
3893 #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3894 #define IStorage_Revert(p) (p)->lpVtbl->Revert(p)
3895 #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
3896 #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
3897 #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
3898 #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
3899 #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
3900 #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
3901 #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3905 #define IStorage_METHODS \
3906 ICOM_MSVTABLE_COMPAT_FIELDS \
3907 /*** IUnknown methods ***/ \
3908 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3909 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3910 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3911 /*** IStorage methods ***/ \
3912 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream** ppstm) PURE; \
3913 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream** ppstm) PURE; \
3914 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage** ppstg) PURE; \
3915 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstg) PURE; \
3916 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB snbExclude, IStorage* pstgDest) PURE; \
3917 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR pwcsName, IStorage* pstgDest, LPCOLESTR pwcsNewName, DWORD grfFlags) PURE; \
3918 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3919 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3920 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
3921 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR pwcsName) PURE; \
3922 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR pwcsOldName, LPCOLESTR pwcsNewName) PURE; \
3923 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
3924 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
3925 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
3926 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
3928 HRESULT CALLBACK IStorage_CreateStream_Proxy(
3935 void __RPC_STUB IStorage_CreateStream_Stub(
3936 struct IRpcStubBuffer* This,
3937 struct IRpcChannelBuffer* pRpcChannelBuffer,
3938 PRPC_MESSAGE pRpcMessage,
3939 DWORD* pdwStubPhase);
3940 HRESULT CALLBACK IStorage_RemoteOpenStream_Proxy(
3943 unsigned long cbReserved1,
3948 void __RPC_STUB IStorage_RemoteOpenStream_Stub(
3949 struct IRpcStubBuffer* This,
3950 struct IRpcChannelBuffer* pRpcChannelBuffer,
3951 PRPC_MESSAGE pRpcMessage,
3952 DWORD* pdwStubPhase);
3953 HRESULT CALLBACK IStorage_OpenStream_Proxy(
3960 HRESULT __RPC_STUB IStorage_OpenStream_Stub(
3963 unsigned long cbReserved1,
3968 HRESULT CALLBACK IStorage_CreateStorage_Proxy(
3975 void __RPC_STUB IStorage_CreateStorage_Stub(
3976 struct IRpcStubBuffer* This,
3977 struct IRpcChannelBuffer* pRpcChannelBuffer,
3978 PRPC_MESSAGE pRpcMessage,
3979 DWORD* pdwStubPhase);
3980 HRESULT CALLBACK IStorage_OpenStorage_Proxy(
3983 IStorage* pstgPriority,
3988 void __RPC_STUB IStorage_OpenStorage_Stub(
3989 struct IRpcStubBuffer* This,
3990 struct IRpcChannelBuffer* pRpcChannelBuffer,
3991 PRPC_MESSAGE pRpcMessage,
3992 DWORD* pdwStubPhase);
3993 HRESULT CALLBACK IStorage_CopyTo_Proxy(
3996 const IID* rgiidExclude,
3998 IStorage* pstgDest);
3999 void __RPC_STUB IStorage_CopyTo_Stub(
4000 struct IRpcStubBuffer* This,
4001 struct IRpcChannelBuffer* pRpcChannelBuffer,
4002 PRPC_MESSAGE pRpcMessage,
4003 DWORD* pdwStubPhase);
4004 HRESULT CALLBACK IStorage_MoveElementTo_Proxy(
4008 LPCOLESTR pwcsNewName,
4010 void __RPC_STUB IStorage_MoveElementTo_Stub(
4011 struct IRpcStubBuffer* This,
4012 struct IRpcChannelBuffer* pRpcChannelBuffer,
4013 PRPC_MESSAGE pRpcMessage,
4014 DWORD* pdwStubPhase);
4015 HRESULT CALLBACK IStorage_Commit_Proxy(
4017 DWORD grfCommitFlags);
4018 void __RPC_STUB IStorage_Commit_Stub(
4019 struct IRpcStubBuffer* This,
4020 struct IRpcChannelBuffer* pRpcChannelBuffer,
4021 PRPC_MESSAGE pRpcMessage,
4022 DWORD* pdwStubPhase);
4023 HRESULT CALLBACK IStorage_Revert_Proxy(
4025 void __RPC_STUB IStorage_Revert_Stub(
4026 struct IRpcStubBuffer* This,
4027 struct IRpcChannelBuffer* pRpcChannelBuffer,
4028 PRPC_MESSAGE pRpcMessage,
4029 DWORD* pdwStubPhase);
4030 HRESULT CALLBACK IStorage_RemoteEnumElements_Proxy(
4033 unsigned long cbReserved2,
4036 IEnumSTATSTG** ppenum);
4037 void __RPC_STUB IStorage_RemoteEnumElements_Stub(
4038 struct IRpcStubBuffer* This,
4039 struct IRpcChannelBuffer* pRpcChannelBuffer,
4040 PRPC_MESSAGE pRpcMessage,
4041 DWORD* pdwStubPhase);
4042 HRESULT CALLBACK IStorage_EnumElements_Proxy(
4047 IEnumSTATSTG** ppenum);
4048 HRESULT __RPC_STUB IStorage_EnumElements_Stub(
4051 unsigned long cbReserved2,
4054 IEnumSTATSTG** ppenum);
4055 HRESULT CALLBACK IStorage_DestroyElement_Proxy(
4057 LPCOLESTR pwcsName);
4058 void __RPC_STUB IStorage_DestroyElement_Stub(
4059 struct IRpcStubBuffer* This,
4060 struct IRpcChannelBuffer* pRpcChannelBuffer,
4061 PRPC_MESSAGE pRpcMessage,
4062 DWORD* pdwStubPhase);
4063 HRESULT CALLBACK IStorage_RenameElement_Proxy(
4065 LPCOLESTR pwcsOldName,
4066 LPCOLESTR pwcsNewName);
4067 void __RPC_STUB IStorage_RenameElement_Stub(
4068 struct IRpcStubBuffer* This,
4069 struct IRpcChannelBuffer* pRpcChannelBuffer,
4070 PRPC_MESSAGE pRpcMessage,
4071 DWORD* pdwStubPhase);
4072 HRESULT CALLBACK IStorage_SetElementTimes_Proxy(
4075 const FILETIME* pctime,
4076 const FILETIME* patime,
4077 const FILETIME* pmtime);
4078 void __RPC_STUB IStorage_SetElementTimes_Stub(
4079 struct IRpcStubBuffer* This,
4080 struct IRpcChannelBuffer* pRpcChannelBuffer,
4081 PRPC_MESSAGE pRpcMessage,
4082 DWORD* pdwStubPhase);
4083 HRESULT CALLBACK IStorage_SetClass_Proxy(
4086 void __RPC_STUB IStorage_SetClass_Stub(
4087 struct IRpcStubBuffer* This,
4088 struct IRpcChannelBuffer* pRpcChannelBuffer,
4089 PRPC_MESSAGE pRpcMessage,
4090 DWORD* pdwStubPhase);
4091 HRESULT CALLBACK IStorage_SetStateBits_Proxy(
4095 void __RPC_STUB IStorage_SetStateBits_Stub(
4096 struct IRpcStubBuffer* This,
4097 struct IRpcChannelBuffer* pRpcChannelBuffer,
4098 PRPC_MESSAGE pRpcMessage,
4099 DWORD* pdwStubPhase);
4100 HRESULT CALLBACK IStorage_Stat_Proxy(
4104 void __RPC_STUB IStorage_Stat_Stub(
4105 struct IRpcStubBuffer* This,
4106 struct IRpcChannelBuffer* pRpcChannelBuffer,
4107 PRPC_MESSAGE pRpcMessage,
4108 DWORD* pdwStubPhase);
4110 #endif /* __IStorage_INTERFACE_DEFINED__ */
4112 #ifndef __IPersistFile_FWD_DEFINED__
4113 #define __IPersistFile_FWD_DEFINED__
4114 typedef struct IPersistFile IPersistFile;
4117 typedef IPersistFile *LPPERSISTFILE;
4119 /*****************************************************************************
4120 * IPersistFile interface
4122 #ifndef __IPersistFile_INTERFACE_DEFINED__
4123 #define __IPersistFile_INTERFACE_DEFINED__
4125 DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4126 #if defined(__cplusplus) && !defined(CINTERFACE)
4127 struct IPersistFile : public IPersist
4129 virtual HRESULT STDMETHODCALLTYPE IsDirty(
4132 virtual HRESULT STDMETHODCALLTYPE Load(
4133 LPCOLESTR pszFileName,
4136 virtual HRESULT STDMETHODCALLTYPE Save(
4137 LPCOLESTR pszFileName,
4138 BOOL fRemember) = 0;
4140 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
4141 LPCOLESTR pszFileName) = 0;
4143 virtual HRESULT STDMETHODCALLTYPE GetCurFile(
4144 LPOLESTR* ppszFileName) = 0;
4148 typedef struct IPersistFileVtbl IPersistFileVtbl;
4149 struct IPersistFile {
4150 const IPersistFileVtbl* lpVtbl;
4152 struct IPersistFileVtbl {
4153 ICOM_MSVTABLE_COMPAT_FIELDS
4155 /*** IUnknown methods ***/
4156 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4161 ULONG (STDMETHODCALLTYPE *AddRef)(
4162 IPersistFile* This);
4164 ULONG (STDMETHODCALLTYPE *Release)(
4165 IPersistFile* This);
4167 /*** IPersist methods ***/
4168 HRESULT (STDMETHODCALLTYPE *GetClassID)(
4172 /*** IPersistFile methods ***/
4173 HRESULT (STDMETHODCALLTYPE *IsDirty)(
4174 IPersistFile* This);
4176 HRESULT (STDMETHODCALLTYPE *Load)(
4178 LPCOLESTR pszFileName,
4181 HRESULT (STDMETHODCALLTYPE *Save)(
4183 LPCOLESTR pszFileName,
4186 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
4188 LPCOLESTR pszFileName);
4190 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
4192 LPOLESTR* ppszFileName);
4196 /*** IUnknown methods ***/
4197 #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4198 #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p)
4199 #define IPersistFile_Release(p) (p)->lpVtbl->Release(p)
4200 /*** IPersist methods ***/
4201 #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4202 /*** IPersistFile methods ***/
4203 #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4204 #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b)
4205 #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4206 #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4207 #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a)
4211 #define IPersistFile_METHODS \
4212 ICOM_MSVTABLE_COMPAT_FIELDS \
4213 /*** IUnknown methods ***/ \
4214 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4215 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4216 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4217 /*** IPersist methods ***/ \
4218 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4219 /*** IPersistFile methods ***/ \
4220 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4221 STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, DWORD dwMode) PURE; \
4222 STDMETHOD_(HRESULT,Save)(THIS_ LPCOLESTR pszFileName, BOOL fRemember) PURE; \
4223 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ LPCOLESTR pszFileName) PURE; \
4224 STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName) PURE;
4226 HRESULT CALLBACK IPersistFile_IsDirty_Proxy(
4227 IPersistFile* This);
4228 void __RPC_STUB IPersistFile_IsDirty_Stub(
4229 struct IRpcStubBuffer* This,
4230 struct IRpcChannelBuffer* pRpcChannelBuffer,
4231 PRPC_MESSAGE pRpcMessage,
4232 DWORD* pdwStubPhase);
4233 HRESULT CALLBACK IPersistFile_Load_Proxy(
4235 LPCOLESTR pszFileName,
4237 void __RPC_STUB IPersistFile_Load_Stub(
4238 struct IRpcStubBuffer* This,
4239 struct IRpcChannelBuffer* pRpcChannelBuffer,
4240 PRPC_MESSAGE pRpcMessage,
4241 DWORD* pdwStubPhase);
4242 HRESULT CALLBACK IPersistFile_Save_Proxy(
4244 LPCOLESTR pszFileName,
4246 void __RPC_STUB IPersistFile_Save_Stub(
4247 struct IRpcStubBuffer* This,
4248 struct IRpcChannelBuffer* pRpcChannelBuffer,
4249 PRPC_MESSAGE pRpcMessage,
4250 DWORD* pdwStubPhase);
4251 HRESULT CALLBACK IPersistFile_SaveCompleted_Proxy(
4253 LPCOLESTR pszFileName);
4254 void __RPC_STUB IPersistFile_SaveCompleted_Stub(
4255 struct IRpcStubBuffer* This,
4256 struct IRpcChannelBuffer* pRpcChannelBuffer,
4257 PRPC_MESSAGE pRpcMessage,
4258 DWORD* pdwStubPhase);
4259 HRESULT CALLBACK IPersistFile_GetCurFile_Proxy(
4261 LPOLESTR* ppszFileName);
4262 void __RPC_STUB IPersistFile_GetCurFile_Stub(
4263 struct IRpcStubBuffer* This,
4264 struct IRpcChannelBuffer* pRpcChannelBuffer,
4265 PRPC_MESSAGE pRpcMessage,
4266 DWORD* pdwStubPhase);
4268 #endif /* __IPersistFile_INTERFACE_DEFINED__ */
4270 #ifndef __IPersistStorage_FWD_DEFINED__
4271 #define __IPersistStorage_FWD_DEFINED__
4272 typedef struct IPersistStorage IPersistStorage;
4275 typedef IPersistStorage *LPPERSISTSTORAGE;
4277 /*****************************************************************************
4278 * IPersistStorage interface
4280 #ifndef __IPersistStorage_INTERFACE_DEFINED__
4281 #define __IPersistStorage_INTERFACE_DEFINED__
4283 DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4284 #if defined(__cplusplus) && !defined(CINTERFACE)
4285 struct IPersistStorage : public IPersist
4287 virtual HRESULT STDMETHODCALLTYPE IsDirty(
4290 virtual HRESULT STDMETHODCALLTYPE InitNew(
4291 IStorage* pStg) = 0;
4293 virtual HRESULT STDMETHODCALLTYPE Load(
4294 IStorage* pStg) = 0;
4296 virtual HRESULT STDMETHODCALLTYPE Save(
4298 BOOL fSameAsLoad) = 0;
4300 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
4301 IStorage* pStgNew) = 0;
4303 virtual HRESULT STDMETHODCALLTYPE HandsOffStorage(
4308 typedef struct IPersistStorageVtbl IPersistStorageVtbl;
4309 struct IPersistStorage {
4310 const IPersistStorageVtbl* lpVtbl;
4312 struct IPersistStorageVtbl {
4313 ICOM_MSVTABLE_COMPAT_FIELDS
4315 /*** IUnknown methods ***/
4316 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4317 IPersistStorage* This,
4321 ULONG (STDMETHODCALLTYPE *AddRef)(
4322 IPersistStorage* This);
4324 ULONG (STDMETHODCALLTYPE *Release)(
4325 IPersistStorage* This);
4327 /*** IPersist methods ***/
4328 HRESULT (STDMETHODCALLTYPE *GetClassID)(
4329 IPersistStorage* This,
4332 /*** IPersistStorage methods ***/
4333 HRESULT (STDMETHODCALLTYPE *IsDirty)(
4334 IPersistStorage* This);
4336 HRESULT (STDMETHODCALLTYPE *InitNew)(
4337 IPersistStorage* This,
4340 HRESULT (STDMETHODCALLTYPE *Load)(
4341 IPersistStorage* This,
4344 HRESULT (STDMETHODCALLTYPE *Save)(
4345 IPersistStorage* This,
4349 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
4350 IPersistStorage* This,
4353 HRESULT (STDMETHODCALLTYPE *HandsOffStorage)(
4354 IPersistStorage* This);
4358 /*** IUnknown methods ***/
4359 #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4360 #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4361 #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p)
4362 /*** IPersist methods ***/
4363 #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4364 /*** IPersistStorage methods ***/
4365 #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4366 #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a)
4367 #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a)
4368 #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4369 #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4370 #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p)
4374 #define IPersistStorage_METHODS \
4375 ICOM_MSVTABLE_COMPAT_FIELDS \
4376 /*** IUnknown methods ***/ \
4377 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4378 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4379 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4380 /*** IPersist methods ***/ \
4381 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4382 /*** IPersistStorage methods ***/ \
4383 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4384 STDMETHOD_(HRESULT,InitNew)(THIS_ IStorage* pStg) PURE; \
4385 STDMETHOD_(HRESULT,Load)(THIS_ IStorage* pStg) PURE; \
4386 STDMETHOD_(HRESULT,Save)(THIS_ IStorage* pStgSave, BOOL fSameAsLoad) PURE; \
4387 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IStorage* pStgNew) PURE; \
4388 STDMETHOD_(HRESULT,HandsOffStorage)(THIS) PURE;
4390 HRESULT CALLBACK IPersistStorage_IsDirty_Proxy(
4391 IPersistStorage* This);
4392 void __RPC_STUB IPersistStorage_IsDirty_Stub(
4393 struct IRpcStubBuffer* This,
4394 struct IRpcChannelBuffer* pRpcChannelBuffer,
4395 PRPC_MESSAGE pRpcMessage,
4396 DWORD* pdwStubPhase);
4397 HRESULT CALLBACK IPersistStorage_InitNew_Proxy(
4398 IPersistStorage* This,
4400 void __RPC_STUB IPersistStorage_InitNew_Stub(
4401 struct IRpcStubBuffer* This,
4402 struct IRpcChannelBuffer* pRpcChannelBuffer,
4403 PRPC_MESSAGE pRpcMessage,
4404 DWORD* pdwStubPhase);
4405 HRESULT CALLBACK IPersistStorage_Load_Proxy(
4406 IPersistStorage* This,
4408 void __RPC_STUB IPersistStorage_Load_Stub(
4409 struct IRpcStubBuffer* This,
4410 struct IRpcChannelBuffer* pRpcChannelBuffer,
4411 PRPC_MESSAGE pRpcMessage,
4412 DWORD* pdwStubPhase);
4413 HRESULT CALLBACK IPersistStorage_Save_Proxy(
4414 IPersistStorage* This,
4417 void __RPC_STUB IPersistStorage_Save_Stub(
4418 struct IRpcStubBuffer* This,
4419 struct IRpcChannelBuffer* pRpcChannelBuffer,
4420 PRPC_MESSAGE pRpcMessage,
4421 DWORD* pdwStubPhase);
4422 HRESULT CALLBACK IPersistStorage_SaveCompleted_Proxy(
4423 IPersistStorage* This,
4425 void __RPC_STUB IPersistStorage_SaveCompleted_Stub(
4426 struct IRpcStubBuffer* This,
4427 struct IRpcChannelBuffer* pRpcChannelBuffer,
4428 PRPC_MESSAGE pRpcMessage,
4429 DWORD* pdwStubPhase);
4430 HRESULT CALLBACK IPersistStorage_HandsOffStorage_Proxy(
4431 IPersistStorage* This);
4432 void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(
4433 struct IRpcStubBuffer* This,
4434 struct IRpcChannelBuffer* pRpcChannelBuffer,
4435 PRPC_MESSAGE pRpcMessage,
4436 DWORD* pdwStubPhase);
4438 #endif /* __IPersistStorage_INTERFACE_DEFINED__ */
4440 #ifndef __IRootStorage_FWD_DEFINED__
4441 #define __IRootStorage_FWD_DEFINED__
4442 typedef struct IRootStorage IRootStorage;
4445 typedef IRootStorage *LPROOTSTORAGE;
4447 /*****************************************************************************
4448 * IRootStorage interface
4450 #ifndef __IRootStorage_INTERFACE_DEFINED__
4451 #define __IRootStorage_INTERFACE_DEFINED__
4453 DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4454 #if defined(__cplusplus) && !defined(CINTERFACE)
4455 struct IRootStorage : public IUnknown
4457 virtual HRESULT STDMETHODCALLTYPE SwitchToFile(
4458 LPOLESTR pszFile) = 0;
4462 typedef struct IRootStorageVtbl IRootStorageVtbl;
4463 struct IRootStorage {
4464 const IRootStorageVtbl* lpVtbl;
4466 struct IRootStorageVtbl {
4467 ICOM_MSVTABLE_COMPAT_FIELDS
4469 /*** IUnknown methods ***/
4470 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4475 ULONG (STDMETHODCALLTYPE *AddRef)(
4476 IRootStorage* This);
4478 ULONG (STDMETHODCALLTYPE *Release)(
4479 IRootStorage* This);
4481 /*** IRootStorage methods ***/
4482 HRESULT (STDMETHODCALLTYPE *SwitchToFile)(
4488 /*** IUnknown methods ***/
4489 #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4490 #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4491 #define IRootStorage_Release(p) (p)->lpVtbl->Release(p)
4492 /*** IRootStorage methods ***/
4493 #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a)
4497 #define IRootStorage_METHODS \
4498 ICOM_MSVTABLE_COMPAT_FIELDS \
4499 /*** IUnknown methods ***/ \
4500 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4501 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4502 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4503 /*** IRootStorage methods ***/ \
4504 STDMETHOD_(HRESULT,SwitchToFile)(THIS_ LPOLESTR pszFile) PURE;
4506 HRESULT CALLBACK IRootStorage_SwitchToFile_Proxy(
4509 void __RPC_STUB IRootStorage_SwitchToFile_Stub(
4510 struct IRpcStubBuffer* This,
4511 struct IRpcChannelBuffer* pRpcChannelBuffer,
4512 PRPC_MESSAGE pRpcMessage,
4513 DWORD* pdwStubPhase);
4515 #endif /* __IRootStorage_INTERFACE_DEFINED__ */
4517 #ifndef __ILockBytes_FWD_DEFINED__
4518 #define __ILockBytes_FWD_DEFINED__
4519 typedef struct ILockBytes ILockBytes;
4522 typedef ILockBytes *LPLOCKBYTES;
4524 /*****************************************************************************
4525 * ILockBytes interface
4527 #ifndef __ILockBytes_INTERFACE_DEFINED__
4528 #define __ILockBytes_INTERFACE_DEFINED__
4530 DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4531 #if defined(__cplusplus) && !defined(CINTERFACE)
4532 struct ILockBytes : public IUnknown
4534 virtual HRESULT STDMETHODCALLTYPE ReadAt(
4535 ULARGE_INTEGER ulOffset,
4538 ULONG* pcbRead) = 0;
4540 virtual HRESULT STDMETHODCALLTYPE WriteAt(
4541 ULARGE_INTEGER ulOffset,
4544 ULONG* pcbWritten) = 0;
4546 virtual HRESULT STDMETHODCALLTYPE Flush(
4549 virtual HRESULT STDMETHODCALLTYPE SetSize(
4550 ULARGE_INTEGER cb) = 0;
4552 virtual HRESULT STDMETHODCALLTYPE LockRegion(
4553 ULARGE_INTEGER libOffset,
4555 DWORD dwLockType) = 0;
4557 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
4558 ULARGE_INTEGER libOffset,
4560 DWORD dwLockType) = 0;
4562 virtual HRESULT STDMETHODCALLTYPE Stat(
4564 DWORD grfStatFlag) = 0;
4568 typedef struct ILockBytesVtbl ILockBytesVtbl;
4570 const ILockBytesVtbl* lpVtbl;
4572 struct ILockBytesVtbl {
4573 ICOM_MSVTABLE_COMPAT_FIELDS
4575 /*** IUnknown methods ***/
4576 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4581 ULONG (STDMETHODCALLTYPE *AddRef)(
4584 ULONG (STDMETHODCALLTYPE *Release)(
4587 /*** ILockBytes methods ***/
4588 HRESULT (STDMETHODCALLTYPE *ReadAt)(
4590 ULARGE_INTEGER ulOffset,
4595 HRESULT (STDMETHODCALLTYPE *WriteAt)(
4597 ULARGE_INTEGER ulOffset,
4602 HRESULT (STDMETHODCALLTYPE *Flush)(
4605 HRESULT (STDMETHODCALLTYPE *SetSize)(
4609 HRESULT (STDMETHODCALLTYPE *LockRegion)(
4611 ULARGE_INTEGER libOffset,
4615 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4617 ULARGE_INTEGER libOffset,
4621 HRESULT (STDMETHODCALLTYPE *Stat)(
4628 /*** IUnknown methods ***/
4629 #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4630 #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
4631 #define ILockBytes_Release(p) (p)->lpVtbl->Release(p)
4632 /*** ILockBytes methods ***/
4633 #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d)
4634 #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d)
4635 #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p)
4636 #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
4637 #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
4638 #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
4639 #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4643 #define ILockBytes_METHODS \
4644 ICOM_MSVTABLE_COMPAT_FIELDS \
4645 /*** IUnknown methods ***/ \
4646 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4647 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4648 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4649 /*** ILockBytes methods ***/ \
4650 STDMETHOD_(HRESULT,ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void* pv, ULONG cb, ULONG* pcbRead) PURE; \
4651 STDMETHOD_(HRESULT,WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4652 STDMETHOD_(HRESULT,Flush)(THIS) PURE; \
4653 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \
4654 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
4655 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
4656 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4658 HRESULT CALLBACK ILockBytes_RemoteReadAt_Proxy(
4660 ULARGE_INTEGER ulOffset,
4664 void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
4665 struct IRpcStubBuffer* This,
4666 struct IRpcChannelBuffer* pRpcChannelBuffer,
4667 PRPC_MESSAGE pRpcMessage,
4668 DWORD* pdwStubPhase);
4669 HRESULT CALLBACK ILockBytes_ReadAt_Proxy(
4671 ULARGE_INTEGER ulOffset,
4675 HRESULT __RPC_STUB ILockBytes_ReadAt_Stub(
4677 ULARGE_INTEGER ulOffset,
4681 HRESULT CALLBACK ILockBytes_RemoteWriteAt_Proxy(
4683 ULARGE_INTEGER ulOffset,
4687 void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
4688 struct IRpcStubBuffer* This,
4689 struct IRpcChannelBuffer* pRpcChannelBuffer,
4690 PRPC_MESSAGE pRpcMessage,
4691 DWORD* pdwStubPhase);
4692 HRESULT CALLBACK ILockBytes_WriteAt_Proxy(
4694 ULARGE_INTEGER ulOffset,
4698 HRESULT __RPC_STUB ILockBytes_WriteAt_Stub(
4700 ULARGE_INTEGER ulOffset,
4704 HRESULT CALLBACK ILockBytes_Flush_Proxy(
4706 void __RPC_STUB ILockBytes_Flush_Stub(
4707 struct IRpcStubBuffer* This,
4708 struct IRpcChannelBuffer* pRpcChannelBuffer,
4709 PRPC_MESSAGE pRpcMessage,
4710 DWORD* pdwStubPhase);
4711 HRESULT CALLBACK ILockBytes_SetSize_Proxy(
4714 void __RPC_STUB ILockBytes_SetSize_Stub(
4715 struct IRpcStubBuffer* This,
4716 struct IRpcChannelBuffer* pRpcChannelBuffer,
4717 PRPC_MESSAGE pRpcMessage,
4718 DWORD* pdwStubPhase);
4719 HRESULT CALLBACK ILockBytes_LockRegion_Proxy(
4721 ULARGE_INTEGER libOffset,
4724 void __RPC_STUB ILockBytes_LockRegion_Stub(
4725 struct IRpcStubBuffer* This,
4726 struct IRpcChannelBuffer* pRpcChannelBuffer,
4727 PRPC_MESSAGE pRpcMessage,
4728 DWORD* pdwStubPhase);
4729 HRESULT CALLBACK ILockBytes_UnlockRegion_Proxy(
4731 ULARGE_INTEGER libOffset,
4734 void __RPC_STUB ILockBytes_UnlockRegion_Stub(
4735 struct IRpcStubBuffer* This,
4736 struct IRpcChannelBuffer* pRpcChannelBuffer,
4737 PRPC_MESSAGE pRpcMessage,
4738 DWORD* pdwStubPhase);
4739 HRESULT CALLBACK ILockBytes_Stat_Proxy(
4743 void __RPC_STUB ILockBytes_Stat_Stub(
4744 struct IRpcStubBuffer* This,
4745 struct IRpcChannelBuffer* pRpcChannelBuffer,
4746 PRPC_MESSAGE pRpcMessage,
4747 DWORD* pdwStubPhase);
4749 #endif /* __ILockBytes_INTERFACE_DEFINED__ */
4751 #ifndef __IFillLockBytes_FWD_DEFINED__
4752 #define __IFillLockBytes_FWD_DEFINED__
4753 typedef struct IFillLockBytes IFillLockBytes;
4756 /*****************************************************************************
4757 * IFillLockBytes interface
4759 #ifndef __IFillLockBytes_INTERFACE_DEFINED__
4760 #define __IFillLockBytes_INTERFACE_DEFINED__
4762 DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
4763 #if defined(__cplusplus) && !defined(CINTERFACE)
4764 struct IFillLockBytes : public IUnknown
4766 virtual HRESULT STDMETHODCALLTYPE FillAppend(
4769 ULONG* pcbWritten) = 0;
4771 virtual HRESULT STDMETHODCALLTYPE FillAt(
4772 ULARGE_INTEGER ulOffset,
4775 ULONG* pcbWritten) = 0;
4777 virtual HRESULT STDMETHODCALLTYPE SetFillSize(
4778 ULARGE_INTEGER ulSize) = 0;
4780 virtual HRESULT STDMETHODCALLTYPE Terminate(
4781 BOOL bCanceled) = 0;
4785 typedef struct IFillLockBytesVtbl IFillLockBytesVtbl;
4786 struct IFillLockBytes {
4787 const IFillLockBytesVtbl* lpVtbl;
4789 struct IFillLockBytesVtbl {
4790 ICOM_MSVTABLE_COMPAT_FIELDS
4792 /*** IUnknown methods ***/
4793 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4794 IFillLockBytes* This,
4798 ULONG (STDMETHODCALLTYPE *AddRef)(
4799 IFillLockBytes* This);
4801 ULONG (STDMETHODCALLTYPE *Release)(
4802 IFillLockBytes* This);
4804 /*** IFillLockBytes methods ***/
4805 HRESULT (STDMETHODCALLTYPE *FillAppend)(
4806 IFillLockBytes* This,
4811 HRESULT (STDMETHODCALLTYPE *FillAt)(
4812 IFillLockBytes* This,
4813 ULARGE_INTEGER ulOffset,
4818 HRESULT (STDMETHODCALLTYPE *SetFillSize)(
4819 IFillLockBytes* This,
4820 ULARGE_INTEGER ulSize);
4822 HRESULT (STDMETHODCALLTYPE *Terminate)(
4823 IFillLockBytes* This,
4828 /*** IUnknown methods ***/
4829 #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4830 #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
4831 #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p)
4832 /*** IFillLockBytes methods ***/
4833 #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c)
4834 #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d)
4835 #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a)
4836 #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
4840 #define IFillLockBytes_METHODS \
4841 ICOM_MSVTABLE_COMPAT_FIELDS \
4842 /*** IUnknown methods ***/ \
4843 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4844 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4845 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4846 /*** IFillLockBytes methods ***/ \
4847 STDMETHOD_(HRESULT,FillAppend)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4848 STDMETHOD_(HRESULT,FillAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
4849 STDMETHOD_(HRESULT,SetFillSize)(THIS_ ULARGE_INTEGER ulSize) PURE; \
4850 STDMETHOD_(HRESULT,Terminate)(THIS_ BOOL bCanceled) PURE;
4852 HRESULT CALLBACK IFillLockBytes_RemoteFillAppend_Proxy(
4853 IFillLockBytes* This,
4857 void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
4858 struct IRpcStubBuffer* This,
4859 struct IRpcChannelBuffer* pRpcChannelBuffer,
4860 PRPC_MESSAGE pRpcMessage,
4861 DWORD* pdwStubPhase);
4862 HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy(
4863 IFillLockBytes* This,
4867 HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub(
4868 IFillLockBytes* This,
4872 HRESULT CALLBACK IFillLockBytes_RemoteFillAt_Proxy(
4873 IFillLockBytes* This,
4874 ULARGE_INTEGER ulOffset,
4878 void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
4879 struct IRpcStubBuffer* This,
4880 struct IRpcChannelBuffer* pRpcChannelBuffer,
4881 PRPC_MESSAGE pRpcMessage,
4882 DWORD* pdwStubPhase);
4883 HRESULT CALLBACK IFillLockBytes_FillAt_Proxy(
4884 IFillLockBytes* This,
4885 ULARGE_INTEGER ulOffset,
4889 HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub(
4890 IFillLockBytes* This,
4891 ULARGE_INTEGER ulOffset,
4895 HRESULT CALLBACK IFillLockBytes_SetFillSize_Proxy(
4896 IFillLockBytes* This,
4897 ULARGE_INTEGER ulSize);
4898 void __RPC_STUB IFillLockBytes_SetFillSize_Stub(
4899 struct IRpcStubBuffer* This,
4900 struct IRpcChannelBuffer* pRpcChannelBuffer,
4901 PRPC_MESSAGE pRpcMessage,
4902 DWORD* pdwStubPhase);
4903 HRESULT CALLBACK IFillLockBytes_Terminate_Proxy(
4904 IFillLockBytes* This,
4906 void __RPC_STUB IFillLockBytes_Terminate_Stub(
4907 struct IRpcStubBuffer* This,
4908 struct IRpcChannelBuffer* pRpcChannelBuffer,
4909 PRPC_MESSAGE pRpcMessage,
4910 DWORD* pdwStubPhase);
4912 #endif /* __IFillLockBytes_INTERFACE_DEFINED__ */
4914 #ifndef __IProgressNotify_FWD_DEFINED__
4915 #define __IProgressNotify_FWD_DEFINED__
4916 typedef struct IProgressNotify IProgressNotify;
4919 /*****************************************************************************
4920 * IProgressNotify interface
4922 #ifndef __IProgressNotify_INTERFACE_DEFINED__
4923 #define __IProgressNotify_INTERFACE_DEFINED__
4925 DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
4926 #if defined(__cplusplus) && !defined(CINTERFACE)
4927 struct IProgressNotify : public IUnknown
4929 virtual HRESULT STDMETHODCALLTYPE OnProgress(
4930 DWORD dwProgressCurrent,
4931 DWORD dwProgressMaximum,
4937 typedef struct IProgressNotifyVtbl IProgressNotifyVtbl;
4938 struct IProgressNotify {
4939 const IProgressNotifyVtbl* lpVtbl;
4941 struct IProgressNotifyVtbl {
4942 ICOM_MSVTABLE_COMPAT_FIELDS
4944 /*** IUnknown methods ***/
4945 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4946 IProgressNotify* This,
4950 ULONG (STDMETHODCALLTYPE *AddRef)(
4951 IProgressNotify* This);
4953 ULONG (STDMETHODCALLTYPE *Release)(
4954 IProgressNotify* This);
4956 /*** IProgressNotify methods ***/
4957 HRESULT (STDMETHODCALLTYPE *OnProgress)(
4958 IProgressNotify* This,
4959 DWORD dwProgressCurrent,
4960 DWORD dwProgressMaximum,
4966 /*** IUnknown methods ***/
4967 #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4968 #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
4969 #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p)
4970 /*** IProgressNotify methods ***/
4971 #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
4975 #define IProgressNotify_METHODS \
4976 ICOM_MSVTABLE_COMPAT_FIELDS \
4977 /*** IUnknown methods ***/ \
4978 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4979 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4980 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4981 /*** IProgressNotify methods ***/ \
4982 STDMETHOD_(HRESULT,OnProgress)(THIS_ DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) PURE;
4984 HRESULT CALLBACK IProgressNotify_OnProgress_Proxy(
4985 IProgressNotify* This,
4986 DWORD dwProgressCurrent,
4987 DWORD dwProgressMaximum,
4990 void __RPC_STUB IProgressNotify_OnProgress_Stub(
4991 struct IRpcStubBuffer* This,
4992 struct IRpcChannelBuffer* pRpcChannelBuffer,
4993 PRPC_MESSAGE pRpcMessage,
4994 DWORD* pdwStubPhase);
4996 #endif /* __IProgressNotify_INTERFACE_DEFINED__ */
4998 #ifndef __ILayoutStorage_FWD_DEFINED__
4999 #define __ILayoutStorage_FWD_DEFINED__
5000 typedef struct ILayoutStorage ILayoutStorage;
5003 typedef struct tagStorageLayout {
5005 OLECHAR *pwcsElementName;
5006 LARGE_INTEGER cOffset;
5007 LARGE_INTEGER cBytes;
5010 /*****************************************************************************
5011 * ILayoutStorage interface
5013 #ifndef __ILayoutStorage_INTERFACE_DEFINED__
5014 #define __ILayoutStorage_INTERFACE_DEFINED__
5016 DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5017 #if defined(__cplusplus) && !defined(CINTERFACE)
5018 struct ILayoutStorage : public IUnknown
5020 virtual HRESULT STDMETHODCALLTYPE LayoutScript(
5021 StorageLayout* pStorageLayout,
5023 DWORD glfInterleavedFlag) = 0;
5025 virtual HRESULT STDMETHODCALLTYPE BeginMonitor(
5028 virtual HRESULT STDMETHODCALLTYPE EndMonitor(
5031 virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfile(
5032 OLECHAR* pwcsNewDfName) = 0;
5034 virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfileOnILockBytes(
5035 ILockBytes* pILockBytes) = 0;
5039 typedef struct ILayoutStorageVtbl ILayoutStorageVtbl;
5040 struct ILayoutStorage {
5041 const ILayoutStorageVtbl* lpVtbl;
5043 struct ILayoutStorageVtbl {
5044 ICOM_MSVTABLE_COMPAT_FIELDS
5046 /*** IUnknown methods ***/
5047 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5048 ILayoutStorage* This,
5052 ULONG (STDMETHODCALLTYPE *AddRef)(
5053 ILayoutStorage* This);
5055 ULONG (STDMETHODCALLTYPE *Release)(
5056 ILayoutStorage* This);
5058 /*** ILayoutStorage methods ***/
5059 HRESULT (STDMETHODCALLTYPE *LayoutScript)(
5060 ILayoutStorage* This,
5061 StorageLayout* pStorageLayout,
5063 DWORD glfInterleavedFlag);
5065 HRESULT (STDMETHODCALLTYPE *BeginMonitor)(
5066 ILayoutStorage* This);
5068 HRESULT (STDMETHODCALLTYPE *EndMonitor)(
5069 ILayoutStorage* This);
5071 HRESULT (STDMETHODCALLTYPE *ReLayoutDocfile)(
5072 ILayoutStorage* This,
5073 OLECHAR* pwcsNewDfName);
5075 HRESULT (STDMETHODCALLTYPE *ReLayoutDocfileOnILockBytes)(
5076 ILayoutStorage* This,
5077 ILockBytes* pILockBytes);
5081 /*** IUnknown methods ***/
5082 #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5083 #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5084 #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p)
5085 /*** ILayoutStorage methods ***/
5086 #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c)
5087 #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p)
5088 #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p)
5089 #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a)
5090 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a)
5094 #define ILayoutStorage_METHODS \
5095 ICOM_MSVTABLE_COMPAT_FIELDS \
5096 /*** IUnknown methods ***/ \
5097 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5098 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5099 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5100 /*** ILayoutStorage methods ***/ \
5101 STDMETHOD_(HRESULT,LayoutScript)(THIS_ StorageLayout* pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) PURE; \
5102 STDMETHOD_(HRESULT,BeginMonitor)(THIS) PURE; \
5103 STDMETHOD_(HRESULT,EndMonitor)(THIS) PURE; \
5104 STDMETHOD_(HRESULT,ReLayoutDocfile)(THIS_ OLECHAR* pwcsNewDfName) PURE; \
5105 STDMETHOD_(HRESULT,ReLayoutDocfileOnILockBytes)(THIS_ ILockBytes* pILockBytes) PURE;
5107 HRESULT CALLBACK ILayoutStorage_LayoutScript_Proxy(
5108 ILayoutStorage* This,
5109 StorageLayout* pStorageLayout,
5111 DWORD glfInterleavedFlag);
5112 void __RPC_STUB ILayoutStorage_LayoutScript_Stub(
5113 struct IRpcStubBuffer* This,
5114 struct IRpcChannelBuffer* pRpcChannelBuffer,
5115 PRPC_MESSAGE pRpcMessage,
5116 DWORD* pdwStubPhase);
5117 HRESULT CALLBACK ILayoutStorage_BeginMonitor_Proxy(
5118 ILayoutStorage* This);
5119 void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(
5120 struct IRpcStubBuffer* This,
5121 struct IRpcChannelBuffer* pRpcChannelBuffer,
5122 PRPC_MESSAGE pRpcMessage,
5123 DWORD* pdwStubPhase);
5124 HRESULT CALLBACK ILayoutStorage_EndMonitor_Proxy(
5125 ILayoutStorage* This);
5126 void __RPC_STUB ILayoutStorage_EndMonitor_Stub(
5127 struct IRpcStubBuffer* This,
5128 struct IRpcChannelBuffer* pRpcChannelBuffer,
5129 PRPC_MESSAGE pRpcMessage,
5130 DWORD* pdwStubPhase);
5131 HRESULT CALLBACK ILayoutStorage_ReLayoutDocfile_Proxy(
5132 ILayoutStorage* This,
5133 OLECHAR* pwcsNewDfName);
5134 void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(
5135 struct IRpcStubBuffer* This,
5136 struct IRpcChannelBuffer* pRpcChannelBuffer,
5137 PRPC_MESSAGE pRpcMessage,
5138 DWORD* pdwStubPhase);
5139 HRESULT CALLBACK ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
5140 ILayoutStorage* This,
5141 ILockBytes* pILockBytes);
5142 void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
5143 struct IRpcStubBuffer* This,
5144 struct IRpcChannelBuffer* pRpcChannelBuffer,
5145 PRPC_MESSAGE pRpcMessage,
5146 DWORD* pdwStubPhase);
5148 #endif /* __ILayoutStorage_INTERFACE_DEFINED__ */
5150 #ifndef __IEnumFORMATETC_FWD_DEFINED__
5151 #define __IEnumFORMATETC_FWD_DEFINED__
5152 typedef struct IEnumFORMATETC IEnumFORMATETC;
5155 typedef IEnumFORMATETC *LPENUMFORMATETC;
5157 typedef struct tagDVTARGETDEVICE {
5159 WORD tdDriverNameOffset;
5160 WORD tdDeviceNameOffset;
5161 WORD tdPortNameOffset;
5162 WORD tdExtDevmodeOffset;
5166 typedef CLIPFORMAT *LPCLIPFORMAT;
5168 typedef struct tagFORMATETC {
5169 CLIPFORMAT cfFormat;
5170 DVTARGETDEVICE *ptd;
5174 } FORMATETC, *LPFORMATETC;
5176 /*****************************************************************************
5177 * IEnumFORMATETC interface
5179 #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
5180 #define __IEnumFORMATETC_INTERFACE_DEFINED__
5182 DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5183 #if defined(__cplusplus) && !defined(CINTERFACE)
5184 struct IEnumFORMATETC : public IUnknown
5186 virtual HRESULT STDMETHODCALLTYPE Next(
5189 ULONG* pceltFetched) = 0;
5191 virtual HRESULT STDMETHODCALLTYPE Skip(
5194 virtual HRESULT STDMETHODCALLTYPE Reset(
5197 virtual HRESULT STDMETHODCALLTYPE Clone(
5198 IEnumFORMATETC** ppenum) = 0;
5202 typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl;
5203 struct IEnumFORMATETC {
5204 const IEnumFORMATETCVtbl* lpVtbl;
5206 struct IEnumFORMATETCVtbl {
5207 ICOM_MSVTABLE_COMPAT_FIELDS
5209 /*** IUnknown methods ***/
5210 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5211 IEnumFORMATETC* This,
5215 ULONG (STDMETHODCALLTYPE *AddRef)(
5216 IEnumFORMATETC* This);
5218 ULONG (STDMETHODCALLTYPE *Release)(
5219 IEnumFORMATETC* This);
5221 /*** IEnumFORMATETC methods ***/
5222 HRESULT (STDMETHODCALLTYPE *Next)(
5223 IEnumFORMATETC* This,
5226 ULONG* pceltFetched);
5228 HRESULT (STDMETHODCALLTYPE *Skip)(
5229 IEnumFORMATETC* This,
5232 HRESULT (STDMETHODCALLTYPE *Reset)(
5233 IEnumFORMATETC* This);
5235 HRESULT (STDMETHODCALLTYPE *Clone)(
5236 IEnumFORMATETC* This,
5237 IEnumFORMATETC** ppenum);
5241 /*** IUnknown methods ***/
5242 #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5243 #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p)
5244 #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p)
5245 /*** IEnumFORMATETC methods ***/
5246 #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5247 #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5248 #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p)
5249 #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5253 #define IEnumFORMATETC_METHODS \
5254 ICOM_MSVTABLE_COMPAT_FIELDS \
5255 /*** IUnknown methods ***/ \
5256 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5257 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5258 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5259 /*** IEnumFORMATETC methods ***/ \
5260 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched) PURE; \
5261 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5262 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5263 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFORMATETC** ppenum) PURE;
5265 HRESULT CALLBACK IEnumFORMATETC_RemoteNext_Proxy(
5266 IEnumFORMATETC* This,
5269 ULONG* pceltFetched);
5270 void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
5271 struct IRpcStubBuffer* This,
5272 struct IRpcChannelBuffer* pRpcChannelBuffer,
5273 PRPC_MESSAGE pRpcMessage,
5274 DWORD* pdwStubPhase);
5275 HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
5276 IEnumFORMATETC* This,
5279 ULONG* pceltFetched);
5280 HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
5281 IEnumFORMATETC* This,
5284 ULONG* pceltFetched);
5285 HRESULT CALLBACK IEnumFORMATETC_Skip_Proxy(
5286 IEnumFORMATETC* This,
5288 void __RPC_STUB IEnumFORMATETC_Skip_Stub(
5289 struct IRpcStubBuffer* This,
5290 struct IRpcChannelBuffer* pRpcChannelBuffer,
5291 PRPC_MESSAGE pRpcMessage,
5292 DWORD* pdwStubPhase);
5293 HRESULT CALLBACK IEnumFORMATETC_Reset_Proxy(
5294 IEnumFORMATETC* This);
5295 void __RPC_STUB IEnumFORMATETC_Reset_Stub(
5296 struct IRpcStubBuffer* This,
5297 struct IRpcChannelBuffer* pRpcChannelBuffer,
5298 PRPC_MESSAGE pRpcMessage,
5299 DWORD* pdwStubPhase);
5300 HRESULT CALLBACK IEnumFORMATETC_Clone_Proxy(
5301 IEnumFORMATETC* This,
5302 IEnumFORMATETC** ppenum);
5303 void __RPC_STUB IEnumFORMATETC_Clone_Stub(
5304 struct IRpcStubBuffer* This,
5305 struct IRpcChannelBuffer* pRpcChannelBuffer,
5306 PRPC_MESSAGE pRpcMessage,
5307 DWORD* pdwStubPhase);
5309 #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
5311 #ifndef __IEnumSTATDATA_FWD_DEFINED__
5312 #define __IEnumSTATDATA_FWD_DEFINED__
5313 typedef struct IEnumSTATDATA IEnumSTATDATA;
5316 typedef IEnumSTATDATA *LPENUMSTATDATA;
5318 typedef enum tagADVF {
5320 ADVF_PRIMEFIRST = 2,
5322 ADVF_DATAONSTOP = 64,
5323 ADVFCACHE_NOHANDLER = 8,
5324 ADVFCACHE_FORCEBUILTIN = 16,
5325 ADVFCACHE_ONSAVE = 32
5328 typedef struct tagSTATDATA {
5329 FORMATETC formatetc;
5331 IAdviseSink *pAdvSink;
5333 } STATDATA, *LPSTATDATA;
5335 /*****************************************************************************
5336 * IEnumSTATDATA interface
5338 #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
5339 #define __IEnumSTATDATA_INTERFACE_DEFINED__
5341 DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5342 #if defined(__cplusplus) && !defined(CINTERFACE)
5343 struct IEnumSTATDATA : public IUnknown
5345 virtual HRESULT STDMETHODCALLTYPE Next(
5348 ULONG* pceltFetched) = 0;
5350 virtual HRESULT STDMETHODCALLTYPE Skip(
5353 virtual HRESULT STDMETHODCALLTYPE Reset(
5356 virtual HRESULT STDMETHODCALLTYPE Clone(
5357 IEnumSTATDATA** ppenum) = 0;
5361 typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl;
5362 struct IEnumSTATDATA {
5363 const IEnumSTATDATAVtbl* lpVtbl;
5365 struct IEnumSTATDATAVtbl {
5366 ICOM_MSVTABLE_COMPAT_FIELDS
5368 /*** IUnknown methods ***/
5369 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5370 IEnumSTATDATA* This,
5374 ULONG (STDMETHODCALLTYPE *AddRef)(
5375 IEnumSTATDATA* This);
5377 ULONG (STDMETHODCALLTYPE *Release)(
5378 IEnumSTATDATA* This);
5380 /*** IEnumSTATDATA methods ***/
5381 HRESULT (STDMETHODCALLTYPE *Next)(
5382 IEnumSTATDATA* This,
5385 ULONG* pceltFetched);
5387 HRESULT (STDMETHODCALLTYPE *Skip)(
5388 IEnumSTATDATA* This,
5391 HRESULT (STDMETHODCALLTYPE *Reset)(
5392 IEnumSTATDATA* This);
5394 HRESULT (STDMETHODCALLTYPE *Clone)(
5395 IEnumSTATDATA* This,
5396 IEnumSTATDATA** ppenum);
5400 /*** IUnknown methods ***/
5401 #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5402 #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p)
5403 #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p)
5404 /*** IEnumSTATDATA methods ***/
5405 #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5406 #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5407 #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p)
5408 #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5412 #define IEnumSTATDATA_METHODS \
5413 ICOM_MSVTABLE_COMPAT_FIELDS \
5414 /*** IUnknown methods ***/ \
5415 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5416 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5417 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5418 /*** IEnumSTATDATA methods ***/ \
5419 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATDATA* rgelt, ULONG* pceltFetched) PURE; \
5420 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5421 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5422 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATDATA** ppenum) PURE;
5424 HRESULT CALLBACK IEnumSTATDATA_RemoteNext_Proxy(
5425 IEnumSTATDATA* This,
5428 ULONG* pceltFetched);
5429 void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
5430 struct IRpcStubBuffer* This,
5431 struct IRpcChannelBuffer* pRpcChannelBuffer,
5432 PRPC_MESSAGE pRpcMessage,
5433 DWORD* pdwStubPhase);
5434 HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
5435 IEnumSTATDATA* This,
5438 ULONG* pceltFetched);
5439 HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
5440 IEnumSTATDATA* This,
5443 ULONG* pceltFetched);
5444 HRESULT CALLBACK IEnumSTATDATA_Skip_Proxy(
5445 IEnumSTATDATA* This,
5447 void __RPC_STUB IEnumSTATDATA_Skip_Stub(
5448 struct IRpcStubBuffer* This,
5449 struct IRpcChannelBuffer* pRpcChannelBuffer,
5450 PRPC_MESSAGE pRpcMessage,
5451 DWORD* pdwStubPhase);
5452 HRESULT CALLBACK IEnumSTATDATA_Reset_Proxy(
5453 IEnumSTATDATA* This);
5454 void __RPC_STUB IEnumSTATDATA_Reset_Stub(
5455 struct IRpcStubBuffer* This,
5456 struct IRpcChannelBuffer* pRpcChannelBuffer,
5457 PRPC_MESSAGE pRpcMessage,
5458 DWORD* pdwStubPhase);
5459 HRESULT CALLBACK IEnumSTATDATA_Clone_Proxy(
5460 IEnumSTATDATA* This,
5461 IEnumSTATDATA** ppenum);
5462 void __RPC_STUB IEnumSTATDATA_Clone_Stub(
5463 struct IRpcStubBuffer* This,
5464 struct IRpcChannelBuffer* pRpcChannelBuffer,
5465 PRPC_MESSAGE pRpcMessage,
5466 DWORD* pdwStubPhase);
5468 #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
5470 typedef IAdviseSink *LPADVISESINK;
5472 typedef enum tagTYMED {
5483 typedef struct tagRemSTGMEDIUM {
5486 unsigned long pData;
5487 unsigned long pUnkForRelease;
5488 unsigned long cbData;
5492 typedef struct tagSTGMEDIUM {
5496 HMETAFILEPICT hMetaFilePict;
5497 HENHMETAFILE hEnhMetaFile;
5499 LPOLESTR lpszFileName;
5503 IUnknown *pUnkForRelease;
5506 typedef struct _GDI_OBJECT {
5509 wireHBITMAP hBitmap;
5510 wireHPALETTE hPalette;
5511 wireHGLOBAL hGeneric;
5515 typedef struct _userSTGMEDIUM {
5519 wireHMETAFILEPICT hMetaFilePict;
5520 wireHENHMETAFILE hHEnhMetaFile;
5521 GDI_OBJECT *hGdiHandle;
5522 wireHGLOBAL hGlobal;
5523 LPOLESTR lpszFileName;
5528 IUnknown *pUnkForRelease;
5531 typedef userSTGMEDIUM *wireSTGMEDIUM;
5533 typedef uSTGMEDIUM STGMEDIUM;
5534 unsigned long __RPC_USER STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM *);
5535 unsigned char * __RPC_USER STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM *);
5536 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM *);
5537 void __RPC_USER STGMEDIUM_UserFree (unsigned long *, STGMEDIUM *);
5539 typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
5541 typedef STGMEDIUM ASYNC_STGMEDIUM;
5542 unsigned long __RPC_USER ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM *);
5543 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM *);
5544 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM *);
5545 void __RPC_USER ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM *);
5547 typedef STGMEDIUM *LPSTGMEDIUM;
5549 typedef struct _userFLAG_STGMEDIUM {
5551 long fPassOwnership;
5552 userSTGMEDIUM Stgmed;
5553 } userFLAG_STGMEDIUM;
5555 typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
5557 typedef struct _FLAG_STGMEDIUM {
5559 long fPassOwnership;
5562 unsigned long __RPC_USER FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM *);
5563 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM *);
5564 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM *);
5565 void __RPC_USER FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM *);
5567 /*****************************************************************************
5568 * IAdviseSink interface
5570 #ifndef __IAdviseSink_INTERFACE_DEFINED__
5571 #define __IAdviseSink_INTERFACE_DEFINED__
5573 DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5574 #if defined(__cplusplus) && !defined(CINTERFACE)
5575 struct IAdviseSink : public IUnknown
5577 virtual void STDMETHODCALLTYPE OnDataChange(
5578 FORMATETC* pFormatetc,
5579 STGMEDIUM* pStgmed) = 0;
5581 virtual void STDMETHODCALLTYPE OnViewChange(
5585 virtual void STDMETHODCALLTYPE OnRename(
5588 virtual void STDMETHODCALLTYPE OnSave(
5591 virtual void STDMETHODCALLTYPE OnClose(
5596 typedef struct IAdviseSinkVtbl IAdviseSinkVtbl;
5597 struct IAdviseSink {
5598 const IAdviseSinkVtbl* lpVtbl;
5600 struct IAdviseSinkVtbl {
5601 ICOM_MSVTABLE_COMPAT_FIELDS
5603 /*** IUnknown methods ***/
5604 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5609 ULONG (STDMETHODCALLTYPE *AddRef)(
5612 ULONG (STDMETHODCALLTYPE *Release)(
5615 /*** IAdviseSink methods ***/
5616 void (STDMETHODCALLTYPE *OnDataChange)(
5618 FORMATETC* pFormatetc,
5619 STGMEDIUM* pStgmed);
5621 void (STDMETHODCALLTYPE *OnViewChange)(
5626 void (STDMETHODCALLTYPE *OnRename)(
5630 void (STDMETHODCALLTYPE *OnSave)(
5633 void (STDMETHODCALLTYPE *OnClose)(
5638 /*** IUnknown methods ***/
5639 #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5640 #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
5641 #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p)
5642 /*** IAdviseSink methods ***/
5643 #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
5644 #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
5645 #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
5646 #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p)
5647 #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p)
5651 #define IAdviseSink_METHODS \
5652 ICOM_MSVTABLE_COMPAT_FIELDS \
5653 /*** IUnknown methods ***/ \
5654 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5655 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5656 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5657 /*** IAdviseSink methods ***/ \
5658 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
5659 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
5660 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
5661 STDMETHOD_(void,OnSave)(THIS) PURE; \
5662 STDMETHOD_(void,OnClose)(THIS) PURE;
5664 HRESULT CALLBACK IAdviseSink_RemoteOnDataChange_Proxy(
5666 IAsyncManager** ppIAM,
5667 FORMATETC* pFormatetc,
5668 ASYNC_STGMEDIUM* pStgmed);
5669 void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
5670 struct IRpcStubBuffer* This,
5671 struct IRpcChannelBuffer* pRpcChannelBuffer,
5672 PRPC_MESSAGE pRpcMessage,
5673 DWORD* pdwStubPhase);
5674 void CALLBACK IAdviseSink_OnDataChange_Proxy(
5676 FORMATETC* pFormatetc,
5677 STGMEDIUM* pStgmed);
5678 HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
5680 IAsyncManager** ppIAM,
5681 FORMATETC* pFormatetc,
5682 ASYNC_STGMEDIUM* pStgmed);
5683 HRESULT CALLBACK IAdviseSink_RemoteOnViewChange_Proxy(
5685 IAsyncManager** ppIAM,
5688 void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
5689 struct IRpcStubBuffer* This,
5690 struct IRpcChannelBuffer* pRpcChannelBuffer,
5691 PRPC_MESSAGE pRpcMessage,
5692 DWORD* pdwStubPhase);
5693 void CALLBACK IAdviseSink_OnViewChange_Proxy(
5697 HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
5699 IAsyncManager** ppIAM,
5702 HRESULT CALLBACK IAdviseSink_RemoteOnRename_Proxy(
5704 IAsyncManager** ppIAM,
5706 void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
5707 struct IRpcStubBuffer* This,
5708 struct IRpcChannelBuffer* pRpcChannelBuffer,
5709 PRPC_MESSAGE pRpcMessage,
5710 DWORD* pdwStubPhase);
5711 void CALLBACK IAdviseSink_OnRename_Proxy(
5714 HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
5716 IAsyncManager** ppIAM,
5718 HRESULT CALLBACK IAdviseSink_RemoteOnSave_Proxy(
5720 IAsyncManager** ppIAM);
5721 void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
5722 struct IRpcStubBuffer* This,
5723 struct IRpcChannelBuffer* pRpcChannelBuffer,
5724 PRPC_MESSAGE pRpcMessage,
5725 DWORD* pdwStubPhase);
5726 void CALLBACK IAdviseSink_OnSave_Proxy(
5728 HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
5730 IAsyncManager** ppIAM);
5731 HRESULT CALLBACK IAdviseSink_RemoteOnClose_Proxy(
5733 void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
5734 struct IRpcStubBuffer* This,
5735 struct IRpcChannelBuffer* pRpcChannelBuffer,
5736 PRPC_MESSAGE pRpcMessage,
5737 DWORD* pdwStubPhase);
5738 void CALLBACK IAdviseSink_OnClose_Proxy(
5740 HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
5743 #endif /* __IAdviseSink_INTERFACE_DEFINED__ */
5745 #ifndef __IAdviseSink2_FWD_DEFINED__
5746 #define __IAdviseSink2_FWD_DEFINED__
5747 typedef struct IAdviseSink2 IAdviseSink2;
5750 typedef IAdviseSink2 *LPADVISESINK2;
5752 /*****************************************************************************
5753 * IAdviseSink2 interface
5755 #ifndef __IAdviseSink2_INTERFACE_DEFINED__
5756 #define __IAdviseSink2_INTERFACE_DEFINED__
5758 DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5759 #if defined(__cplusplus) && !defined(CINTERFACE)
5760 struct IAdviseSink2 : public IAdviseSink
5762 virtual void STDMETHODCALLTYPE OnLinkSrcChange(
5767 typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl;
5768 struct IAdviseSink2 {
5769 const IAdviseSink2Vtbl* lpVtbl;
5771 struct IAdviseSink2Vtbl {
5772 ICOM_MSVTABLE_COMPAT_FIELDS
5774 /*** IUnknown methods ***/
5775 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5780 ULONG (STDMETHODCALLTYPE *AddRef)(
5781 IAdviseSink2* This);
5783 ULONG (STDMETHODCALLTYPE *Release)(
5784 IAdviseSink2* This);
5786 /*** IAdviseSink methods ***/
5787 void (STDMETHODCALLTYPE *OnDataChange)(
5789 FORMATETC* pFormatetc,
5790 STGMEDIUM* pStgmed);
5792 void (STDMETHODCALLTYPE *OnViewChange)(
5797 void (STDMETHODCALLTYPE *OnRename)(
5801 void (STDMETHODCALLTYPE *OnSave)(
5802 IAdviseSink2* This);
5804 void (STDMETHODCALLTYPE *OnClose)(
5805 IAdviseSink2* This);
5807 /*** IAdviseSink2 methods ***/
5808 void (STDMETHODCALLTYPE *OnLinkSrcChange)(
5814 /*** IUnknown methods ***/
5815 #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5816 #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p)
5817 #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p)
5818 /*** IAdviseSink methods ***/
5819 #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
5820 #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
5821 #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
5822 #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p)
5823 #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p)
5824 /*** IAdviseSink2 methods ***/
5825 #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a)
5829 #define IAdviseSink2_METHODS \
5830 ICOM_MSVTABLE_COMPAT_FIELDS \
5831 /*** IUnknown methods ***/ \
5832 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5833 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5834 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5835 /*** IAdviseSink methods ***/ \
5836 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
5837 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
5838 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
5839 STDMETHOD_(void,OnSave)(THIS) PURE; \
5840 STDMETHOD_(void,OnClose)(THIS) PURE; \
5841 /*** IAdviseSink2 methods ***/ \
5842 STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker* pmk) PURE;
5844 HRESULT CALLBACK IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
5846 IAsyncManager** ppIAM,
5848 void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
5849 struct IRpcStubBuffer* This,
5850 struct IRpcChannelBuffer* pRpcChannelBuffer,
5851 PRPC_MESSAGE pRpcMessage,
5852 DWORD* pdwStubPhase);
5853 void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy(
5856 HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub(
5858 IAsyncManager** ppIAM,
5861 #endif /* __IAdviseSink2_INTERFACE_DEFINED__ */
5863 #ifndef __IDataObject_FWD_DEFINED__
5864 #define __IDataObject_FWD_DEFINED__
5865 typedef struct IDataObject IDataObject;
5868 typedef IDataObject *LPDATAOBJECT;
5870 typedef enum tagDATADIR {
5875 /*****************************************************************************
5876 * IDataObject interface
5878 #ifndef __IDataObject_INTERFACE_DEFINED__
5879 #define __IDataObject_INTERFACE_DEFINED__
5881 DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5882 #if defined(__cplusplus) && !defined(CINTERFACE)
5883 struct IDataObject : public IUnknown
5885 virtual HRESULT STDMETHODCALLTYPE GetData(
5886 FORMATETC* pformatetcIn,
5887 STGMEDIUM* pmedium) = 0;
5889 virtual HRESULT STDMETHODCALLTYPE GetDataHere(
5890 FORMATETC* pformatetc,
5891 STGMEDIUM* pmedium) = 0;
5893 virtual HRESULT STDMETHODCALLTYPE QueryGetData(
5894 FORMATETC* pformatetc) = 0;
5896 virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
5897 FORMATETC* pformatectIn,
5898 FORMATETC* pformatetcOut) = 0;
5900 virtual HRESULT STDMETHODCALLTYPE SetData(
5901 FORMATETC* pformatetc,
5905 virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
5907 IEnumFORMATETC** ppenumFormatEtc) = 0;
5909 virtual HRESULT STDMETHODCALLTYPE DAdvise(
5910 FORMATETC* pformatetc,
5912 IAdviseSink* pAdvSink,
5913 DWORD* pdwConnection) = 0;
5915 virtual HRESULT STDMETHODCALLTYPE DUnadvise(
5916 DWORD dwConnection) = 0;
5918 virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
5919 IEnumSTATDATA** ppenumAdvise) = 0;
5923 typedef struct IDataObjectVtbl IDataObjectVtbl;
5924 struct IDataObject {
5925 const IDataObjectVtbl* lpVtbl;
5927 struct IDataObjectVtbl {
5928 ICOM_MSVTABLE_COMPAT_FIELDS
5930 /*** IUnknown methods ***/
5931 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5936 ULONG (STDMETHODCALLTYPE *AddRef)(
5939 ULONG (STDMETHODCALLTYPE *Release)(
5942 /*** IDataObject methods ***/
5943 HRESULT (STDMETHODCALLTYPE *GetData)(
5945 FORMATETC* pformatetcIn,
5946 STGMEDIUM* pmedium);
5948 HRESULT (STDMETHODCALLTYPE *GetDataHere)(
5950 FORMATETC* pformatetc,
5951 STGMEDIUM* pmedium);
5953 HRESULT (STDMETHODCALLTYPE *QueryGetData)(
5955 FORMATETC* pformatetc);
5957 HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
5959 FORMATETC* pformatectIn,
5960 FORMATETC* pformatetcOut);
5962 HRESULT (STDMETHODCALLTYPE *SetData)(
5964 FORMATETC* pformatetc,
5968 HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
5971 IEnumFORMATETC** ppenumFormatEtc);
5973 HRESULT (STDMETHODCALLTYPE *DAdvise)(
5975 FORMATETC* pformatetc,
5977 IAdviseSink* pAdvSink,
5978 DWORD* pdwConnection);
5980 HRESULT (STDMETHODCALLTYPE *DUnadvise)(
5982 DWORD dwConnection);
5984 HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
5986 IEnumSTATDATA** ppenumAdvise);
5990 /*** IUnknown methods ***/
5991 #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5992 #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p)
5993 #define IDataObject_Release(p) (p)->lpVtbl->Release(p)
5994 /*** IDataObject methods ***/
5995 #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b)
5996 #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b)
5997 #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a)
5998 #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b)
5999 #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
6000 #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b)
6001 #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d)
6002 #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a)
6003 #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a)
6007 #define IDataObject_METHODS \
6008 ICOM_MSVTABLE_COMPAT_FIELDS \
6009 /*** IUnknown methods ***/ \
6010 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6011 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6012 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6013 /*** IDataObject methods ***/ \
6014 STDMETHOD_(HRESULT,GetData)(THIS_ FORMATETC* pformatetcIn, STGMEDIUM* pmedium) PURE; \
6015 STDMETHOD_(HRESULT,GetDataHere)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium) PURE; \
6016 STDMETHOD_(HRESULT,QueryGetData)(THIS_ FORMATETC* pformatetc) PURE; \
6017 STDMETHOD_(HRESULT,GetCanonicalFormatEtc)(THIS_ FORMATETC* pformatectIn, FORMATETC* pformatetcOut) PURE; \
6018 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
6019 STDMETHOD_(HRESULT,EnumFormatEtc)(THIS_ DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc) PURE; \
6020 STDMETHOD_(HRESULT,DAdvise)(THIS_ FORMATETC* pformatetc, DWORD advf, IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
6021 STDMETHOD_(HRESULT,DUnadvise)(THIS_ DWORD dwConnection) PURE; \
6022 STDMETHOD_(HRESULT,EnumDAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE;
6024 HRESULT CALLBACK IDataObject_RemoteGetData_Proxy(
6026 FORMATETC* pformatetcIn,
6027 STGMEDIUM* pRemoteMedium);
6028 void __RPC_STUB IDataObject_RemoteGetData_Stub(
6029 struct IRpcStubBuffer* This,
6030 struct IRpcChannelBuffer* pRpcChannelBuffer,
6031 PRPC_MESSAGE pRpcMessage,
6032 DWORD* pdwStubPhase);
6033 HRESULT CALLBACK IDataObject_GetData_Proxy(
6035 FORMATETC* pformatetcIn,
6036 STGMEDIUM* pmedium);
6037 HRESULT __RPC_STUB IDataObject_GetData_Stub(
6039 FORMATETC* pformatetcIn,
6040 STGMEDIUM* pRemoteMedium);
6041 HRESULT CALLBACK IDataObject_RemoteGetDataHere_Proxy(
6043 FORMATETC* pformatetc,
6044 STGMEDIUM* pRemoteMedium);
6045 void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
6046 struct IRpcStubBuffer* This,
6047 struct IRpcChannelBuffer* pRpcChannelBuffer,
6048 PRPC_MESSAGE pRpcMessage,
6049 DWORD* pdwStubPhase);
6050 HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
6052 FORMATETC* pformatetc,
6053 STGMEDIUM* pmedium);
6054 HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
6056 FORMATETC* pformatetc,
6057 STGMEDIUM* pRemoteMedium);
6058 HRESULT CALLBACK IDataObject_QueryGetData_Proxy(
6060 FORMATETC* pformatetc);
6061 void __RPC_STUB IDataObject_QueryGetData_Stub(
6062 struct IRpcStubBuffer* This,
6063 struct IRpcChannelBuffer* pRpcChannelBuffer,
6064 PRPC_MESSAGE pRpcMessage,
6065 DWORD* pdwStubPhase);
6066 HRESULT CALLBACK IDataObject_GetCanonicalFormatEtc_Proxy(
6068 FORMATETC* pformatectIn,
6069 FORMATETC* pformatetcOut);
6070 void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
6071 struct IRpcStubBuffer* This,
6072 struct IRpcChannelBuffer* pRpcChannelBuffer,
6073 PRPC_MESSAGE pRpcMessage,
6074 DWORD* pdwStubPhase);
6075 HRESULT CALLBACK IDataObject_RemoteSetData_Proxy(
6077 FORMATETC* pformatetc,
6078 FLAG_STGMEDIUM* pmedium,
6080 void __RPC_STUB IDataObject_RemoteSetData_Stub(
6081 struct IRpcStubBuffer* This,
6082 struct IRpcChannelBuffer* pRpcChannelBuffer,
6083 PRPC_MESSAGE pRpcMessage,
6084 DWORD* pdwStubPhase);
6085 HRESULT CALLBACK IDataObject_SetData_Proxy(
6087 FORMATETC* pformatetc,
6090 HRESULT __RPC_STUB IDataObject_SetData_Stub(
6092 FORMATETC* pformatetc,
6093 FLAG_STGMEDIUM* pmedium,
6095 HRESULT CALLBACK IDataObject_EnumFormatEtc_Proxy(
6098 IEnumFORMATETC** ppenumFormatEtc);
6099 void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
6100 struct IRpcStubBuffer* This,
6101 struct IRpcChannelBuffer* pRpcChannelBuffer,
6102 PRPC_MESSAGE pRpcMessage,
6103 DWORD* pdwStubPhase);
6104 HRESULT CALLBACK IDataObject_DAdvise_Proxy(
6106 FORMATETC* pformatetc,
6108 IAdviseSink* pAdvSink,
6109 DWORD* pdwConnection);
6110 void __RPC_STUB IDataObject_DAdvise_Stub(
6111 struct IRpcStubBuffer* This,
6112 struct IRpcChannelBuffer* pRpcChannelBuffer,
6113 PRPC_MESSAGE pRpcMessage,
6114 DWORD* pdwStubPhase);
6115 HRESULT CALLBACK IDataObject_DUnadvise_Proxy(
6117 DWORD dwConnection);
6118 void __RPC_STUB IDataObject_DUnadvise_Stub(
6119 struct IRpcStubBuffer* This,
6120 struct IRpcChannelBuffer* pRpcChannelBuffer,
6121 PRPC_MESSAGE pRpcMessage,
6122 DWORD* pdwStubPhase);
6123 HRESULT CALLBACK IDataObject_EnumDAdvise_Proxy(
6125 IEnumSTATDATA** ppenumAdvise);
6126 void __RPC_STUB IDataObject_EnumDAdvise_Stub(
6127 struct IRpcStubBuffer* This,
6128 struct IRpcChannelBuffer* pRpcChannelBuffer,
6129 PRPC_MESSAGE pRpcMessage,
6130 DWORD* pdwStubPhase);
6132 #endif /* __IDataObject_INTERFACE_DEFINED__ */
6134 #ifndef __IDataAdviseHolder_FWD_DEFINED__
6135 #define __IDataAdviseHolder_FWD_DEFINED__
6136 typedef struct IDataAdviseHolder IDataAdviseHolder;
6139 typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
6141 /*****************************************************************************
6142 * IDataAdviseHolder interface
6144 #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
6145 #define __IDataAdviseHolder_INTERFACE_DEFINED__
6147 DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6148 #if defined(__cplusplus) && !defined(CINTERFACE)
6149 struct IDataAdviseHolder : public IUnknown
6151 virtual HRESULT STDMETHODCALLTYPE Advise(
6152 IDataObject* pDataObject,
6155 IAdviseSink* pAdvise,
6156 DWORD* pdwConnection) = 0;
6158 virtual HRESULT STDMETHODCALLTYPE Unadvise(
6159 DWORD dwConnection) = 0;
6161 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
6162 IEnumSTATDATA** ppenumAdvise) = 0;
6164 virtual HRESULT STDMETHODCALLTYPE SendOnDataChange(
6165 IDataObject* pDataObject,
6171 typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl;
6172 struct IDataAdviseHolder {
6173 const IDataAdviseHolderVtbl* lpVtbl;
6175 struct IDataAdviseHolderVtbl {
6176 ICOM_MSVTABLE_COMPAT_FIELDS
6178 /*** IUnknown methods ***/
6179 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6180 IDataAdviseHolder* This,
6184 ULONG (STDMETHODCALLTYPE *AddRef)(
6185 IDataAdviseHolder* This);
6187 ULONG (STDMETHODCALLTYPE *Release)(
6188 IDataAdviseHolder* This);
6190 /*** IDataAdviseHolder methods ***/
6191 HRESULT (STDMETHODCALLTYPE *Advise)(
6192 IDataAdviseHolder* This,
6193 IDataObject* pDataObject,
6196 IAdviseSink* pAdvise,
6197 DWORD* pdwConnection);
6199 HRESULT (STDMETHODCALLTYPE *Unadvise)(
6200 IDataAdviseHolder* This,
6201 DWORD dwConnection);
6203 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
6204 IDataAdviseHolder* This,
6205 IEnumSTATDATA** ppenumAdvise);
6207 HRESULT (STDMETHODCALLTYPE *SendOnDataChange)(
6208 IDataAdviseHolder* This,
6209 IDataObject* pDataObject,
6215 /*** IUnknown methods ***/
6216 #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6217 #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
6218 #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
6219 /*** IDataAdviseHolder methods ***/
6220 #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
6221 #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
6222 #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
6223 #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c)
6227 #define IDataAdviseHolder_METHODS \
6228 ICOM_MSVTABLE_COMPAT_FIELDS \
6229 /*** IUnknown methods ***/ \
6230 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6231 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6232 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6233 /*** IDataAdviseHolder methods ***/ \
6234 STDMETHOD_(HRESULT,Advise)(THIS_ IDataObject* pDataObject, FORMATETC* pFetc, DWORD advf, IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
6235 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
6236 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
6237 STDMETHOD_(HRESULT,SendOnDataChange)(THIS_ IDataObject* pDataObject, DWORD dwReserved, DWORD advf) PURE;
6239 HRESULT CALLBACK IDataAdviseHolder_Advise_Proxy(
6240 IDataAdviseHolder* This,
6241 IDataObject* pDataObject,
6244 IAdviseSink* pAdvise,
6245 DWORD* pdwConnection);
6246 void __RPC_STUB IDataAdviseHolder_Advise_Stub(
6247 struct IRpcStubBuffer* This,
6248 struct IRpcChannelBuffer* pRpcChannelBuffer,
6249 PRPC_MESSAGE pRpcMessage,
6250 DWORD* pdwStubPhase);
6251 HRESULT CALLBACK IDataAdviseHolder_Unadvise_Proxy(
6252 IDataAdviseHolder* This,
6253 DWORD dwConnection);
6254 void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
6255 struct IRpcStubBuffer* This,
6256 struct IRpcChannelBuffer* pRpcChannelBuffer,
6257 PRPC_MESSAGE pRpcMessage,
6258 DWORD* pdwStubPhase);
6259 HRESULT CALLBACK IDataAdviseHolder_EnumAdvise_Proxy(
6260 IDataAdviseHolder* This,
6261 IEnumSTATDATA** ppenumAdvise);
6262 void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
6263 struct IRpcStubBuffer* This,
6264 struct IRpcChannelBuffer* pRpcChannelBuffer,
6265 PRPC_MESSAGE pRpcMessage,
6266 DWORD* pdwStubPhase);
6267 HRESULT CALLBACK IDataAdviseHolder_SendOnDataChange_Proxy(
6268 IDataAdviseHolder* This,
6269 IDataObject* pDataObject,
6272 void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
6273 struct IRpcStubBuffer* This,
6274 struct IRpcChannelBuffer* pRpcChannelBuffer,
6275 PRPC_MESSAGE pRpcMessage,
6276 DWORD* pdwStubPhase);
6278 #endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
6280 #ifndef __IMessageFilter_FWD_DEFINED__
6281 #define __IMessageFilter_FWD_DEFINED__
6282 typedef struct IMessageFilter IMessageFilter;
6285 typedef IMessageFilter *LPMESSAGEFILTER;
6287 typedef enum tagCALLTYPE {
6288 CALLTYPE_TOPLEVEL = 1,
6289 CALLTYPE_NESTED = 2,
6291 CALLTYPE_TOPLEVEL_CALLPENDING = 4,
6292 CALLTYPE_ASYNC_CALLPENDING = 5
6295 typedef enum tagSERVERCALL {
6296 SERVERCALL_ISHANDLED = 0,
6297 SERVERCALL_REJECTED = 1,
6298 SERVERCALL_RETRYLATER = 2
6301 typedef enum tagPENDINGTYPE {
6302 PENDINGTYPE_TOPLEVEL = 1,
6303 PENDINGTYPE_NESTED = 2
6306 typedef enum tagPENDINGMSG {
6307 PENDINGMSG_CANCELCALL = 0,
6308 PENDINGMSG_WAITNOPROCESS = 1,
6309 PENDINGMSG_WAITDEFPROCESS = 2
6312 typedef struct tagINTERFACEINFO {
6316 } INTERFACEINFO, *LPINTERFACEINFO;
6318 /*****************************************************************************
6319 * IMessageFilter interface
6321 #ifndef __IMessageFilter_INTERFACE_DEFINED__
6322 #define __IMessageFilter_INTERFACE_DEFINED__
6324 DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6325 #if defined(__cplusplus) && !defined(CINTERFACE)
6326 struct IMessageFilter : public IUnknown
6328 virtual DWORD STDMETHODCALLTYPE HandleInComingCall(
6332 LPINTERFACEINFO lpInterfaceInfo) = 0;
6334 virtual DWORD STDMETHODCALLTYPE RetryRejectedCall(
6337 DWORD dwRejectType) = 0;
6339 virtual DWORD STDMETHODCALLTYPE MessagePending(
6342 DWORD dwPendingType) = 0;
6346 typedef struct IMessageFilterVtbl IMessageFilterVtbl;
6347 struct IMessageFilter {
6348 const IMessageFilterVtbl* lpVtbl;
6350 struct IMessageFilterVtbl {
6351 ICOM_MSVTABLE_COMPAT_FIELDS
6353 /*** IUnknown methods ***/
6354 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6355 IMessageFilter* This,
6359 ULONG (STDMETHODCALLTYPE *AddRef)(
6360 IMessageFilter* This);
6362 ULONG (STDMETHODCALLTYPE *Release)(
6363 IMessageFilter* This);
6365 /*** IMessageFilter methods ***/
6366 DWORD (STDMETHODCALLTYPE *HandleInComingCall)(
6367 IMessageFilter* This,
6371 LPINTERFACEINFO lpInterfaceInfo);
6373 DWORD (STDMETHODCALLTYPE *RetryRejectedCall)(
6374 IMessageFilter* This,
6377 DWORD dwRejectType);
6379 DWORD (STDMETHODCALLTYPE *MessagePending)(
6380 IMessageFilter* This,
6383 DWORD dwPendingType);
6387 /*** IUnknown methods ***/
6388 #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6389 #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
6390 #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p)
6391 /*** IMessageFilter methods ***/
6392 #define IMessageFilter_HandleInComingCall(p,a,b,c,d) (p)->lpVtbl->HandleInComingCall(p,a,b,c,d)
6393 #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c)
6394 #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c)
6398 #define IMessageFilter_METHODS \
6399 ICOM_MSVTABLE_COMPAT_FIELDS \
6400 /*** IUnknown methods ***/ \
6401 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6402 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6403 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6404 /*** IMessageFilter methods ***/ \
6405 STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) PURE; \
6406 STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) PURE; \
6407 STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) PURE;
6409 DWORD CALLBACK IMessageFilter_HandleInComingCall_Proxy(
6410 IMessageFilter* This,
6414 LPINTERFACEINFO lpInterfaceInfo);
6415 void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(
6416 struct IRpcStubBuffer* This,
6417 struct IRpcChannelBuffer* pRpcChannelBuffer,
6418 PRPC_MESSAGE pRpcMessage,
6419 DWORD* pdwStubPhase);
6420 DWORD CALLBACK IMessageFilter_RetryRejectedCall_Proxy(
6421 IMessageFilter* This,
6424 DWORD dwRejectType);
6425 void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
6426 struct IRpcStubBuffer* This,
6427 struct IRpcChannelBuffer* pRpcChannelBuffer,
6428 PRPC_MESSAGE pRpcMessage,
6429 DWORD* pdwStubPhase);
6430 DWORD CALLBACK IMessageFilter_MessagePending_Proxy(
6431 IMessageFilter* This,
6434 DWORD dwPendingType);
6435 void __RPC_STUB IMessageFilter_MessagePending_Stub(
6436 struct IRpcStubBuffer* This,
6437 struct IRpcChannelBuffer* pRpcChannelBuffer,
6438 PRPC_MESSAGE pRpcMessage,
6439 DWORD* pdwStubPhase);
6441 #endif /* __IMessageFilter_INTERFACE_DEFINED__ */
6443 #ifndef __IRpcChannelBuffer_FWD_DEFINED__
6444 #define __IRpcChannelBuffer_FWD_DEFINED__
6445 typedef struct IRpcChannelBuffer IRpcChannelBuffer;
6448 typedef IRpcChannelBuffer *LPRPCCHANNELBUFFER;
6450 typedef unsigned long RPCOLEDATAREP;
6452 typedef struct tagRPCOLEMESSAGE {
6454 RPCOLEDATAREP dataRepresentation;
6462 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
6464 /*****************************************************************************
6465 * IRpcChannelBuffer interface
6467 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
6468 #define __IRpcChannelBuffer_INTERFACE_DEFINED__
6470 DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
6471 #if defined(__cplusplus) && !defined(CINTERFACE)
6472 struct IRpcChannelBuffer : public IUnknown
6474 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
6475 RPCOLEMESSAGE* pMessage,
6478 virtual HRESULT STDMETHODCALLTYPE SendReceive(
6479 RPCOLEMESSAGE* pMessage,
6480 ULONG* pStatus) = 0;
6482 virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
6483 RPCOLEMESSAGE* pMessage) = 0;
6485 virtual HRESULT STDMETHODCALLTYPE GetDestCtx(
6486 DWORD* pdwDestContext,
6487 void** ppvDestContext) = 0;
6489 virtual HRESULT STDMETHODCALLTYPE IsConnected(
6494 typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl;
6495 struct IRpcChannelBuffer {
6496 const IRpcChannelBufferVtbl* lpVtbl;
6498 struct IRpcChannelBufferVtbl {
6499 ICOM_MSVTABLE_COMPAT_FIELDS
6501 /*** IUnknown methods ***/
6502 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6503 IRpcChannelBuffer* This,
6507 ULONG (STDMETHODCALLTYPE *AddRef)(
6508 IRpcChannelBuffer* This);
6510 ULONG (STDMETHODCALLTYPE *Release)(
6511 IRpcChannelBuffer* This);
6513 /*** IRpcChannelBuffer methods ***/
6514 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6515 IRpcChannelBuffer* This,
6516 RPCOLEMESSAGE* pMessage,
6519 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6520 IRpcChannelBuffer* This,
6521 RPCOLEMESSAGE* pMessage,
6524 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6525 IRpcChannelBuffer* This,
6526 RPCOLEMESSAGE* pMessage);
6528 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6529 IRpcChannelBuffer* This,
6530 DWORD* pdwDestContext,
6531 void** ppvDestContext);
6533 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6534 IRpcChannelBuffer* This);
6538 /*** IUnknown methods ***/
6539 #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6540 #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
6541 #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p)
6542 /*** IRpcChannelBuffer methods ***/
6543 #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6544 #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6545 #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6546 #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6547 #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6551 #define IRpcChannelBuffer_METHODS \
6552 ICOM_MSVTABLE_COMPAT_FIELDS \
6553 /*** IUnknown methods ***/ \
6554 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6555 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6556 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6557 /*** IRpcChannelBuffer methods ***/ \
6558 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6559 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6560 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6561 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6562 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE;
6564 HRESULT CALLBACK IRpcChannelBuffer_GetBuffer_Proxy(
6565 IRpcChannelBuffer* This,
6566 RPCOLEMESSAGE* pMessage,
6568 void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
6569 struct IRpcStubBuffer* This,
6570 struct IRpcChannelBuffer* pRpcChannelBuffer,
6571 PRPC_MESSAGE pRpcMessage,
6572 DWORD* pdwStubPhase);
6573 HRESULT CALLBACK IRpcChannelBuffer_SendReceive_Proxy(
6574 IRpcChannelBuffer* This,
6575 RPCOLEMESSAGE* pMessage,
6577 void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
6578 struct IRpcStubBuffer* This,
6579 struct IRpcChannelBuffer* pRpcChannelBuffer,
6580 PRPC_MESSAGE pRpcMessage,
6581 DWORD* pdwStubPhase);
6582 HRESULT CALLBACK IRpcChannelBuffer_FreeBuffer_Proxy(
6583 IRpcChannelBuffer* This,
6584 RPCOLEMESSAGE* pMessage);
6585 void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
6586 struct IRpcStubBuffer* This,
6587 struct IRpcChannelBuffer* pRpcChannelBuffer,
6588 PRPC_MESSAGE pRpcMessage,
6589 DWORD* pdwStubPhase);
6590 HRESULT CALLBACK IRpcChannelBuffer_GetDestCtx_Proxy(
6591 IRpcChannelBuffer* This,
6592 DWORD* pdwDestContext,
6593 void** ppvDestContext);
6594 void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
6595 struct IRpcStubBuffer* This,
6596 struct IRpcChannelBuffer* pRpcChannelBuffer,
6597 PRPC_MESSAGE pRpcMessage,
6598 DWORD* pdwStubPhase);
6599 HRESULT CALLBACK IRpcChannelBuffer_IsConnected_Proxy(
6600 IRpcChannelBuffer* This);
6601 void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
6602 struct IRpcStubBuffer* This,
6603 struct IRpcChannelBuffer* pRpcChannelBuffer,
6604 PRPC_MESSAGE pRpcMessage,
6605 DWORD* pdwStubPhase);
6607 #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
6609 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
6610 #define __IRpcChannelBuffer2_FWD_DEFINED__
6611 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
6614 typedef IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2;
6616 /*****************************************************************************
6617 * IRpcChannelBuffer2 interface
6619 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
6620 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
6622 DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
6623 #if defined(__cplusplus) && !defined(CINTERFACE)
6624 struct IRpcChannelBuffer2 : public IRpcChannelBuffer
6626 virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion(
6627 DWORD* pdwVersion) = 0;
6631 typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl;
6632 struct IRpcChannelBuffer2 {
6633 const IRpcChannelBuffer2Vtbl* lpVtbl;
6635 struct IRpcChannelBuffer2Vtbl {
6636 ICOM_MSVTABLE_COMPAT_FIELDS
6638 /*** IUnknown methods ***/
6639 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6640 IRpcChannelBuffer2* This,
6644 ULONG (STDMETHODCALLTYPE *AddRef)(
6645 IRpcChannelBuffer2* This);
6647 ULONG (STDMETHODCALLTYPE *Release)(
6648 IRpcChannelBuffer2* This);
6650 /*** IRpcChannelBuffer methods ***/
6651 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6652 IRpcChannelBuffer2* This,
6653 RPCOLEMESSAGE* pMessage,
6656 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6657 IRpcChannelBuffer2* This,
6658 RPCOLEMESSAGE* pMessage,
6661 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6662 IRpcChannelBuffer2* This,
6663 RPCOLEMESSAGE* pMessage);
6665 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6666 IRpcChannelBuffer2* This,
6667 DWORD* pdwDestContext,
6668 void** ppvDestContext);
6670 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6671 IRpcChannelBuffer2* This);
6673 /*** IRpcChannelBuffer2 methods ***/
6674 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
6675 IRpcChannelBuffer2* This,
6680 /*** IUnknown methods ***/
6681 #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6682 #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p)
6683 #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p)
6684 /*** IRpcChannelBuffer methods ***/
6685 #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6686 #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6687 #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6688 #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6689 #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6690 /*** IRpcChannelBuffer2 methods ***/
6691 #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
6695 #define IRpcChannelBuffer2_METHODS \
6696 ICOM_MSVTABLE_COMPAT_FIELDS \
6697 /*** IUnknown methods ***/ \
6698 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6699 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6700 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6701 /*** IRpcChannelBuffer methods ***/ \
6702 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6703 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6704 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6705 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6706 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
6707 /*** IRpcChannelBuffer2 methods ***/ \
6708 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE;
6710 HRESULT CALLBACK IRpcChannelBuffer2_GetProtocolVersion_Proxy(
6711 IRpcChannelBuffer2* This,
6713 void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(
6714 struct IRpcStubBuffer* This,
6715 struct IRpcChannelBuffer* pRpcChannelBuffer,
6716 PRPC_MESSAGE pRpcMessage,
6717 DWORD* pdwStubPhase);
6719 #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
6721 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
6722 #define __IRpcChannelBuffer3_FWD_DEFINED__
6723 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
6726 typedef IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3;
6728 /*****************************************************************************
6729 * IRpcChannelBuffer3 interface
6731 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
6732 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
6734 DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
6735 #if defined(__cplusplus) && !defined(CINTERFACE)
6736 struct IRpcChannelBuffer3 : public IRpcChannelBuffer2
6738 virtual HRESULT STDMETHODCALLTYPE Send(
6739 RPCOLEMESSAGE* pMsg,
6740 ULONG* pulStatus) = 0;
6742 virtual HRESULT STDMETHODCALLTYPE Receive(
6743 RPCOLEMESSAGE* pMsg,
6745 ULONG* pulStatus) = 0;
6747 virtual HRESULT STDMETHODCALLTYPE Cancel(
6748 RPCOLEMESSAGE* pMsg) = 0;
6750 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
6751 RPCOLEMESSAGE* pMsg,
6753 void** pInterface) = 0;
6755 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
6756 RPCOLEMESSAGE* pMsg,
6757 DWORD* pdwDestContext,
6758 void** ppvDestContext) = 0;
6760 virtual HRESULT STDMETHODCALLTYPE GetState(
6761 RPCOLEMESSAGE* pMsg,
6764 virtual HRESULT STDMETHODCALLTYPE RegisterAsync(
6765 RPCOLEMESSAGE* pMsg,
6766 IAsyncManager* pAsyncMgr) = 0;
6770 typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl;
6771 struct IRpcChannelBuffer3 {
6772 const IRpcChannelBuffer3Vtbl* lpVtbl;
6774 struct IRpcChannelBuffer3Vtbl {
6775 ICOM_MSVTABLE_COMPAT_FIELDS
6777 /*** IUnknown methods ***/
6778 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6779 IRpcChannelBuffer3* This,
6783 ULONG (STDMETHODCALLTYPE *AddRef)(
6784 IRpcChannelBuffer3* This);
6786 ULONG (STDMETHODCALLTYPE *Release)(
6787 IRpcChannelBuffer3* This);
6789 /*** IRpcChannelBuffer methods ***/
6790 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
6791 IRpcChannelBuffer3* This,
6792 RPCOLEMESSAGE* pMessage,
6795 HRESULT (STDMETHODCALLTYPE *SendReceive)(
6796 IRpcChannelBuffer3* This,
6797 RPCOLEMESSAGE* pMessage,
6800 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
6801 IRpcChannelBuffer3* This,
6802 RPCOLEMESSAGE* pMessage);
6804 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
6805 IRpcChannelBuffer3* This,
6806 DWORD* pdwDestContext,
6807 void** ppvDestContext);
6809 HRESULT (STDMETHODCALLTYPE *IsConnected)(
6810 IRpcChannelBuffer3* This);
6812 /*** IRpcChannelBuffer2 methods ***/
6813 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
6814 IRpcChannelBuffer3* This,
6817 /*** IRpcChannelBuffer3 methods ***/
6818 HRESULT (STDMETHODCALLTYPE *Send)(
6819 IRpcChannelBuffer3* This,
6820 RPCOLEMESSAGE* pMsg,
6823 HRESULT (STDMETHODCALLTYPE *Receive)(
6824 IRpcChannelBuffer3* This,
6825 RPCOLEMESSAGE* pMsg,
6829 HRESULT (STDMETHODCALLTYPE *Cancel)(
6830 IRpcChannelBuffer3* This,
6831 RPCOLEMESSAGE* pMsg);
6833 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
6834 IRpcChannelBuffer3* This,
6835 RPCOLEMESSAGE* pMsg,
6839 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
6840 IRpcChannelBuffer3* This,
6841 RPCOLEMESSAGE* pMsg,
6842 DWORD* pdwDestContext,
6843 void** ppvDestContext);
6845 HRESULT (STDMETHODCALLTYPE *GetState)(
6846 IRpcChannelBuffer3* This,
6847 RPCOLEMESSAGE* pMsg,
6850 HRESULT (STDMETHODCALLTYPE *RegisterAsync)(
6851 IRpcChannelBuffer3* This,
6852 RPCOLEMESSAGE* pMsg,
6853 IAsyncManager* pAsyncMgr);
6857 /*** IUnknown methods ***/
6858 #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6859 #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p)
6860 #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p)
6861 /*** IRpcChannelBuffer methods ***/
6862 #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6863 #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6864 #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6865 #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6866 #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6867 /*** IRpcChannelBuffer2 methods ***/
6868 #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
6869 /*** IRpcChannelBuffer3 methods ***/
6870 #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b)
6871 #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c)
6872 #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a)
6873 #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c)
6874 #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c)
6875 #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
6876 #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b)
6880 #define IRpcChannelBuffer3_METHODS \
6881 ICOM_MSVTABLE_COMPAT_FIELDS \
6882 /*** IUnknown methods ***/ \
6883 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6884 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6885 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6886 /*** IRpcChannelBuffer methods ***/ \
6887 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6888 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6889 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6890 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6891 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
6892 /*** IRpcChannelBuffer2 methods ***/ \
6893 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; \
6894 /*** IRpcChannelBuffer3 methods ***/ \
6895 STDMETHOD_(HRESULT,Send)(THIS_ RPCOLEMESSAGE* pMsg, ULONG* pulStatus) PURE; \
6896 STDMETHOD_(HRESULT,Receive)(THIS_ RPCOLEMESSAGE* pMsg, ULONG ulSize, ULONG* pulStatus) PURE; \
6897 STDMETHOD_(HRESULT,Cancel)(THIS_ RPCOLEMESSAGE* pMsg) PURE; \
6898 STDMETHOD_(HRESULT,GetCallContext)(THIS_ RPCOLEMESSAGE* pMsg, REFIID riid, void** pInterface) PURE; \
6899 STDMETHOD_(HRESULT,GetDestCtxEx)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6900 STDMETHOD_(HRESULT,GetState)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pState) PURE; \
6901 STDMETHOD_(HRESULT,RegisterAsync)(THIS_ RPCOLEMESSAGE* pMsg, IAsyncManager* pAsyncMgr) PURE;
6903 HRESULT CALLBACK IRpcChannelBuffer3_Send_Proxy(
6904 IRpcChannelBuffer3* This,
6905 RPCOLEMESSAGE* pMsg,
6907 void __RPC_STUB IRpcChannelBuffer3_Send_Stub(
6908 struct IRpcStubBuffer* This,
6909 struct IRpcChannelBuffer* pRpcChannelBuffer,
6910 PRPC_MESSAGE pRpcMessage,
6911 DWORD* pdwStubPhase);
6912 HRESULT CALLBACK IRpcChannelBuffer3_Receive_Proxy(
6913 IRpcChannelBuffer3* This,
6914 RPCOLEMESSAGE* pMsg,
6917 void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(
6918 struct IRpcStubBuffer* This,
6919 struct IRpcChannelBuffer* pRpcChannelBuffer,
6920 PRPC_MESSAGE pRpcMessage,
6921 DWORD* pdwStubPhase);
6922 HRESULT CALLBACK IRpcChannelBuffer3_Cancel_Proxy(
6923 IRpcChannelBuffer3* This,
6924 RPCOLEMESSAGE* pMsg);
6925 void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(
6926 struct IRpcStubBuffer* This,
6927 struct IRpcChannelBuffer* pRpcChannelBuffer,
6928 PRPC_MESSAGE pRpcMessage,
6929 DWORD* pdwStubPhase);
6930 HRESULT CALLBACK IRpcChannelBuffer3_GetCallContext_Proxy(
6931 IRpcChannelBuffer3* This,
6932 RPCOLEMESSAGE* pMsg,
6935 void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(
6936 struct IRpcStubBuffer* This,
6937 struct IRpcChannelBuffer* pRpcChannelBuffer,
6938 PRPC_MESSAGE pRpcMessage,
6939 DWORD* pdwStubPhase);
6940 HRESULT CALLBACK IRpcChannelBuffer3_GetDestCtxEx_Proxy(
6941 IRpcChannelBuffer3* This,
6942 RPCOLEMESSAGE* pMsg,
6943 DWORD* pdwDestContext,
6944 void** ppvDestContext);
6945 void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(
6946 struct IRpcStubBuffer* This,
6947 struct IRpcChannelBuffer* pRpcChannelBuffer,
6948 PRPC_MESSAGE pRpcMessage,
6949 DWORD* pdwStubPhase);
6950 HRESULT CALLBACK IRpcChannelBuffer3_GetState_Proxy(
6951 IRpcChannelBuffer3* This,
6952 RPCOLEMESSAGE* pMsg,
6954 void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(
6955 struct IRpcStubBuffer* This,
6956 struct IRpcChannelBuffer* pRpcChannelBuffer,
6957 PRPC_MESSAGE pRpcMessage,
6958 DWORD* pdwStubPhase);
6959 HRESULT CALLBACK IRpcChannelBuffer3_RegisterAsync_Proxy(
6960 IRpcChannelBuffer3* This,
6961 RPCOLEMESSAGE* pMsg,
6962 IAsyncManager* pAsyncMgr);
6963 void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(
6964 struct IRpcStubBuffer* This,
6965 struct IRpcChannelBuffer* pRpcChannelBuffer,
6966 PRPC_MESSAGE pRpcMessage,
6967 DWORD* pdwStubPhase);
6969 #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
6971 #ifndef __IRpcProxyBuffer_FWD_DEFINED__
6972 #define __IRpcProxyBuffer_FWD_DEFINED__
6973 typedef struct IRpcProxyBuffer IRpcProxyBuffer;
6976 typedef IRpcProxyBuffer *LPRPCPROXYBUFFER;
6978 /*****************************************************************************
6979 * IRpcProxyBuffer interface
6981 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
6982 #define __IRpcProxyBuffer_INTERFACE_DEFINED__
6984 DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
6985 #if defined(__cplusplus) && !defined(CINTERFACE)
6986 struct IRpcProxyBuffer : public IUnknown
6988 virtual HRESULT STDMETHODCALLTYPE Connect(
6989 IRpcChannelBuffer* pRpcChannelBuffer) = 0;
6991 virtual void STDMETHODCALLTYPE Disconnect(
6996 typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl;
6997 struct IRpcProxyBuffer {
6998 const IRpcProxyBufferVtbl* lpVtbl;
7000 struct IRpcProxyBufferVtbl {
7001 ICOM_MSVTABLE_COMPAT_FIELDS
7003 /*** IUnknown methods ***/
7004 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7005 IRpcProxyBuffer* This,
7009 ULONG (STDMETHODCALLTYPE *AddRef)(
7010 IRpcProxyBuffer* This);
7012 ULONG (STDMETHODCALLTYPE *Release)(
7013 IRpcProxyBuffer* This);
7015 /*** IRpcProxyBuffer methods ***/
7016 HRESULT (STDMETHODCALLTYPE *Connect)(
7017 IRpcProxyBuffer* This,
7018 IRpcChannelBuffer* pRpcChannelBuffer);
7020 void (STDMETHODCALLTYPE *Disconnect)(
7021 IRpcProxyBuffer* This);
7025 /*** IUnknown methods ***/
7026 #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7027 #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7028 #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p)
7029 /*** IRpcProxyBuffer methods ***/
7030 #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7031 #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7035 #define IRpcProxyBuffer_METHODS \
7036 ICOM_MSVTABLE_COMPAT_FIELDS \
7037 /*** IUnknown methods ***/ \
7038 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7039 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7040 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7041 /*** IRpcProxyBuffer methods ***/ \
7042 STDMETHOD_(HRESULT,Connect)(THIS_ IRpcChannelBuffer* pRpcChannelBuffer) PURE; \
7043 STDMETHOD_(void,Disconnect)(THIS) PURE;
7045 HRESULT CALLBACK IRpcProxyBuffer_Connect_Proxy(
7046 IRpcProxyBuffer* This,
7047 IRpcChannelBuffer* pRpcChannelBuffer);
7048 void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
7049 struct IRpcStubBuffer* This,
7050 struct IRpcChannelBuffer* pRpcChannelBuffer,
7051 PRPC_MESSAGE pRpcMessage,
7052 DWORD* pdwStubPhase);
7053 void CALLBACK IRpcProxyBuffer_Disconnect_Proxy(
7054 IRpcProxyBuffer* This);
7055 void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
7056 struct IRpcStubBuffer* This,
7057 struct IRpcChannelBuffer* pRpcChannelBuffer,
7058 PRPC_MESSAGE pRpcMessage,
7059 DWORD* pdwStubPhase);
7061 #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
7063 #ifndef __IRpcStubBuffer_FWD_DEFINED__
7064 #define __IRpcStubBuffer_FWD_DEFINED__
7065 typedef struct IRpcStubBuffer IRpcStubBuffer;
7068 typedef IRpcStubBuffer *LPRPCSTUBBUFFER;
7070 /*****************************************************************************
7071 * IRpcStubBuffer interface
7073 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
7074 #define __IRpcStubBuffer_INTERFACE_DEFINED__
7076 DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7077 #if defined(__cplusplus) && !defined(CINTERFACE)
7078 struct IRpcStubBuffer : public IUnknown
7080 virtual HRESULT STDMETHODCALLTYPE Connect(
7081 IUnknown* pUnkServer) = 0;
7083 virtual void STDMETHODCALLTYPE Disconnect(
7086 virtual HRESULT STDMETHODCALLTYPE Invoke(
7087 RPCOLEMESSAGE* _prpcmsg,
7088 IRpcChannelBuffer* _pRpcChannelBuffer) = 0;
7090 virtual IRpcStubBuffer* STDMETHODCALLTYPE IsIIDSupported(
7093 virtual ULONG STDMETHODCALLTYPE CountRefs(
7096 virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface(
7099 virtual void STDMETHODCALLTYPE DebugServerRelease(
7104 typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl;
7105 struct IRpcStubBuffer {
7106 const IRpcStubBufferVtbl* lpVtbl;
7108 struct IRpcStubBufferVtbl {
7109 ICOM_MSVTABLE_COMPAT_FIELDS
7111 /*** IUnknown methods ***/
7112 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7113 IRpcStubBuffer* This,
7117 ULONG (STDMETHODCALLTYPE *AddRef)(
7118 IRpcStubBuffer* This);
7120 ULONG (STDMETHODCALLTYPE *Release)(
7121 IRpcStubBuffer* This);
7123 /*** IRpcStubBuffer methods ***/
7124 HRESULT (STDMETHODCALLTYPE *Connect)(
7125 IRpcStubBuffer* This,
7126 IUnknown* pUnkServer);
7128 void (STDMETHODCALLTYPE *Disconnect)(
7129 IRpcStubBuffer* This);
7131 HRESULT (STDMETHODCALLTYPE *Invoke)(
7132 IRpcStubBuffer* This,
7133 RPCOLEMESSAGE* _prpcmsg,
7134 IRpcChannelBuffer* _pRpcChannelBuffer);
7136 IRpcStubBuffer* (STDMETHODCALLTYPE *IsIIDSupported)(
7137 IRpcStubBuffer* This,
7140 ULONG (STDMETHODCALLTYPE *CountRefs)(
7141 IRpcStubBuffer* This);
7143 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)(
7144 IRpcStubBuffer* This,
7147 void (STDMETHODCALLTYPE *DebugServerRelease)(
7148 IRpcStubBuffer* This,
7153 /*** IUnknown methods ***/
7154 #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7155 #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7156 #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p)
7157 /*** IRpcStubBuffer methods ***/
7158 #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7159 #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7160 #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b)
7161 #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a)
7162 #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p)
7163 #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a)
7164 #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a)
7168 #define IRpcStubBuffer_METHODS \
7169 ICOM_MSVTABLE_COMPAT_FIELDS \
7170 /*** IUnknown methods ***/ \
7171 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7172 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7173 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7174 /*** IRpcStubBuffer methods ***/ \
7175 STDMETHOD_(HRESULT,Connect)(THIS_ IUnknown* pUnkServer) PURE; \
7176 STDMETHOD_(void,Disconnect)(THIS) PURE; \
7177 STDMETHOD_(HRESULT,Invoke)(THIS_ RPCOLEMESSAGE* _prpcmsg, IRpcChannelBuffer* _pRpcChannelBuffer) PURE; \
7178 STDMETHOD_(IRpcStubBuffer*,IsIIDSupported)(THIS_ REFIID riid) PURE; \
7179 STDMETHOD_(ULONG,CountRefs)(THIS) PURE; \
7180 STDMETHOD_(HRESULT,DebugServerQueryInterface)(THIS_ void** ppv) PURE; \
7181 STDMETHOD_(void,DebugServerRelease)(THIS_ void* pv) PURE;
7183 HRESULT CALLBACK IRpcStubBuffer_Connect_Proxy(
7184 IRpcStubBuffer* This,
7185 IUnknown* pUnkServer);
7186 void __RPC_STUB IRpcStubBuffer_Connect_Stub(
7187 struct IRpcStubBuffer* This,
7188 struct IRpcChannelBuffer* pRpcChannelBuffer,
7189 PRPC_MESSAGE pRpcMessage,
7190 DWORD* pdwStubPhase);
7191 void CALLBACK IRpcStubBuffer_Disconnect_Proxy(
7192 IRpcStubBuffer* This);
7193 void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
7194 struct IRpcStubBuffer* This,
7195 struct IRpcChannelBuffer* pRpcChannelBuffer,
7196 PRPC_MESSAGE pRpcMessage,
7197 DWORD* pdwStubPhase);
7198 HRESULT CALLBACK IRpcStubBuffer_Invoke_Proxy(
7199 IRpcStubBuffer* This,
7200 RPCOLEMESSAGE* _prpcmsg,
7201 IRpcChannelBuffer* _pRpcChannelBuffer);
7202 void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
7203 struct IRpcStubBuffer* This,
7204 struct IRpcChannelBuffer* pRpcChannelBuffer,
7205 PRPC_MESSAGE pRpcMessage,
7206 DWORD* pdwStubPhase);
7207 IRpcStubBuffer* CALLBACK IRpcStubBuffer_IsIIDSupported_Proxy(
7208 IRpcStubBuffer* This,
7210 void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
7211 struct IRpcStubBuffer* This,
7212 struct IRpcChannelBuffer* pRpcChannelBuffer,
7213 PRPC_MESSAGE pRpcMessage,
7214 DWORD* pdwStubPhase);
7215 ULONG CALLBACK IRpcStubBuffer_CountRefs_Proxy(
7216 IRpcStubBuffer* This);
7217 void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
7218 struct IRpcStubBuffer* This,
7219 struct IRpcChannelBuffer* pRpcChannelBuffer,
7220 PRPC_MESSAGE pRpcMessage,
7221 DWORD* pdwStubPhase);
7222 HRESULT CALLBACK IRpcStubBuffer_DebugServerQueryInterface_Proxy(
7223 IRpcStubBuffer* This,
7225 void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
7226 struct IRpcStubBuffer* This,
7227 struct IRpcChannelBuffer* pRpcChannelBuffer,
7228 PRPC_MESSAGE pRpcMessage,
7229 DWORD* pdwStubPhase);
7230 void CALLBACK IRpcStubBuffer_DebugServerRelease_Proxy(
7231 IRpcStubBuffer* This,
7233 void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
7234 struct IRpcStubBuffer* This,
7235 struct IRpcChannelBuffer* pRpcChannelBuffer,
7236 PRPC_MESSAGE pRpcMessage,
7237 DWORD* pdwStubPhase);
7239 #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
7241 #ifndef __IPSFactoryBuffer_FWD_DEFINED__
7242 #define __IPSFactoryBuffer_FWD_DEFINED__
7243 typedef struct IPSFactoryBuffer IPSFactoryBuffer;
7246 typedef IPSFactoryBuffer *LPPSFACTORYBUFFER;
7248 /*****************************************************************************
7249 * IPSFactoryBuffer interface
7251 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
7252 #define __IPSFactoryBuffer_INTERFACE_DEFINED__
7254 DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7255 #if defined(__cplusplus) && !defined(CINTERFACE)
7256 struct IPSFactoryBuffer : public IUnknown
7258 virtual HRESULT STDMETHODCALLTYPE CreateProxy(
7259 IUnknown* pUnkOuter,
7261 IRpcProxyBuffer** ppProxy,
7264 virtual HRESULT STDMETHODCALLTYPE CreateStub(
7266 IUnknown* pUnkServer,
7267 IRpcStubBuffer** ppStub) = 0;
7271 typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl;
7272 struct IPSFactoryBuffer {
7273 const IPSFactoryBufferVtbl* lpVtbl;
7275 struct IPSFactoryBufferVtbl {
7276 ICOM_MSVTABLE_COMPAT_FIELDS
7278 /*** IUnknown methods ***/
7279 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7280 IPSFactoryBuffer* This,
7284 ULONG (STDMETHODCALLTYPE *AddRef)(
7285 IPSFactoryBuffer* This);
7287 ULONG (STDMETHODCALLTYPE *Release)(
7288 IPSFactoryBuffer* This);
7290 /*** IPSFactoryBuffer methods ***/
7291 HRESULT (STDMETHODCALLTYPE *CreateProxy)(
7292 IPSFactoryBuffer* This,
7293 IUnknown* pUnkOuter,
7295 IRpcProxyBuffer** ppProxy,
7298 HRESULT (STDMETHODCALLTYPE *CreateStub)(
7299 IPSFactoryBuffer* This,
7301 IUnknown* pUnkServer,
7302 IRpcStubBuffer** ppStub);
7306 /*** IUnknown methods ***/
7307 #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7308 #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7309 #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p)
7310 /*** IPSFactoryBuffer methods ***/
7311 #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d)
7312 #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c)
7316 #define IPSFactoryBuffer_METHODS \
7317 ICOM_MSVTABLE_COMPAT_FIELDS \
7318 /*** IUnknown methods ***/ \
7319 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7320 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7321 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7322 /*** IPSFactoryBuffer methods ***/ \
7323 STDMETHOD_(HRESULT,CreateProxy)(THIS_ IUnknown* pUnkOuter, REFIID riid, IRpcProxyBuffer** ppProxy, void** ppv) PURE; \
7324 STDMETHOD_(HRESULT,CreateStub)(THIS_ REFIID riid, IUnknown* pUnkServer, IRpcStubBuffer** ppStub) PURE;
7326 HRESULT CALLBACK IPSFactoryBuffer_CreateProxy_Proxy(
7327 IPSFactoryBuffer* This,
7328 IUnknown* pUnkOuter,
7330 IRpcProxyBuffer** ppProxy,
7332 void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
7333 struct IRpcStubBuffer* This,
7334 struct IRpcChannelBuffer* pRpcChannelBuffer,
7335 PRPC_MESSAGE pRpcMessage,
7336 DWORD* pdwStubPhase);
7337 HRESULT CALLBACK IPSFactoryBuffer_CreateStub_Proxy(
7338 IPSFactoryBuffer* This,
7340 IUnknown* pUnkServer,
7341 IRpcStubBuffer** ppStub);
7342 void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
7343 struct IRpcStubBuffer* This,
7344 struct IRpcChannelBuffer* pRpcChannelBuffer,
7345 PRPC_MESSAGE pRpcMessage,
7346 DWORD* pdwStubPhase);
7348 #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
7350 #ifndef __IChannelHook_FWD_DEFINED__
7351 #define __IChannelHook_FWD_DEFINED__
7352 typedef struct IChannelHook IChannelHook;
7355 typedef IChannelHook *LPCHANNELHOOK;
7357 typedef struct SChannelHookCallInfo {
7364 } SChannelHookCallInfo;
7366 /*****************************************************************************
7367 * IChannelHook interface
7369 #ifndef __IChannelHook_INTERFACE_DEFINED__
7370 #define __IChannelHook_INTERFACE_DEFINED__
7372 DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
7373 #if defined(__cplusplus) && !defined(CINTERFACE)
7374 struct IChannelHook : public IUnknown
7376 virtual void STDMETHODCALLTYPE ClientGetSize(
7379 ULONG* pDataSize) = 0;
7381 virtual void STDMETHODCALLTYPE ClientFillBuffer(
7385 void* pDataBuffer) = 0;
7387 virtual void STDMETHODCALLTYPE ClientNotify(
7393 HRESULT hrFault) = 0;
7395 virtual void STDMETHODCALLTYPE ServerNotify(
7400 DWORD lDataRep) = 0;
7402 virtual void STDMETHODCALLTYPE ServerGetSize(
7406 ULONG* pDataSize) = 0;
7408 virtual void STDMETHODCALLTYPE ServerFillBuffer(
7413 HRESULT hrFault) = 0;
7417 typedef struct IChannelHookVtbl IChannelHookVtbl;
7418 struct IChannelHook {
7419 const IChannelHookVtbl* lpVtbl;
7421 struct IChannelHookVtbl {
7422 ICOM_MSVTABLE_COMPAT_FIELDS
7424 /*** IUnknown methods ***/
7425 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7430 ULONG (STDMETHODCALLTYPE *AddRef)(
7431 IChannelHook* This);
7433 ULONG (STDMETHODCALLTYPE *Release)(
7434 IChannelHook* This);
7436 /*** IChannelHook methods ***/
7437 void (STDMETHODCALLTYPE *ClientGetSize)(
7443 void (STDMETHODCALLTYPE *ClientFillBuffer)(
7450 void (STDMETHODCALLTYPE *ClientNotify)(
7459 void (STDMETHODCALLTYPE *ServerNotify)(
7467 void (STDMETHODCALLTYPE *ServerGetSize)(
7474 void (STDMETHODCALLTYPE *ServerFillBuffer)(
7484 /*** IUnknown methods ***/
7485 #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7486 #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p)
7487 #define IChannelHook_Release(p) (p)->lpVtbl->Release(p)
7488 /*** IChannelHook methods ***/
7489 #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c)
7490 #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d)
7491 #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f)
7492 #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e)
7493 #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d)
7494 #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e)
7498 #define IChannelHook_METHODS \
7499 ICOM_MSVTABLE_COMPAT_FIELDS \
7500 /*** IUnknown methods ***/ \
7501 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7502 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7503 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7504 /*** IChannelHook methods ***/ \
7505 STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize) PURE; \
7506 STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer) PURE; \
7507 STDMETHOD_(void,ClientNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep, HRESULT hrFault) PURE; \
7508 STDMETHOD_(void,ServerNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep) PURE; \
7509 STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID uExtent, REFIID riid, HRESULT hrFault, ULONG* pDataSize) PURE; \
7510 STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer, HRESULT hrFault) PURE;
7512 void CALLBACK IChannelHook_ClientGetSize_Proxy(
7517 void __RPC_STUB IChannelHook_ClientGetSize_Stub(
7518 struct IRpcStubBuffer* This,
7519 struct IRpcChannelBuffer* pRpcChannelBuffer,
7520 PRPC_MESSAGE pRpcMessage,
7521 DWORD* pdwStubPhase);
7522 void CALLBACK IChannelHook_ClientFillBuffer_Proxy(
7528 void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(
7529 struct IRpcStubBuffer* This,
7530 struct IRpcChannelBuffer* pRpcChannelBuffer,
7531 PRPC_MESSAGE pRpcMessage,
7532 DWORD* pdwStubPhase);
7533 void CALLBACK IChannelHook_ClientNotify_Proxy(
7541 void __RPC_STUB IChannelHook_ClientNotify_Stub(
7542 struct IRpcStubBuffer* This,
7543 struct IRpcChannelBuffer* pRpcChannelBuffer,
7544 PRPC_MESSAGE pRpcMessage,
7545 DWORD* pdwStubPhase);
7546 void CALLBACK IChannelHook_ServerNotify_Proxy(
7553 void __RPC_STUB IChannelHook_ServerNotify_Stub(
7554 struct IRpcStubBuffer* This,
7555 struct IRpcChannelBuffer* pRpcChannelBuffer,
7556 PRPC_MESSAGE pRpcMessage,
7557 DWORD* pdwStubPhase);
7558 void CALLBACK IChannelHook_ServerGetSize_Proxy(
7564 void __RPC_STUB IChannelHook_ServerGetSize_Stub(
7565 struct IRpcStubBuffer* This,
7566 struct IRpcChannelBuffer* pRpcChannelBuffer,
7567 PRPC_MESSAGE pRpcMessage,
7568 DWORD* pdwStubPhase);
7569 void CALLBACK IChannelHook_ServerFillBuffer_Proxy(
7576 void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
7577 struct IRpcStubBuffer* This,
7578 struct IRpcChannelBuffer* pRpcChannelBuffer,
7579 PRPC_MESSAGE pRpcMessage,
7580 DWORD* pdwStubPhase);
7582 #endif /* __IChannelHook_INTERFACE_DEFINED__ */
7584 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
7585 #define __IEnumSTATPROPSTG_FWD_DEFINED__
7586 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
7589 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
7590 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
7591 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
7594 #ifndef __IPropertyStorage_FWD_DEFINED__
7595 #define __IPropertyStorage_FWD_DEFINED__
7596 typedef struct IPropertyStorage IPropertyStorage;
7599 typedef IPropertyStorage *LPPROPERTYSTORAGE;
7601 extern const FMTID FMTID_SummaryInformation;
7603 extern const FMTID FMTID_DocSummaryInformation;
7605 extern const FMTID FMTID_UserDefinedProperties;
7607 #define PROPSETFLAG_DEFAULT (0)
7609 #define PROPSETFLAG_NONSIMPLE (1)
7611 #define PROPSETFLAG_ANSI (2)
7613 #define PROPSETFLAG_UNBUFFERED (4)
7615 typedef struct tagPROPVARIANT PROPVARIANT;
7617 typedef struct tagCAUB {
7619 unsigned char *pElems;
7622 typedef struct tagCAI {
7627 typedef struct tagCAUI {
7632 typedef struct tagCAL {
7637 typedef struct tagCAUL {
7642 typedef struct tagCAFLT {
7647 typedef struct tagCADBL {
7652 typedef struct tagCACY {
7657 typedef struct tagCADATE {
7662 typedef struct tagCABSTR {
7667 typedef struct tagCABSTRBLOB {
7672 typedef struct tagCABOOL {
7674 VARIANT_BOOL *pElems;
7677 typedef struct tagCASCODE {
7682 typedef struct tagCAPROPVARIANT {
7684 PROPVARIANT *pElems;
7687 typedef struct tagCAH {
7689 LARGE_INTEGER *pElems;
7692 typedef struct tagCAUH {
7694 ULARGE_INTEGER *pElems;
7697 typedef struct tagCALPSTR {
7702 typedef struct tagCALPWSTR {
7707 typedef struct tagCAFILETIME {
7712 typedef struct tagCACLIPDATA {
7717 typedef struct tagCACLSID {
7722 struct tagPROPVARIANT {
7732 VARIANT_BOOL boolVal;
7738 ULARGE_INTEGER uhVal;
7745 CLIPDATA *pclipdata;
7749 BSTRBLOB bstrblobVal;
7765 CAFILETIME cafiletime;
7767 CACLIPDATA caclipdata;
7769 CABSTRBLOB cabstrblob;
7772 CAPROPVARIANT capropvar;
7776 typedef struct tagPROPVARIANT *LPPROPVARIANT;
7778 #define PRSPEC_INVALID (0xffffffff)
7780 #define PRSPEC_LPWSTR (0)
7782 #define PRSPEC_PROPID (1)
7784 typedef struct tagPROPSPEC {
7792 typedef struct tagSTATPROPSTG {
7793 LPOLESTR lpwstrName;
7798 typedef struct tagSTATPROPSETSTG {
7808 /*****************************************************************************
7809 * IPropertyStorage interface
7811 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
7812 #define __IPropertyStorage_INTERFACE_DEFINED__
7814 DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7815 #if defined(__cplusplus) && !defined(CINTERFACE)
7816 struct IPropertyStorage : public IUnknown
7818 virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
7820 const PROPSPEC rgpspec[],
7821 PROPVARIANT rgpropvar[]) = 0;
7823 virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
7825 const PROPSPEC rgpspec[],
7826 const PROPVARIANT rgpropvar[],
7827 PROPID propidNameFirst) = 0;
7829 virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
7831 const PROPSPEC rgpspec[]) = 0;
7833 virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
7835 const PROPID rgpropid[],
7836 LPOLESTR rglpwstrName[]) = 0;
7838 virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
7840 const PROPID rgpropid[],
7841 const LPOLESTR rglpwstrName[]) = 0;
7843 virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
7845 const PROPID rgpropid[]) = 0;
7847 virtual HRESULT STDMETHODCALLTYPE Commit(
7848 DWORD grfCommitFlags) = 0;
7850 virtual HRESULT STDMETHODCALLTYPE Revert(
7853 virtual HRESULT STDMETHODCALLTYPE Enum(
7854 IEnumSTATPROPSTG** ppenum) = 0;
7856 virtual HRESULT STDMETHODCALLTYPE SetTimes(
7857 const FILETIME* pctime,
7858 const FILETIME* patime,
7859 const FILETIME* pmtime) = 0;
7861 virtual HRESULT STDMETHODCALLTYPE SetClass(
7862 REFCLSID clsid) = 0;
7864 virtual HRESULT STDMETHODCALLTYPE Stat(
7865 STATPROPSETSTG* statpsstg) = 0;
7869 typedef struct IPropertyStorageVtbl IPropertyStorageVtbl;
7870 struct IPropertyStorage {
7871 const IPropertyStorageVtbl* lpVtbl;
7873 struct IPropertyStorageVtbl {
7874 ICOM_MSVTABLE_COMPAT_FIELDS
7876 /*** IUnknown methods ***/
7877 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7878 IPropertyStorage* This,
7882 ULONG (STDMETHODCALLTYPE *AddRef)(
7883 IPropertyStorage* This);
7885 ULONG (STDMETHODCALLTYPE *Release)(
7886 IPropertyStorage* This);
7888 /*** IPropertyStorage methods ***/
7889 HRESULT (STDMETHODCALLTYPE *ReadMultiple)(
7890 IPropertyStorage* This,
7892 const PROPSPEC rgpspec[],
7893 PROPVARIANT rgpropvar[]);
7895 HRESULT (STDMETHODCALLTYPE *WriteMultiple)(
7896 IPropertyStorage* This,
7898 const PROPSPEC rgpspec[],
7899 const PROPVARIANT rgpropvar[],
7900 PROPID propidNameFirst);
7902 HRESULT (STDMETHODCALLTYPE *DeleteMultiple)(
7903 IPropertyStorage* This,
7905 const PROPSPEC rgpspec[]);
7907 HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)(
7908 IPropertyStorage* This,
7910 const PROPID rgpropid[],
7911 LPOLESTR rglpwstrName[]);
7913 HRESULT (STDMETHODCALLTYPE *WritePropertyNames)(
7914 IPropertyStorage* This,
7916 const PROPID rgpropid[],
7917 const LPOLESTR rglpwstrName[]);
7919 HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)(
7920 IPropertyStorage* This,
7922 const PROPID rgpropid[]);
7924 HRESULT (STDMETHODCALLTYPE *Commit)(
7925 IPropertyStorage* This,
7926 DWORD grfCommitFlags);
7928 HRESULT (STDMETHODCALLTYPE *Revert)(
7929 IPropertyStorage* This);
7931 HRESULT (STDMETHODCALLTYPE *Enum)(
7932 IPropertyStorage* This,
7933 IEnumSTATPROPSTG** ppenum);
7935 HRESULT (STDMETHODCALLTYPE *SetTimes)(
7936 IPropertyStorage* This,
7937 const FILETIME* pctime,
7938 const FILETIME* patime,
7939 const FILETIME* pmtime);
7941 HRESULT (STDMETHODCALLTYPE *SetClass)(
7942 IPropertyStorage* This,
7945 HRESULT (STDMETHODCALLTYPE *Stat)(
7946 IPropertyStorage* This,
7947 STATPROPSETSTG* statpsstg);
7951 /*** IUnknown methods ***/
7952 #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7953 #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
7954 #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
7955 /*** IPropertyStorage methods ***/
7956 #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
7957 #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
7958 #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
7959 #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
7960 #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
7961 #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
7962 #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
7963 #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
7964 #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
7965 #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
7966 #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
7967 #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
7971 #define IPropertyStorage_METHODS \
7972 ICOM_MSVTABLE_COMPAT_FIELDS \
7973 /*** IUnknown methods ***/ \
7974 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7975 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7976 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7977 /*** IPropertyStorage methods ***/ \
7978 STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
7979 STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
7980 STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
7981 STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
7982 STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
7983 STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
7984 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
7985 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
7986 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
7987 STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
7988 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
7989 STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
7991 HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy(
7992 IPropertyStorage* This,
7994 const PROPSPEC rgpspec[],
7995 PROPVARIANT rgpropvar[]);
7996 void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
7997 struct IRpcStubBuffer* This,
7998 struct IRpcChannelBuffer* pRpcChannelBuffer,
7999 PRPC_MESSAGE pRpcMessage,
8000 DWORD* pdwStubPhase);
8001 HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy(
8002 IPropertyStorage* This,
8004 const PROPSPEC rgpspec[],
8005 const PROPVARIANT rgpropvar[],
8006 PROPID propidNameFirst);
8007 void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
8008 struct IRpcStubBuffer* This,
8009 struct IRpcChannelBuffer* pRpcChannelBuffer,
8010 PRPC_MESSAGE pRpcMessage,
8011 DWORD* pdwStubPhase);
8012 HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy(
8013 IPropertyStorage* This,
8015 const PROPSPEC rgpspec[]);
8016 void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
8017 struct IRpcStubBuffer* This,
8018 struct IRpcChannelBuffer* pRpcChannelBuffer,
8019 PRPC_MESSAGE pRpcMessage,
8020 DWORD* pdwStubPhase);
8021 HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy(
8022 IPropertyStorage* This,
8024 const PROPID rgpropid[],
8025 LPOLESTR rglpwstrName[]);
8026 void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
8027 struct IRpcStubBuffer* This,
8028 struct IRpcChannelBuffer* pRpcChannelBuffer,
8029 PRPC_MESSAGE pRpcMessage,
8030 DWORD* pdwStubPhase);
8031 HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy(
8032 IPropertyStorage* This,
8034 const PROPID rgpropid[],
8035 const LPOLESTR rglpwstrName[]);
8036 void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
8037 struct IRpcStubBuffer* This,
8038 struct IRpcChannelBuffer* pRpcChannelBuffer,
8039 PRPC_MESSAGE pRpcMessage,
8040 DWORD* pdwStubPhase);
8041 HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy(
8042 IPropertyStorage* This,
8044 const PROPID rgpropid[]);
8045 void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
8046 struct IRpcStubBuffer* This,
8047 struct IRpcChannelBuffer* pRpcChannelBuffer,
8048 PRPC_MESSAGE pRpcMessage,
8049 DWORD* pdwStubPhase);
8050 HRESULT CALLBACK IPropertyStorage_Commit_Proxy(
8051 IPropertyStorage* This,
8052 DWORD grfCommitFlags);
8053 void __RPC_STUB IPropertyStorage_Commit_Stub(
8054 struct IRpcStubBuffer* This,
8055 struct IRpcChannelBuffer* pRpcChannelBuffer,
8056 PRPC_MESSAGE pRpcMessage,
8057 DWORD* pdwStubPhase);
8058 HRESULT CALLBACK IPropertyStorage_Revert_Proxy(
8059 IPropertyStorage* This);
8060 void __RPC_STUB IPropertyStorage_Revert_Stub(
8061 struct IRpcStubBuffer* This,
8062 struct IRpcChannelBuffer* pRpcChannelBuffer,
8063 PRPC_MESSAGE pRpcMessage,
8064 DWORD* pdwStubPhase);
8065 HRESULT CALLBACK IPropertyStorage_Enum_Proxy(
8066 IPropertyStorage* This,
8067 IEnumSTATPROPSTG** ppenum);
8068 void __RPC_STUB IPropertyStorage_Enum_Stub(
8069 struct IRpcStubBuffer* This,
8070 struct IRpcChannelBuffer* pRpcChannelBuffer,
8071 PRPC_MESSAGE pRpcMessage,
8072 DWORD* pdwStubPhase);
8073 HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy(
8074 IPropertyStorage* This,
8075 const FILETIME* pctime,
8076 const FILETIME* patime,
8077 const FILETIME* pmtime);
8078 void __RPC_STUB IPropertyStorage_SetTimes_Stub(
8079 struct IRpcStubBuffer* This,
8080 struct IRpcChannelBuffer* pRpcChannelBuffer,
8081 PRPC_MESSAGE pRpcMessage,
8082 DWORD* pdwStubPhase);
8083 HRESULT CALLBACK IPropertyStorage_SetClass_Proxy(
8084 IPropertyStorage* This,
8086 void __RPC_STUB IPropertyStorage_SetClass_Stub(
8087 struct IRpcStubBuffer* This,
8088 struct IRpcChannelBuffer* pRpcChannelBuffer,
8089 PRPC_MESSAGE pRpcMessage,
8090 DWORD* pdwStubPhase);
8091 HRESULT CALLBACK IPropertyStorage_Stat_Proxy(
8092 IPropertyStorage* This,
8093 STATPROPSETSTG* statpsstg);
8094 void __RPC_STUB IPropertyStorage_Stat_Stub(
8095 struct IRpcStubBuffer* This,
8096 struct IRpcChannelBuffer* pRpcChannelBuffer,
8097 PRPC_MESSAGE pRpcMessage,
8098 DWORD* pdwStubPhase);
8100 #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
8102 #ifndef __IPropertySetStorage_FWD_DEFINED__
8103 #define __IPropertySetStorage_FWD_DEFINED__
8104 typedef struct IPropertySetStorage IPropertySetStorage;
8107 typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
8109 /*****************************************************************************
8110 * IPropertySetStorage interface
8112 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
8113 #define __IPropertySetStorage_INTERFACE_DEFINED__
8115 DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8116 #if defined(__cplusplus) && !defined(CINTERFACE)
8117 struct IPropertySetStorage : public IUnknown
8119 virtual HRESULT STDMETHODCALLTYPE Create(
8121 const CLSID* pclsid,
8124 IPropertyStorage** ppprstg) = 0;
8126 virtual HRESULT STDMETHODCALLTYPE Open(
8129 IPropertyStorage** ppprstg) = 0;
8131 virtual HRESULT STDMETHODCALLTYPE Delete(
8132 REFFMTID rfmtid) = 0;
8134 virtual HRESULT STDMETHODCALLTYPE Enum(
8135 IEnumSTATPROPSETSTG** ppenum) = 0;
8139 typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl;
8140 struct IPropertySetStorage {
8141 const IPropertySetStorageVtbl* lpVtbl;
8143 struct IPropertySetStorageVtbl {
8144 ICOM_MSVTABLE_COMPAT_FIELDS
8146 /*** IUnknown methods ***/
8147 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8148 IPropertySetStorage* This,
8152 ULONG (STDMETHODCALLTYPE *AddRef)(
8153 IPropertySetStorage* This);
8155 ULONG (STDMETHODCALLTYPE *Release)(
8156 IPropertySetStorage* This);
8158 /*** IPropertySetStorage methods ***/
8159 HRESULT (STDMETHODCALLTYPE *Create)(
8160 IPropertySetStorage* This,
8162 const CLSID* pclsid,
8165 IPropertyStorage** ppprstg);
8167 HRESULT (STDMETHODCALLTYPE *Open)(
8168 IPropertySetStorage* This,
8171 IPropertyStorage** ppprstg);
8173 HRESULT (STDMETHODCALLTYPE *Delete)(
8174 IPropertySetStorage* This,
8177 HRESULT (STDMETHODCALLTYPE *Enum)(
8178 IPropertySetStorage* This,
8179 IEnumSTATPROPSETSTG** ppenum);
8183 /*** IUnknown methods ***/
8184 #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8185 #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8186 #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
8187 /*** IPropertySetStorage methods ***/
8188 #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
8189 #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
8190 #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
8191 #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8195 #define IPropertySetStorage_METHODS \
8196 ICOM_MSVTABLE_COMPAT_FIELDS \
8197 /*** IUnknown methods ***/ \
8198 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8199 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8200 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8201 /*** IPropertySetStorage methods ***/ \
8202 STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8203 STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8204 STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
8205 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8207 HRESULT CALLBACK IPropertySetStorage_Create_Proxy(
8208 IPropertySetStorage* This,
8210 const CLSID* pclsid,
8213 IPropertyStorage** ppprstg);
8214 void __RPC_STUB IPropertySetStorage_Create_Stub(
8215 struct IRpcStubBuffer* This,
8216 struct IRpcChannelBuffer* pRpcChannelBuffer,
8217 PRPC_MESSAGE pRpcMessage,
8218 DWORD* pdwStubPhase);
8219 HRESULT CALLBACK IPropertySetStorage_Open_Proxy(
8220 IPropertySetStorage* This,
8223 IPropertyStorage** ppprstg);
8224 void __RPC_STUB IPropertySetStorage_Open_Stub(
8225 struct IRpcStubBuffer* This,
8226 struct IRpcChannelBuffer* pRpcChannelBuffer,
8227 PRPC_MESSAGE pRpcMessage,
8228 DWORD* pdwStubPhase);
8229 HRESULT CALLBACK IPropertySetStorage_Delete_Proxy(
8230 IPropertySetStorage* This,
8232 void __RPC_STUB IPropertySetStorage_Delete_Stub(
8233 struct IRpcStubBuffer* This,
8234 struct IRpcChannelBuffer* pRpcChannelBuffer,
8235 PRPC_MESSAGE pRpcMessage,
8236 DWORD* pdwStubPhase);
8237 HRESULT CALLBACK IPropertySetStorage_Enum_Proxy(
8238 IPropertySetStorage* This,
8239 IEnumSTATPROPSETSTG** ppenum);
8240 void __RPC_STUB IPropertySetStorage_Enum_Stub(
8241 struct IRpcStubBuffer* This,
8242 struct IRpcChannelBuffer* pRpcChannelBuffer,
8243 PRPC_MESSAGE pRpcMessage,
8244 DWORD* pdwStubPhase);
8246 #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
8248 typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
8250 /*****************************************************************************
8251 * IEnumSTATPROPSTG interface
8253 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
8254 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
8256 DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8257 #if defined(__cplusplus) && !defined(CINTERFACE)
8258 struct IEnumSTATPROPSTG : public IUnknown
8260 virtual HRESULT STDMETHODCALLTYPE Next(
8263 ULONG* pceltFetched) = 0;
8265 virtual HRESULT STDMETHODCALLTYPE Skip(
8268 virtual HRESULT STDMETHODCALLTYPE Reset(
8271 virtual HRESULT STDMETHODCALLTYPE Clone(
8272 IEnumSTATPROPSTG** ppenum) = 0;
8276 typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl;
8277 struct IEnumSTATPROPSTG {
8278 const IEnumSTATPROPSTGVtbl* lpVtbl;
8280 struct IEnumSTATPROPSTGVtbl {
8281 ICOM_MSVTABLE_COMPAT_FIELDS
8283 /*** IUnknown methods ***/
8284 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8285 IEnumSTATPROPSTG* This,
8289 ULONG (STDMETHODCALLTYPE *AddRef)(
8290 IEnumSTATPROPSTG* This);
8292 ULONG (STDMETHODCALLTYPE *Release)(
8293 IEnumSTATPROPSTG* This);
8295 /*** IEnumSTATPROPSTG methods ***/
8296 HRESULT (STDMETHODCALLTYPE *Next)(
8297 IEnumSTATPROPSTG* This,
8300 ULONG* pceltFetched);
8302 HRESULT (STDMETHODCALLTYPE *Skip)(
8303 IEnumSTATPROPSTG* This,
8306 HRESULT (STDMETHODCALLTYPE *Reset)(
8307 IEnumSTATPROPSTG* This);
8309 HRESULT (STDMETHODCALLTYPE *Clone)(
8310 IEnumSTATPROPSTG* This,
8311 IEnumSTATPROPSTG** ppenum);
8315 /*** IUnknown methods ***/
8316 #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8317 #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8318 #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
8319 /*** IEnumSTATPROPSTG methods ***/
8320 #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8321 #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8322 #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
8323 #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8327 #define IEnumSTATPROPSTG_METHODS \
8328 ICOM_MSVTABLE_COMPAT_FIELDS \
8329 /*** IUnknown methods ***/ \
8330 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8331 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8332 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8333 /*** IEnumSTATPROPSTG methods ***/ \
8334 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
8335 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8336 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8337 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
8339 HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy(
8340 IEnumSTATPROPSTG* This,
8343 ULONG* pceltFetched);
8344 void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
8345 struct IRpcStubBuffer* This,
8346 struct IRpcChannelBuffer* pRpcChannelBuffer,
8347 PRPC_MESSAGE pRpcMessage,
8348 DWORD* pdwStubPhase);
8349 HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
8350 IEnumSTATPROPSTG* This,
8353 ULONG* pceltFetched);
8354 HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
8355 IEnumSTATPROPSTG* This,
8358 ULONG* pceltFetched);
8359 HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy(
8360 IEnumSTATPROPSTG* This,
8362 void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
8363 struct IRpcStubBuffer* This,
8364 struct IRpcChannelBuffer* pRpcChannelBuffer,
8365 PRPC_MESSAGE pRpcMessage,
8366 DWORD* pdwStubPhase);
8367 HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy(
8368 IEnumSTATPROPSTG* This);
8369 void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
8370 struct IRpcStubBuffer* This,
8371 struct IRpcChannelBuffer* pRpcChannelBuffer,
8372 PRPC_MESSAGE pRpcMessage,
8373 DWORD* pdwStubPhase);
8374 HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy(
8375 IEnumSTATPROPSTG* This,
8376 IEnumSTATPROPSTG** ppenum);
8377 void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
8378 struct IRpcStubBuffer* This,
8379 struct IRpcChannelBuffer* pRpcChannelBuffer,
8380 PRPC_MESSAGE pRpcMessage,
8381 DWORD* pdwStubPhase);
8383 #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
8385 typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
8387 /*****************************************************************************
8388 * IEnumSTATPROPSETSTG interface
8390 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
8391 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
8393 DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8394 #if defined(__cplusplus) && !defined(CINTERFACE)
8395 struct IEnumSTATPROPSETSTG : public IUnknown
8397 virtual HRESULT STDMETHODCALLTYPE Next(
8399 STATPROPSETSTG* rgelt,
8400 ULONG* pceltFetched) = 0;
8402 virtual HRESULT STDMETHODCALLTYPE Skip(
8405 virtual HRESULT STDMETHODCALLTYPE Reset(
8408 virtual HRESULT STDMETHODCALLTYPE Clone(
8409 IEnumSTATPROPSETSTG** ppenum) = 0;
8413 typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl;
8414 struct IEnumSTATPROPSETSTG {
8415 const IEnumSTATPROPSETSTGVtbl* lpVtbl;
8417 struct IEnumSTATPROPSETSTGVtbl {
8418 ICOM_MSVTABLE_COMPAT_FIELDS
8420 /*** IUnknown methods ***/
8421 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8422 IEnumSTATPROPSETSTG* This,
8426 ULONG (STDMETHODCALLTYPE *AddRef)(
8427 IEnumSTATPROPSETSTG* This);
8429 ULONG (STDMETHODCALLTYPE *Release)(
8430 IEnumSTATPROPSETSTG* This);
8432 /*** IEnumSTATPROPSETSTG methods ***/
8433 HRESULT (STDMETHODCALLTYPE *Next)(
8434 IEnumSTATPROPSETSTG* This,
8436 STATPROPSETSTG* rgelt,
8437 ULONG* pceltFetched);
8439 HRESULT (STDMETHODCALLTYPE *Skip)(
8440 IEnumSTATPROPSETSTG* This,
8443 HRESULT (STDMETHODCALLTYPE *Reset)(
8444 IEnumSTATPROPSETSTG* This);
8446 HRESULT (STDMETHODCALLTYPE *Clone)(
8447 IEnumSTATPROPSETSTG* This,
8448 IEnumSTATPROPSETSTG** ppenum);
8452 /*** IUnknown methods ***/
8453 #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8454 #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8455 #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
8456 /*** IEnumSTATPROPSETSTG methods ***/
8457 #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8458 #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8459 #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
8460 #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8464 #define IEnumSTATPROPSETSTG_METHODS \
8465 ICOM_MSVTABLE_COMPAT_FIELDS \
8466 /*** IUnknown methods ***/ \
8467 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8468 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8469 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8470 /*** IEnumSTATPROPSETSTG methods ***/ \
8471 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
8472 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8473 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8474 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8476 HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy(
8477 IEnumSTATPROPSETSTG* This,
8479 STATPROPSETSTG* rgelt,
8480 ULONG* pceltFetched);
8481 void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
8482 struct IRpcStubBuffer* This,
8483 struct IRpcChannelBuffer* pRpcChannelBuffer,
8484 PRPC_MESSAGE pRpcMessage,
8485 DWORD* pdwStubPhase);
8486 HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
8487 IEnumSTATPROPSETSTG* This,
8489 STATPROPSETSTG* rgelt,
8490 ULONG* pceltFetched);
8491 HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
8492 IEnumSTATPROPSETSTG* This,
8494 STATPROPSETSTG* rgelt,
8495 ULONG* pceltFetched);
8496 HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy(
8497 IEnumSTATPROPSETSTG* This,
8499 void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
8500 struct IRpcStubBuffer* This,
8501 struct IRpcChannelBuffer* pRpcChannelBuffer,
8502 PRPC_MESSAGE pRpcMessage,
8503 DWORD* pdwStubPhase);
8504 HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy(
8505 IEnumSTATPROPSETSTG* This);
8506 void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
8507 struct IRpcStubBuffer* This,
8508 struct IRpcChannelBuffer* pRpcChannelBuffer,
8509 PRPC_MESSAGE pRpcMessage,
8510 DWORD* pdwStubPhase);
8511 HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy(
8512 IEnumSTATPROPSETSTG* This,
8513 IEnumSTATPROPSETSTG** ppenum);
8514 void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
8515 struct IRpcStubBuffer* This,
8516 struct IRpcChannelBuffer* pRpcChannelBuffer,
8517 PRPC_MESSAGE pRpcMessage,
8518 DWORD* pdwStubPhase);
8520 #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
8522 #ifndef __IClientSecurity_FWD_DEFINED__
8523 #define __IClientSecurity_FWD_DEFINED__
8524 typedef struct IClientSecurity IClientSecurity;
8527 typedef struct tagSOLE_AUTHENTICATION_SERVICE {
8530 OLECHAR *pPrincipalName;
8532 } SOLE_AUTHENTICATION_SERVICE;
8534 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
8536 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
8538 EOAC_MUTUAL_AUTH = 0x1,
8539 EOAC_CLOAKING = 0x10,
8540 EOAC_SECURE_REFS = 0x2,
8541 EOAC_ACCESS_CONTROL = 0x4,
8543 } EOLE_AUTHENTICATION_CAPABILITIES;
8545 /*****************************************************************************
8546 * IClientSecurity interface
8548 #ifndef __IClientSecurity_INTERFACE_DEFINED__
8549 #define __IClientSecurity_INTERFACE_DEFINED__
8551 DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8552 #if defined(__cplusplus) && !defined(CINTERFACE)
8553 struct IClientSecurity : public IUnknown
8555 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
8559 OLECHAR** pServerPrincName,
8563 DWORD* pCapabilites) = 0;
8565 virtual HRESULT STDMETHODCALLTYPE SetBlanket(
8569 OLECHAR* pServerPrincName,
8573 DWORD Capabilities) = 0;
8575 virtual HRESULT STDMETHODCALLTYPE CopyProxy(
8577 IUnknown** ppCopy) = 0;
8581 typedef struct IClientSecurityVtbl IClientSecurityVtbl;
8582 struct IClientSecurity {
8583 const IClientSecurityVtbl* lpVtbl;
8585 struct IClientSecurityVtbl {
8586 ICOM_MSVTABLE_COMPAT_FIELDS
8588 /*** IUnknown methods ***/
8589 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8590 IClientSecurity* This,
8594 ULONG (STDMETHODCALLTYPE *AddRef)(
8595 IClientSecurity* This);
8597 ULONG (STDMETHODCALLTYPE *Release)(
8598 IClientSecurity* This);
8600 /*** IClientSecurity methods ***/
8601 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
8602 IClientSecurity* This,
8606 OLECHAR** pServerPrincName,
8610 DWORD* pCapabilites);
8612 HRESULT (STDMETHODCALLTYPE *SetBlanket)(
8613 IClientSecurity* This,
8617 OLECHAR* pServerPrincName,
8621 DWORD Capabilities);
8623 HRESULT (STDMETHODCALLTYPE *CopyProxy)(
8624 IClientSecurity* This,
8630 /*** IUnknown methods ***/
8631 #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8632 #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8633 #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p)
8634 /*** IClientSecurity methods ***/
8635 #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h)
8636 #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h)
8637 #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b)
8641 #define IClientSecurity_METHODS \
8642 ICOM_MSVTABLE_COMPAT_FIELDS \
8643 /*** IUnknown methods ***/ \
8644 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8645 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8646 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8647 /*** IClientSecurity methods ***/ \
8648 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ IUnknown* pProxy, DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pAuthInfo, DWORD* pCapabilites) PURE; \
8649 STDMETHOD_(HRESULT,SetBlanket)(THIS_ IUnknown* pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR* pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void* pAuthInfo, DWORD Capabilities) PURE; \
8650 STDMETHOD_(HRESULT,CopyProxy)(THIS_ IUnknown* pProxy, IUnknown** ppCopy) PURE;
8652 HRESULT CALLBACK IClientSecurity_QueryBlanket_Proxy(
8653 IClientSecurity* This,
8657 OLECHAR** pServerPrincName,
8661 DWORD* pCapabilites);
8662 void __RPC_STUB IClientSecurity_QueryBlanket_Stub(
8663 struct IRpcStubBuffer* This,
8664 struct IRpcChannelBuffer* pRpcChannelBuffer,
8665 PRPC_MESSAGE pRpcMessage,
8666 DWORD* pdwStubPhase);
8667 HRESULT CALLBACK IClientSecurity_SetBlanket_Proxy(
8668 IClientSecurity* This,
8672 OLECHAR* pServerPrincName,
8676 DWORD Capabilities);
8677 void __RPC_STUB IClientSecurity_SetBlanket_Stub(
8678 struct IRpcStubBuffer* This,
8679 struct IRpcChannelBuffer* pRpcChannelBuffer,
8680 PRPC_MESSAGE pRpcMessage,
8681 DWORD* pdwStubPhase);
8682 HRESULT CALLBACK IClientSecurity_CopyProxy_Proxy(
8683 IClientSecurity* This,
8686 void __RPC_STUB IClientSecurity_CopyProxy_Stub(
8687 struct IRpcStubBuffer* This,
8688 struct IRpcChannelBuffer* pRpcChannelBuffer,
8689 PRPC_MESSAGE pRpcMessage,
8690 DWORD* pdwStubPhase);
8692 #endif /* __IClientSecurity_INTERFACE_DEFINED__ */
8694 #ifndef __IServerSecurity_FWD_DEFINED__
8695 #define __IServerSecurity_FWD_DEFINED__
8696 typedef struct IServerSecurity IServerSecurity;
8699 /*****************************************************************************
8700 * IServerSecurity interface
8702 #ifndef __IServerSecurity_INTERFACE_DEFINED__
8703 #define __IServerSecurity_INTERFACE_DEFINED__
8705 DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8706 #if defined(__cplusplus) && !defined(CINTERFACE)
8707 struct IServerSecurity : public IUnknown
8709 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
8712 OLECHAR** pServerPrincName,
8716 DWORD* pCapabilities) = 0;
8718 virtual HRESULT STDMETHODCALLTYPE ImpersonateClient(
8721 virtual HRESULT STDMETHODCALLTYPE RevertToSelf(
8724 virtual BOOL STDMETHODCALLTYPE IsImpersonating(
8729 typedef struct IServerSecurityVtbl IServerSecurityVtbl;
8730 struct IServerSecurity {
8731 const IServerSecurityVtbl* lpVtbl;
8733 struct IServerSecurityVtbl {
8734 ICOM_MSVTABLE_COMPAT_FIELDS
8736 /*** IUnknown methods ***/
8737 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8738 IServerSecurity* This,
8742 ULONG (STDMETHODCALLTYPE *AddRef)(
8743 IServerSecurity* This);
8745 ULONG (STDMETHODCALLTYPE *Release)(
8746 IServerSecurity* This);
8748 /*** IServerSecurity methods ***/
8749 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
8750 IServerSecurity* This,
8753 OLECHAR** pServerPrincName,
8757 DWORD* pCapabilities);
8759 HRESULT (STDMETHODCALLTYPE *ImpersonateClient)(
8760 IServerSecurity* This);
8762 HRESULT (STDMETHODCALLTYPE *RevertToSelf)(
8763 IServerSecurity* This);
8765 BOOL (STDMETHODCALLTYPE *IsImpersonating)(
8766 IServerSecurity* This);
8770 /*** IUnknown methods ***/
8771 #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8772 #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8773 #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p)
8774 /*** IServerSecurity methods ***/
8775 #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g)
8776 #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p)
8777 #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p)
8778 #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p)
8782 #define IServerSecurity_METHODS \
8783 ICOM_MSVTABLE_COMPAT_FIELDS \
8784 /*** IUnknown methods ***/ \
8785 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8786 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8787 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8788 /*** IServerSecurity methods ***/ \
8789 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pPrivs, DWORD* pCapabilities) PURE; \
8790 STDMETHOD_(HRESULT,ImpersonateClient)(THIS) PURE; \
8791 STDMETHOD_(HRESULT,RevertToSelf)(THIS) PURE; \
8792 STDMETHOD_(BOOL,IsImpersonating)(THIS) PURE;
8794 HRESULT CALLBACK IServerSecurity_QueryBlanket_Proxy(
8795 IServerSecurity* This,
8798 OLECHAR** pServerPrincName,
8802 DWORD* pCapabilities);
8803 void __RPC_STUB IServerSecurity_QueryBlanket_Stub(
8804 struct IRpcStubBuffer* This,
8805 struct IRpcChannelBuffer* pRpcChannelBuffer,
8806 PRPC_MESSAGE pRpcMessage,
8807 DWORD* pdwStubPhase);
8808 HRESULT CALLBACK IServerSecurity_ImpersonateClient_Proxy(
8809 IServerSecurity* This);
8810 void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(
8811 struct IRpcStubBuffer* This,
8812 struct IRpcChannelBuffer* pRpcChannelBuffer,
8813 PRPC_MESSAGE pRpcMessage,
8814 DWORD* pdwStubPhase);
8815 HRESULT CALLBACK IServerSecurity_RevertToSelf_Proxy(
8816 IServerSecurity* This);
8817 void __RPC_STUB IServerSecurity_RevertToSelf_Stub(
8818 struct IRpcStubBuffer* This,
8819 struct IRpcChannelBuffer* pRpcChannelBuffer,
8820 PRPC_MESSAGE pRpcMessage,
8821 DWORD* pdwStubPhase);
8822 BOOL CALLBACK IServerSecurity_IsImpersonating_Proxy(
8823 IServerSecurity* This);
8824 void __RPC_STUB IServerSecurity_IsImpersonating_Stub(
8825 struct IRpcStubBuffer* This,
8826 struct IRpcChannelBuffer* pRpcChannelBuffer,
8827 PRPC_MESSAGE pRpcMessage,
8828 DWORD* pdwStubPhase);
8830 #endif /* __IServerSecurity_INTERFACE_DEFINED__ */
8832 #ifndef __IAsyncSetup_FWD_DEFINED__
8833 #define __IAsyncSetup_FWD_DEFINED__
8834 typedef struct IAsyncSetup IAsyncSetup;
8837 /*****************************************************************************
8838 * IAsyncSetup interface
8840 #ifndef __IAsyncSetup_INTERFACE_DEFINED__
8841 #define __IAsyncSetup_INTERFACE_DEFINED__
8843 DEFINE_GUID(IID_IAsyncSetup, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8844 #if defined(__cplusplus) && !defined(CINTERFACE)
8845 struct IAsyncSetup : public IUnknown
8847 virtual HRESULT STDMETHODCALLTYPE GetAsyncManager(
8852 IAsyncManager** ppAsyncMgr) = 0;
8856 typedef struct IAsyncSetupVtbl IAsyncSetupVtbl;
8857 struct IAsyncSetup {
8858 const IAsyncSetupVtbl* lpVtbl;
8860 struct IAsyncSetupVtbl {
8861 ICOM_MSVTABLE_COMPAT_FIELDS
8863 /*** IUnknown methods ***/
8864 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8869 ULONG (STDMETHODCALLTYPE *AddRef)(
8872 ULONG (STDMETHODCALLTYPE *Release)(
8875 /*** IAsyncSetup methods ***/
8876 HRESULT (STDMETHODCALLTYPE *GetAsyncManager)(
8882 IAsyncManager** ppAsyncMgr);
8886 /*** IUnknown methods ***/
8887 #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8888 #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p)
8889 #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p)
8890 /*** IAsyncSetup methods ***/
8891 #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e)
8895 #define IAsyncSetup_METHODS \
8896 ICOM_MSVTABLE_COMPAT_FIELDS \
8897 /*** IUnknown methods ***/ \
8898 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8899 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8900 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8901 /*** IAsyncSetup methods ***/ \
8902 STDMETHOD_(HRESULT,GetAsyncManager)(THIS_ REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) PURE;
8904 HRESULT CALLBACK IAsyncSetup_GetAsyncManager_Proxy(
8910 IAsyncManager** ppAsyncMgr);
8911 void __RPC_STUB IAsyncSetup_GetAsyncManager_Stub(
8912 struct IRpcStubBuffer* This,
8913 struct IRpcChannelBuffer* pRpcChannelBuffer,
8914 PRPC_MESSAGE pRpcMessage,
8915 DWORD* pdwStubPhase);
8917 #endif /* __IAsyncSetup_INTERFACE_DEFINED__ */
8919 typedef enum tagDCOM_CALL_STATE {
8921 DCOM_CALL_COMPLETE = 1,
8922 DCOM_CALL_CANCELED = 2
8925 /*****************************************************************************
8926 * IAsyncManager interface
8928 #ifndef __IAsyncManager_INTERFACE_DEFINED__
8929 #define __IAsyncManager_INTERFACE_DEFINED__
8931 DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8932 #if defined(__cplusplus) && !defined(CINTERFACE)
8933 struct IAsyncManager : public IUnknown
8935 virtual HRESULT STDMETHODCALLTYPE CompleteCall(
8936 HRESULT Result) = 0;
8938 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
8940 void** pInterface) = 0;
8942 virtual HRESULT STDMETHODCALLTYPE GetState(
8943 ULONG* pulStateFlags) = 0;
8947 typedef struct IAsyncManagerVtbl IAsyncManagerVtbl;
8948 struct IAsyncManager {
8949 const IAsyncManagerVtbl* lpVtbl;
8951 struct IAsyncManagerVtbl {
8952 ICOM_MSVTABLE_COMPAT_FIELDS
8954 /*** IUnknown methods ***/
8955 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8956 IAsyncManager* This,
8960 ULONG (STDMETHODCALLTYPE *AddRef)(
8961 IAsyncManager* This);
8963 ULONG (STDMETHODCALLTYPE *Release)(
8964 IAsyncManager* This);
8966 /*** IAsyncManager methods ***/
8967 HRESULT (STDMETHODCALLTYPE *CompleteCall)(
8968 IAsyncManager* This,
8971 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
8972 IAsyncManager* This,
8976 HRESULT (STDMETHODCALLTYPE *GetState)(
8977 IAsyncManager* This,
8978 ULONG* pulStateFlags);
8982 /*** IUnknown methods ***/
8983 #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8984 #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p)
8985 #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p)
8986 /*** IAsyncManager methods ***/
8987 #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a)
8988 #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b)
8989 #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a)
8993 #define IAsyncManager_METHODS \
8994 ICOM_MSVTABLE_COMPAT_FIELDS \
8995 /*** IUnknown methods ***/ \
8996 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8997 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8998 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8999 /*** IAsyncManager methods ***/ \
9000 STDMETHOD_(HRESULT,CompleteCall)(THIS_ HRESULT Result) PURE; \
9001 STDMETHOD_(HRESULT,GetCallContext)(THIS_ REFIID riid, void** pInterface) PURE; \
9002 STDMETHOD_(HRESULT,GetState)(THIS_ ULONG* pulStateFlags) PURE;
9004 HRESULT CALLBACK IAsyncManager_CompleteCall_Proxy(
9005 IAsyncManager* This,
9007 void __RPC_STUB IAsyncManager_CompleteCall_Stub(
9008 struct IRpcStubBuffer* This,
9009 struct IRpcChannelBuffer* pRpcChannelBuffer,
9010 PRPC_MESSAGE pRpcMessage,
9011 DWORD* pdwStubPhase);
9012 HRESULT CALLBACK IAsyncManager_GetCallContext_Proxy(
9013 IAsyncManager* This,
9016 void __RPC_STUB IAsyncManager_GetCallContext_Stub(
9017 struct IRpcStubBuffer* This,
9018 struct IRpcChannelBuffer* pRpcChannelBuffer,
9019 PRPC_MESSAGE pRpcMessage,
9020 DWORD* pdwStubPhase);
9021 HRESULT CALLBACK IAsyncManager_GetState_Proxy(
9022 IAsyncManager* This,
9023 ULONG* pulStateFlags);
9024 void __RPC_STUB IAsyncManager_GetState_Stub(
9025 struct IRpcStubBuffer* This,
9026 struct IRpcChannelBuffer* pRpcChannelBuffer,
9027 PRPC_MESSAGE pRpcMessage,
9028 DWORD* pdwStubPhase);
9030 #endif /* __IAsyncManager_INTERFACE_DEFINED__ */
9035 #endif /* __WIDL_OBJIDL_H */