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