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 __IStream16_FWD_DEFINED__
17 #define __IStream16_FWD_DEFINED__
18 typedef struct IStream16 IStream16
;
21 #ifndef __IEnumString_FWD_DEFINED__
22 #define __IEnumString_FWD_DEFINED__
23 typedef struct IEnumString IEnumString
;
26 #ifndef __IRunningObjectTable_FWD_DEFINED__
27 #define __IRunningObjectTable_FWD_DEFINED__
28 typedef struct IRunningObjectTable IRunningObjectTable
;
31 #ifndef __IMoniker_FWD_DEFINED__
32 #define __IMoniker_FWD_DEFINED__
33 typedef struct IMoniker IMoniker
;
36 #ifndef __IAdviseSink_FWD_DEFINED__
37 #define __IAdviseSink_FWD_DEFINED__
38 typedef struct IAdviseSink IAdviseSink
;
41 #ifndef __IAsyncManager_FWD_DEFINED__
42 #define __IAsyncManager_FWD_DEFINED__
43 typedef struct IAsyncManager IAsyncManager
;
46 #ifndef __IMarshal_FWD_DEFINED__
47 #define __IMarshal_FWD_DEFINED__
48 typedef struct IMarshal IMarshal
;
51 typedef IMarshal
*LPMARSHAL
;
53 /*****************************************************************************
56 #ifndef __IMarshal_INTERFACE_DEFINED__
57 #define __IMarshal_INTERFACE_DEFINED__
59 DEFINE_GUID(IID_IMarshal
, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
60 #if defined(__cplusplus) && !defined(CINTERFACE)
61 struct IMarshal
: public IUnknown
63 virtual HRESULT STDMETHODCALLTYPE
GetUnmarshalClass(
71 virtual HRESULT STDMETHODCALLTYPE
GetMarshalSizeMax(
79 virtual HRESULT STDMETHODCALLTYPE
MarshalInterface(
87 virtual HRESULT STDMETHODCALLTYPE
UnmarshalInterface(
92 virtual HRESULT STDMETHODCALLTYPE
ReleaseMarshalData(
95 virtual HRESULT STDMETHODCALLTYPE
DisconnectObject(
96 DWORD dwReserved
) = 0;
100 typedef struct IMarshalVtbl IMarshalVtbl
;
102 const IMarshalVtbl
* lpVtbl
;
104 struct IMarshalVtbl
{
105 ICOM_MSVTABLE_COMPAT_FIELDS
107 /*** IUnknown methods ***/
108 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
113 ULONG (STDMETHODCALLTYPE
*AddRef
)(
116 ULONG (STDMETHODCALLTYPE
*Release
)(
119 /*** IMarshal methods ***/
120 HRESULT (STDMETHODCALLTYPE
*GetUnmarshalClass
)(
129 HRESULT (STDMETHODCALLTYPE
*GetMarshalSizeMax
)(
138 HRESULT (STDMETHODCALLTYPE
*MarshalInterface
)(
147 HRESULT (STDMETHODCALLTYPE
*UnmarshalInterface
)(
153 HRESULT (STDMETHODCALLTYPE
*ReleaseMarshalData
)(
157 HRESULT (STDMETHODCALLTYPE
*DisconnectObject
)(
163 /*** IUnknown methods ***/
164 #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
165 #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
166 #define IMarshal_Release(p) (p)->lpVtbl->Release(p)
167 /*** IMarshal methods ***/
168 #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f)
169 #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f)
170 #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f)
171 #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c)
172 #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a)
173 #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a)
177 #define IMarshal_METHODS \
178 ICOM_MSVTABLE_COMPAT_FIELDS \
179 /*** IUnknown methods ***/ \
180 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
181 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
182 STDMETHOD_(ULONG,Release)(THIS) PURE; \
183 /*** IMarshal methods ***/ \
184 STDMETHOD_(HRESULT,GetUnmarshalClass)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) PURE; \
185 STDMETHOD_(HRESULT,GetMarshalSizeMax)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) PURE; \
186 STDMETHOD_(HRESULT,MarshalInterface)(THIS_ IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) PURE; \
187 STDMETHOD_(HRESULT,UnmarshalInterface)(THIS_ IStream* pStm, REFIID riid, void** ppv) PURE; \
188 STDMETHOD_(HRESULT,ReleaseMarshalData)(THIS_ IStream* pStm) PURE; \
189 STDMETHOD_(HRESULT,DisconnectObject)(THIS_ DWORD dwReserved) PURE;
191 HRESULT CALLBACK
IMarshal_GetUnmarshalClass_Proxy(
199 void __RPC_STUB
IMarshal_GetUnmarshalClass_Stub(
200 struct IRpcStubBuffer
* This
,
201 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
202 PRPC_MESSAGE pRpcMessage
,
203 DWORD
* pdwStubPhase
);
204 HRESULT CALLBACK
IMarshal_GetMarshalSizeMax_Proxy(
212 void __RPC_STUB
IMarshal_GetMarshalSizeMax_Stub(
213 struct IRpcStubBuffer
* This
,
214 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
215 PRPC_MESSAGE pRpcMessage
,
216 DWORD
* pdwStubPhase
);
217 HRESULT CALLBACK
IMarshal_MarshalInterface_Proxy(
225 void __RPC_STUB
IMarshal_MarshalInterface_Stub(
226 struct IRpcStubBuffer
* This
,
227 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
228 PRPC_MESSAGE pRpcMessage
,
229 DWORD
* pdwStubPhase
);
230 HRESULT CALLBACK
IMarshal_UnmarshalInterface_Proxy(
235 void __RPC_STUB
IMarshal_UnmarshalInterface_Stub(
236 struct IRpcStubBuffer
* This
,
237 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
238 PRPC_MESSAGE pRpcMessage
,
239 DWORD
* pdwStubPhase
);
240 HRESULT CALLBACK
IMarshal_ReleaseMarshalData_Proxy(
243 void __RPC_STUB
IMarshal_ReleaseMarshalData_Stub(
244 struct IRpcStubBuffer
* This
,
245 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
246 PRPC_MESSAGE pRpcMessage
,
247 DWORD
* pdwStubPhase
);
248 HRESULT CALLBACK
IMarshal_DisconnectObject_Proxy(
251 void __RPC_STUB
IMarshal_DisconnectObject_Stub(
252 struct IRpcStubBuffer
* This
,
253 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
254 PRPC_MESSAGE pRpcMessage
,
255 DWORD
* pdwStubPhase
);
257 #endif /* __IMarshal_INTERFACE_DEFINED__ */
259 #ifndef __IStdMarshalInfo_FWD_DEFINED__
260 #define __IStdMarshalInfo_FWD_DEFINED__
261 typedef struct IStdMarshalInfo IStdMarshalInfo
;
264 typedef IStdMarshalInfo
*LPSTDMARSHALINFO
;
266 /*****************************************************************************
267 * IStdMarshalInfo interface
269 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
270 #define __IStdMarshalInfo_INTERFACE_DEFINED__
272 DEFINE_GUID(IID_IStdMarshalInfo
, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
273 #if defined(__cplusplus) && !defined(CINTERFACE)
274 struct IStdMarshalInfo
: public IUnknown
276 virtual HRESULT STDMETHODCALLTYPE
GetClassForHandler(
283 typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl
;
284 struct IStdMarshalInfo
{
285 const IStdMarshalInfoVtbl
* lpVtbl
;
287 struct IStdMarshalInfoVtbl
{
288 ICOM_MSVTABLE_COMPAT_FIELDS
290 /*** IUnknown methods ***/
291 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
292 IStdMarshalInfo
* This
,
296 ULONG (STDMETHODCALLTYPE
*AddRef
)(
297 IStdMarshalInfo
* This
);
299 ULONG (STDMETHODCALLTYPE
*Release
)(
300 IStdMarshalInfo
* This
);
302 /*** IStdMarshalInfo methods ***/
303 HRESULT (STDMETHODCALLTYPE
*GetClassForHandler
)(
304 IStdMarshalInfo
* This
,
311 /*** IUnknown methods ***/
312 #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
313 #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
314 #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p)
315 /*** IStdMarshalInfo methods ***/
316 #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c)
320 #define IStdMarshalInfo_METHODS \
321 ICOM_MSVTABLE_COMPAT_FIELDS \
322 /*** IUnknown methods ***/ \
323 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
324 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
325 STDMETHOD_(ULONG,Release)(THIS) PURE; \
326 /*** IStdMarshalInfo methods ***/ \
327 STDMETHOD_(HRESULT,GetClassForHandler)(THIS_ DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) PURE;
329 HRESULT CALLBACK
IStdMarshalInfo_GetClassForHandler_Proxy(
330 IStdMarshalInfo
* This
,
334 void __RPC_STUB
IStdMarshalInfo_GetClassForHandler_Stub(
335 struct IRpcStubBuffer
* This
,
336 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
337 PRPC_MESSAGE pRpcMessage
,
338 DWORD
* pdwStubPhase
);
340 #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
342 #ifndef __IExternalConnection_FWD_DEFINED__
343 #define __IExternalConnection_FWD_DEFINED__
344 typedef struct IExternalConnection IExternalConnection
;
347 typedef IExternalConnection
*LPEXTERNALCONNECTION
;
349 typedef enum tagEXTCONN
{
350 EXTCONN_STRONG
= 0x1,
352 EXTCONN_CALLABLE
= 0x4
355 /*****************************************************************************
356 * IExternalConnection interface
358 #ifndef __IExternalConnection_INTERFACE_DEFINED__
359 #define __IExternalConnection_INTERFACE_DEFINED__
361 DEFINE_GUID(IID_IExternalConnection
, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
362 #if defined(__cplusplus) && !defined(CINTERFACE)
363 struct IExternalConnection
: public IUnknown
365 virtual DWORD STDMETHODCALLTYPE
AddConnection(
369 virtual DWORD STDMETHODCALLTYPE
ReleaseConnection(
372 BOOL fLastReleaseCloses
) = 0;
376 typedef struct IExternalConnectionVtbl IExternalConnectionVtbl
;
377 struct IExternalConnection
{
378 const IExternalConnectionVtbl
* lpVtbl
;
380 struct IExternalConnectionVtbl
{
381 ICOM_MSVTABLE_COMPAT_FIELDS
383 /*** IUnknown methods ***/
384 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
385 IExternalConnection
* This
,
389 ULONG (STDMETHODCALLTYPE
*AddRef
)(
390 IExternalConnection
* This
);
392 ULONG (STDMETHODCALLTYPE
*Release
)(
393 IExternalConnection
* This
);
395 /*** IExternalConnection methods ***/
396 DWORD (STDMETHODCALLTYPE
*AddConnection
)(
397 IExternalConnection
* This
,
401 DWORD (STDMETHODCALLTYPE
*ReleaseConnection
)(
402 IExternalConnection
* This
,
405 BOOL fLastReleaseCloses
);
409 /*** IUnknown methods ***/
410 #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
411 #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
412 #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p)
413 /*** IExternalConnection methods ***/
414 #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b)
415 #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c)
419 #define IExternalConnection_METHODS \
420 ICOM_MSVTABLE_COMPAT_FIELDS \
421 /*** IUnknown methods ***/ \
422 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
423 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
424 STDMETHOD_(ULONG,Release)(THIS) PURE; \
425 /*** IExternalConnection methods ***/ \
426 STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD extconn, DWORD reserved) PURE; \
427 STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) PURE;
429 DWORD CALLBACK
IExternalConnection_AddConnection_Proxy(
430 IExternalConnection
* This
,
433 void __RPC_STUB
IExternalConnection_AddConnection_Stub(
434 struct IRpcStubBuffer
* This
,
435 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
436 PRPC_MESSAGE pRpcMessage
,
437 DWORD
* pdwStubPhase
);
438 DWORD CALLBACK
IExternalConnection_ReleaseConnection_Proxy(
439 IExternalConnection
* This
,
442 BOOL fLastReleaseCloses
);
443 void __RPC_STUB
IExternalConnection_ReleaseConnection_Stub(
444 struct IRpcStubBuffer
* This
,
445 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
446 PRPC_MESSAGE pRpcMessage
,
447 DWORD
* pdwStubPhase
);
449 #endif /* __IExternalConnection_INTERFACE_DEFINED__ */
451 #ifndef __IMultiQI_FWD_DEFINED__
452 #define __IMultiQI_FWD_DEFINED__
453 typedef struct IMultiQI IMultiQI
;
456 typedef IMultiQI
*LPMULTIQI
;
458 typedef struct tagMULTI_QI
{
464 /*****************************************************************************
467 #ifndef __IMultiQI_INTERFACE_DEFINED__
468 #define __IMultiQI_INTERFACE_DEFINED__
470 DEFINE_GUID(IID_IMultiQI
, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
471 #if defined(__cplusplus) && !defined(CINTERFACE)
472 struct IMultiQI
: public IUnknown
474 virtual HRESULT STDMETHODCALLTYPE
QueryMultipleInterfaces(
476 MULTI_QI
* pMQIs
) = 0;
480 typedef struct IMultiQIVtbl IMultiQIVtbl
;
482 const IMultiQIVtbl
* lpVtbl
;
484 struct IMultiQIVtbl
{
485 ICOM_MSVTABLE_COMPAT_FIELDS
487 /*** IUnknown methods ***/
488 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
493 ULONG (STDMETHODCALLTYPE
*AddRef
)(
496 ULONG (STDMETHODCALLTYPE
*Release
)(
499 /*** IMultiQI methods ***/
500 HRESULT (STDMETHODCALLTYPE
*QueryMultipleInterfaces
)(
507 /*** IUnknown methods ***/
508 #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
509 #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p)
510 #define IMultiQI_Release(p) (p)->lpVtbl->Release(p)
511 /*** IMultiQI methods ***/
512 #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b)
516 #define IMultiQI_METHODS \
517 ICOM_MSVTABLE_COMPAT_FIELDS \
518 /*** IUnknown methods ***/ \
519 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
520 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
521 STDMETHOD_(ULONG,Release)(THIS) PURE; \
522 /*** IMultiQI methods ***/ \
523 STDMETHOD_(HRESULT,QueryMultipleInterfaces)(THIS_ ULONG cMQIs, MULTI_QI* pMQIs) PURE;
525 HRESULT CALLBACK
IMultiQI_QueryMultipleInterfaces_Proxy(
529 void __RPC_STUB
IMultiQI_QueryMultipleInterfaces_Stub(
530 struct IRpcStubBuffer
* This
,
531 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
532 PRPC_MESSAGE pRpcMessage
,
533 DWORD
* pdwStubPhase
);
535 #endif /* __IMultiQI_INTERFACE_DEFINED__ */
537 #ifndef __IMalloc_FWD_DEFINED__
538 #define __IMalloc_FWD_DEFINED__
539 typedef struct IMalloc IMalloc
;
542 typedef IMalloc
*LPMALLOC
;
544 /*****************************************************************************
547 #ifndef __IMalloc_INTERFACE_DEFINED__
548 #define __IMalloc_INTERFACE_DEFINED__
550 DEFINE_GUID(IID_IMalloc
, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
551 #if defined(__cplusplus) && !defined(CINTERFACE)
552 struct IMalloc
: public IUnknown
554 virtual LPVOID STDMETHODCALLTYPE
Alloc(
557 virtual LPVOID STDMETHODCALLTYPE
Realloc(
561 virtual void STDMETHODCALLTYPE
Free(
564 virtual ULONG STDMETHODCALLTYPE
GetSize(
567 virtual int STDMETHODCALLTYPE
DidAlloc(
570 virtual void STDMETHODCALLTYPE
HeapMinimize(
575 typedef struct IMallocVtbl IMallocVtbl
;
577 const IMallocVtbl
* lpVtbl
;
580 ICOM_MSVTABLE_COMPAT_FIELDS
582 /*** IUnknown methods ***/
583 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
588 ULONG (STDMETHODCALLTYPE
*AddRef
)(
591 ULONG (STDMETHODCALLTYPE
*Release
)(
594 /*** IMalloc methods ***/
595 LPVOID (STDMETHODCALLTYPE
*Alloc
)(
599 LPVOID (STDMETHODCALLTYPE
*Realloc
)(
604 void (STDMETHODCALLTYPE
*Free
)(
608 ULONG (STDMETHODCALLTYPE
*GetSize
)(
612 int (STDMETHODCALLTYPE
*DidAlloc
)(
616 void (STDMETHODCALLTYPE
*HeapMinimize
)(
621 /*** IUnknown methods ***/
622 #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
623 #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p)
624 #define IMalloc_Release(p) (p)->lpVtbl->Release(p)
625 /*** IMalloc methods ***/
626 #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a)
627 #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b)
628 #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a)
629 #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
630 #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a)
631 #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p)
635 #define IMalloc_METHODS \
636 ICOM_MSVTABLE_COMPAT_FIELDS \
637 /*** IUnknown methods ***/ \
638 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
639 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
640 STDMETHOD_(ULONG,Release)(THIS) PURE; \
641 /*** IMalloc methods ***/ \
642 STDMETHOD_(LPVOID,Alloc)(THIS_ ULONG cb) PURE; \
643 STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, ULONG cb) PURE; \
644 STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \
645 STDMETHOD_(ULONG,GetSize)(THIS_ LPVOID pv) PURE; \
646 STDMETHOD_(int,DidAlloc)(THIS_ LPVOID pv) PURE; \
647 STDMETHOD_(void,HeapMinimize)(THIS) PURE;
649 LPVOID CALLBACK
IMalloc_Alloc_Proxy(
652 void __RPC_STUB
IMalloc_Alloc_Stub(
653 struct IRpcStubBuffer
* This
,
654 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
655 PRPC_MESSAGE pRpcMessage
,
656 DWORD
* pdwStubPhase
);
657 LPVOID CALLBACK
IMalloc_Realloc_Proxy(
661 void __RPC_STUB
IMalloc_Realloc_Stub(
662 struct IRpcStubBuffer
* This
,
663 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
664 PRPC_MESSAGE pRpcMessage
,
665 DWORD
* pdwStubPhase
);
666 void CALLBACK
IMalloc_Free_Proxy(
669 void __RPC_STUB
IMalloc_Free_Stub(
670 struct IRpcStubBuffer
* This
,
671 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
672 PRPC_MESSAGE pRpcMessage
,
673 DWORD
* pdwStubPhase
);
674 ULONG CALLBACK
IMalloc_GetSize_Proxy(
677 void __RPC_STUB
IMalloc_GetSize_Stub(
678 struct IRpcStubBuffer
* This
,
679 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
680 PRPC_MESSAGE pRpcMessage
,
681 DWORD
* pdwStubPhase
);
682 int CALLBACK
IMalloc_DidAlloc_Proxy(
685 void __RPC_STUB
IMalloc_DidAlloc_Stub(
686 struct IRpcStubBuffer
* This
,
687 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
688 PRPC_MESSAGE pRpcMessage
,
689 DWORD
* pdwStubPhase
);
690 void CALLBACK
IMalloc_HeapMinimize_Proxy(
692 void __RPC_STUB
IMalloc_HeapMinimize_Stub(
693 struct IRpcStubBuffer
* This
,
694 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
695 PRPC_MESSAGE pRpcMessage
,
696 DWORD
* pdwStubPhase
);
698 #endif /* __IMalloc_INTERFACE_DEFINED__ */
700 #ifndef __IMallocSpy_FWD_DEFINED__
701 #define __IMallocSpy_FWD_DEFINED__
702 typedef struct IMallocSpy IMallocSpy
;
705 typedef IMallocSpy
*LPMALLOCSPY
;
707 /*****************************************************************************
708 * IMallocSpy interface
710 #ifndef __IMallocSpy_INTERFACE_DEFINED__
711 #define __IMallocSpy_INTERFACE_DEFINED__
713 DEFINE_GUID(IID_IMallocSpy
, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
714 #if defined(__cplusplus) && !defined(CINTERFACE)
715 struct IMallocSpy
: public IUnknown
717 virtual ULONG STDMETHODCALLTYPE
PreAlloc(
718 ULONG cbRequest
) = 0;
720 virtual LPVOID STDMETHODCALLTYPE
PostAlloc(
723 virtual LPVOID STDMETHODCALLTYPE
PreFree(
727 virtual void STDMETHODCALLTYPE
PostFree(
730 virtual ULONG STDMETHODCALLTYPE
PreRealloc(
733 LPVOID
* ppNewRequest
,
736 virtual LPVOID STDMETHODCALLTYPE
PostRealloc(
740 virtual LPVOID STDMETHODCALLTYPE
PreGetSize(
744 virtual ULONG STDMETHODCALLTYPE
PostGetSize(
748 virtual LPVOID STDMETHODCALLTYPE
PreDidAlloc(
752 virtual int STDMETHODCALLTYPE
PostDidAlloc(
757 virtual void STDMETHODCALLTYPE
PreHeapMinimize(
760 virtual void STDMETHODCALLTYPE
PostHeapMinimize(
765 typedef struct IMallocSpyVtbl IMallocSpyVtbl
;
767 const IMallocSpyVtbl
* lpVtbl
;
769 struct IMallocSpyVtbl
{
770 ICOM_MSVTABLE_COMPAT_FIELDS
772 /*** IUnknown methods ***/
773 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
778 ULONG (STDMETHODCALLTYPE
*AddRef
)(
781 ULONG (STDMETHODCALLTYPE
*Release
)(
784 /*** IMallocSpy methods ***/
785 ULONG (STDMETHODCALLTYPE
*PreAlloc
)(
789 LPVOID (STDMETHODCALLTYPE
*PostAlloc
)(
793 LPVOID (STDMETHODCALLTYPE
*PreFree
)(
798 void (STDMETHODCALLTYPE
*PostFree
)(
802 ULONG (STDMETHODCALLTYPE
*PreRealloc
)(
806 LPVOID
* ppNewRequest
,
809 LPVOID (STDMETHODCALLTYPE
*PostRealloc
)(
814 LPVOID (STDMETHODCALLTYPE
*PreGetSize
)(
819 ULONG (STDMETHODCALLTYPE
*PostGetSize
)(
824 LPVOID (STDMETHODCALLTYPE
*PreDidAlloc
)(
829 int (STDMETHODCALLTYPE
*PostDidAlloc
)(
835 void (STDMETHODCALLTYPE
*PreHeapMinimize
)(
838 void (STDMETHODCALLTYPE
*PostHeapMinimize
)(
843 /*** IUnknown methods ***/
844 #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
845 #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p)
846 #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p)
847 /*** IMallocSpy methods ***/
848 #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a)
849 #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a)
850 #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b)
851 #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a)
852 #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d)
853 #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b)
854 #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b)
855 #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b)
856 #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b)
857 #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c)
858 #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p)
859 #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p)
863 #define IMallocSpy_METHODS \
864 ICOM_MSVTABLE_COMPAT_FIELDS \
865 /*** IUnknown methods ***/ \
866 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
867 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
868 STDMETHOD_(ULONG,Release)(THIS) PURE; \
869 /*** IMallocSpy methods ***/ \
870 STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG cbRequest) PURE; \
871 STDMETHOD_(LPVOID,PostAlloc)(THIS_ LPVOID pActual) PURE; \
872 STDMETHOD_(LPVOID,PreFree)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
873 STDMETHOD_(void,PostFree)(THIS_ BOOL fSpyed) PURE; \
874 STDMETHOD_(ULONG,PreRealloc)(THIS_ LPVOID pRequest, ULONG cbRequest, LPVOID* ppNewRequest, BOOL fSpyed) PURE; \
875 STDMETHOD_(LPVOID,PostRealloc)(THIS_ LPVOID pActual, BOOL fSpyed) PURE; \
876 STDMETHOD_(LPVOID,PreGetSize)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
877 STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG cbActual, BOOL fSpyed) PURE; \
878 STDMETHOD_(LPVOID,PreDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
879 STDMETHOD_(int,PostDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed, int fActual) PURE; \
880 STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; \
881 STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
883 ULONG CALLBACK
IMallocSpy_PreAlloc_Proxy(
886 void __RPC_STUB
IMallocSpy_PreAlloc_Stub(
887 struct IRpcStubBuffer
* This
,
888 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
889 PRPC_MESSAGE pRpcMessage
,
890 DWORD
* pdwStubPhase
);
891 LPVOID CALLBACK
IMallocSpy_PostAlloc_Proxy(
894 void __RPC_STUB
IMallocSpy_PostAlloc_Stub(
895 struct IRpcStubBuffer
* This
,
896 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
897 PRPC_MESSAGE pRpcMessage
,
898 DWORD
* pdwStubPhase
);
899 LPVOID CALLBACK
IMallocSpy_PreFree_Proxy(
903 void __RPC_STUB
IMallocSpy_PreFree_Stub(
904 struct IRpcStubBuffer
* This
,
905 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
906 PRPC_MESSAGE pRpcMessage
,
907 DWORD
* pdwStubPhase
);
908 void CALLBACK
IMallocSpy_PostFree_Proxy(
911 void __RPC_STUB
IMallocSpy_PostFree_Stub(
912 struct IRpcStubBuffer
* This
,
913 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
914 PRPC_MESSAGE pRpcMessage
,
915 DWORD
* pdwStubPhase
);
916 ULONG CALLBACK
IMallocSpy_PreRealloc_Proxy(
920 LPVOID
* ppNewRequest
,
922 void __RPC_STUB
IMallocSpy_PreRealloc_Stub(
923 struct IRpcStubBuffer
* This
,
924 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
925 PRPC_MESSAGE pRpcMessage
,
926 DWORD
* pdwStubPhase
);
927 LPVOID CALLBACK
IMallocSpy_PostRealloc_Proxy(
931 void __RPC_STUB
IMallocSpy_PostRealloc_Stub(
932 struct IRpcStubBuffer
* This
,
933 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
934 PRPC_MESSAGE pRpcMessage
,
935 DWORD
* pdwStubPhase
);
936 LPVOID CALLBACK
IMallocSpy_PreGetSize_Proxy(
940 void __RPC_STUB
IMallocSpy_PreGetSize_Stub(
941 struct IRpcStubBuffer
* This
,
942 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
943 PRPC_MESSAGE pRpcMessage
,
944 DWORD
* pdwStubPhase
);
945 ULONG CALLBACK
IMallocSpy_PostGetSize_Proxy(
949 void __RPC_STUB
IMallocSpy_PostGetSize_Stub(
950 struct IRpcStubBuffer
* This
,
951 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
952 PRPC_MESSAGE pRpcMessage
,
953 DWORD
* pdwStubPhase
);
954 LPVOID CALLBACK
IMallocSpy_PreDidAlloc_Proxy(
958 void __RPC_STUB
IMallocSpy_PreDidAlloc_Stub(
959 struct IRpcStubBuffer
* This
,
960 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
961 PRPC_MESSAGE pRpcMessage
,
962 DWORD
* pdwStubPhase
);
963 int CALLBACK
IMallocSpy_PostDidAlloc_Proxy(
968 void __RPC_STUB
IMallocSpy_PostDidAlloc_Stub(
969 struct IRpcStubBuffer
* This
,
970 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
971 PRPC_MESSAGE pRpcMessage
,
972 DWORD
* pdwStubPhase
);
973 void CALLBACK
IMallocSpy_PreHeapMinimize_Proxy(
975 void __RPC_STUB
IMallocSpy_PreHeapMinimize_Stub(
976 struct IRpcStubBuffer
* This
,
977 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
978 PRPC_MESSAGE pRpcMessage
,
979 DWORD
* pdwStubPhase
);
980 void CALLBACK
IMallocSpy_PostHeapMinimize_Proxy(
982 void __RPC_STUB
IMallocSpy_PostHeapMinimize_Stub(
983 struct IRpcStubBuffer
* This
,
984 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
985 PRPC_MESSAGE pRpcMessage
,
986 DWORD
* pdwStubPhase
);
988 #endif /* __IMallocSpy_INTERFACE_DEFINED__ */
990 #ifndef __IEnumUnknown_FWD_DEFINED__
991 #define __IEnumUnknown_FWD_DEFINED__
992 typedef struct IEnumUnknown IEnumUnknown
;
995 typedef IEnumUnknown
*LPENUMUNKNOWN
;
997 /*****************************************************************************
998 * IEnumUnknown interface
1000 #ifndef __IEnumUnknown_INTERFACE_DEFINED__
1001 #define __IEnumUnknown_INTERFACE_DEFINED__
1003 DEFINE_GUID(IID_IEnumUnknown
, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1004 #if defined(__cplusplus) && !defined(CINTERFACE)
1005 struct IEnumUnknown
: public IUnknown
1007 virtual HRESULT STDMETHODCALLTYPE
Next(
1010 ULONG
* pceltFetched
) = 0;
1012 virtual HRESULT STDMETHODCALLTYPE
Skip(
1015 virtual HRESULT STDMETHODCALLTYPE
Reset(
1018 virtual HRESULT STDMETHODCALLTYPE
Clone(
1019 IEnumUnknown
** ppenum
) = 0;
1023 typedef struct IEnumUnknownVtbl IEnumUnknownVtbl
;
1024 struct IEnumUnknown
{
1025 const IEnumUnknownVtbl
* lpVtbl
;
1027 struct IEnumUnknownVtbl
{
1028 ICOM_MSVTABLE_COMPAT_FIELDS
1030 /*** IUnknown methods ***/
1031 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1036 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1037 IEnumUnknown
* This
);
1039 ULONG (STDMETHODCALLTYPE
*Release
)(
1040 IEnumUnknown
* This
);
1042 /*** IEnumUnknown methods ***/
1043 HRESULT (STDMETHODCALLTYPE
*Next
)(
1047 ULONG
* pceltFetched
);
1049 HRESULT (STDMETHODCALLTYPE
*Skip
)(
1053 HRESULT (STDMETHODCALLTYPE
*Reset
)(
1054 IEnumUnknown
* This
);
1056 HRESULT (STDMETHODCALLTYPE
*Clone
)(
1058 IEnumUnknown
** ppenum
);
1062 /*** IUnknown methods ***/
1063 #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1064 #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
1065 #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p)
1066 /*** IEnumUnknown methods ***/
1067 #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1068 #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1069 #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p)
1070 #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1074 #define IEnumUnknown_METHODS \
1075 ICOM_MSVTABLE_COMPAT_FIELDS \
1076 /*** IUnknown methods ***/ \
1077 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1078 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1079 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1080 /*** IEnumUnknown methods ***/ \
1081 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IUnknown** rgelt, ULONG* pceltFetched) PURE; \
1082 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1083 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1084 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumUnknown** ppenum) PURE;
1086 HRESULT CALLBACK
IEnumUnknown_RemoteNext_Proxy(
1090 ULONG
* pceltFetched
);
1091 void __RPC_STUB
IEnumUnknown_RemoteNext_Stub(
1092 struct IRpcStubBuffer
* This
,
1093 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1094 PRPC_MESSAGE pRpcMessage
,
1095 DWORD
* pdwStubPhase
);
1096 HRESULT CALLBACK
IEnumUnknown_Next_Proxy(
1100 ULONG
* pceltFetched
);
1101 HRESULT __RPC_STUB
IEnumUnknown_Next_Stub(
1105 ULONG
* pceltFetched
);
1106 HRESULT CALLBACK
IEnumUnknown_Skip_Proxy(
1109 void __RPC_STUB
IEnumUnknown_Skip_Stub(
1110 struct IRpcStubBuffer
* This
,
1111 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1112 PRPC_MESSAGE pRpcMessage
,
1113 DWORD
* pdwStubPhase
);
1114 HRESULT CALLBACK
IEnumUnknown_Reset_Proxy(
1115 IEnumUnknown
* This
);
1116 void __RPC_STUB
IEnumUnknown_Reset_Stub(
1117 struct IRpcStubBuffer
* This
,
1118 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1119 PRPC_MESSAGE pRpcMessage
,
1120 DWORD
* pdwStubPhase
);
1121 HRESULT CALLBACK
IEnumUnknown_Clone_Proxy(
1123 IEnumUnknown
** ppenum
);
1124 void __RPC_STUB
IEnumUnknown_Clone_Stub(
1125 struct IRpcStubBuffer
* This
,
1126 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1127 PRPC_MESSAGE pRpcMessage
,
1128 DWORD
* pdwStubPhase
);
1130 #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
1132 #ifndef __ISurrogate_FWD_DEFINED__
1133 #define __ISurrogate_FWD_DEFINED__
1134 typedef struct ISurrogate ISurrogate
;
1137 typedef ISurrogate
*LPSURROGATE
;
1139 /*****************************************************************************
1140 * ISurrogate interface
1142 #ifndef __ISurrogate_INTERFACE_DEFINED__
1143 #define __ISurrogate_INTERFACE_DEFINED__
1145 DEFINE_GUID(IID_ISurrogate
, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1146 #if defined(__cplusplus) && !defined(CINTERFACE)
1147 struct ISurrogate
: public IUnknown
1149 virtual HRESULT STDMETHODCALLTYPE
LoadDllServer(
1150 REFCLSID Clsid
) = 0;
1152 virtual HRESULT STDMETHODCALLTYPE
FreeSurrogate(
1157 typedef struct ISurrogateVtbl ISurrogateVtbl
;
1159 const ISurrogateVtbl
* lpVtbl
;
1161 struct ISurrogateVtbl
{
1162 ICOM_MSVTABLE_COMPAT_FIELDS
1164 /*** IUnknown methods ***/
1165 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1170 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1173 ULONG (STDMETHODCALLTYPE
*Release
)(
1176 /*** ISurrogate methods ***/
1177 HRESULT (STDMETHODCALLTYPE
*LoadDllServer
)(
1181 HRESULT (STDMETHODCALLTYPE
*FreeSurrogate
)(
1186 /*** IUnknown methods ***/
1187 #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1188 #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p)
1189 #define ISurrogate_Release(p) (p)->lpVtbl->Release(p)
1190 /*** ISurrogate methods ***/
1191 #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a)
1192 #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p)
1196 #define ISurrogate_METHODS \
1197 ICOM_MSVTABLE_COMPAT_FIELDS \
1198 /*** IUnknown methods ***/ \
1199 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1200 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1201 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1202 /*** ISurrogate methods ***/ \
1203 STDMETHOD_(HRESULT,LoadDllServer)(THIS_ REFCLSID Clsid) PURE; \
1204 STDMETHOD_(HRESULT,FreeSurrogate)(THIS) PURE;
1206 HRESULT CALLBACK
ISurrogate_LoadDllServer_Proxy(
1209 void __RPC_STUB
ISurrogate_LoadDllServer_Stub(
1210 struct IRpcStubBuffer
* This
,
1211 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1212 PRPC_MESSAGE pRpcMessage
,
1213 DWORD
* pdwStubPhase
);
1214 HRESULT CALLBACK
ISurrogate_FreeSurrogate_Proxy(
1216 void __RPC_STUB
ISurrogate_FreeSurrogate_Stub(
1217 struct IRpcStubBuffer
* This
,
1218 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1219 PRPC_MESSAGE pRpcMessage
,
1220 DWORD
* pdwStubPhase
);
1222 #endif /* __ISurrogate_INTERFACE_DEFINED__ */
1224 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
1225 #define __IGlobalInterfaceTable_FWD_DEFINED__
1226 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable
;
1229 typedef IGlobalInterfaceTable
*LPGLOBALINTERFACETABLE
;
1231 /*****************************************************************************
1232 * IGlobalInterfaceTable interface
1234 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
1235 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
1237 DEFINE_GUID(IID_IGlobalInterfaceTable
, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1238 #if defined(__cplusplus) && !defined(CINTERFACE)
1239 struct IGlobalInterfaceTable
: public IUnknown
1241 virtual HRESULT STDMETHODCALLTYPE
RegisterInterfaceInGlobal(
1244 DWORD
* pdwCookie
) = 0;
1246 virtual HRESULT STDMETHODCALLTYPE
RevokeInterfaceFromGlobal(
1247 DWORD dwCookie
) = 0;
1249 virtual HRESULT STDMETHODCALLTYPE
GetInterfaceFromGlobal(
1256 typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl
;
1257 struct IGlobalInterfaceTable
{
1258 const IGlobalInterfaceTableVtbl
* lpVtbl
;
1260 struct IGlobalInterfaceTableVtbl
{
1261 ICOM_MSVTABLE_COMPAT_FIELDS
1263 /*** IUnknown methods ***/
1264 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1265 IGlobalInterfaceTable
* This
,
1269 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1270 IGlobalInterfaceTable
* This
);
1272 ULONG (STDMETHODCALLTYPE
*Release
)(
1273 IGlobalInterfaceTable
* This
);
1275 /*** IGlobalInterfaceTable methods ***/
1276 HRESULT (STDMETHODCALLTYPE
*RegisterInterfaceInGlobal
)(
1277 IGlobalInterfaceTable
* This
,
1282 HRESULT (STDMETHODCALLTYPE
*RevokeInterfaceFromGlobal
)(
1283 IGlobalInterfaceTable
* This
,
1286 HRESULT (STDMETHODCALLTYPE
*GetInterfaceFromGlobal
)(
1287 IGlobalInterfaceTable
* This
,
1294 /*** IUnknown methods ***/
1295 #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1296 #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1297 #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p)
1298 /*** IGlobalInterfaceTable methods ***/
1299 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c)
1300 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a)
1301 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c)
1305 #define IGlobalInterfaceTable_METHODS \
1306 ICOM_MSVTABLE_COMPAT_FIELDS \
1307 /*** IUnknown methods ***/ \
1308 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1309 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1310 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1311 /*** IGlobalInterfaceTable methods ***/ \
1312 STDMETHOD_(HRESULT,RegisterInterfaceInGlobal)(THIS_ IUnknown* pUnk, REFIID riid, DWORD* pdwCookie) PURE; \
1313 STDMETHOD_(HRESULT,RevokeInterfaceFromGlobal)(THIS_ DWORD dwCookie) PURE; \
1314 STDMETHOD_(HRESULT,GetInterfaceFromGlobal)(THIS_ DWORD dwCookie, REFIID riid, void** ppv) PURE;
1316 HRESULT CALLBACK
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
1317 IGlobalInterfaceTable
* This
,
1321 void __RPC_STUB
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
1322 struct IRpcStubBuffer
* This
,
1323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1324 PRPC_MESSAGE pRpcMessage
,
1325 DWORD
* pdwStubPhase
);
1326 HRESULT CALLBACK
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
1327 IGlobalInterfaceTable
* This
,
1329 void __RPC_STUB
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
1330 struct IRpcStubBuffer
* This
,
1331 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1332 PRPC_MESSAGE pRpcMessage
,
1333 DWORD
* pdwStubPhase
);
1334 HRESULT CALLBACK
IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
1335 IGlobalInterfaceTable
* This
,
1339 void __RPC_STUB
IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
1340 struct IRpcStubBuffer
* This
,
1341 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1342 PRPC_MESSAGE pRpcMessage
,
1343 DWORD
* pdwStubPhase
);
1345 #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
1347 #ifndef __IBindCtx_FWD_DEFINED__
1348 #define __IBindCtx_FWD_DEFINED__
1349 typedef struct IBindCtx IBindCtx
;
1352 typedef IBindCtx
*LPBINDCTX
;
1354 typedef IBindCtx
*LPBC
;
1356 typedef struct tagBIND_OPTS
{
1360 DWORD dwTickCountDeadline
;
1361 } BIND_OPTS
, *LPBIND_OPTS
;
1363 typedef struct tagBIND_OPTS2
{
1367 DWORD dwTickCountDeadline
;
1369 DWORD dwClassContext
;
1371 COSERVERINFO
*pServerInfo
;
1372 } BIND_OPTS2
, *LPBIND_OPTS2
;
1374 typedef enum tagBIND_FLAGS
{
1375 BIND_MAYBOTHERUSER
= 1,
1376 BIND_JUSTTESTEXISTENCE
= 2
1379 /*****************************************************************************
1380 * IBindCtx interface
1382 #ifndef __IBindCtx_INTERFACE_DEFINED__
1383 #define __IBindCtx_INTERFACE_DEFINED__
1385 DEFINE_GUID(IID_IBindCtx
, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1386 #if defined(__cplusplus) && !defined(CINTERFACE)
1387 struct IBindCtx
: public IUnknown
1389 virtual HRESULT STDMETHODCALLTYPE
RegisterObjectBound(
1390 IUnknown
* punk
) = 0;
1392 virtual HRESULT STDMETHODCALLTYPE
RevokeObjectBound(
1393 IUnknown
* punk
) = 0;
1395 virtual HRESULT STDMETHODCALLTYPE
ReleaseBoundObjects(
1398 virtual HRESULT STDMETHODCALLTYPE
SetBindOptions(
1399 BIND_OPTS
* pbindopts
) = 0;
1401 virtual HRESULT STDMETHODCALLTYPE
GetBindOptions(
1402 BIND_OPTS
* pbindopts
) = 0;
1404 virtual HRESULT STDMETHODCALLTYPE
GetRunningObjectTable(
1405 IRunningObjectTable
** pprot
) = 0;
1407 virtual HRESULT STDMETHODCALLTYPE
RegisterObjectParam(
1409 IUnknown
* punk
) = 0;
1411 virtual HRESULT STDMETHODCALLTYPE
GetObjectParam(
1413 IUnknown
** ppunk
) = 0;
1415 virtual HRESULT STDMETHODCALLTYPE
EnumObjectParam(
1416 IEnumString
** ppenum
) = 0;
1418 virtual HRESULT STDMETHODCALLTYPE
RevokeObjectParam(
1419 LPOLESTR pszKey
) = 0;
1423 typedef struct IBindCtxVtbl IBindCtxVtbl
;
1425 const IBindCtxVtbl
* lpVtbl
;
1427 struct IBindCtxVtbl
{
1428 ICOM_MSVTABLE_COMPAT_FIELDS
1430 /*** IUnknown methods ***/
1431 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1436 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1439 ULONG (STDMETHODCALLTYPE
*Release
)(
1442 /*** IBindCtx methods ***/
1443 HRESULT (STDMETHODCALLTYPE
*RegisterObjectBound
)(
1447 HRESULT (STDMETHODCALLTYPE
*RevokeObjectBound
)(
1451 HRESULT (STDMETHODCALLTYPE
*ReleaseBoundObjects
)(
1454 HRESULT (STDMETHODCALLTYPE
*SetBindOptions
)(
1456 BIND_OPTS
* pbindopts
);
1458 HRESULT (STDMETHODCALLTYPE
*GetBindOptions
)(
1460 BIND_OPTS
* pbindopts
);
1462 HRESULT (STDMETHODCALLTYPE
*GetRunningObjectTable
)(
1464 IRunningObjectTable
** pprot
);
1466 HRESULT (STDMETHODCALLTYPE
*RegisterObjectParam
)(
1471 HRESULT (STDMETHODCALLTYPE
*GetObjectParam
)(
1476 HRESULT (STDMETHODCALLTYPE
*EnumObjectParam
)(
1478 IEnumString
** ppenum
);
1480 HRESULT (STDMETHODCALLTYPE
*RevokeObjectParam
)(
1486 /*** IUnknown methods ***/
1487 #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1488 #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p)
1489 #define IBindCtx_Release(p) (p)->lpVtbl->Release(p)
1490 /*** IBindCtx methods ***/
1491 #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a)
1492 #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a)
1493 #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p)
1494 #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a)
1495 #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a)
1496 #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a)
1497 #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b)
1498 #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b)
1499 #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a)
1500 #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a)
1504 #define IBindCtx_METHODS \
1505 ICOM_MSVTABLE_COMPAT_FIELDS \
1506 /*** IUnknown methods ***/ \
1507 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1508 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1509 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1510 /*** IBindCtx methods ***/ \
1511 STDMETHOD_(HRESULT,RegisterObjectBound)(THIS_ IUnknown* punk) PURE; \
1512 STDMETHOD_(HRESULT,RevokeObjectBound)(THIS_ IUnknown* punk) PURE; \
1513 STDMETHOD_(HRESULT,ReleaseBoundObjects)(THIS) PURE; \
1514 STDMETHOD_(HRESULT,SetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1515 STDMETHOD_(HRESULT,GetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1516 STDMETHOD_(HRESULT,GetRunningObjectTable)(THIS_ IRunningObjectTable** pprot) PURE; \
1517 STDMETHOD_(HRESULT,RegisterObjectParam)(THIS_ LPOLESTR pszKey, IUnknown* punk) PURE; \
1518 STDMETHOD_(HRESULT,GetObjectParam)(THIS_ LPOLESTR pszKey, IUnknown** ppunk) PURE; \
1519 STDMETHOD_(HRESULT,EnumObjectParam)(THIS_ IEnumString** ppenum) PURE; \
1520 STDMETHOD_(HRESULT,RevokeObjectParam)(THIS_ LPOLESTR pszKey) PURE;
1522 HRESULT CALLBACK
IBindCtx_RegisterObjectBound_Proxy(
1525 void __RPC_STUB
IBindCtx_RegisterObjectBound_Stub(
1526 struct IRpcStubBuffer
* This
,
1527 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1528 PRPC_MESSAGE pRpcMessage
,
1529 DWORD
* pdwStubPhase
);
1530 HRESULT CALLBACK
IBindCtx_RevokeObjectBound_Proxy(
1533 void __RPC_STUB
IBindCtx_RevokeObjectBound_Stub(
1534 struct IRpcStubBuffer
* This
,
1535 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1536 PRPC_MESSAGE pRpcMessage
,
1537 DWORD
* pdwStubPhase
);
1538 HRESULT CALLBACK
IBindCtx_ReleaseBoundObjects_Proxy(
1540 void __RPC_STUB
IBindCtx_ReleaseBoundObjects_Stub(
1541 struct IRpcStubBuffer
* This
,
1542 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1543 PRPC_MESSAGE pRpcMessage
,
1544 DWORD
* pdwStubPhase
);
1545 HRESULT CALLBACK
IBindCtx_RemoteSetBindOptions_Proxy(
1547 BIND_OPTS2
* pbindopts
);
1548 void __RPC_STUB
IBindCtx_RemoteSetBindOptions_Stub(
1549 struct IRpcStubBuffer
* This
,
1550 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1551 PRPC_MESSAGE pRpcMessage
,
1552 DWORD
* pdwStubPhase
);
1553 HRESULT CALLBACK
IBindCtx_SetBindOptions_Proxy(
1555 BIND_OPTS
* pbindopts
);
1556 HRESULT __RPC_STUB
IBindCtx_SetBindOptions_Stub(
1558 BIND_OPTS2
* pbindopts
);
1559 HRESULT CALLBACK
IBindCtx_RemoteGetBindOptions_Proxy(
1561 BIND_OPTS2
* pbindopts
);
1562 void __RPC_STUB
IBindCtx_RemoteGetBindOptions_Stub(
1563 struct IRpcStubBuffer
* This
,
1564 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1565 PRPC_MESSAGE pRpcMessage
,
1566 DWORD
* pdwStubPhase
);
1567 HRESULT CALLBACK
IBindCtx_GetBindOptions_Proxy(
1569 BIND_OPTS
* pbindopts
);
1570 HRESULT __RPC_STUB
IBindCtx_GetBindOptions_Stub(
1572 BIND_OPTS2
* pbindopts
);
1573 HRESULT CALLBACK
IBindCtx_GetRunningObjectTable_Proxy(
1575 IRunningObjectTable
** pprot
);
1576 void __RPC_STUB
IBindCtx_GetRunningObjectTable_Stub(
1577 struct IRpcStubBuffer
* This
,
1578 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1579 PRPC_MESSAGE pRpcMessage
,
1580 DWORD
* pdwStubPhase
);
1581 HRESULT CALLBACK
IBindCtx_RegisterObjectParam_Proxy(
1585 void __RPC_STUB
IBindCtx_RegisterObjectParam_Stub(
1586 struct IRpcStubBuffer
* This
,
1587 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1588 PRPC_MESSAGE pRpcMessage
,
1589 DWORD
* pdwStubPhase
);
1590 HRESULT CALLBACK
IBindCtx_GetObjectParam_Proxy(
1594 void __RPC_STUB
IBindCtx_GetObjectParam_Stub(
1595 struct IRpcStubBuffer
* This
,
1596 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1597 PRPC_MESSAGE pRpcMessage
,
1598 DWORD
* pdwStubPhase
);
1599 HRESULT CALLBACK
IBindCtx_EnumObjectParam_Proxy(
1601 IEnumString
** ppenum
);
1602 void __RPC_STUB
IBindCtx_EnumObjectParam_Stub(
1603 struct IRpcStubBuffer
* This
,
1604 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1605 PRPC_MESSAGE pRpcMessage
,
1606 DWORD
* pdwStubPhase
);
1607 HRESULT CALLBACK
IBindCtx_RevokeObjectParam_Proxy(
1610 void __RPC_STUB
IBindCtx_RevokeObjectParam_Stub(
1611 struct IRpcStubBuffer
* This
,
1612 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1613 PRPC_MESSAGE pRpcMessage
,
1614 DWORD
* pdwStubPhase
);
1616 #endif /* __IBindCtx_INTERFACE_DEFINED__ */
1618 #ifndef __IEnumMoniker_FWD_DEFINED__
1619 #define __IEnumMoniker_FWD_DEFINED__
1620 typedef struct IEnumMoniker IEnumMoniker
;
1623 typedef IEnumMoniker
*LPENUMMONIKER
;
1625 /*****************************************************************************
1626 * IEnumMoniker interface
1628 #ifndef __IEnumMoniker_INTERFACE_DEFINED__
1629 #define __IEnumMoniker_INTERFACE_DEFINED__
1631 DEFINE_GUID(IID_IEnumMoniker
, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1632 #if defined(__cplusplus) && !defined(CINTERFACE)
1633 struct IEnumMoniker
: public IUnknown
1635 virtual HRESULT STDMETHODCALLTYPE
Next(
1638 ULONG
* pceltFetched
) = 0;
1640 virtual HRESULT STDMETHODCALLTYPE
Skip(
1643 virtual HRESULT STDMETHODCALLTYPE
Reset(
1646 virtual HRESULT STDMETHODCALLTYPE
Clone(
1647 IEnumMoniker
** ppenum
) = 0;
1651 typedef struct IEnumMonikerVtbl IEnumMonikerVtbl
;
1652 struct IEnumMoniker
{
1653 const IEnumMonikerVtbl
* lpVtbl
;
1655 struct IEnumMonikerVtbl
{
1656 ICOM_MSVTABLE_COMPAT_FIELDS
1658 /*** IUnknown methods ***/
1659 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1664 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1665 IEnumMoniker
* This
);
1667 ULONG (STDMETHODCALLTYPE
*Release
)(
1668 IEnumMoniker
* This
);
1670 /*** IEnumMoniker methods ***/
1671 HRESULT (STDMETHODCALLTYPE
*Next
)(
1675 ULONG
* pceltFetched
);
1677 HRESULT (STDMETHODCALLTYPE
*Skip
)(
1681 HRESULT (STDMETHODCALLTYPE
*Reset
)(
1682 IEnumMoniker
* This
);
1684 HRESULT (STDMETHODCALLTYPE
*Clone
)(
1686 IEnumMoniker
** ppenum
);
1690 /*** IUnknown methods ***/
1691 #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1692 #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1693 #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p)
1694 /*** IEnumMoniker methods ***/
1695 #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1696 #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1697 #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p)
1698 #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1702 #define IEnumMoniker_METHODS \
1703 ICOM_MSVTABLE_COMPAT_FIELDS \
1704 /*** IUnknown methods ***/ \
1705 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1706 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1707 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1708 /*** IEnumMoniker methods ***/ \
1709 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IMoniker** rgelt, ULONG* pceltFetched) PURE; \
1710 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1711 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1712 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMoniker** ppenum) PURE;
1714 HRESULT CALLBACK
IEnumMoniker_RemoteNext_Proxy(
1718 ULONG
* pceltFetched
);
1719 void __RPC_STUB
IEnumMoniker_RemoteNext_Stub(
1720 struct IRpcStubBuffer
* This
,
1721 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1722 PRPC_MESSAGE pRpcMessage
,
1723 DWORD
* pdwStubPhase
);
1724 HRESULT CALLBACK
IEnumMoniker_Next_Proxy(
1728 ULONG
* pceltFetched
);
1729 HRESULT __RPC_STUB
IEnumMoniker_Next_Stub(
1733 ULONG
* pceltFetched
);
1734 HRESULT CALLBACK
IEnumMoniker_Skip_Proxy(
1737 void __RPC_STUB
IEnumMoniker_Skip_Stub(
1738 struct IRpcStubBuffer
* This
,
1739 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1740 PRPC_MESSAGE pRpcMessage
,
1741 DWORD
* pdwStubPhase
);
1742 HRESULT CALLBACK
IEnumMoniker_Reset_Proxy(
1743 IEnumMoniker
* This
);
1744 void __RPC_STUB
IEnumMoniker_Reset_Stub(
1745 struct IRpcStubBuffer
* This
,
1746 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1747 PRPC_MESSAGE pRpcMessage
,
1748 DWORD
* pdwStubPhase
);
1749 HRESULT CALLBACK
IEnumMoniker_Clone_Proxy(
1751 IEnumMoniker
** ppenum
);
1752 void __RPC_STUB
IEnumMoniker_Clone_Stub(
1753 struct IRpcStubBuffer
* This
,
1754 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1755 PRPC_MESSAGE pRpcMessage
,
1756 DWORD
* pdwStubPhase
);
1758 #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */
1760 #ifndef __IRunnableObject_FWD_DEFINED__
1761 #define __IRunnableObject_FWD_DEFINED__
1762 typedef struct IRunnableObject IRunnableObject
;
1765 typedef IRunnableObject
*LPRUNNABLEOBJECT
;
1767 /*****************************************************************************
1768 * IRunnableObject interface
1770 #ifndef __IRunnableObject_INTERFACE_DEFINED__
1771 #define __IRunnableObject_INTERFACE_DEFINED__
1773 DEFINE_GUID(IID_IRunnableObject
, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1774 #if defined(__cplusplus) && !defined(CINTERFACE)
1775 struct IRunnableObject
: public IUnknown
1777 virtual HRESULT STDMETHODCALLTYPE
GetRunningClass(
1778 LPCLSID lpClsid
) = 0;
1780 virtual HRESULT STDMETHODCALLTYPE
Run(
1783 virtual BOOL STDMETHODCALLTYPE
IsRunning(
1786 virtual HRESULT STDMETHODCALLTYPE
LockRunning(
1788 BOOL fLastUnlockCloses
) = 0;
1790 virtual HRESULT STDMETHODCALLTYPE
SetContainedObject(
1791 BOOL fContained
) = 0;
1795 typedef struct IRunnableObjectVtbl IRunnableObjectVtbl
;
1796 struct IRunnableObject
{
1797 const IRunnableObjectVtbl
* lpVtbl
;
1799 struct IRunnableObjectVtbl
{
1800 ICOM_MSVTABLE_COMPAT_FIELDS
1802 /*** IUnknown methods ***/
1803 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1804 IRunnableObject
* This
,
1808 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1809 IRunnableObject
* This
);
1811 ULONG (STDMETHODCALLTYPE
*Release
)(
1812 IRunnableObject
* This
);
1814 /*** IRunnableObject methods ***/
1815 HRESULT (STDMETHODCALLTYPE
*GetRunningClass
)(
1816 IRunnableObject
* This
,
1819 HRESULT (STDMETHODCALLTYPE
*Run
)(
1820 IRunnableObject
* This
,
1823 BOOL (STDMETHODCALLTYPE
*IsRunning
)(
1824 IRunnableObject
* This
);
1826 HRESULT (STDMETHODCALLTYPE
*LockRunning
)(
1827 IRunnableObject
* This
,
1829 BOOL fLastUnlockCloses
);
1831 HRESULT (STDMETHODCALLTYPE
*SetContainedObject
)(
1832 IRunnableObject
* This
,
1837 /*** IUnknown methods ***/
1838 #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1839 #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p)
1840 #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p)
1841 /*** IRunnableObject methods ***/
1842 #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a)
1843 #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a)
1844 #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p)
1845 #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b)
1846 #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a)
1850 #define IRunnableObject_METHODS \
1851 ICOM_MSVTABLE_COMPAT_FIELDS \
1852 /*** IUnknown methods ***/ \
1853 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1854 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1855 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1856 /*** IRunnableObject methods ***/ \
1857 STDMETHOD_(HRESULT,GetRunningClass)(THIS_ LPCLSID lpClsid) PURE; \
1858 STDMETHOD_(HRESULT,Run)(THIS_ LPBINDCTX pbc) PURE; \
1859 STDMETHOD_(BOOL,IsRunning)(THIS) PURE; \
1860 STDMETHOD_(HRESULT,LockRunning)(THIS_ BOOL fLock, BOOL fLastUnlockCloses) PURE; \
1861 STDMETHOD_(HRESULT,SetContainedObject)(THIS_ BOOL fContained) PURE;
1863 HRESULT CALLBACK
IRunnableObject_GetRunningClass_Proxy(
1864 IRunnableObject
* This
,
1866 void __RPC_STUB
IRunnableObject_GetRunningClass_Stub(
1867 struct IRpcStubBuffer
* This
,
1868 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1869 PRPC_MESSAGE pRpcMessage
,
1870 DWORD
* pdwStubPhase
);
1871 HRESULT CALLBACK
IRunnableObject_Run_Proxy(
1872 IRunnableObject
* This
,
1874 void __RPC_STUB
IRunnableObject_Run_Stub(
1875 struct IRpcStubBuffer
* This
,
1876 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1877 PRPC_MESSAGE pRpcMessage
,
1878 DWORD
* pdwStubPhase
);
1879 HRESULT CALLBACK
IRunnableObject_RemoteIsRunning_Proxy(
1880 IRunnableObject
* This
);
1881 void __RPC_STUB
IRunnableObject_RemoteIsRunning_Stub(
1882 struct IRpcStubBuffer
* This
,
1883 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1884 PRPC_MESSAGE pRpcMessage
,
1885 DWORD
* pdwStubPhase
);
1886 BOOL CALLBACK
IRunnableObject_IsRunning_Proxy(
1887 IRunnableObject
* This
);
1888 HRESULT __RPC_STUB
IRunnableObject_IsRunning_Stub(
1889 IRunnableObject
* This
);
1890 HRESULT CALLBACK
IRunnableObject_LockRunning_Proxy(
1891 IRunnableObject
* This
,
1893 BOOL fLastUnlockCloses
);
1894 void __RPC_STUB
IRunnableObject_LockRunning_Stub(
1895 struct IRpcStubBuffer
* This
,
1896 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1897 PRPC_MESSAGE pRpcMessage
,
1898 DWORD
* pdwStubPhase
);
1899 HRESULT CALLBACK
IRunnableObject_SetContainedObject_Proxy(
1900 IRunnableObject
* This
,
1902 void __RPC_STUB
IRunnableObject_SetContainedObject_Stub(
1903 struct IRpcStubBuffer
* This
,
1904 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1905 PRPC_MESSAGE pRpcMessage
,
1906 DWORD
* pdwStubPhase
);
1908 #endif /* __IRunnableObject_INTERFACE_DEFINED__ */
1913 typedef IRunningObjectTable
*LPRUNNINGOBJECTTABLE
;
1915 /*****************************************************************************
1916 * IRunningObjectTable interface
1918 #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
1919 #define __IRunningObjectTable_INTERFACE_DEFINED__
1921 DEFINE_GUID(IID_IRunningObjectTable
, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1922 #if defined(__cplusplus) && !defined(CINTERFACE)
1923 struct IRunningObjectTable
: public IUnknown
1925 virtual HRESULT STDMETHODCALLTYPE
Register(
1927 IUnknown
* punkObject
,
1928 IMoniker
* pmkObjectName
,
1929 DWORD
* pdwRegister
) = 0;
1931 virtual HRESULT STDMETHODCALLTYPE
Revoke(
1932 DWORD dwRegister
) = 0;
1934 virtual HRESULT STDMETHODCALLTYPE
IsRunning(
1935 IMoniker
* pmkObjectName
) = 0;
1937 virtual HRESULT STDMETHODCALLTYPE
GetObject(
1938 IMoniker
* pmkObjectName
,
1939 IUnknown
** ppunkObject
) = 0;
1941 virtual HRESULT STDMETHODCALLTYPE
NoteChangeTime(
1943 FILETIME
* pfiletime
) = 0;
1945 virtual HRESULT STDMETHODCALLTYPE
GetTimeOfLastChange(
1946 IMoniker
* pmkObjectName
,
1947 FILETIME
* pfiletime
) = 0;
1949 virtual HRESULT STDMETHODCALLTYPE
EnumRunning(
1950 IEnumMoniker
** ppenumMoniker
) = 0;
1954 typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl
;
1955 struct IRunningObjectTable
{
1956 const IRunningObjectTableVtbl
* lpVtbl
;
1958 struct IRunningObjectTableVtbl
{
1959 ICOM_MSVTABLE_COMPAT_FIELDS
1961 /*** IUnknown methods ***/
1962 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1963 IRunningObjectTable
* This
,
1967 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1968 IRunningObjectTable
* This
);
1970 ULONG (STDMETHODCALLTYPE
*Release
)(
1971 IRunningObjectTable
* This
);
1973 /*** IRunningObjectTable methods ***/
1974 HRESULT (STDMETHODCALLTYPE
*Register
)(
1975 IRunningObjectTable
* This
,
1977 IUnknown
* punkObject
,
1978 IMoniker
* pmkObjectName
,
1979 DWORD
* pdwRegister
);
1981 HRESULT (STDMETHODCALLTYPE
*Revoke
)(
1982 IRunningObjectTable
* This
,
1985 HRESULT (STDMETHODCALLTYPE
*IsRunning
)(
1986 IRunningObjectTable
* This
,
1987 IMoniker
* pmkObjectName
);
1989 HRESULT (STDMETHODCALLTYPE
*GetObject
)(
1990 IRunningObjectTable
* This
,
1991 IMoniker
* pmkObjectName
,
1992 IUnknown
** ppunkObject
);
1994 HRESULT (STDMETHODCALLTYPE
*NoteChangeTime
)(
1995 IRunningObjectTable
* This
,
1997 FILETIME
* pfiletime
);
1999 HRESULT (STDMETHODCALLTYPE
*GetTimeOfLastChange
)(
2000 IRunningObjectTable
* This
,
2001 IMoniker
* pmkObjectName
,
2002 FILETIME
* pfiletime
);
2004 HRESULT (STDMETHODCALLTYPE
*EnumRunning
)(
2005 IRunningObjectTable
* This
,
2006 IEnumMoniker
** ppenumMoniker
);
2010 /*** IUnknown methods ***/
2011 #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2012 #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p)
2013 #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p)
2014 /*** IRunningObjectTable methods ***/
2015 #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d)
2016 #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a)
2017 #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
2018 #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
2019 #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b)
2020 #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b)
2021 #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a)
2025 #define IRunningObjectTable_METHODS \
2026 ICOM_MSVTABLE_COMPAT_FIELDS \
2027 /*** IUnknown methods ***/ \
2028 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2029 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2030 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2031 /*** IRunningObjectTable methods ***/ \
2032 STDMETHOD_(HRESULT,Register)(THIS_ DWORD grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, DWORD* pdwRegister) PURE; \
2033 STDMETHOD_(HRESULT,Revoke)(THIS_ DWORD dwRegister) PURE; \
2034 STDMETHOD_(HRESULT,IsRunning)(THIS_ IMoniker* pmkObjectName) PURE; \
2035 STDMETHOD_(HRESULT,GetObject)(THIS_ IMoniker* pmkObjectName, IUnknown** ppunkObject) PURE; \
2036 STDMETHOD_(HRESULT,NoteChangeTime)(THIS_ DWORD dwRegister, FILETIME* pfiletime) PURE; \
2037 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IMoniker* pmkObjectName, FILETIME* pfiletime) PURE; \
2038 STDMETHOD_(HRESULT,EnumRunning)(THIS_ IEnumMoniker** ppenumMoniker) PURE;
2040 HRESULT CALLBACK
IRunningObjectTable_Register_Proxy(
2041 IRunningObjectTable
* This
,
2043 IUnknown
* punkObject
,
2044 IMoniker
* pmkObjectName
,
2045 DWORD
* pdwRegister
);
2046 void __RPC_STUB
IRunningObjectTable_Register_Stub(
2047 struct IRpcStubBuffer
* This
,
2048 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2049 PRPC_MESSAGE pRpcMessage
,
2050 DWORD
* pdwStubPhase
);
2051 HRESULT CALLBACK
IRunningObjectTable_Revoke_Proxy(
2052 IRunningObjectTable
* This
,
2054 void __RPC_STUB
IRunningObjectTable_Revoke_Stub(
2055 struct IRpcStubBuffer
* This
,
2056 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2057 PRPC_MESSAGE pRpcMessage
,
2058 DWORD
* pdwStubPhase
);
2059 HRESULT CALLBACK
IRunningObjectTable_IsRunning_Proxy(
2060 IRunningObjectTable
* This
,
2061 IMoniker
* pmkObjectName
);
2062 void __RPC_STUB
IRunningObjectTable_IsRunning_Stub(
2063 struct IRpcStubBuffer
* This
,
2064 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2065 PRPC_MESSAGE pRpcMessage
,
2066 DWORD
* pdwStubPhase
);
2067 HRESULT CALLBACK
IRunningObjectTable_GetObject_Proxy(
2068 IRunningObjectTable
* This
,
2069 IMoniker
* pmkObjectName
,
2070 IUnknown
** ppunkObject
);
2071 void __RPC_STUB
IRunningObjectTable_GetObject_Stub(
2072 struct IRpcStubBuffer
* This
,
2073 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2074 PRPC_MESSAGE pRpcMessage
,
2075 DWORD
* pdwStubPhase
);
2076 HRESULT CALLBACK
IRunningObjectTable_NoteChangeTime_Proxy(
2077 IRunningObjectTable
* This
,
2079 FILETIME
* pfiletime
);
2080 void __RPC_STUB
IRunningObjectTable_NoteChangeTime_Stub(
2081 struct IRpcStubBuffer
* This
,
2082 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2083 PRPC_MESSAGE pRpcMessage
,
2084 DWORD
* pdwStubPhase
);
2085 HRESULT CALLBACK
IRunningObjectTable_GetTimeOfLastChange_Proxy(
2086 IRunningObjectTable
* This
,
2087 IMoniker
* pmkObjectName
,
2088 FILETIME
* pfiletime
);
2089 void __RPC_STUB
IRunningObjectTable_GetTimeOfLastChange_Stub(
2090 struct IRpcStubBuffer
* This
,
2091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2092 PRPC_MESSAGE pRpcMessage
,
2093 DWORD
* pdwStubPhase
);
2094 HRESULT CALLBACK
IRunningObjectTable_EnumRunning_Proxy(
2095 IRunningObjectTable
* This
,
2096 IEnumMoniker
** ppenumMoniker
);
2097 void __RPC_STUB
IRunningObjectTable_EnumRunning_Stub(
2098 struct IRpcStubBuffer
* This
,
2099 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2100 PRPC_MESSAGE pRpcMessage
,
2101 DWORD
* pdwStubPhase
);
2103 #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */
2105 #ifndef __IPersist_FWD_DEFINED__
2106 #define __IPersist_FWD_DEFINED__
2107 typedef struct IPersist IPersist
;
2110 typedef IPersist
*LPPERSIST
;
2112 /*****************************************************************************
2113 * IPersist interface
2115 #ifndef __IPersist_INTERFACE_DEFINED__
2116 #define __IPersist_INTERFACE_DEFINED__
2118 DEFINE_GUID(IID_IPersist
, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2119 #if defined(__cplusplus) && !defined(CINTERFACE)
2120 struct IPersist
: public IUnknown
2122 virtual HRESULT STDMETHODCALLTYPE
GetClassID(
2123 CLSID
* pClassID
) = 0;
2127 typedef struct IPersistVtbl IPersistVtbl
;
2129 const IPersistVtbl
* lpVtbl
;
2131 struct IPersistVtbl
{
2132 ICOM_MSVTABLE_COMPAT_FIELDS
2134 /*** IUnknown methods ***/
2135 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2140 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2143 ULONG (STDMETHODCALLTYPE
*Release
)(
2146 /*** IPersist methods ***/
2147 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2153 /*** IUnknown methods ***/
2154 #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2155 #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p)
2156 #define IPersist_Release(p) (p)->lpVtbl->Release(p)
2157 /*** IPersist methods ***/
2158 #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2162 #define IPersist_METHODS \
2163 ICOM_MSVTABLE_COMPAT_FIELDS \
2164 /*** IUnknown methods ***/ \
2165 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2166 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2167 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2168 /*** IPersist methods ***/ \
2169 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE;
2171 HRESULT CALLBACK
IPersist_GetClassID_Proxy(
2174 void __RPC_STUB
IPersist_GetClassID_Stub(
2175 struct IRpcStubBuffer
* This
,
2176 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2177 PRPC_MESSAGE pRpcMessage
,
2178 DWORD
* pdwStubPhase
);
2180 #endif /* __IPersist_INTERFACE_DEFINED__ */
2182 #ifndef __IPersistStream_FWD_DEFINED__
2183 #define __IPersistStream_FWD_DEFINED__
2184 typedef struct IPersistStream IPersistStream
;
2187 typedef IPersistStream
*LPPERSISTSTREAM
;
2189 /*****************************************************************************
2190 * IPersistStream interface
2192 #ifndef __IPersistStream_INTERFACE_DEFINED__
2193 #define __IPersistStream_INTERFACE_DEFINED__
2195 DEFINE_GUID(IID_IPersistStream
, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2196 #if defined(__cplusplus) && !defined(CINTERFACE)
2197 struct IPersistStream
: public IPersist
2199 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
2202 virtual HRESULT STDMETHODCALLTYPE
Load(
2205 virtual HRESULT STDMETHODCALLTYPE
Save(
2207 BOOL fClearDirty
) = 0;
2209 virtual HRESULT STDMETHODCALLTYPE
GetSizeMax(
2210 ULARGE_INTEGER
* pcbSize
) = 0;
2214 typedef struct IPersistStreamVtbl IPersistStreamVtbl
;
2215 struct IPersistStream
{
2216 const IPersistStreamVtbl
* lpVtbl
;
2218 struct IPersistStreamVtbl
{
2219 ICOM_MSVTABLE_COMPAT_FIELDS
2221 /*** IUnknown methods ***/
2222 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2223 IPersistStream
* This
,
2227 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2228 IPersistStream
* This
);
2230 ULONG (STDMETHODCALLTYPE
*Release
)(
2231 IPersistStream
* This
);
2233 /*** IPersist methods ***/
2234 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2235 IPersistStream
* This
,
2238 /*** IPersistStream methods ***/
2239 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
2240 IPersistStream
* This
);
2242 HRESULT (STDMETHODCALLTYPE
*Load
)(
2243 IPersistStream
* This
,
2246 HRESULT (STDMETHODCALLTYPE
*Save
)(
2247 IPersistStream
* This
,
2251 HRESULT (STDMETHODCALLTYPE
*GetSizeMax
)(
2252 IPersistStream
* This
,
2253 ULARGE_INTEGER
* pcbSize
);
2257 /*** IUnknown methods ***/
2258 #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2259 #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2260 #define IPersistStream_Release(p) (p)->lpVtbl->Release(p)
2261 /*** IPersist methods ***/
2262 #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2263 /*** IPersistStream methods ***/
2264 #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2265 #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a)
2266 #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2267 #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2271 #define IPersistStream_METHODS \
2272 ICOM_MSVTABLE_COMPAT_FIELDS \
2273 /*** IUnknown methods ***/ \
2274 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2275 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2276 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2277 /*** IPersist methods ***/ \
2278 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2279 /*** IPersistStream methods ***/ \
2280 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2281 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2282 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2283 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE;
2285 HRESULT CALLBACK
IPersistStream_IsDirty_Proxy(
2286 IPersistStream
* This
);
2287 void __RPC_STUB
IPersistStream_IsDirty_Stub(
2288 struct IRpcStubBuffer
* This
,
2289 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2290 PRPC_MESSAGE pRpcMessage
,
2291 DWORD
* pdwStubPhase
);
2292 HRESULT CALLBACK
IPersistStream_Load_Proxy(
2293 IPersistStream
* This
,
2295 void __RPC_STUB
IPersistStream_Load_Stub(
2296 struct IRpcStubBuffer
* This
,
2297 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2298 PRPC_MESSAGE pRpcMessage
,
2299 DWORD
* pdwStubPhase
);
2300 HRESULT CALLBACK
IPersistStream_Save_Proxy(
2301 IPersistStream
* This
,
2304 void __RPC_STUB
IPersistStream_Save_Stub(
2305 struct IRpcStubBuffer
* This
,
2306 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2307 PRPC_MESSAGE pRpcMessage
,
2308 DWORD
* pdwStubPhase
);
2309 HRESULT CALLBACK
IPersistStream_GetSizeMax_Proxy(
2310 IPersistStream
* This
,
2311 ULARGE_INTEGER
* pcbSize
);
2312 void __RPC_STUB
IPersistStream_GetSizeMax_Stub(
2313 struct IRpcStubBuffer
* This
,
2314 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2315 PRPC_MESSAGE pRpcMessage
,
2316 DWORD
* pdwStubPhase
);
2318 #endif /* __IPersistStream_INTERFACE_DEFINED__ */
2320 typedef IMoniker
*LPMONIKER
;
2322 typedef enum tagMKSYS
{
2324 MKSYS_GENERICCOMPOSITE
= 1,
2325 MKSYS_FILEMONIKER
= 2,
2326 MKSYS_ANTIMONIKER
= 3,
2327 MKSYS_ITEMMONIKER
= 4,
2328 MKSYS_POINTERMONIKER
= 5,
2329 MKSYS_CLASSMONIKER
= 7
2332 typedef enum tagMKREDUCE
{
2333 MKRREDUCE_ONE
= 3 << 16,
2334 MKRREDUCE_TOUSER
= 2 << 16,
2335 MKRREDUCE_THROUGHUSER
= 1 << 16,
2339 /*****************************************************************************
2340 * IMoniker interface
2342 #ifndef __IMoniker_INTERFACE_DEFINED__
2343 #define __IMoniker_INTERFACE_DEFINED__
2345 DEFINE_GUID(IID_IMoniker
, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2346 #if defined(__cplusplus) && !defined(CINTERFACE)
2347 struct IMoniker
: public IPersistStream
2349 virtual HRESULT STDMETHODCALLTYPE
BindToObject(
2351 IMoniker
* pmkToLeft
,
2353 void** ppvResult
) = 0;
2355 virtual HRESULT STDMETHODCALLTYPE
BindToStorage(
2357 IMoniker
* pmkToLeft
,
2361 virtual HRESULT STDMETHODCALLTYPE
Reduce(
2363 DWORD dwReduceHowFar
,
2364 IMoniker
** ppmkToLeft
,
2365 IMoniker
** ppmkReduced
) = 0;
2367 virtual HRESULT STDMETHODCALLTYPE
ComposeWith(
2369 BOOL fOnlyIfNotGeneric
,
2370 IMoniker
** ppmkComposite
) = 0;
2372 virtual HRESULT STDMETHODCALLTYPE
Enum(
2374 IEnumMoniker
** ppenumMoniker
) = 0;
2376 virtual HRESULT STDMETHODCALLTYPE
IsEqual(
2377 IMoniker
* pmkOtherMoniker
) = 0;
2379 virtual HRESULT STDMETHODCALLTYPE
Hash(
2380 DWORD
* pdwHash
) = 0;
2382 virtual HRESULT STDMETHODCALLTYPE
IsRunning(
2384 IMoniker
* pmkToLeft
,
2385 IMoniker
* pmkNewlyRunning
) = 0;
2387 virtual HRESULT STDMETHODCALLTYPE
GetTimeOfLastChange(
2389 IMoniker
* pmkToLeft
,
2390 FILETIME
* pFileTime
) = 0;
2392 virtual HRESULT STDMETHODCALLTYPE
Inverse(
2393 IMoniker
** ppmk
) = 0;
2395 virtual HRESULT STDMETHODCALLTYPE
CommonPrefixWith(
2397 IMoniker
** ppmkPrefix
) = 0;
2399 virtual HRESULT STDMETHODCALLTYPE
RelativePathTo(
2401 IMoniker
** ppmkRelPath
) = 0;
2403 virtual HRESULT STDMETHODCALLTYPE
GetDisplayName(
2405 IMoniker
* pmkToLeft
,
2406 LPOLESTR
* ppszDisplayName
) = 0;
2408 virtual HRESULT STDMETHODCALLTYPE
ParseDisplayName(
2410 IMoniker
* pmkToLeft
,
2411 LPOLESTR pszDisplayName
,
2413 IMoniker
** ppmkOut
) = 0;
2415 virtual HRESULT STDMETHODCALLTYPE
IsSystemMoniker(
2416 DWORD
* pdwMksys
) = 0;
2420 typedef struct IMonikerVtbl IMonikerVtbl
;
2422 const IMonikerVtbl
* lpVtbl
;
2424 struct IMonikerVtbl
{
2425 ICOM_MSVTABLE_COMPAT_FIELDS
2427 /*** IUnknown methods ***/
2428 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2433 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2436 ULONG (STDMETHODCALLTYPE
*Release
)(
2439 /*** IPersist methods ***/
2440 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2444 /*** IPersistStream methods ***/
2445 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
2448 HRESULT (STDMETHODCALLTYPE
*Load
)(
2452 HRESULT (STDMETHODCALLTYPE
*Save
)(
2457 HRESULT (STDMETHODCALLTYPE
*GetSizeMax
)(
2459 ULARGE_INTEGER
* pcbSize
);
2461 /*** IMoniker methods ***/
2462 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
2465 IMoniker
* pmkToLeft
,
2469 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
2472 IMoniker
* pmkToLeft
,
2476 HRESULT (STDMETHODCALLTYPE
*Reduce
)(
2479 DWORD dwReduceHowFar
,
2480 IMoniker
** ppmkToLeft
,
2481 IMoniker
** ppmkReduced
);
2483 HRESULT (STDMETHODCALLTYPE
*ComposeWith
)(
2486 BOOL fOnlyIfNotGeneric
,
2487 IMoniker
** ppmkComposite
);
2489 HRESULT (STDMETHODCALLTYPE
*Enum
)(
2492 IEnumMoniker
** ppenumMoniker
);
2494 HRESULT (STDMETHODCALLTYPE
*IsEqual
)(
2496 IMoniker
* pmkOtherMoniker
);
2498 HRESULT (STDMETHODCALLTYPE
*Hash
)(
2502 HRESULT (STDMETHODCALLTYPE
*IsRunning
)(
2505 IMoniker
* pmkToLeft
,
2506 IMoniker
* pmkNewlyRunning
);
2508 HRESULT (STDMETHODCALLTYPE
*GetTimeOfLastChange
)(
2511 IMoniker
* pmkToLeft
,
2512 FILETIME
* pFileTime
);
2514 HRESULT (STDMETHODCALLTYPE
*Inverse
)(
2518 HRESULT (STDMETHODCALLTYPE
*CommonPrefixWith
)(
2521 IMoniker
** ppmkPrefix
);
2523 HRESULT (STDMETHODCALLTYPE
*RelativePathTo
)(
2526 IMoniker
** ppmkRelPath
);
2528 HRESULT (STDMETHODCALLTYPE
*GetDisplayName
)(
2531 IMoniker
* pmkToLeft
,
2532 LPOLESTR
* ppszDisplayName
);
2534 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
2537 IMoniker
* pmkToLeft
,
2538 LPOLESTR pszDisplayName
,
2540 IMoniker
** ppmkOut
);
2542 HRESULT (STDMETHODCALLTYPE
*IsSystemMoniker
)(
2548 /*** IUnknown methods ***/
2549 #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2550 #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
2551 #define IMoniker_Release(p) (p)->lpVtbl->Release(p)
2552 /*** IPersist methods ***/
2553 #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2554 /*** IPersistStream methods ***/
2555 #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2556 #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a)
2557 #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2558 #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2559 /*** IMoniker methods ***/
2560 #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
2561 #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
2562 #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d)
2563 #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c)
2564 #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b)
2565 #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
2566 #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a)
2567 #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c)
2568 #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c)
2569 #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a)
2570 #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b)
2571 #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b)
2572 #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c)
2573 #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e)
2574 #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a)
2578 #define IMoniker_METHODS \
2579 ICOM_MSVTABLE_COMPAT_FIELDS \
2580 /*** IUnknown methods ***/ \
2581 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2582 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2583 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2584 /*** IPersist methods ***/ \
2585 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2586 /*** IPersistStream methods ***/ \
2587 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2588 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2589 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2590 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; \
2591 /*** IMoniker methods ***/ \
2592 STDMETHOD_(HRESULT,BindToObject)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riidResult, void** ppvResult) PURE; \
2593 STDMETHOD_(HRESULT,BindToStorage)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riid, void** ppvObj) PURE; \
2594 STDMETHOD_(HRESULT,Reduce)(THIS_ IBindCtx* pbc, DWORD dwReduceHowFar, IMoniker** ppmkToLeft, IMoniker** ppmkReduced) PURE; \
2595 STDMETHOD_(HRESULT,ComposeWith)(THIS_ IMoniker* pmkRight, BOOL fOnlyIfNotGeneric, IMoniker** ppmkComposite) PURE; \
2596 STDMETHOD_(HRESULT,Enum)(THIS_ BOOL fForward, IEnumMoniker** ppenumMoniker) PURE; \
2597 STDMETHOD_(HRESULT,IsEqual)(THIS_ IMoniker* pmkOtherMoniker) PURE; \
2598 STDMETHOD_(HRESULT,Hash)(THIS_ DWORD* pdwHash) PURE; \
2599 STDMETHOD_(HRESULT,IsRunning)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, IMoniker* pmkNewlyRunning) PURE; \
2600 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, FILETIME* pFileTime) PURE; \
2601 STDMETHOD_(HRESULT,Inverse)(THIS_ IMoniker** ppmk) PURE; \
2602 STDMETHOD_(HRESULT,CommonPrefixWith)(THIS_ IMoniker* pmkOther, IMoniker** ppmkPrefix) PURE; \
2603 STDMETHOD_(HRESULT,RelativePathTo)(THIS_ IMoniker* pmkOther, IMoniker** ppmkRelPath) PURE; \
2604 STDMETHOD_(HRESULT,GetDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR* ppszDisplayName) PURE; \
2605 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
2606 STDMETHOD_(HRESULT,IsSystemMoniker)(THIS_ DWORD* pdwMksys) PURE;
2608 HRESULT CALLBACK
IMoniker_RemoteBindToObject_Proxy(
2611 IMoniker
* pmkToLeft
,
2613 IUnknown
** ppvResult
);
2614 void __RPC_STUB
IMoniker_RemoteBindToObject_Stub(
2615 struct IRpcStubBuffer
* This
,
2616 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2617 PRPC_MESSAGE pRpcMessage
,
2618 DWORD
* pdwStubPhase
);
2619 HRESULT CALLBACK
IMoniker_BindToObject_Proxy(
2622 IMoniker
* pmkToLeft
,
2625 HRESULT __RPC_STUB
IMoniker_BindToObject_Stub(
2628 IMoniker
* pmkToLeft
,
2630 IUnknown
** ppvResult
);
2631 HRESULT CALLBACK
IMoniker_RemoteBindToStorage_Proxy(
2634 IMoniker
* pmkToLeft
,
2637 void __RPC_STUB
IMoniker_RemoteBindToStorage_Stub(
2638 struct IRpcStubBuffer
* This
,
2639 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2640 PRPC_MESSAGE pRpcMessage
,
2641 DWORD
* pdwStubPhase
);
2642 HRESULT CALLBACK
IMoniker_BindToStorage_Proxy(
2645 IMoniker
* pmkToLeft
,
2648 HRESULT __RPC_STUB
IMoniker_BindToStorage_Stub(
2651 IMoniker
* pmkToLeft
,
2654 HRESULT CALLBACK
IMoniker_Reduce_Proxy(
2657 DWORD dwReduceHowFar
,
2658 IMoniker
** ppmkToLeft
,
2659 IMoniker
** ppmkReduced
);
2660 void __RPC_STUB
IMoniker_Reduce_Stub(
2661 struct IRpcStubBuffer
* This
,
2662 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2663 PRPC_MESSAGE pRpcMessage
,
2664 DWORD
* pdwStubPhase
);
2665 HRESULT CALLBACK
IMoniker_ComposeWith_Proxy(
2668 BOOL fOnlyIfNotGeneric
,
2669 IMoniker
** ppmkComposite
);
2670 void __RPC_STUB
IMoniker_ComposeWith_Stub(
2671 struct IRpcStubBuffer
* This
,
2672 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2673 PRPC_MESSAGE pRpcMessage
,
2674 DWORD
* pdwStubPhase
);
2675 HRESULT CALLBACK
IMoniker_Enum_Proxy(
2678 IEnumMoniker
** ppenumMoniker
);
2679 void __RPC_STUB
IMoniker_Enum_Stub(
2680 struct IRpcStubBuffer
* This
,
2681 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2682 PRPC_MESSAGE pRpcMessage
,
2683 DWORD
* pdwStubPhase
);
2684 HRESULT CALLBACK
IMoniker_IsEqual_Proxy(
2686 IMoniker
* pmkOtherMoniker
);
2687 void __RPC_STUB
IMoniker_IsEqual_Stub(
2688 struct IRpcStubBuffer
* This
,
2689 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2690 PRPC_MESSAGE pRpcMessage
,
2691 DWORD
* pdwStubPhase
);
2692 HRESULT CALLBACK
IMoniker_Hash_Proxy(
2695 void __RPC_STUB
IMoniker_Hash_Stub(
2696 struct IRpcStubBuffer
* This
,
2697 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2698 PRPC_MESSAGE pRpcMessage
,
2699 DWORD
* pdwStubPhase
);
2700 HRESULT CALLBACK
IMoniker_IsRunning_Proxy(
2703 IMoniker
* pmkToLeft
,
2704 IMoniker
* pmkNewlyRunning
);
2705 void __RPC_STUB
IMoniker_IsRunning_Stub(
2706 struct IRpcStubBuffer
* This
,
2707 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2708 PRPC_MESSAGE pRpcMessage
,
2709 DWORD
* pdwStubPhase
);
2710 HRESULT CALLBACK
IMoniker_GetTimeOfLastChange_Proxy(
2713 IMoniker
* pmkToLeft
,
2714 FILETIME
* pFileTime
);
2715 void __RPC_STUB
IMoniker_GetTimeOfLastChange_Stub(
2716 struct IRpcStubBuffer
* This
,
2717 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2718 PRPC_MESSAGE pRpcMessage
,
2719 DWORD
* pdwStubPhase
);
2720 HRESULT CALLBACK
IMoniker_Inverse_Proxy(
2723 void __RPC_STUB
IMoniker_Inverse_Stub(
2724 struct IRpcStubBuffer
* This
,
2725 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2726 PRPC_MESSAGE pRpcMessage
,
2727 DWORD
* pdwStubPhase
);
2728 HRESULT CALLBACK
IMoniker_CommonPrefixWith_Proxy(
2731 IMoniker
** ppmkPrefix
);
2732 void __RPC_STUB
IMoniker_CommonPrefixWith_Stub(
2733 struct IRpcStubBuffer
* This
,
2734 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2735 PRPC_MESSAGE pRpcMessage
,
2736 DWORD
* pdwStubPhase
);
2737 HRESULT CALLBACK
IMoniker_RelativePathTo_Proxy(
2740 IMoniker
** ppmkRelPath
);
2741 void __RPC_STUB
IMoniker_RelativePathTo_Stub(
2742 struct IRpcStubBuffer
* This
,
2743 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2744 PRPC_MESSAGE pRpcMessage
,
2745 DWORD
* pdwStubPhase
);
2746 HRESULT CALLBACK
IMoniker_GetDisplayName_Proxy(
2749 IMoniker
* pmkToLeft
,
2750 LPOLESTR
* ppszDisplayName
);
2751 void __RPC_STUB
IMoniker_GetDisplayName_Stub(
2752 struct IRpcStubBuffer
* This
,
2753 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2754 PRPC_MESSAGE pRpcMessage
,
2755 DWORD
* pdwStubPhase
);
2756 HRESULT CALLBACK
IMoniker_ParseDisplayName_Proxy(
2759 IMoniker
* pmkToLeft
,
2760 LPOLESTR pszDisplayName
,
2762 IMoniker
** ppmkOut
);
2763 void __RPC_STUB
IMoniker_ParseDisplayName_Stub(
2764 struct IRpcStubBuffer
* This
,
2765 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2766 PRPC_MESSAGE pRpcMessage
,
2767 DWORD
* pdwStubPhase
);
2768 HRESULT CALLBACK
IMoniker_IsSystemMoniker_Proxy(
2771 void __RPC_STUB
IMoniker_IsSystemMoniker_Stub(
2772 struct IRpcStubBuffer
* This
,
2773 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2774 PRPC_MESSAGE pRpcMessage
,
2775 DWORD
* pdwStubPhase
);
2777 #endif /* __IMoniker_INTERFACE_DEFINED__ */
2779 #ifndef __IROTData_FWD_DEFINED__
2780 #define __IROTData_FWD_DEFINED__
2781 typedef struct IROTData IROTData
;
2784 /*****************************************************************************
2785 * IROTData interface
2787 #ifndef __IROTData_INTERFACE_DEFINED__
2788 #define __IROTData_INTERFACE_DEFINED__
2790 DEFINE_GUID(IID_IROTData
, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
2791 #if defined(__cplusplus) && !defined(CINTERFACE)
2792 struct IROTData
: public IUnknown
2794 virtual HRESULT STDMETHODCALLTYPE
GetComparisonData(
2797 ULONG
* pcbData
) = 0;
2801 typedef struct IROTDataVtbl IROTDataVtbl
;
2803 const IROTDataVtbl
* lpVtbl
;
2805 struct IROTDataVtbl
{
2806 ICOM_MSVTABLE_COMPAT_FIELDS
2808 /*** IUnknown methods ***/
2809 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2814 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2817 ULONG (STDMETHODCALLTYPE
*Release
)(
2820 /*** IROTData methods ***/
2821 HRESULT (STDMETHODCALLTYPE
*GetComparisonData
)(
2829 /*** IUnknown methods ***/
2830 #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2831 #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p)
2832 #define IROTData_Release(p) (p)->lpVtbl->Release(p)
2833 /*** IROTData methods ***/
2834 #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c)
2838 #define IROTData_METHODS \
2839 ICOM_MSVTABLE_COMPAT_FIELDS \
2840 /*** IUnknown methods ***/ \
2841 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2842 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2843 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2844 /*** IROTData methods ***/ \
2845 STDMETHOD_(HRESULT,GetComparisonData)(THIS_ byte* pbData, ULONG cbMax, ULONG* pcbData) PURE;
2847 HRESULT CALLBACK
IROTData_GetComparisonData_Proxy(
2852 void __RPC_STUB
IROTData_GetComparisonData_Stub(
2853 struct IRpcStubBuffer
* This
,
2854 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2855 PRPC_MESSAGE pRpcMessage
,
2856 DWORD
* pdwStubPhase
);
2858 #endif /* __IROTData_INTERFACE_DEFINED__ */
2860 typedef IEnumString
*LPENUMSTRING
;
2862 /*****************************************************************************
2863 * IEnumString interface
2865 #ifndef __IEnumString_INTERFACE_DEFINED__
2866 #define __IEnumString_INTERFACE_DEFINED__
2868 DEFINE_GUID(IID_IEnumString
, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2869 #if defined(__cplusplus) && !defined(CINTERFACE)
2870 struct IEnumString
: public IUnknown
2872 virtual HRESULT STDMETHODCALLTYPE
Next(
2875 ULONG
* pceltFetched
) = 0;
2877 virtual HRESULT STDMETHODCALLTYPE
Skip(
2880 virtual HRESULT STDMETHODCALLTYPE
Reset(
2883 virtual HRESULT STDMETHODCALLTYPE
Clone(
2884 IEnumString
** ppenum
) = 0;
2888 typedef struct IEnumStringVtbl IEnumStringVtbl
;
2889 struct IEnumString
{
2890 const IEnumStringVtbl
* lpVtbl
;
2892 struct IEnumStringVtbl
{
2893 ICOM_MSVTABLE_COMPAT_FIELDS
2895 /*** IUnknown methods ***/
2896 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2901 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2904 ULONG (STDMETHODCALLTYPE
*Release
)(
2907 /*** IEnumString methods ***/
2908 HRESULT (STDMETHODCALLTYPE
*Next
)(
2912 ULONG
* pceltFetched
);
2914 HRESULT (STDMETHODCALLTYPE
*Skip
)(
2918 HRESULT (STDMETHODCALLTYPE
*Reset
)(
2921 HRESULT (STDMETHODCALLTYPE
*Clone
)(
2923 IEnumString
** ppenum
);
2927 /*** IUnknown methods ***/
2928 #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2929 #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p)
2930 #define IEnumString_Release(p) (p)->lpVtbl->Release(p)
2931 /*** IEnumString methods ***/
2932 #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2933 #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2934 #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p)
2935 #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2939 #define IEnumString_METHODS \
2940 ICOM_MSVTABLE_COMPAT_FIELDS \
2941 /*** IUnknown methods ***/ \
2942 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2943 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2944 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2945 /*** IEnumString methods ***/ \
2946 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched) PURE; \
2947 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2948 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2949 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumString** ppenum) PURE;
2951 HRESULT CALLBACK
IEnumString_RemoteNext_Proxy(
2955 ULONG
* pceltFetched
);
2956 void __RPC_STUB
IEnumString_RemoteNext_Stub(
2957 struct IRpcStubBuffer
* This
,
2958 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2959 PRPC_MESSAGE pRpcMessage
,
2960 DWORD
* pdwStubPhase
);
2961 HRESULT CALLBACK
IEnumString_Next_Proxy(
2965 ULONG
* pceltFetched
);
2966 HRESULT __RPC_STUB
IEnumString_Next_Stub(
2970 ULONG
* pceltFetched
);
2971 HRESULT CALLBACK
IEnumString_Skip_Proxy(
2974 void __RPC_STUB
IEnumString_Skip_Stub(
2975 struct IRpcStubBuffer
* This
,
2976 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2977 PRPC_MESSAGE pRpcMessage
,
2978 DWORD
* pdwStubPhase
);
2979 HRESULT CALLBACK
IEnumString_Reset_Proxy(
2981 void __RPC_STUB
IEnumString_Reset_Stub(
2982 struct IRpcStubBuffer
* This
,
2983 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2984 PRPC_MESSAGE pRpcMessage
,
2985 DWORD
* pdwStubPhase
);
2986 HRESULT CALLBACK
IEnumString_Clone_Proxy(
2988 IEnumString
** ppenum
);
2989 void __RPC_STUB
IEnumString_Clone_Stub(
2990 struct IRpcStubBuffer
* This
,
2991 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2992 PRPC_MESSAGE pRpcMessage
,
2993 DWORD
* pdwStubPhase
);
2995 #endif /* __IEnumString_INTERFACE_DEFINED__ */
2997 #ifndef __IClassActivator_FWD_DEFINED__
2998 #define __IClassActivator_FWD_DEFINED__
2999 typedef struct IClassActivator IClassActivator
;
3002 /*****************************************************************************
3003 * IClassActivator interface
3005 #ifndef __IClassActivator_INTERFACE_DEFINED__
3006 #define __IClassActivator_INTERFACE_DEFINED__
3008 DEFINE_GUID(IID_IClassActivator
, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3009 #if defined(__cplusplus) && !defined(CINTERFACE)
3010 struct IClassActivator
: public IUnknown
3012 virtual HRESULT STDMETHODCALLTYPE
GetClassObject(
3014 DWORD dwClassContext
,
3021 typedef struct IClassActivatorVtbl IClassActivatorVtbl
;
3022 struct IClassActivator
{
3023 const IClassActivatorVtbl
* lpVtbl
;
3025 struct IClassActivatorVtbl
{
3026 ICOM_MSVTABLE_COMPAT_FIELDS
3028 /*** IUnknown methods ***/
3029 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3030 IClassActivator
* This
,
3034 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3035 IClassActivator
* This
);
3037 ULONG (STDMETHODCALLTYPE
*Release
)(
3038 IClassActivator
* This
);
3040 /*** IClassActivator methods ***/
3041 HRESULT (STDMETHODCALLTYPE
*GetClassObject
)(
3042 IClassActivator
* This
,
3044 DWORD dwClassContext
,
3051 /*** IUnknown methods ***/
3052 #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3053 #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p)
3054 #define IClassActivator_Release(p) (p)->lpVtbl->Release(p)
3055 /*** IClassActivator methods ***/
3056 #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e)
3060 #define IClassActivator_METHODS \
3061 ICOM_MSVTABLE_COMPAT_FIELDS \
3062 /*** IUnknown methods ***/ \
3063 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3064 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3065 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3066 /*** IClassActivator methods ***/ \
3067 STDMETHOD_(HRESULT,GetClassObject)(THIS_ REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) PURE;
3069 HRESULT CALLBACK
IClassActivator_GetClassObject_Proxy(
3070 IClassActivator
* This
,
3072 DWORD dwClassContext
,
3076 void __RPC_STUB
IClassActivator_GetClassObject_Stub(
3077 struct IRpcStubBuffer
* This
,
3078 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3079 PRPC_MESSAGE pRpcMessage
,
3080 DWORD
* pdwStubPhase
);
3082 #endif /* __IClassActivator_INTERFACE_DEFINED__ */
3084 #ifndef __ISequentialStream_FWD_DEFINED__
3085 #define __ISequentialStream_FWD_DEFINED__
3086 typedef struct ISequentialStream ISequentialStream
;
3089 /*****************************************************************************
3090 * ISequentialStream interface
3092 #ifndef __ISequentialStream_INTERFACE_DEFINED__
3093 #define __ISequentialStream_INTERFACE_DEFINED__
3095 DEFINE_GUID(IID_ISequentialStream
, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
3096 #if defined(__cplusplus) && !defined(CINTERFACE)
3097 struct ISequentialStream
: public IUnknown
3099 virtual HRESULT STDMETHODCALLTYPE
Read(
3102 ULONG
* pcbRead
) = 0;
3104 virtual HRESULT STDMETHODCALLTYPE
Write(
3107 ULONG
* pcbWritten
) = 0;
3111 typedef struct ISequentialStreamVtbl ISequentialStreamVtbl
;
3112 struct ISequentialStream
{
3113 const ISequentialStreamVtbl
* lpVtbl
;
3115 struct ISequentialStreamVtbl
{
3116 ICOM_MSVTABLE_COMPAT_FIELDS
3118 /*** IUnknown methods ***/
3119 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3120 ISequentialStream
* This
,
3124 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3125 ISequentialStream
* This
);
3127 ULONG (STDMETHODCALLTYPE
*Release
)(
3128 ISequentialStream
* This
);
3130 /*** ISequentialStream methods ***/
3131 HRESULT (STDMETHODCALLTYPE
*Read
)(
3132 ISequentialStream
* This
,
3137 HRESULT (STDMETHODCALLTYPE
*Write
)(
3138 ISequentialStream
* This
,
3145 /*** IUnknown methods ***/
3146 #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3147 #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3148 #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p)
3149 /*** ISequentialStream methods ***/
3150 #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3151 #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3155 #define ISequentialStream_METHODS \
3156 ICOM_MSVTABLE_COMPAT_FIELDS \
3157 /*** IUnknown methods ***/ \
3158 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3159 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3160 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3161 /*** ISequentialStream methods ***/ \
3162 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3163 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE;
3165 HRESULT CALLBACK
ISequentialStream_RemoteRead_Proxy(
3166 ISequentialStream
* This
,
3170 void __RPC_STUB
ISequentialStream_RemoteRead_Stub(
3171 struct IRpcStubBuffer
* This
,
3172 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3173 PRPC_MESSAGE pRpcMessage
,
3174 DWORD
* pdwStubPhase
);
3175 HRESULT CALLBACK
ISequentialStream_Read_Proxy(
3176 ISequentialStream
* This
,
3180 HRESULT __RPC_STUB
ISequentialStream_Read_Stub(
3181 ISequentialStream
* This
,
3185 HRESULT CALLBACK
ISequentialStream_RemoteWrite_Proxy(
3186 ISequentialStream
* This
,
3190 void __RPC_STUB
ISequentialStream_RemoteWrite_Stub(
3191 struct IRpcStubBuffer
* This
,
3192 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3193 PRPC_MESSAGE pRpcMessage
,
3194 DWORD
* pdwStubPhase
);
3195 HRESULT CALLBACK
ISequentialStream_Write_Proxy(
3196 ISequentialStream
* This
,
3200 HRESULT __RPC_STUB
ISequentialStream_Write_Stub(
3201 ISequentialStream
* This
,
3206 #endif /* __ISequentialStream_INTERFACE_DEFINED__ */
3208 typedef IStream
*LPSTREAM
;
3210 typedef struct tagSTATSTG
{
3213 ULARGE_INTEGER cbSize
;
3218 DWORD grfLocksSupported
;
3224 typedef enum tagSTGTY
{
3227 STGTY_LOCKBYTES
= 3,
3231 typedef enum tagSTREAM_SEEK
{
3232 STREAM_SEEK_SET
= 0,
3233 STREAM_SEEK_CUR
= 1,
3241 typedef enum tagLOCKTYPE
{
3247 /*****************************************************************************
3250 #ifndef __IStream_INTERFACE_DEFINED__
3251 #define __IStream_INTERFACE_DEFINED__
3253 DEFINE_GUID(IID_IStream
, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3254 #if defined(__cplusplus) && !defined(CINTERFACE)
3255 struct IStream
: public ISequentialStream
3257 virtual HRESULT STDMETHODCALLTYPE
Seek(
3258 LARGE_INTEGER dlibMove
,
3260 ULARGE_INTEGER
* plibNewPosition
) = 0;
3262 virtual HRESULT STDMETHODCALLTYPE
SetSize(
3263 ULARGE_INTEGER libNewSize
) = 0;
3265 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
3268 ULARGE_INTEGER
* pcbRead
,
3269 ULARGE_INTEGER
* pcbWritten
) = 0;
3271 virtual HRESULT STDMETHODCALLTYPE
Commit(
3272 DWORD grfCommitFlags
) = 0;
3274 virtual HRESULT STDMETHODCALLTYPE
Revert(
3277 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
3278 ULARGE_INTEGER libOffset
,
3280 DWORD dwLockType
) = 0;
3282 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
3283 ULARGE_INTEGER libOffset
,
3285 DWORD dwLockType
) = 0;
3287 virtual HRESULT STDMETHODCALLTYPE
Stat(
3289 DWORD grfStatFlag
) = 0;
3291 virtual HRESULT STDMETHODCALLTYPE
Clone(
3292 IStream
** ppstm
) = 0;
3296 typedef struct IStreamVtbl IStreamVtbl
;
3298 const IStreamVtbl
* lpVtbl
;
3300 struct IStreamVtbl
{
3301 ICOM_MSVTABLE_COMPAT_FIELDS
3303 /*** IUnknown methods ***/
3304 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3309 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3312 ULONG (STDMETHODCALLTYPE
*Release
)(
3315 /*** ISequentialStream methods ***/
3316 HRESULT (STDMETHODCALLTYPE
*Read
)(
3322 HRESULT (STDMETHODCALLTYPE
*Write
)(
3328 /*** IStream methods ***/
3329 HRESULT (STDMETHODCALLTYPE
*Seek
)(
3331 LARGE_INTEGER dlibMove
,
3333 ULARGE_INTEGER
* plibNewPosition
);
3335 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
3337 ULARGE_INTEGER libNewSize
);
3339 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
3343 ULARGE_INTEGER
* pcbRead
,
3344 ULARGE_INTEGER
* pcbWritten
);
3346 HRESULT (STDMETHODCALLTYPE
*Commit
)(
3348 DWORD grfCommitFlags
);
3350 HRESULT (STDMETHODCALLTYPE
*Revert
)(
3353 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
3355 ULARGE_INTEGER libOffset
,
3359 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
3361 ULARGE_INTEGER libOffset
,
3365 HRESULT (STDMETHODCALLTYPE
*Stat
)(
3370 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3376 /*** IUnknown methods ***/
3377 #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3378 #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3379 #define IStream_Release(p) (p)->lpVtbl->Release(p)
3380 /*** ISequentialStream methods ***/
3381 #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3382 #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3383 /*** IStream methods ***/
3384 #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3385 #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3386 #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3387 #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3388 #define IStream_Revert(p) (p)->lpVtbl->Revert(p)
3389 #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3390 #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3391 #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3392 #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3396 #define IStream_METHODS \
3397 ICOM_MSVTABLE_COMPAT_FIELDS \
3398 /*** IUnknown methods ***/ \
3399 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3400 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3401 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3402 /*** ISequentialStream methods ***/ \
3403 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3404 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3405 /*** IStream methods ***/ \
3406 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3407 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3408 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3409 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3410 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3411 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3412 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3413 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3414 STDMETHOD_(HRESULT,Clone)(THIS_ IStream** ppstm) PURE;
3416 HRESULT CALLBACK
IStream_RemoteSeek_Proxy(
3418 LARGE_INTEGER dlibMove
,
3420 ULARGE_INTEGER
* plibNewPosition
);
3421 void __RPC_STUB
IStream_RemoteSeek_Stub(
3422 struct IRpcStubBuffer
* This
,
3423 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3424 PRPC_MESSAGE pRpcMessage
,
3425 DWORD
* pdwStubPhase
);
3426 HRESULT CALLBACK
IStream_Seek_Proxy(
3428 LARGE_INTEGER dlibMove
,
3430 ULARGE_INTEGER
* plibNewPosition
);
3431 HRESULT __RPC_STUB
IStream_Seek_Stub(
3433 LARGE_INTEGER dlibMove
,
3435 ULARGE_INTEGER
* plibNewPosition
);
3436 HRESULT CALLBACK
IStream_SetSize_Proxy(
3438 ULARGE_INTEGER libNewSize
);
3439 void __RPC_STUB
IStream_SetSize_Stub(
3440 struct IRpcStubBuffer
* This
,
3441 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3442 PRPC_MESSAGE pRpcMessage
,
3443 DWORD
* pdwStubPhase
);
3444 HRESULT CALLBACK
IStream_RemoteCopyTo_Proxy(
3448 ULARGE_INTEGER
* pcbRead
,
3449 ULARGE_INTEGER
* pcbWritten
);
3450 void __RPC_STUB
IStream_RemoteCopyTo_Stub(
3451 struct IRpcStubBuffer
* This
,
3452 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3453 PRPC_MESSAGE pRpcMessage
,
3454 DWORD
* pdwStubPhase
);
3455 HRESULT CALLBACK
IStream_CopyTo_Proxy(
3459 ULARGE_INTEGER
* pcbRead
,
3460 ULARGE_INTEGER
* pcbWritten
);
3461 HRESULT __RPC_STUB
IStream_CopyTo_Stub(
3465 ULARGE_INTEGER
* pcbRead
,
3466 ULARGE_INTEGER
* pcbWritten
);
3467 HRESULT CALLBACK
IStream_Commit_Proxy(
3469 DWORD grfCommitFlags
);
3470 void __RPC_STUB
IStream_Commit_Stub(
3471 struct IRpcStubBuffer
* This
,
3472 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3473 PRPC_MESSAGE pRpcMessage
,
3474 DWORD
* pdwStubPhase
);
3475 HRESULT CALLBACK
IStream_Revert_Proxy(
3477 void __RPC_STUB
IStream_Revert_Stub(
3478 struct IRpcStubBuffer
* This
,
3479 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3480 PRPC_MESSAGE pRpcMessage
,
3481 DWORD
* pdwStubPhase
);
3482 HRESULT CALLBACK
IStream_LockRegion_Proxy(
3484 ULARGE_INTEGER libOffset
,
3487 void __RPC_STUB
IStream_LockRegion_Stub(
3488 struct IRpcStubBuffer
* This
,
3489 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3490 PRPC_MESSAGE pRpcMessage
,
3491 DWORD
* pdwStubPhase
);
3492 HRESULT CALLBACK
IStream_UnlockRegion_Proxy(
3494 ULARGE_INTEGER libOffset
,
3497 void __RPC_STUB
IStream_UnlockRegion_Stub(
3498 struct IRpcStubBuffer
* This
,
3499 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3500 PRPC_MESSAGE pRpcMessage
,
3501 DWORD
* pdwStubPhase
);
3502 HRESULT CALLBACK
IStream_Stat_Proxy(
3506 void __RPC_STUB
IStream_Stat_Stub(
3507 struct IRpcStubBuffer
* This
,
3508 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3509 PRPC_MESSAGE pRpcMessage
,
3510 DWORD
* pdwStubPhase
);
3511 HRESULT CALLBACK
IStream_Clone_Proxy(
3514 void __RPC_STUB
IStream_Clone_Stub(
3515 struct IRpcStubBuffer
* This
,
3516 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3517 PRPC_MESSAGE pRpcMessage
,
3518 DWORD
* pdwStubPhase
);
3520 #endif /* __IStream_INTERFACE_DEFINED__ */
3522 typedef IStream16
*LPSTREAM16
;
3524 typedef struct tagSTATSTG16
{
3525 LPOLESTR16 pwcsName
;
3527 ULARGE_INTEGER cbSize
;
3532 DWORD grfLocksSupported
;
3538 /*****************************************************************************
3539 * IStream16 interface
3541 #ifndef __IStream16_INTERFACE_DEFINED__
3542 #define __IStream16_INTERFACE_DEFINED__
3544 #if defined(__cplusplus) && !defined(CINTERFACE)
3545 struct IStream16
: public ISequentialStream
3547 virtual HRESULT STDMETHODCALLTYPE
Seek(
3548 LARGE_INTEGER dlibMove
,
3550 ULARGE_INTEGER
* plibNewPosition
) = 0;
3552 virtual HRESULT STDMETHODCALLTYPE
SetSize(
3553 ULARGE_INTEGER libNewSize
) = 0;
3555 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
3558 ULARGE_INTEGER
* pcbRead
,
3559 ULARGE_INTEGER
* pcbWritten
) = 0;
3561 virtual HRESULT STDMETHODCALLTYPE
Commit(
3562 DWORD grfCommitFlags
) = 0;
3564 virtual HRESULT STDMETHODCALLTYPE
Revert(
3567 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
3568 ULARGE_INTEGER libOffset
,
3570 DWORD dwLockType
) = 0;
3572 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
3573 ULARGE_INTEGER libOffset
,
3575 DWORD dwLockType
) = 0;
3577 virtual HRESULT STDMETHODCALLTYPE
Stat(
3579 DWORD grfStatFlag
) = 0;
3581 virtual HRESULT STDMETHODCALLTYPE
Clone(
3582 IStream16
** ppstm
) = 0;
3586 typedef struct IStream16Vtbl IStream16Vtbl
;
3588 const IStream16Vtbl
* lpVtbl
;
3590 struct IStream16Vtbl
{
3591 ICOM_MSVTABLE_COMPAT_FIELDS
3593 /*** IUnknown methods ***/
3594 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3599 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3602 ULONG (STDMETHODCALLTYPE
*Release
)(
3605 /*** ISequentialStream methods ***/
3606 HRESULT (STDMETHODCALLTYPE
*Read
)(
3612 HRESULT (STDMETHODCALLTYPE
*Write
)(
3618 /*** IStream16 methods ***/
3619 HRESULT (STDMETHODCALLTYPE
*Seek
)(
3621 LARGE_INTEGER dlibMove
,
3623 ULARGE_INTEGER
* plibNewPosition
);
3625 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
3627 ULARGE_INTEGER libNewSize
);
3629 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
3633 ULARGE_INTEGER
* pcbRead
,
3634 ULARGE_INTEGER
* pcbWritten
);
3636 HRESULT (STDMETHODCALLTYPE
*Commit
)(
3638 DWORD grfCommitFlags
);
3640 HRESULT (STDMETHODCALLTYPE
*Revert
)(
3643 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
3645 ULARGE_INTEGER libOffset
,
3649 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
3651 ULARGE_INTEGER libOffset
,
3655 HRESULT (STDMETHODCALLTYPE
*Stat
)(
3660 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3666 /*** IUnknown methods ***/
3667 #define IStream16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3668 #define IStream16_AddRef(p) (p)->lpVtbl->AddRef(p)
3669 #define IStream16_Release(p) (p)->lpVtbl->Release(p)
3670 /*** ISequentialStream methods ***/
3671 #define IStream16_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3672 #define IStream16_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3673 /*** IStream16 methods ***/
3674 #define IStream16_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3675 #define IStream16_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3676 #define IStream16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3677 #define IStream16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3678 #define IStream16_Revert(p) (p)->lpVtbl->Revert(p)
3679 #define IStream16_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3680 #define IStream16_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3681 #define IStream16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3682 #define IStream16_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3686 #define IStream16_METHODS \
3687 ICOM_MSVTABLE_COMPAT_FIELDS \
3688 /*** IUnknown methods ***/ \
3689 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3690 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3691 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3692 /*** ISequentialStream methods ***/ \
3693 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3694 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3695 /*** IStream16 methods ***/ \
3696 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3697 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3698 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream16* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3699 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3700 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3701 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3702 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3703 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3704 STDMETHOD_(HRESULT,Clone)(THIS_ IStream16** ppstm) PURE;
3706 HRESULT CALLBACK
IStream16_RemoteSeek_Proxy(
3708 LARGE_INTEGER dlibMove
,
3710 ULARGE_INTEGER
* plibNewPosition
);
3711 void __RPC_STUB
IStream16_RemoteSeek_Stub(
3712 struct IRpcStubBuffer
* This
,
3713 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3714 PRPC_MESSAGE pRpcMessage
,
3715 DWORD
* pdwStubPhase
);
3716 HRESULT CALLBACK
IStream16_Seek_Proxy(
3718 LARGE_INTEGER dlibMove
,
3720 ULARGE_INTEGER
* plibNewPosition
);
3721 HRESULT __RPC_STUB
IStream16_Seek_Stub(
3723 LARGE_INTEGER dlibMove
,
3725 ULARGE_INTEGER
* plibNewPosition
);
3726 HRESULT CALLBACK
IStream16_SetSize_Proxy(
3728 ULARGE_INTEGER libNewSize
);
3729 void __RPC_STUB
IStream16_SetSize_Stub(
3730 struct IRpcStubBuffer
* This
,
3731 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3732 PRPC_MESSAGE pRpcMessage
,
3733 DWORD
* pdwStubPhase
);
3734 HRESULT CALLBACK
IStream16_RemoteCopyTo_Proxy(
3738 ULARGE_INTEGER
* pcbRead
,
3739 ULARGE_INTEGER
* pcbWritten
);
3740 void __RPC_STUB
IStream16_RemoteCopyTo_Stub(
3741 struct IRpcStubBuffer
* This
,
3742 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3743 PRPC_MESSAGE pRpcMessage
,
3744 DWORD
* pdwStubPhase
);
3745 HRESULT CALLBACK
IStream16_CopyTo_Proxy(
3749 ULARGE_INTEGER
* pcbRead
,
3750 ULARGE_INTEGER
* pcbWritten
);
3751 HRESULT __RPC_STUB
IStream16_CopyTo_Stub(
3755 ULARGE_INTEGER
* pcbRead
,
3756 ULARGE_INTEGER
* pcbWritten
);
3757 HRESULT CALLBACK
IStream16_Commit_Proxy(
3759 DWORD grfCommitFlags
);
3760 void __RPC_STUB
IStream16_Commit_Stub(
3761 struct IRpcStubBuffer
* This
,
3762 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3763 PRPC_MESSAGE pRpcMessage
,
3764 DWORD
* pdwStubPhase
);
3765 HRESULT CALLBACK
IStream16_Revert_Proxy(
3767 void __RPC_STUB
IStream16_Revert_Stub(
3768 struct IRpcStubBuffer
* This
,
3769 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3770 PRPC_MESSAGE pRpcMessage
,
3771 DWORD
* pdwStubPhase
);
3772 HRESULT CALLBACK
IStream16_LockRegion_Proxy(
3774 ULARGE_INTEGER libOffset
,
3777 void __RPC_STUB
IStream16_LockRegion_Stub(
3778 struct IRpcStubBuffer
* This
,
3779 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3780 PRPC_MESSAGE pRpcMessage
,
3781 DWORD
* pdwStubPhase
);
3782 HRESULT CALLBACK
IStream16_UnlockRegion_Proxy(
3784 ULARGE_INTEGER libOffset
,
3787 void __RPC_STUB
IStream16_UnlockRegion_Stub(
3788 struct IRpcStubBuffer
* This
,
3789 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3790 PRPC_MESSAGE pRpcMessage
,
3791 DWORD
* pdwStubPhase
);
3792 HRESULT CALLBACK
IStream16_Stat_Proxy(
3796 void __RPC_STUB
IStream16_Stat_Stub(
3797 struct IRpcStubBuffer
* This
,
3798 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3799 PRPC_MESSAGE pRpcMessage
,
3800 DWORD
* pdwStubPhase
);
3801 HRESULT CALLBACK
IStream16_Clone_Proxy(
3804 void __RPC_STUB
IStream16_Clone_Stub(
3805 struct IRpcStubBuffer
* This
,
3806 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3807 PRPC_MESSAGE pRpcMessage
,
3808 DWORD
* pdwStubPhase
);
3810 #endif /* __IStream16_INTERFACE_DEFINED__ */
3812 #ifndef __IEnumSTATSTG_FWD_DEFINED__
3813 #define __IEnumSTATSTG_FWD_DEFINED__
3814 typedef struct IEnumSTATSTG IEnumSTATSTG
;
3817 typedef IEnumSTATSTG
*LPENUMSTATSTG
;
3819 /*****************************************************************************
3820 * IEnumSTATSTG interface
3822 #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
3823 #define __IEnumSTATSTG_INTERFACE_DEFINED__
3825 DEFINE_GUID(IID_IEnumSTATSTG
, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3826 #if defined(__cplusplus) && !defined(CINTERFACE)
3827 struct IEnumSTATSTG
: public IUnknown
3829 virtual HRESULT STDMETHODCALLTYPE
Next(
3832 ULONG
* pceltFetched
) = 0;
3834 virtual HRESULT STDMETHODCALLTYPE
Skip(
3837 virtual HRESULT STDMETHODCALLTYPE
Reset(
3840 virtual HRESULT STDMETHODCALLTYPE
Clone(
3841 IEnumSTATSTG
** ppenum
) = 0;
3845 typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl
;
3846 struct IEnumSTATSTG
{
3847 const IEnumSTATSTGVtbl
* lpVtbl
;
3849 struct IEnumSTATSTGVtbl
{
3850 ICOM_MSVTABLE_COMPAT_FIELDS
3852 /*** IUnknown methods ***/
3853 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3858 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3859 IEnumSTATSTG
* This
);
3861 ULONG (STDMETHODCALLTYPE
*Release
)(
3862 IEnumSTATSTG
* This
);
3864 /*** IEnumSTATSTG methods ***/
3865 HRESULT (STDMETHODCALLTYPE
*Next
)(
3869 ULONG
* pceltFetched
);
3871 HRESULT (STDMETHODCALLTYPE
*Skip
)(
3875 HRESULT (STDMETHODCALLTYPE
*Reset
)(
3876 IEnumSTATSTG
* This
);
3878 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3880 IEnumSTATSTG
** ppenum
);
3884 /*** IUnknown methods ***/
3885 #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3886 #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
3887 #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p)
3888 /*** IEnumSTATSTG methods ***/
3889 #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
3890 #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
3891 #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p)
3892 #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3896 #define IEnumSTATSTG_METHODS \
3897 ICOM_MSVTABLE_COMPAT_FIELDS \
3898 /*** IUnknown methods ***/ \
3899 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3900 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3901 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3902 /*** IEnumSTATSTG methods ***/ \
3903 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATSTG* rgelt, ULONG* pceltFetched) PURE; \
3904 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
3905 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
3906 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATSTG** ppenum) PURE;
3908 HRESULT CALLBACK
IEnumSTATSTG_RemoteNext_Proxy(
3912 ULONG
* pceltFetched
);
3913 void __RPC_STUB
IEnumSTATSTG_RemoteNext_Stub(
3914 struct IRpcStubBuffer
* This
,
3915 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3916 PRPC_MESSAGE pRpcMessage
,
3917 DWORD
* pdwStubPhase
);
3918 HRESULT CALLBACK
IEnumSTATSTG_Next_Proxy(
3922 ULONG
* pceltFetched
);
3923 HRESULT __RPC_STUB
IEnumSTATSTG_Next_Stub(
3927 ULONG
* pceltFetched
);
3928 HRESULT CALLBACK
IEnumSTATSTG_Skip_Proxy(
3931 void __RPC_STUB
IEnumSTATSTG_Skip_Stub(
3932 struct IRpcStubBuffer
* This
,
3933 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3934 PRPC_MESSAGE pRpcMessage
,
3935 DWORD
* pdwStubPhase
);
3936 HRESULT CALLBACK
IEnumSTATSTG_Reset_Proxy(
3937 IEnumSTATSTG
* This
);
3938 void __RPC_STUB
IEnumSTATSTG_Reset_Stub(
3939 struct IRpcStubBuffer
* This
,
3940 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3941 PRPC_MESSAGE pRpcMessage
,
3942 DWORD
* pdwStubPhase
);
3943 HRESULT CALLBACK
IEnumSTATSTG_Clone_Proxy(
3945 IEnumSTATSTG
** ppenum
);
3946 void __RPC_STUB
IEnumSTATSTG_Clone_Stub(
3947 struct IRpcStubBuffer
* This
,
3948 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3949 PRPC_MESSAGE pRpcMessage
,
3950 DWORD
* pdwStubPhase
);
3952 #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
3954 #ifndef __IStorage_FWD_DEFINED__
3955 #define __IStorage_FWD_DEFINED__
3956 typedef struct IStorage IStorage
;
3959 typedef IStorage
*LPSTORAGE
;
3961 typedef struct tagRemSNB
{
3962 unsigned long ulCntStr
;
3963 unsigned long ulCntChar
;
3964 OLECHAR rgString
[1];
3967 typedef RemSNB
*wireSNB
;
3969 typedef OLECHAR
**SNB
;
3970 unsigned long __RPC_USER
SNB_UserSize (unsigned long *, unsigned long, SNB
*);
3971 unsigned char * __RPC_USER
SNB_UserMarshal (unsigned long *, unsigned char *, SNB
*);
3972 unsigned char * __RPC_USER
SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB
*);
3973 void __RPC_USER
SNB_UserFree (unsigned long *, SNB
*);
3975 /*****************************************************************************
3976 * IStorage interface
3978 #ifndef __IStorage_INTERFACE_DEFINED__
3979 #define __IStorage_INTERFACE_DEFINED__
3981 DEFINE_GUID(IID_IStorage
, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3982 #if defined(__cplusplus) && !defined(CINTERFACE)
3983 struct IStorage
: public IUnknown
3985 virtual HRESULT STDMETHODCALLTYPE
CreateStream(
3990 IStream
** ppstm
) = 0;
3992 virtual HRESULT STDMETHODCALLTYPE
OpenStream(
3997 IStream
** ppstm
) = 0;
3999 virtual HRESULT STDMETHODCALLTYPE
CreateStorage(
4004 IStorage
** ppstg
) = 0;
4006 virtual HRESULT STDMETHODCALLTYPE
OpenStorage(
4008 IStorage
* pstgPriority
,
4012 IStorage
** ppstg
) = 0;
4014 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
4016 const IID
* rgiidExclude
,
4018 IStorage
* pstgDest
) = 0;
4020 virtual HRESULT STDMETHODCALLTYPE
MoveElementTo(
4023 LPCOLESTR pwcsNewName
,
4024 DWORD grfFlags
) = 0;
4026 virtual HRESULT STDMETHODCALLTYPE
Commit(
4027 DWORD grfCommitFlags
) = 0;
4029 virtual HRESULT STDMETHODCALLTYPE
Revert(
4032 virtual HRESULT STDMETHODCALLTYPE
EnumElements(
4036 IEnumSTATSTG
** ppenum
) = 0;
4038 virtual HRESULT STDMETHODCALLTYPE
DestroyElement(
4039 LPCOLESTR pwcsName
) = 0;
4041 virtual HRESULT STDMETHODCALLTYPE
RenameElement(
4042 LPCOLESTR pwcsOldName
,
4043 LPCOLESTR pwcsNewName
) = 0;
4045 virtual HRESULT STDMETHODCALLTYPE
SetElementTimes(
4047 const FILETIME
* pctime
,
4048 const FILETIME
* patime
,
4049 const FILETIME
* pmtime
) = 0;
4051 virtual HRESULT STDMETHODCALLTYPE
SetClass(
4052 REFCLSID clsid
) = 0;
4054 virtual HRESULT STDMETHODCALLTYPE
SetStateBits(
4058 virtual HRESULT STDMETHODCALLTYPE
Stat(
4060 DWORD grfStatFlag
) = 0;
4064 typedef struct IStorageVtbl IStorageVtbl
;
4066 const IStorageVtbl
* lpVtbl
;
4068 struct IStorageVtbl
{
4069 ICOM_MSVTABLE_COMPAT_FIELDS
4071 /*** IUnknown methods ***/
4072 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4077 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4080 ULONG (STDMETHODCALLTYPE
*Release
)(
4083 /*** IStorage methods ***/
4084 HRESULT (STDMETHODCALLTYPE
*CreateStream
)(
4092 HRESULT (STDMETHODCALLTYPE
*OpenStream
)(
4100 HRESULT (STDMETHODCALLTYPE
*CreateStorage
)(
4108 HRESULT (STDMETHODCALLTYPE
*OpenStorage
)(
4111 IStorage
* pstgPriority
,
4117 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
4120 const IID
* rgiidExclude
,
4122 IStorage
* pstgDest
);
4124 HRESULT (STDMETHODCALLTYPE
*MoveElementTo
)(
4128 LPCOLESTR pwcsNewName
,
4131 HRESULT (STDMETHODCALLTYPE
*Commit
)(
4133 DWORD grfCommitFlags
);
4135 HRESULT (STDMETHODCALLTYPE
*Revert
)(
4138 HRESULT (STDMETHODCALLTYPE
*EnumElements
)(
4143 IEnumSTATSTG
** ppenum
);
4145 HRESULT (STDMETHODCALLTYPE
*DestroyElement
)(
4147 LPCOLESTR pwcsName
);
4149 HRESULT (STDMETHODCALLTYPE
*RenameElement
)(
4151 LPCOLESTR pwcsOldName
,
4152 LPCOLESTR pwcsNewName
);
4154 HRESULT (STDMETHODCALLTYPE
*SetElementTimes
)(
4157 const FILETIME
* pctime
,
4158 const FILETIME
* patime
,
4159 const FILETIME
* pmtime
);
4161 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
4165 HRESULT (STDMETHODCALLTYPE
*SetStateBits
)(
4170 HRESULT (STDMETHODCALLTYPE
*Stat
)(
4177 /*** IUnknown methods ***/
4178 #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4179 #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4180 #define IStorage_Release(p) (p)->lpVtbl->Release(p)
4181 /*** IStorage methods ***/
4182 #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
4183 #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
4184 #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
4185 #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
4186 #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
4187 #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
4188 #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
4189 #define IStorage_Revert(p) (p)->lpVtbl->Revert(p)
4190 #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
4191 #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
4192 #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
4193 #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
4194 #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
4195 #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
4196 #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4200 #define IStorage_METHODS \
4201 ICOM_MSVTABLE_COMPAT_FIELDS \
4202 /*** IUnknown methods ***/ \
4203 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4204 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4205 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4206 /*** IStorage methods ***/ \
4207 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream** ppstm) PURE; \
4208 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream** ppstm) PURE; \
4209 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage** ppstg) PURE; \
4210 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstg) PURE; \
4211 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB snbExclude, IStorage* pstgDest) PURE; \
4212 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR pwcsName, IStorage* pstgDest, LPCOLESTR pwcsNewName, DWORD grfFlags) PURE; \
4213 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
4214 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
4215 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
4216 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR pwcsName) PURE; \
4217 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR pwcsOldName, LPCOLESTR pwcsNewName) PURE; \
4218 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
4219 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
4220 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
4221 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4223 HRESULT CALLBACK
IStorage_CreateStream_Proxy(
4230 void __RPC_STUB
IStorage_CreateStream_Stub(
4231 struct IRpcStubBuffer
* This
,
4232 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4233 PRPC_MESSAGE pRpcMessage
,
4234 DWORD
* pdwStubPhase
);
4235 HRESULT CALLBACK
IStorage_RemoteOpenStream_Proxy(
4238 unsigned long cbReserved1
,
4243 void __RPC_STUB
IStorage_RemoteOpenStream_Stub(
4244 struct IRpcStubBuffer
* This
,
4245 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4246 PRPC_MESSAGE pRpcMessage
,
4247 DWORD
* pdwStubPhase
);
4248 HRESULT CALLBACK
IStorage_OpenStream_Proxy(
4255 HRESULT __RPC_STUB
IStorage_OpenStream_Stub(
4258 unsigned long cbReserved1
,
4263 HRESULT CALLBACK
IStorage_CreateStorage_Proxy(
4270 void __RPC_STUB
IStorage_CreateStorage_Stub(
4271 struct IRpcStubBuffer
* This
,
4272 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4273 PRPC_MESSAGE pRpcMessage
,
4274 DWORD
* pdwStubPhase
);
4275 HRESULT CALLBACK
IStorage_OpenStorage_Proxy(
4278 IStorage
* pstgPriority
,
4283 void __RPC_STUB
IStorage_OpenStorage_Stub(
4284 struct IRpcStubBuffer
* This
,
4285 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4286 PRPC_MESSAGE pRpcMessage
,
4287 DWORD
* pdwStubPhase
);
4288 HRESULT CALLBACK
IStorage_CopyTo_Proxy(
4291 const IID
* rgiidExclude
,
4293 IStorage
* pstgDest
);
4294 void __RPC_STUB
IStorage_CopyTo_Stub(
4295 struct IRpcStubBuffer
* This
,
4296 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4297 PRPC_MESSAGE pRpcMessage
,
4298 DWORD
* pdwStubPhase
);
4299 HRESULT CALLBACK
IStorage_MoveElementTo_Proxy(
4303 LPCOLESTR pwcsNewName
,
4305 void __RPC_STUB
IStorage_MoveElementTo_Stub(
4306 struct IRpcStubBuffer
* This
,
4307 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4308 PRPC_MESSAGE pRpcMessage
,
4309 DWORD
* pdwStubPhase
);
4310 HRESULT CALLBACK
IStorage_Commit_Proxy(
4312 DWORD grfCommitFlags
);
4313 void __RPC_STUB
IStorage_Commit_Stub(
4314 struct IRpcStubBuffer
* This
,
4315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4316 PRPC_MESSAGE pRpcMessage
,
4317 DWORD
* pdwStubPhase
);
4318 HRESULT CALLBACK
IStorage_Revert_Proxy(
4320 void __RPC_STUB
IStorage_Revert_Stub(
4321 struct IRpcStubBuffer
* This
,
4322 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4323 PRPC_MESSAGE pRpcMessage
,
4324 DWORD
* pdwStubPhase
);
4325 HRESULT CALLBACK
IStorage_RemoteEnumElements_Proxy(
4328 unsigned long cbReserved2
,
4331 IEnumSTATSTG
** ppenum
);
4332 void __RPC_STUB
IStorage_RemoteEnumElements_Stub(
4333 struct IRpcStubBuffer
* This
,
4334 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4335 PRPC_MESSAGE pRpcMessage
,
4336 DWORD
* pdwStubPhase
);
4337 HRESULT CALLBACK
IStorage_EnumElements_Proxy(
4342 IEnumSTATSTG
** ppenum
);
4343 HRESULT __RPC_STUB
IStorage_EnumElements_Stub(
4346 unsigned long cbReserved2
,
4349 IEnumSTATSTG
** ppenum
);
4350 HRESULT CALLBACK
IStorage_DestroyElement_Proxy(
4352 LPCOLESTR pwcsName
);
4353 void __RPC_STUB
IStorage_DestroyElement_Stub(
4354 struct IRpcStubBuffer
* This
,
4355 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4356 PRPC_MESSAGE pRpcMessage
,
4357 DWORD
* pdwStubPhase
);
4358 HRESULT CALLBACK
IStorage_RenameElement_Proxy(
4360 LPCOLESTR pwcsOldName
,
4361 LPCOLESTR pwcsNewName
);
4362 void __RPC_STUB
IStorage_RenameElement_Stub(
4363 struct IRpcStubBuffer
* This
,
4364 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4365 PRPC_MESSAGE pRpcMessage
,
4366 DWORD
* pdwStubPhase
);
4367 HRESULT CALLBACK
IStorage_SetElementTimes_Proxy(
4370 const FILETIME
* pctime
,
4371 const FILETIME
* patime
,
4372 const FILETIME
* pmtime
);
4373 void __RPC_STUB
IStorage_SetElementTimes_Stub(
4374 struct IRpcStubBuffer
* This
,
4375 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4376 PRPC_MESSAGE pRpcMessage
,
4377 DWORD
* pdwStubPhase
);
4378 HRESULT CALLBACK
IStorage_SetClass_Proxy(
4381 void __RPC_STUB
IStorage_SetClass_Stub(
4382 struct IRpcStubBuffer
* This
,
4383 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4384 PRPC_MESSAGE pRpcMessage
,
4385 DWORD
* pdwStubPhase
);
4386 HRESULT CALLBACK
IStorage_SetStateBits_Proxy(
4390 void __RPC_STUB
IStorage_SetStateBits_Stub(
4391 struct IRpcStubBuffer
* This
,
4392 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4393 PRPC_MESSAGE pRpcMessage
,
4394 DWORD
* pdwStubPhase
);
4395 HRESULT CALLBACK
IStorage_Stat_Proxy(
4399 void __RPC_STUB
IStorage_Stat_Stub(
4400 struct IRpcStubBuffer
* This
,
4401 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4402 PRPC_MESSAGE pRpcMessage
,
4403 DWORD
* pdwStubPhase
);
4405 #endif /* __IStorage_INTERFACE_DEFINED__ */
4407 #ifndef __IStorage16_FWD_DEFINED__
4408 #define __IStorage16_FWD_DEFINED__
4409 typedef struct IStorage16 IStorage16
;
4412 typedef IStorage16
*LPSTORAGE16
;
4414 typedef struct tagRemSNB16
{
4415 unsigned long ulCntStr
;
4416 unsigned long ulCntChar
;
4417 OLECHAR16 rgString
[1];
4420 typedef RemSNB16
*wireSNB16
;
4422 typedef OLECHAR16
**SNB16
;
4423 unsigned long __RPC_USER
SNB16_UserSize (unsigned long *, unsigned long, SNB16
*);
4424 unsigned char * __RPC_USER
SNB16_UserMarshal (unsigned long *, unsigned char *, SNB16
*);
4425 unsigned char * __RPC_USER
SNB16_UserUnmarshal(unsigned long *, unsigned char *, SNB16
*);
4426 void __RPC_USER
SNB16_UserFree (unsigned long *, SNB16
*);
4428 /*****************************************************************************
4429 * IStorage16 interface
4431 #ifndef __IStorage16_INTERFACE_DEFINED__
4432 #define __IStorage16_INTERFACE_DEFINED__
4434 #if defined(__cplusplus) && !defined(CINTERFACE)
4435 struct IStorage16
: public IUnknown
4437 virtual HRESULT STDMETHODCALLTYPE
CreateStream(
4438 LPCOLESTR16 pwcsName
,
4442 IStream16
** ppstm
) = 0;
4444 virtual HRESULT STDMETHODCALLTYPE
OpenStream(
4445 LPCOLESTR16 pwcsName
,
4449 IStream16
** ppstm
) = 0;
4451 virtual HRESULT STDMETHODCALLTYPE
CreateStorage(
4452 LPCOLESTR16 pwcsName
,
4456 IStorage16
** ppstg
) = 0;
4458 virtual HRESULT STDMETHODCALLTYPE
OpenStorage(
4459 LPCOLESTR16 pwcsName
,
4460 IStorage16
* pstgPriority
,
4464 IStorage16
** ppstg
) = 0;
4466 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
4468 const IID
* rgiidExclude
,
4470 IStorage16
* pstgDest
) = 0;
4472 virtual HRESULT STDMETHODCALLTYPE
MoveElementTo(
4473 LPCOLESTR16 pwcsName
,
4474 IStorage16
* pstgDest
,
4475 LPCOLESTR16 pwcsNewName
,
4476 DWORD grfFlags
) = 0;
4478 virtual HRESULT STDMETHODCALLTYPE
Commit(
4479 DWORD grfCommitFlags
) = 0;
4481 virtual HRESULT STDMETHODCALLTYPE
Revert(
4484 virtual HRESULT STDMETHODCALLTYPE
EnumElements(
4488 IEnumSTATSTG
** ppenum
) = 0;
4490 virtual HRESULT STDMETHODCALLTYPE
DestroyElement(
4491 LPCOLESTR16 pwcsName
) = 0;
4493 virtual HRESULT STDMETHODCALLTYPE
RenameElement(
4494 LPCOLESTR16 pwcsOldName
,
4495 LPCOLESTR16 pwcsNewName
) = 0;
4497 virtual HRESULT STDMETHODCALLTYPE
SetElementTimes(
4498 LPCOLESTR16 pwcsName
,
4499 const FILETIME
* pctime
,
4500 const FILETIME
* patime
,
4501 const FILETIME
* pmtime
) = 0;
4503 virtual HRESULT STDMETHODCALLTYPE
SetClass(
4504 REFCLSID clsid
) = 0;
4506 virtual HRESULT STDMETHODCALLTYPE
SetStateBits(
4510 virtual HRESULT STDMETHODCALLTYPE
Stat(
4512 DWORD grfStatFlag
) = 0;
4516 typedef struct IStorage16Vtbl IStorage16Vtbl
;
4518 const IStorage16Vtbl
* lpVtbl
;
4520 struct IStorage16Vtbl
{
4521 ICOM_MSVTABLE_COMPAT_FIELDS
4523 /*** IUnknown methods ***/
4524 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4529 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4532 ULONG (STDMETHODCALLTYPE
*Release
)(
4535 /*** IStorage16 methods ***/
4536 HRESULT (STDMETHODCALLTYPE
*CreateStream
)(
4538 LPCOLESTR16 pwcsName
,
4544 HRESULT (STDMETHODCALLTYPE
*OpenStream
)(
4546 LPCOLESTR16 pwcsName
,
4552 HRESULT (STDMETHODCALLTYPE
*CreateStorage
)(
4554 LPCOLESTR16 pwcsName
,
4558 IStorage16
** ppstg
);
4560 HRESULT (STDMETHODCALLTYPE
*OpenStorage
)(
4562 LPCOLESTR16 pwcsName
,
4563 IStorage16
* pstgPriority
,
4567 IStorage16
** ppstg
);
4569 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
4572 const IID
* rgiidExclude
,
4574 IStorage16
* pstgDest
);
4576 HRESULT (STDMETHODCALLTYPE
*MoveElementTo
)(
4578 LPCOLESTR16 pwcsName
,
4579 IStorage16
* pstgDest
,
4580 LPCOLESTR16 pwcsNewName
,
4583 HRESULT (STDMETHODCALLTYPE
*Commit
)(
4585 DWORD grfCommitFlags
);
4587 HRESULT (STDMETHODCALLTYPE
*Revert
)(
4590 HRESULT (STDMETHODCALLTYPE
*EnumElements
)(
4595 IEnumSTATSTG
** ppenum
);
4597 HRESULT (STDMETHODCALLTYPE
*DestroyElement
)(
4599 LPCOLESTR16 pwcsName
);
4601 HRESULT (STDMETHODCALLTYPE
*RenameElement
)(
4603 LPCOLESTR16 pwcsOldName
,
4604 LPCOLESTR16 pwcsNewName
);
4606 HRESULT (STDMETHODCALLTYPE
*SetElementTimes
)(
4608 LPCOLESTR16 pwcsName
,
4609 const FILETIME
* pctime
,
4610 const FILETIME
* patime
,
4611 const FILETIME
* pmtime
);
4613 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
4617 HRESULT (STDMETHODCALLTYPE
*SetStateBits
)(
4622 HRESULT (STDMETHODCALLTYPE
*Stat
)(
4629 /*** IUnknown methods ***/
4630 #define IStorage16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4631 #define IStorage16_AddRef(p) (p)->lpVtbl->AddRef(p)
4632 #define IStorage16_Release(p) (p)->lpVtbl->Release(p)
4633 /*** IStorage16 methods ***/
4634 #define IStorage16_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
4635 #define IStorage16_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
4636 #define IStorage16_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
4637 #define IStorage16_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
4638 #define IStorage16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
4639 #define IStorage16_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
4640 #define IStorage16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
4641 #define IStorage16_Revert(p) (p)->lpVtbl->Revert(p)
4642 #define IStorage16_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
4643 #define IStorage16_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
4644 #define IStorage16_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
4645 #define IStorage16_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
4646 #define IStorage16_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
4647 #define IStorage16_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
4648 #define IStorage16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4652 #define IStorage16_METHODS \
4653 ICOM_MSVTABLE_COMPAT_FIELDS \
4654 /*** IUnknown methods ***/ \
4655 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4656 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4657 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4658 /*** IStorage16 methods ***/ \
4659 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream16** ppstm) PURE; \
4660 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR16 pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream16** ppstm) PURE; \
4661 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage16** ppstg) PURE; \
4662 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgPriority, DWORD grfMode, SNB16 snbExclude, DWORD reserved, IStorage16** ppstg) PURE; \
4663 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB16 snbExclude, IStorage16* pstgDest) PURE; \
4664 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgDest, LPCOLESTR16 pwcsNewName, DWORD grfFlags) PURE; \
4665 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
4666 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
4667 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
4668 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR16 pwcsName) PURE; \
4669 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR16 pwcsOldName, LPCOLESTR16 pwcsNewName) PURE; \
4670 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR16 pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
4671 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
4672 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
4673 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4675 HRESULT CALLBACK
IStorage16_CreateStream_Proxy(
4677 LPCOLESTR16 pwcsName
,
4682 void __RPC_STUB
IStorage16_CreateStream_Stub(
4683 struct IRpcStubBuffer
* This
,
4684 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4685 PRPC_MESSAGE pRpcMessage
,
4686 DWORD
* pdwStubPhase
);
4687 HRESULT CALLBACK
IStorage16_RemoteOpenStream_Proxy(
4689 LPCOLESTR16 pwcsName
,
4690 unsigned long cbReserved1
,
4695 void __RPC_STUB
IStorage16_RemoteOpenStream_Stub(
4696 struct IRpcStubBuffer
* This
,
4697 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4698 PRPC_MESSAGE pRpcMessage
,
4699 DWORD
* pdwStubPhase
);
4700 HRESULT CALLBACK
IStorage16_OpenStream_Proxy(
4702 LPCOLESTR16 pwcsName
,
4707 HRESULT __RPC_STUB
IStorage16_OpenStream_Stub(
4709 LPCOLESTR16 pwcsName
,
4710 unsigned long cbReserved1
,
4715 HRESULT CALLBACK
IStorage16_CreateStorage_Proxy(
4717 LPCOLESTR16 pwcsName
,
4721 IStorage16
** ppstg
);
4722 void __RPC_STUB
IStorage16_CreateStorage_Stub(
4723 struct IRpcStubBuffer
* This
,
4724 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4725 PRPC_MESSAGE pRpcMessage
,
4726 DWORD
* pdwStubPhase
);
4727 HRESULT CALLBACK
IStorage16_OpenStorage_Proxy(
4729 LPCOLESTR16 pwcsName
,
4730 IStorage16
* pstgPriority
,
4734 IStorage16
** ppstg
);
4735 void __RPC_STUB
IStorage16_OpenStorage_Stub(
4736 struct IRpcStubBuffer
* This
,
4737 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4738 PRPC_MESSAGE pRpcMessage
,
4739 DWORD
* pdwStubPhase
);
4740 HRESULT CALLBACK
IStorage16_CopyTo_Proxy(
4743 const IID
* rgiidExclude
,
4745 IStorage16
* pstgDest
);
4746 void __RPC_STUB
IStorage16_CopyTo_Stub(
4747 struct IRpcStubBuffer
* This
,
4748 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4749 PRPC_MESSAGE pRpcMessage
,
4750 DWORD
* pdwStubPhase
);
4751 HRESULT CALLBACK
IStorage16_MoveElementTo_Proxy(
4753 LPCOLESTR16 pwcsName
,
4754 IStorage16
* pstgDest
,
4755 LPCOLESTR16 pwcsNewName
,
4757 void __RPC_STUB
IStorage16_MoveElementTo_Stub(
4758 struct IRpcStubBuffer
* This
,
4759 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4760 PRPC_MESSAGE pRpcMessage
,
4761 DWORD
* pdwStubPhase
);
4762 HRESULT CALLBACK
IStorage16_Commit_Proxy(
4764 DWORD grfCommitFlags
);
4765 void __RPC_STUB
IStorage16_Commit_Stub(
4766 struct IRpcStubBuffer
* This
,
4767 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4768 PRPC_MESSAGE pRpcMessage
,
4769 DWORD
* pdwStubPhase
);
4770 HRESULT CALLBACK
IStorage16_Revert_Proxy(
4772 void __RPC_STUB
IStorage16_Revert_Stub(
4773 struct IRpcStubBuffer
* This
,
4774 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4775 PRPC_MESSAGE pRpcMessage
,
4776 DWORD
* pdwStubPhase
);
4777 HRESULT CALLBACK
IStorage16_RemoteEnumElements_Proxy(
4780 unsigned long cbReserved2
,
4783 IEnumSTATSTG
** ppenum
);
4784 void __RPC_STUB
IStorage16_RemoteEnumElements_Stub(
4785 struct IRpcStubBuffer
* This
,
4786 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4787 PRPC_MESSAGE pRpcMessage
,
4788 DWORD
* pdwStubPhase
);
4789 HRESULT CALLBACK
IStorage16_EnumElements_Proxy(
4794 IEnumSTATSTG
** ppenum
);
4795 HRESULT __RPC_STUB
IStorage16_EnumElements_Stub(
4798 unsigned long cbReserved2
,
4801 IEnumSTATSTG
** ppenum
);
4802 HRESULT CALLBACK
IStorage16_DestroyElement_Proxy(
4804 LPCOLESTR16 pwcsName
);
4805 void __RPC_STUB
IStorage16_DestroyElement_Stub(
4806 struct IRpcStubBuffer
* This
,
4807 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4808 PRPC_MESSAGE pRpcMessage
,
4809 DWORD
* pdwStubPhase
);
4810 HRESULT CALLBACK
IStorage16_RenameElement_Proxy(
4812 LPCOLESTR16 pwcsOldName
,
4813 LPCOLESTR16 pwcsNewName
);
4814 void __RPC_STUB
IStorage16_RenameElement_Stub(
4815 struct IRpcStubBuffer
* This
,
4816 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4817 PRPC_MESSAGE pRpcMessage
,
4818 DWORD
* pdwStubPhase
);
4819 HRESULT CALLBACK
IStorage16_SetElementTimes_Proxy(
4821 LPCOLESTR16 pwcsName
,
4822 const FILETIME
* pctime
,
4823 const FILETIME
* patime
,
4824 const FILETIME
* pmtime
);
4825 void __RPC_STUB
IStorage16_SetElementTimes_Stub(
4826 struct IRpcStubBuffer
* This
,
4827 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4828 PRPC_MESSAGE pRpcMessage
,
4829 DWORD
* pdwStubPhase
);
4830 HRESULT CALLBACK
IStorage16_SetClass_Proxy(
4833 void __RPC_STUB
IStorage16_SetClass_Stub(
4834 struct IRpcStubBuffer
* This
,
4835 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4836 PRPC_MESSAGE pRpcMessage
,
4837 DWORD
* pdwStubPhase
);
4838 HRESULT CALLBACK
IStorage16_SetStateBits_Proxy(
4842 void __RPC_STUB
IStorage16_SetStateBits_Stub(
4843 struct IRpcStubBuffer
* This
,
4844 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4845 PRPC_MESSAGE pRpcMessage
,
4846 DWORD
* pdwStubPhase
);
4847 HRESULT CALLBACK
IStorage16_Stat_Proxy(
4851 void __RPC_STUB
IStorage16_Stat_Stub(
4852 struct IRpcStubBuffer
* This
,
4853 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4854 PRPC_MESSAGE pRpcMessage
,
4855 DWORD
* pdwStubPhase
);
4857 #endif /* __IStorage16_INTERFACE_DEFINED__ */
4859 #ifndef __IPersistFile_FWD_DEFINED__
4860 #define __IPersistFile_FWD_DEFINED__
4861 typedef struct IPersistFile IPersistFile
;
4864 typedef IPersistFile
*LPPERSISTFILE
;
4866 /*****************************************************************************
4867 * IPersistFile interface
4869 #ifndef __IPersistFile_INTERFACE_DEFINED__
4870 #define __IPersistFile_INTERFACE_DEFINED__
4872 DEFINE_GUID(IID_IPersistFile
, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4873 #if defined(__cplusplus) && !defined(CINTERFACE)
4874 struct IPersistFile
: public IPersist
4876 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
4879 virtual HRESULT STDMETHODCALLTYPE
Load(
4880 LPCOLESTR pszFileName
,
4883 virtual HRESULT STDMETHODCALLTYPE
Save(
4884 LPCOLESTR pszFileName
,
4885 BOOL fRemember
) = 0;
4887 virtual HRESULT STDMETHODCALLTYPE
SaveCompleted(
4888 LPCOLESTR pszFileName
) = 0;
4890 virtual HRESULT STDMETHODCALLTYPE
GetCurFile(
4891 LPOLESTR
* ppszFileName
) = 0;
4895 typedef struct IPersistFileVtbl IPersistFileVtbl
;
4896 struct IPersistFile
{
4897 const IPersistFileVtbl
* lpVtbl
;
4899 struct IPersistFileVtbl
{
4900 ICOM_MSVTABLE_COMPAT_FIELDS
4902 /*** IUnknown methods ***/
4903 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4908 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4909 IPersistFile
* This
);
4911 ULONG (STDMETHODCALLTYPE
*Release
)(
4912 IPersistFile
* This
);
4914 /*** IPersist methods ***/
4915 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
4919 /*** IPersistFile methods ***/
4920 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
4921 IPersistFile
* This
);
4923 HRESULT (STDMETHODCALLTYPE
*Load
)(
4925 LPCOLESTR pszFileName
,
4928 HRESULT (STDMETHODCALLTYPE
*Save
)(
4930 LPCOLESTR pszFileName
,
4933 HRESULT (STDMETHODCALLTYPE
*SaveCompleted
)(
4935 LPCOLESTR pszFileName
);
4937 HRESULT (STDMETHODCALLTYPE
*GetCurFile
)(
4939 LPOLESTR
* ppszFileName
);
4943 /*** IUnknown methods ***/
4944 #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4945 #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p)
4946 #define IPersistFile_Release(p) (p)->lpVtbl->Release(p)
4947 /*** IPersist methods ***/
4948 #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4949 /*** IPersistFile methods ***/
4950 #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4951 #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b)
4952 #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4953 #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4954 #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a)
4958 #define IPersistFile_METHODS \
4959 ICOM_MSVTABLE_COMPAT_FIELDS \
4960 /*** IUnknown methods ***/ \
4961 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4962 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4963 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4964 /*** IPersist methods ***/ \
4965 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4966 /*** IPersistFile methods ***/ \
4967 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4968 STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, DWORD dwMode) PURE; \
4969 STDMETHOD_(HRESULT,Save)(THIS_ LPCOLESTR pszFileName, BOOL fRemember) PURE; \
4970 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ LPCOLESTR pszFileName) PURE; \
4971 STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName) PURE;
4973 HRESULT CALLBACK
IPersistFile_IsDirty_Proxy(
4974 IPersistFile
* This
);
4975 void __RPC_STUB
IPersistFile_IsDirty_Stub(
4976 struct IRpcStubBuffer
* This
,
4977 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4978 PRPC_MESSAGE pRpcMessage
,
4979 DWORD
* pdwStubPhase
);
4980 HRESULT CALLBACK
IPersistFile_Load_Proxy(
4982 LPCOLESTR pszFileName
,
4984 void __RPC_STUB
IPersistFile_Load_Stub(
4985 struct IRpcStubBuffer
* This
,
4986 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4987 PRPC_MESSAGE pRpcMessage
,
4988 DWORD
* pdwStubPhase
);
4989 HRESULT CALLBACK
IPersistFile_Save_Proxy(
4991 LPCOLESTR pszFileName
,
4993 void __RPC_STUB
IPersistFile_Save_Stub(
4994 struct IRpcStubBuffer
* This
,
4995 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4996 PRPC_MESSAGE pRpcMessage
,
4997 DWORD
* pdwStubPhase
);
4998 HRESULT CALLBACK
IPersistFile_SaveCompleted_Proxy(
5000 LPCOLESTR pszFileName
);
5001 void __RPC_STUB
IPersistFile_SaveCompleted_Stub(
5002 struct IRpcStubBuffer
* This
,
5003 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5004 PRPC_MESSAGE pRpcMessage
,
5005 DWORD
* pdwStubPhase
);
5006 HRESULT CALLBACK
IPersistFile_GetCurFile_Proxy(
5008 LPOLESTR
* ppszFileName
);
5009 void __RPC_STUB
IPersistFile_GetCurFile_Stub(
5010 struct IRpcStubBuffer
* This
,
5011 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5012 PRPC_MESSAGE pRpcMessage
,
5013 DWORD
* pdwStubPhase
);
5015 #endif /* __IPersistFile_INTERFACE_DEFINED__ */
5017 #ifndef __IPersistStorage_FWD_DEFINED__
5018 #define __IPersistStorage_FWD_DEFINED__
5019 typedef struct IPersistStorage IPersistStorage
;
5022 typedef IPersistStorage
*LPPERSISTSTORAGE
;
5024 /*****************************************************************************
5025 * IPersistStorage interface
5027 #ifndef __IPersistStorage_INTERFACE_DEFINED__
5028 #define __IPersistStorage_INTERFACE_DEFINED__
5030 DEFINE_GUID(IID_IPersistStorage
, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5031 #if defined(__cplusplus) && !defined(CINTERFACE)
5032 struct IPersistStorage
: public IPersist
5034 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
5037 virtual HRESULT STDMETHODCALLTYPE
InitNew(
5038 IStorage
* pStg
) = 0;
5040 virtual HRESULT STDMETHODCALLTYPE
Load(
5041 IStorage
* pStg
) = 0;
5043 virtual HRESULT STDMETHODCALLTYPE
Save(
5045 BOOL fSameAsLoad
) = 0;
5047 virtual HRESULT STDMETHODCALLTYPE
SaveCompleted(
5048 IStorage
* pStgNew
) = 0;
5050 virtual HRESULT STDMETHODCALLTYPE
HandsOffStorage(
5055 typedef struct IPersistStorageVtbl IPersistStorageVtbl
;
5056 struct IPersistStorage
{
5057 const IPersistStorageVtbl
* lpVtbl
;
5059 struct IPersistStorageVtbl
{
5060 ICOM_MSVTABLE_COMPAT_FIELDS
5062 /*** IUnknown methods ***/
5063 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5064 IPersistStorage
* This
,
5068 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5069 IPersistStorage
* This
);
5071 ULONG (STDMETHODCALLTYPE
*Release
)(
5072 IPersistStorage
* This
);
5074 /*** IPersist methods ***/
5075 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
5076 IPersistStorage
* This
,
5079 /*** IPersistStorage methods ***/
5080 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
5081 IPersistStorage
* This
);
5083 HRESULT (STDMETHODCALLTYPE
*InitNew
)(
5084 IPersistStorage
* This
,
5087 HRESULT (STDMETHODCALLTYPE
*Load
)(
5088 IPersistStorage
* This
,
5091 HRESULT (STDMETHODCALLTYPE
*Save
)(
5092 IPersistStorage
* This
,
5096 HRESULT (STDMETHODCALLTYPE
*SaveCompleted
)(
5097 IPersistStorage
* This
,
5100 HRESULT (STDMETHODCALLTYPE
*HandsOffStorage
)(
5101 IPersistStorage
* This
);
5105 /*** IUnknown methods ***/
5106 #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5107 #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5108 #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p)
5109 /*** IPersist methods ***/
5110 #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
5111 /*** IPersistStorage methods ***/
5112 #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p)
5113 #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a)
5114 #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a)
5115 #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
5116 #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
5117 #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p)
5121 #define IPersistStorage_METHODS \
5122 ICOM_MSVTABLE_COMPAT_FIELDS \
5123 /*** IUnknown methods ***/ \
5124 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5125 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5126 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5127 /*** IPersist methods ***/ \
5128 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
5129 /*** IPersistStorage methods ***/ \
5130 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
5131 STDMETHOD_(HRESULT,InitNew)(THIS_ IStorage* pStg) PURE; \
5132 STDMETHOD_(HRESULT,Load)(THIS_ IStorage* pStg) PURE; \
5133 STDMETHOD_(HRESULT,Save)(THIS_ IStorage* pStgSave, BOOL fSameAsLoad) PURE; \
5134 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IStorage* pStgNew) PURE; \
5135 STDMETHOD_(HRESULT,HandsOffStorage)(THIS) PURE;
5137 HRESULT CALLBACK
IPersistStorage_IsDirty_Proxy(
5138 IPersistStorage
* This
);
5139 void __RPC_STUB
IPersistStorage_IsDirty_Stub(
5140 struct IRpcStubBuffer
* This
,
5141 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5142 PRPC_MESSAGE pRpcMessage
,
5143 DWORD
* pdwStubPhase
);
5144 HRESULT CALLBACK
IPersistStorage_InitNew_Proxy(
5145 IPersistStorage
* This
,
5147 void __RPC_STUB
IPersistStorage_InitNew_Stub(
5148 struct IRpcStubBuffer
* This
,
5149 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5150 PRPC_MESSAGE pRpcMessage
,
5151 DWORD
* pdwStubPhase
);
5152 HRESULT CALLBACK
IPersistStorage_Load_Proxy(
5153 IPersistStorage
* This
,
5155 void __RPC_STUB
IPersistStorage_Load_Stub(
5156 struct IRpcStubBuffer
* This
,
5157 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5158 PRPC_MESSAGE pRpcMessage
,
5159 DWORD
* pdwStubPhase
);
5160 HRESULT CALLBACK
IPersistStorage_Save_Proxy(
5161 IPersistStorage
* This
,
5164 void __RPC_STUB
IPersistStorage_Save_Stub(
5165 struct IRpcStubBuffer
* This
,
5166 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5167 PRPC_MESSAGE pRpcMessage
,
5168 DWORD
* pdwStubPhase
);
5169 HRESULT CALLBACK
IPersistStorage_SaveCompleted_Proxy(
5170 IPersistStorage
* This
,
5172 void __RPC_STUB
IPersistStorage_SaveCompleted_Stub(
5173 struct IRpcStubBuffer
* This
,
5174 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5175 PRPC_MESSAGE pRpcMessage
,
5176 DWORD
* pdwStubPhase
);
5177 HRESULT CALLBACK
IPersistStorage_HandsOffStorage_Proxy(
5178 IPersistStorage
* This
);
5179 void __RPC_STUB
IPersistStorage_HandsOffStorage_Stub(
5180 struct IRpcStubBuffer
* This
,
5181 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5182 PRPC_MESSAGE pRpcMessage
,
5183 DWORD
* pdwStubPhase
);
5185 #endif /* __IPersistStorage_INTERFACE_DEFINED__ */
5187 #ifndef __IRootStorage_FWD_DEFINED__
5188 #define __IRootStorage_FWD_DEFINED__
5189 typedef struct IRootStorage IRootStorage
;
5192 typedef IRootStorage
*LPROOTSTORAGE
;
5194 /*****************************************************************************
5195 * IRootStorage interface
5197 #ifndef __IRootStorage_INTERFACE_DEFINED__
5198 #define __IRootStorage_INTERFACE_DEFINED__
5200 DEFINE_GUID(IID_IRootStorage
, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5201 #if defined(__cplusplus) && !defined(CINTERFACE)
5202 struct IRootStorage
: public IUnknown
5204 virtual HRESULT STDMETHODCALLTYPE
SwitchToFile(
5205 LPOLESTR pszFile
) = 0;
5209 typedef struct IRootStorageVtbl IRootStorageVtbl
;
5210 struct IRootStorage
{
5211 const IRootStorageVtbl
* lpVtbl
;
5213 struct IRootStorageVtbl
{
5214 ICOM_MSVTABLE_COMPAT_FIELDS
5216 /*** IUnknown methods ***/
5217 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5222 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5223 IRootStorage
* This
);
5225 ULONG (STDMETHODCALLTYPE
*Release
)(
5226 IRootStorage
* This
);
5228 /*** IRootStorage methods ***/
5229 HRESULT (STDMETHODCALLTYPE
*SwitchToFile
)(
5235 /*** IUnknown methods ***/
5236 #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5237 #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5238 #define IRootStorage_Release(p) (p)->lpVtbl->Release(p)
5239 /*** IRootStorage methods ***/
5240 #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a)
5244 #define IRootStorage_METHODS \
5245 ICOM_MSVTABLE_COMPAT_FIELDS \
5246 /*** IUnknown methods ***/ \
5247 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5248 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5249 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5250 /*** IRootStorage methods ***/ \
5251 STDMETHOD_(HRESULT,SwitchToFile)(THIS_ LPOLESTR pszFile) PURE;
5253 HRESULT CALLBACK
IRootStorage_SwitchToFile_Proxy(
5256 void __RPC_STUB
IRootStorage_SwitchToFile_Stub(
5257 struct IRpcStubBuffer
* This
,
5258 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5259 PRPC_MESSAGE pRpcMessage
,
5260 DWORD
* pdwStubPhase
);
5262 #endif /* __IRootStorage_INTERFACE_DEFINED__ */
5264 #ifndef __ILockBytes_FWD_DEFINED__
5265 #define __ILockBytes_FWD_DEFINED__
5266 typedef struct ILockBytes ILockBytes
;
5269 typedef ILockBytes
*LPLOCKBYTES
;
5271 /*****************************************************************************
5272 * ILockBytes interface
5274 #ifndef __ILockBytes_INTERFACE_DEFINED__
5275 #define __ILockBytes_INTERFACE_DEFINED__
5277 DEFINE_GUID(IID_ILockBytes
, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5278 #if defined(__cplusplus) && !defined(CINTERFACE)
5279 struct ILockBytes
: public IUnknown
5281 virtual HRESULT STDMETHODCALLTYPE
ReadAt(
5282 ULARGE_INTEGER ulOffset
,
5285 ULONG
* pcbRead
) = 0;
5287 virtual HRESULT STDMETHODCALLTYPE
WriteAt(
5288 ULARGE_INTEGER ulOffset
,
5291 ULONG
* pcbWritten
) = 0;
5293 virtual HRESULT STDMETHODCALLTYPE
Flush(
5296 virtual HRESULT STDMETHODCALLTYPE
SetSize(
5297 ULARGE_INTEGER cb
) = 0;
5299 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
5300 ULARGE_INTEGER libOffset
,
5302 DWORD dwLockType
) = 0;
5304 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
5305 ULARGE_INTEGER libOffset
,
5307 DWORD dwLockType
) = 0;
5309 virtual HRESULT STDMETHODCALLTYPE
Stat(
5311 DWORD grfStatFlag
) = 0;
5315 typedef struct ILockBytesVtbl ILockBytesVtbl
;
5317 const ILockBytesVtbl
* lpVtbl
;
5319 struct ILockBytesVtbl
{
5320 ICOM_MSVTABLE_COMPAT_FIELDS
5322 /*** IUnknown methods ***/
5323 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5328 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5331 ULONG (STDMETHODCALLTYPE
*Release
)(
5334 /*** ILockBytes methods ***/
5335 HRESULT (STDMETHODCALLTYPE
*ReadAt
)(
5337 ULARGE_INTEGER ulOffset
,
5342 HRESULT (STDMETHODCALLTYPE
*WriteAt
)(
5344 ULARGE_INTEGER ulOffset
,
5349 HRESULT (STDMETHODCALLTYPE
*Flush
)(
5352 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
5356 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
5358 ULARGE_INTEGER libOffset
,
5362 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
5364 ULARGE_INTEGER libOffset
,
5368 HRESULT (STDMETHODCALLTYPE
*Stat
)(
5375 /*** IUnknown methods ***/
5376 #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5377 #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
5378 #define ILockBytes_Release(p) (p)->lpVtbl->Release(p)
5379 /*** ILockBytes methods ***/
5380 #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d)
5381 #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d)
5382 #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p)
5383 #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
5384 #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
5385 #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
5386 #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
5390 #define ILockBytes_METHODS \
5391 ICOM_MSVTABLE_COMPAT_FIELDS \
5392 /*** IUnknown methods ***/ \
5393 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5394 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5395 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5396 /*** ILockBytes methods ***/ \
5397 STDMETHOD_(HRESULT,ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void* pv, ULONG cb, ULONG* pcbRead) PURE; \
5398 STDMETHOD_(HRESULT,WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5399 STDMETHOD_(HRESULT,Flush)(THIS) PURE; \
5400 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \
5401 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
5402 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
5403 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
5405 HRESULT CALLBACK
ILockBytes_RemoteReadAt_Proxy(
5407 ULARGE_INTEGER ulOffset
,
5411 void __RPC_STUB
ILockBytes_RemoteReadAt_Stub(
5412 struct IRpcStubBuffer
* This
,
5413 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5414 PRPC_MESSAGE pRpcMessage
,
5415 DWORD
* pdwStubPhase
);
5416 HRESULT CALLBACK
ILockBytes_ReadAt_Proxy(
5418 ULARGE_INTEGER ulOffset
,
5422 HRESULT __RPC_STUB
ILockBytes_ReadAt_Stub(
5424 ULARGE_INTEGER ulOffset
,
5428 HRESULT CALLBACK
ILockBytes_RemoteWriteAt_Proxy(
5430 ULARGE_INTEGER ulOffset
,
5434 void __RPC_STUB
ILockBytes_RemoteWriteAt_Stub(
5435 struct IRpcStubBuffer
* This
,
5436 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5437 PRPC_MESSAGE pRpcMessage
,
5438 DWORD
* pdwStubPhase
);
5439 HRESULT CALLBACK
ILockBytes_WriteAt_Proxy(
5441 ULARGE_INTEGER ulOffset
,
5445 HRESULT __RPC_STUB
ILockBytes_WriteAt_Stub(
5447 ULARGE_INTEGER ulOffset
,
5451 HRESULT CALLBACK
ILockBytes_Flush_Proxy(
5453 void __RPC_STUB
ILockBytes_Flush_Stub(
5454 struct IRpcStubBuffer
* This
,
5455 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5456 PRPC_MESSAGE pRpcMessage
,
5457 DWORD
* pdwStubPhase
);
5458 HRESULT CALLBACK
ILockBytes_SetSize_Proxy(
5461 void __RPC_STUB
ILockBytes_SetSize_Stub(
5462 struct IRpcStubBuffer
* This
,
5463 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5464 PRPC_MESSAGE pRpcMessage
,
5465 DWORD
* pdwStubPhase
);
5466 HRESULT CALLBACK
ILockBytes_LockRegion_Proxy(
5468 ULARGE_INTEGER libOffset
,
5471 void __RPC_STUB
ILockBytes_LockRegion_Stub(
5472 struct IRpcStubBuffer
* This
,
5473 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5474 PRPC_MESSAGE pRpcMessage
,
5475 DWORD
* pdwStubPhase
);
5476 HRESULT CALLBACK
ILockBytes_UnlockRegion_Proxy(
5478 ULARGE_INTEGER libOffset
,
5481 void __RPC_STUB
ILockBytes_UnlockRegion_Stub(
5482 struct IRpcStubBuffer
* This
,
5483 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5484 PRPC_MESSAGE pRpcMessage
,
5485 DWORD
* pdwStubPhase
);
5486 HRESULT CALLBACK
ILockBytes_Stat_Proxy(
5490 void __RPC_STUB
ILockBytes_Stat_Stub(
5491 struct IRpcStubBuffer
* This
,
5492 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5493 PRPC_MESSAGE pRpcMessage
,
5494 DWORD
* pdwStubPhase
);
5496 #endif /* __ILockBytes_INTERFACE_DEFINED__ */
5498 #ifndef __IFillLockBytes_FWD_DEFINED__
5499 #define __IFillLockBytes_FWD_DEFINED__
5500 typedef struct IFillLockBytes IFillLockBytes
;
5503 /*****************************************************************************
5504 * IFillLockBytes interface
5506 #ifndef __IFillLockBytes_INTERFACE_DEFINED__
5507 #define __IFillLockBytes_INTERFACE_DEFINED__
5509 DEFINE_GUID(IID_IFillLockBytes
, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
5510 #if defined(__cplusplus) && !defined(CINTERFACE)
5511 struct IFillLockBytes
: public IUnknown
5513 virtual HRESULT STDMETHODCALLTYPE
FillAppend(
5516 ULONG
* pcbWritten
) = 0;
5518 virtual HRESULT STDMETHODCALLTYPE
FillAt(
5519 ULARGE_INTEGER ulOffset
,
5522 ULONG
* pcbWritten
) = 0;
5524 virtual HRESULT STDMETHODCALLTYPE
SetFillSize(
5525 ULARGE_INTEGER ulSize
) = 0;
5527 virtual HRESULT STDMETHODCALLTYPE
Terminate(
5528 BOOL bCanceled
) = 0;
5532 typedef struct IFillLockBytesVtbl IFillLockBytesVtbl
;
5533 struct IFillLockBytes
{
5534 const IFillLockBytesVtbl
* lpVtbl
;
5536 struct IFillLockBytesVtbl
{
5537 ICOM_MSVTABLE_COMPAT_FIELDS
5539 /*** IUnknown methods ***/
5540 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5541 IFillLockBytes
* This
,
5545 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5546 IFillLockBytes
* This
);
5548 ULONG (STDMETHODCALLTYPE
*Release
)(
5549 IFillLockBytes
* This
);
5551 /*** IFillLockBytes methods ***/
5552 HRESULT (STDMETHODCALLTYPE
*FillAppend
)(
5553 IFillLockBytes
* This
,
5558 HRESULT (STDMETHODCALLTYPE
*FillAt
)(
5559 IFillLockBytes
* This
,
5560 ULARGE_INTEGER ulOffset
,
5565 HRESULT (STDMETHODCALLTYPE
*SetFillSize
)(
5566 IFillLockBytes
* This
,
5567 ULARGE_INTEGER ulSize
);
5569 HRESULT (STDMETHODCALLTYPE
*Terminate
)(
5570 IFillLockBytes
* This
,
5575 /*** IUnknown methods ***/
5576 #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5577 #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
5578 #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p)
5579 /*** IFillLockBytes methods ***/
5580 #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c)
5581 #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d)
5582 #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a)
5583 #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
5587 #define IFillLockBytes_METHODS \
5588 ICOM_MSVTABLE_COMPAT_FIELDS \
5589 /*** IUnknown methods ***/ \
5590 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5591 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5592 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5593 /*** IFillLockBytes methods ***/ \
5594 STDMETHOD_(HRESULT,FillAppend)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5595 STDMETHOD_(HRESULT,FillAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5596 STDMETHOD_(HRESULT,SetFillSize)(THIS_ ULARGE_INTEGER ulSize) PURE; \
5597 STDMETHOD_(HRESULT,Terminate)(THIS_ BOOL bCanceled) PURE;
5599 HRESULT CALLBACK
IFillLockBytes_RemoteFillAppend_Proxy(
5600 IFillLockBytes
* This
,
5604 void __RPC_STUB
IFillLockBytes_RemoteFillAppend_Stub(
5605 struct IRpcStubBuffer
* This
,
5606 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5607 PRPC_MESSAGE pRpcMessage
,
5608 DWORD
* pdwStubPhase
);
5609 HRESULT CALLBACK
IFillLockBytes_FillAppend_Proxy(
5610 IFillLockBytes
* This
,
5614 HRESULT __RPC_STUB
IFillLockBytes_FillAppend_Stub(
5615 IFillLockBytes
* This
,
5619 HRESULT CALLBACK
IFillLockBytes_RemoteFillAt_Proxy(
5620 IFillLockBytes
* This
,
5621 ULARGE_INTEGER ulOffset
,
5625 void __RPC_STUB
IFillLockBytes_RemoteFillAt_Stub(
5626 struct IRpcStubBuffer
* This
,
5627 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5628 PRPC_MESSAGE pRpcMessage
,
5629 DWORD
* pdwStubPhase
);
5630 HRESULT CALLBACK
IFillLockBytes_FillAt_Proxy(
5631 IFillLockBytes
* This
,
5632 ULARGE_INTEGER ulOffset
,
5636 HRESULT __RPC_STUB
IFillLockBytes_FillAt_Stub(
5637 IFillLockBytes
* This
,
5638 ULARGE_INTEGER ulOffset
,
5642 HRESULT CALLBACK
IFillLockBytes_SetFillSize_Proxy(
5643 IFillLockBytes
* This
,
5644 ULARGE_INTEGER ulSize
);
5645 void __RPC_STUB
IFillLockBytes_SetFillSize_Stub(
5646 struct IRpcStubBuffer
* This
,
5647 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5648 PRPC_MESSAGE pRpcMessage
,
5649 DWORD
* pdwStubPhase
);
5650 HRESULT CALLBACK
IFillLockBytes_Terminate_Proxy(
5651 IFillLockBytes
* This
,
5653 void __RPC_STUB
IFillLockBytes_Terminate_Stub(
5654 struct IRpcStubBuffer
* This
,
5655 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5656 PRPC_MESSAGE pRpcMessage
,
5657 DWORD
* pdwStubPhase
);
5659 #endif /* __IFillLockBytes_INTERFACE_DEFINED__ */
5661 #ifndef __IProgressNotify_FWD_DEFINED__
5662 #define __IProgressNotify_FWD_DEFINED__
5663 typedef struct IProgressNotify IProgressNotify
;
5666 /*****************************************************************************
5667 * IProgressNotify interface
5669 #ifndef __IProgressNotify_INTERFACE_DEFINED__
5670 #define __IProgressNotify_INTERFACE_DEFINED__
5672 DEFINE_GUID(IID_IProgressNotify
, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5673 #if defined(__cplusplus) && !defined(CINTERFACE)
5674 struct IProgressNotify
: public IUnknown
5676 virtual HRESULT STDMETHODCALLTYPE
OnProgress(
5677 DWORD dwProgressCurrent
,
5678 DWORD dwProgressMaximum
,
5684 typedef struct IProgressNotifyVtbl IProgressNotifyVtbl
;
5685 struct IProgressNotify
{
5686 const IProgressNotifyVtbl
* lpVtbl
;
5688 struct IProgressNotifyVtbl
{
5689 ICOM_MSVTABLE_COMPAT_FIELDS
5691 /*** IUnknown methods ***/
5692 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5693 IProgressNotify
* This
,
5697 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5698 IProgressNotify
* This
);
5700 ULONG (STDMETHODCALLTYPE
*Release
)(
5701 IProgressNotify
* This
);
5703 /*** IProgressNotify methods ***/
5704 HRESULT (STDMETHODCALLTYPE
*OnProgress
)(
5705 IProgressNotify
* This
,
5706 DWORD dwProgressCurrent
,
5707 DWORD dwProgressMaximum
,
5713 /*** IUnknown methods ***/
5714 #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5715 #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
5716 #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p)
5717 /*** IProgressNotify methods ***/
5718 #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
5722 #define IProgressNotify_METHODS \
5723 ICOM_MSVTABLE_COMPAT_FIELDS \
5724 /*** IUnknown methods ***/ \
5725 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5726 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5727 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5728 /*** IProgressNotify methods ***/ \
5729 STDMETHOD_(HRESULT,OnProgress)(THIS_ DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) PURE;
5731 HRESULT CALLBACK
IProgressNotify_OnProgress_Proxy(
5732 IProgressNotify
* This
,
5733 DWORD dwProgressCurrent
,
5734 DWORD dwProgressMaximum
,
5737 void __RPC_STUB
IProgressNotify_OnProgress_Stub(
5738 struct IRpcStubBuffer
* This
,
5739 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5740 PRPC_MESSAGE pRpcMessage
,
5741 DWORD
* pdwStubPhase
);
5743 #endif /* __IProgressNotify_INTERFACE_DEFINED__ */
5745 #ifndef __ILayoutStorage_FWD_DEFINED__
5746 #define __ILayoutStorage_FWD_DEFINED__
5747 typedef struct ILayoutStorage ILayoutStorage
;
5750 typedef struct tagStorageLayout
{
5752 OLECHAR
*pwcsElementName
;
5753 LARGE_INTEGER cOffset
;
5754 LARGE_INTEGER cBytes
;
5757 /*****************************************************************************
5758 * ILayoutStorage interface
5760 #ifndef __ILayoutStorage_INTERFACE_DEFINED__
5761 #define __ILayoutStorage_INTERFACE_DEFINED__
5763 DEFINE_GUID(IID_ILayoutStorage
, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5764 #if defined(__cplusplus) && !defined(CINTERFACE)
5765 struct ILayoutStorage
: public IUnknown
5767 virtual HRESULT STDMETHODCALLTYPE
LayoutScript(
5768 StorageLayout
* pStorageLayout
,
5770 DWORD glfInterleavedFlag
) = 0;
5772 virtual HRESULT STDMETHODCALLTYPE
BeginMonitor(
5775 virtual HRESULT STDMETHODCALLTYPE
EndMonitor(
5778 virtual HRESULT STDMETHODCALLTYPE
ReLayoutDocfile(
5779 OLECHAR
* pwcsNewDfName
) = 0;
5781 virtual HRESULT STDMETHODCALLTYPE
ReLayoutDocfileOnILockBytes(
5782 ILockBytes
* pILockBytes
) = 0;
5786 typedef struct ILayoutStorageVtbl ILayoutStorageVtbl
;
5787 struct ILayoutStorage
{
5788 const ILayoutStorageVtbl
* lpVtbl
;
5790 struct ILayoutStorageVtbl
{
5791 ICOM_MSVTABLE_COMPAT_FIELDS
5793 /*** IUnknown methods ***/
5794 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5795 ILayoutStorage
* This
,
5799 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5800 ILayoutStorage
* This
);
5802 ULONG (STDMETHODCALLTYPE
*Release
)(
5803 ILayoutStorage
* This
);
5805 /*** ILayoutStorage methods ***/
5806 HRESULT (STDMETHODCALLTYPE
*LayoutScript
)(
5807 ILayoutStorage
* This
,
5808 StorageLayout
* pStorageLayout
,
5810 DWORD glfInterleavedFlag
);
5812 HRESULT (STDMETHODCALLTYPE
*BeginMonitor
)(
5813 ILayoutStorage
* This
);
5815 HRESULT (STDMETHODCALLTYPE
*EndMonitor
)(
5816 ILayoutStorage
* This
);
5818 HRESULT (STDMETHODCALLTYPE
*ReLayoutDocfile
)(
5819 ILayoutStorage
* This
,
5820 OLECHAR
* pwcsNewDfName
);
5822 HRESULT (STDMETHODCALLTYPE
*ReLayoutDocfileOnILockBytes
)(
5823 ILayoutStorage
* This
,
5824 ILockBytes
* pILockBytes
);
5828 /*** IUnknown methods ***/
5829 #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5830 #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5831 #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p)
5832 /*** ILayoutStorage methods ***/
5833 #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c)
5834 #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p)
5835 #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p)
5836 #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a)
5837 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a)
5841 #define ILayoutStorage_METHODS \
5842 ICOM_MSVTABLE_COMPAT_FIELDS \
5843 /*** IUnknown methods ***/ \
5844 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5845 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5846 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5847 /*** ILayoutStorage methods ***/ \
5848 STDMETHOD_(HRESULT,LayoutScript)(THIS_ StorageLayout* pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) PURE; \
5849 STDMETHOD_(HRESULT,BeginMonitor)(THIS) PURE; \
5850 STDMETHOD_(HRESULT,EndMonitor)(THIS) PURE; \
5851 STDMETHOD_(HRESULT,ReLayoutDocfile)(THIS_ OLECHAR* pwcsNewDfName) PURE; \
5852 STDMETHOD_(HRESULT,ReLayoutDocfileOnILockBytes)(THIS_ ILockBytes* pILockBytes) PURE;
5854 HRESULT CALLBACK
ILayoutStorage_LayoutScript_Proxy(
5855 ILayoutStorage
* This
,
5856 StorageLayout
* pStorageLayout
,
5858 DWORD glfInterleavedFlag
);
5859 void __RPC_STUB
ILayoutStorage_LayoutScript_Stub(
5860 struct IRpcStubBuffer
* This
,
5861 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5862 PRPC_MESSAGE pRpcMessage
,
5863 DWORD
* pdwStubPhase
);
5864 HRESULT CALLBACK
ILayoutStorage_BeginMonitor_Proxy(
5865 ILayoutStorage
* This
);
5866 void __RPC_STUB
ILayoutStorage_BeginMonitor_Stub(
5867 struct IRpcStubBuffer
* This
,
5868 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5869 PRPC_MESSAGE pRpcMessage
,
5870 DWORD
* pdwStubPhase
);
5871 HRESULT CALLBACK
ILayoutStorage_EndMonitor_Proxy(
5872 ILayoutStorage
* This
);
5873 void __RPC_STUB
ILayoutStorage_EndMonitor_Stub(
5874 struct IRpcStubBuffer
* This
,
5875 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5876 PRPC_MESSAGE pRpcMessage
,
5877 DWORD
* pdwStubPhase
);
5878 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfile_Proxy(
5879 ILayoutStorage
* This
,
5880 OLECHAR
* pwcsNewDfName
);
5881 void __RPC_STUB
ILayoutStorage_ReLayoutDocfile_Stub(
5882 struct IRpcStubBuffer
* This
,
5883 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5884 PRPC_MESSAGE pRpcMessage
,
5885 DWORD
* pdwStubPhase
);
5886 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
5887 ILayoutStorage
* This
,
5888 ILockBytes
* pILockBytes
);
5889 void __RPC_STUB
ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
5890 struct IRpcStubBuffer
* This
,
5891 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5892 PRPC_MESSAGE pRpcMessage
,
5893 DWORD
* pdwStubPhase
);
5895 #endif /* __ILayoutStorage_INTERFACE_DEFINED__ */
5897 #ifndef __IEnumFORMATETC_FWD_DEFINED__
5898 #define __IEnumFORMATETC_FWD_DEFINED__
5899 typedef struct IEnumFORMATETC IEnumFORMATETC
;
5902 typedef IEnumFORMATETC
*LPENUMFORMATETC
;
5904 typedef struct tagDVTARGETDEVICE
{
5906 WORD tdDriverNameOffset
;
5907 WORD tdDeviceNameOffset
;
5908 WORD tdPortNameOffset
;
5909 WORD tdExtDevmodeOffset
;
5913 typedef CLIPFORMAT
*LPCLIPFORMAT
;
5915 typedef struct tagFORMATETC
{
5916 CLIPFORMAT cfFormat
;
5917 DVTARGETDEVICE
*ptd
;
5921 } FORMATETC
, *LPFORMATETC
;
5923 /*****************************************************************************
5924 * IEnumFORMATETC interface
5926 #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
5927 #define __IEnumFORMATETC_INTERFACE_DEFINED__
5929 DEFINE_GUID(IID_IEnumFORMATETC
, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5930 #if defined(__cplusplus) && !defined(CINTERFACE)
5931 struct IEnumFORMATETC
: public IUnknown
5933 virtual HRESULT STDMETHODCALLTYPE
Next(
5936 ULONG
* pceltFetched
) = 0;
5938 virtual HRESULT STDMETHODCALLTYPE
Skip(
5941 virtual HRESULT STDMETHODCALLTYPE
Reset(
5944 virtual HRESULT STDMETHODCALLTYPE
Clone(
5945 IEnumFORMATETC
** ppenum
) = 0;
5949 typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl
;
5950 struct IEnumFORMATETC
{
5951 const IEnumFORMATETCVtbl
* lpVtbl
;
5953 struct IEnumFORMATETCVtbl
{
5954 ICOM_MSVTABLE_COMPAT_FIELDS
5956 /*** IUnknown methods ***/
5957 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5958 IEnumFORMATETC
* This
,
5962 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5963 IEnumFORMATETC
* This
);
5965 ULONG (STDMETHODCALLTYPE
*Release
)(
5966 IEnumFORMATETC
* This
);
5968 /*** IEnumFORMATETC methods ***/
5969 HRESULT (STDMETHODCALLTYPE
*Next
)(
5970 IEnumFORMATETC
* This
,
5973 ULONG
* pceltFetched
);
5975 HRESULT (STDMETHODCALLTYPE
*Skip
)(
5976 IEnumFORMATETC
* This
,
5979 HRESULT (STDMETHODCALLTYPE
*Reset
)(
5980 IEnumFORMATETC
* This
);
5982 HRESULT (STDMETHODCALLTYPE
*Clone
)(
5983 IEnumFORMATETC
* This
,
5984 IEnumFORMATETC
** ppenum
);
5988 /*** IUnknown methods ***/
5989 #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5990 #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p)
5991 #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p)
5992 /*** IEnumFORMATETC methods ***/
5993 #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5994 #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5995 #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p)
5996 #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a)
6000 #define IEnumFORMATETC_METHODS \
6001 ICOM_MSVTABLE_COMPAT_FIELDS \
6002 /*** IUnknown methods ***/ \
6003 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6004 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6005 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6006 /*** IEnumFORMATETC methods ***/ \
6007 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched) PURE; \
6008 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
6009 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
6010 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFORMATETC** ppenum) PURE;
6012 HRESULT CALLBACK
IEnumFORMATETC_RemoteNext_Proxy(
6013 IEnumFORMATETC
* This
,
6016 ULONG
* pceltFetched
);
6017 void __RPC_STUB
IEnumFORMATETC_RemoteNext_Stub(
6018 struct IRpcStubBuffer
* This
,
6019 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6020 PRPC_MESSAGE pRpcMessage
,
6021 DWORD
* pdwStubPhase
);
6022 HRESULT CALLBACK
IEnumFORMATETC_Next_Proxy(
6023 IEnumFORMATETC
* This
,
6026 ULONG
* pceltFetched
);
6027 HRESULT __RPC_STUB
IEnumFORMATETC_Next_Stub(
6028 IEnumFORMATETC
* This
,
6031 ULONG
* pceltFetched
);
6032 HRESULT CALLBACK
IEnumFORMATETC_Skip_Proxy(
6033 IEnumFORMATETC
* This
,
6035 void __RPC_STUB
IEnumFORMATETC_Skip_Stub(
6036 struct IRpcStubBuffer
* This
,
6037 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6038 PRPC_MESSAGE pRpcMessage
,
6039 DWORD
* pdwStubPhase
);
6040 HRESULT CALLBACK
IEnumFORMATETC_Reset_Proxy(
6041 IEnumFORMATETC
* This
);
6042 void __RPC_STUB
IEnumFORMATETC_Reset_Stub(
6043 struct IRpcStubBuffer
* This
,
6044 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6045 PRPC_MESSAGE pRpcMessage
,
6046 DWORD
* pdwStubPhase
);
6047 HRESULT CALLBACK
IEnumFORMATETC_Clone_Proxy(
6048 IEnumFORMATETC
* This
,
6049 IEnumFORMATETC
** ppenum
);
6050 void __RPC_STUB
IEnumFORMATETC_Clone_Stub(
6051 struct IRpcStubBuffer
* This
,
6052 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6053 PRPC_MESSAGE pRpcMessage
,
6054 DWORD
* pdwStubPhase
);
6056 #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
6058 #ifndef __IEnumSTATDATA_FWD_DEFINED__
6059 #define __IEnumSTATDATA_FWD_DEFINED__
6060 typedef struct IEnumSTATDATA IEnumSTATDATA
;
6063 typedef IEnumSTATDATA
*LPENUMSTATDATA
;
6065 typedef enum tagADVF
{
6067 ADVF_PRIMEFIRST
= 2,
6069 ADVF_DATAONSTOP
= 64,
6070 ADVFCACHE_NOHANDLER
= 8,
6071 ADVFCACHE_FORCEBUILTIN
= 16,
6072 ADVFCACHE_ONSAVE
= 32
6075 typedef struct tagSTATDATA
{
6076 FORMATETC formatetc
;
6078 IAdviseSink
*pAdvSink
;
6080 } STATDATA
, *LPSTATDATA
;
6082 /*****************************************************************************
6083 * IEnumSTATDATA interface
6085 #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
6086 #define __IEnumSTATDATA_INTERFACE_DEFINED__
6088 DEFINE_GUID(IID_IEnumSTATDATA
, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6089 #if defined(__cplusplus) && !defined(CINTERFACE)
6090 struct IEnumSTATDATA
: public IUnknown
6092 virtual HRESULT STDMETHODCALLTYPE
Next(
6095 ULONG
* pceltFetched
) = 0;
6097 virtual HRESULT STDMETHODCALLTYPE
Skip(
6100 virtual HRESULT STDMETHODCALLTYPE
Reset(
6103 virtual HRESULT STDMETHODCALLTYPE
Clone(
6104 IEnumSTATDATA
** ppenum
) = 0;
6108 typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl
;
6109 struct IEnumSTATDATA
{
6110 const IEnumSTATDATAVtbl
* lpVtbl
;
6112 struct IEnumSTATDATAVtbl
{
6113 ICOM_MSVTABLE_COMPAT_FIELDS
6115 /*** IUnknown methods ***/
6116 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6117 IEnumSTATDATA
* This
,
6121 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6122 IEnumSTATDATA
* This
);
6124 ULONG (STDMETHODCALLTYPE
*Release
)(
6125 IEnumSTATDATA
* This
);
6127 /*** IEnumSTATDATA methods ***/
6128 HRESULT (STDMETHODCALLTYPE
*Next
)(
6129 IEnumSTATDATA
* This
,
6132 ULONG
* pceltFetched
);
6134 HRESULT (STDMETHODCALLTYPE
*Skip
)(
6135 IEnumSTATDATA
* This
,
6138 HRESULT (STDMETHODCALLTYPE
*Reset
)(
6139 IEnumSTATDATA
* This
);
6141 HRESULT (STDMETHODCALLTYPE
*Clone
)(
6142 IEnumSTATDATA
* This
,
6143 IEnumSTATDATA
** ppenum
);
6147 /*** IUnknown methods ***/
6148 #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6149 #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p)
6150 #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p)
6151 /*** IEnumSTATDATA methods ***/
6152 #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
6153 #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a)
6154 #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p)
6155 #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a)
6159 #define IEnumSTATDATA_METHODS \
6160 ICOM_MSVTABLE_COMPAT_FIELDS \
6161 /*** IUnknown methods ***/ \
6162 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6163 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6164 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6165 /*** IEnumSTATDATA methods ***/ \
6166 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATDATA* rgelt, ULONG* pceltFetched) PURE; \
6167 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
6168 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
6169 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATDATA** ppenum) PURE;
6171 HRESULT CALLBACK
IEnumSTATDATA_RemoteNext_Proxy(
6172 IEnumSTATDATA
* This
,
6175 ULONG
* pceltFetched
);
6176 void __RPC_STUB
IEnumSTATDATA_RemoteNext_Stub(
6177 struct IRpcStubBuffer
* This
,
6178 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6179 PRPC_MESSAGE pRpcMessage
,
6180 DWORD
* pdwStubPhase
);
6181 HRESULT CALLBACK
IEnumSTATDATA_Next_Proxy(
6182 IEnumSTATDATA
* This
,
6185 ULONG
* pceltFetched
);
6186 HRESULT __RPC_STUB
IEnumSTATDATA_Next_Stub(
6187 IEnumSTATDATA
* This
,
6190 ULONG
* pceltFetched
);
6191 HRESULT CALLBACK
IEnumSTATDATA_Skip_Proxy(
6192 IEnumSTATDATA
* This
,
6194 void __RPC_STUB
IEnumSTATDATA_Skip_Stub(
6195 struct IRpcStubBuffer
* This
,
6196 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6197 PRPC_MESSAGE pRpcMessage
,
6198 DWORD
* pdwStubPhase
);
6199 HRESULT CALLBACK
IEnumSTATDATA_Reset_Proxy(
6200 IEnumSTATDATA
* This
);
6201 void __RPC_STUB
IEnumSTATDATA_Reset_Stub(
6202 struct IRpcStubBuffer
* This
,
6203 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6204 PRPC_MESSAGE pRpcMessage
,
6205 DWORD
* pdwStubPhase
);
6206 HRESULT CALLBACK
IEnumSTATDATA_Clone_Proxy(
6207 IEnumSTATDATA
* This
,
6208 IEnumSTATDATA
** ppenum
);
6209 void __RPC_STUB
IEnumSTATDATA_Clone_Stub(
6210 struct IRpcStubBuffer
* This
,
6211 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6212 PRPC_MESSAGE pRpcMessage
,
6213 DWORD
* pdwStubPhase
);
6215 #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
6217 typedef IAdviseSink
*LPADVISESINK
;
6219 typedef enum tagTYMED
{
6230 typedef struct tagRemSTGMEDIUM
{
6233 unsigned long pData
;
6234 unsigned long pUnkForRelease
;
6235 unsigned long cbData
;
6239 typedef struct tagSTGMEDIUM
{
6243 HMETAFILEPICT hMetaFilePict
;
6244 HENHMETAFILE hEnhMetaFile
;
6246 LPOLESTR lpszFileName
;
6250 IUnknown
*pUnkForRelease
;
6253 typedef struct _GDI_OBJECT
{
6256 wireHBITMAP hBitmap
;
6257 wireHPALETTE hPalette
;
6258 wireHGLOBAL hGeneric
;
6262 typedef struct _userSTGMEDIUM
{
6266 wireHMETAFILEPICT hMetaFilePict
;
6267 wireHENHMETAFILE hHEnhMetaFile
;
6268 GDI_OBJECT
*hGdiHandle
;
6269 wireHGLOBAL hGlobal
;
6270 LPOLESTR lpszFileName
;
6275 IUnknown
*pUnkForRelease
;
6278 typedef userSTGMEDIUM
*wireSTGMEDIUM
;
6280 typedef uSTGMEDIUM STGMEDIUM
;
6281 unsigned long __RPC_USER
STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM
*);
6282 unsigned char * __RPC_USER
STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM
*);
6283 unsigned char * __RPC_USER
STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM
*);
6284 void __RPC_USER
STGMEDIUM_UserFree (unsigned long *, STGMEDIUM
*);
6286 typedef userSTGMEDIUM
*wireASYNC_STGMEDIUM
;
6288 typedef STGMEDIUM ASYNC_STGMEDIUM
;
6289 unsigned long __RPC_USER
ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM
*);
6290 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
6291 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
6292 void __RPC_USER
ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM
*);
6294 typedef STGMEDIUM
*LPSTGMEDIUM
;
6296 typedef struct _userFLAG_STGMEDIUM
{
6298 long fPassOwnership
;
6299 userSTGMEDIUM Stgmed
;
6300 } userFLAG_STGMEDIUM
;
6302 typedef userFLAG_STGMEDIUM
*wireFLAG_STGMEDIUM
;
6304 typedef struct _FLAG_STGMEDIUM
{
6306 long fPassOwnership
;
6309 unsigned long __RPC_USER
FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM
*);
6310 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
6311 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
6312 void __RPC_USER
FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM
*);
6314 /*****************************************************************************
6315 * IAdviseSink interface
6317 #ifndef __IAdviseSink_INTERFACE_DEFINED__
6318 #define __IAdviseSink_INTERFACE_DEFINED__
6320 DEFINE_GUID(IID_IAdviseSink
, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6321 #if defined(__cplusplus) && !defined(CINTERFACE)
6322 struct IAdviseSink
: public IUnknown
6324 virtual void STDMETHODCALLTYPE
OnDataChange(
6325 FORMATETC
* pFormatetc
,
6326 STGMEDIUM
* pStgmed
) = 0;
6328 virtual void STDMETHODCALLTYPE
OnViewChange(
6332 virtual void STDMETHODCALLTYPE
OnRename(
6335 virtual void STDMETHODCALLTYPE
OnSave(
6338 virtual void STDMETHODCALLTYPE
OnClose(
6343 typedef struct IAdviseSinkVtbl IAdviseSinkVtbl
;
6344 struct IAdviseSink
{
6345 const IAdviseSinkVtbl
* lpVtbl
;
6347 struct IAdviseSinkVtbl
{
6348 ICOM_MSVTABLE_COMPAT_FIELDS
6350 /*** IUnknown methods ***/
6351 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6356 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6359 ULONG (STDMETHODCALLTYPE
*Release
)(
6362 /*** IAdviseSink methods ***/
6363 void (STDMETHODCALLTYPE
*OnDataChange
)(
6365 FORMATETC
* pFormatetc
,
6366 STGMEDIUM
* pStgmed
);
6368 void (STDMETHODCALLTYPE
*OnViewChange
)(
6373 void (STDMETHODCALLTYPE
*OnRename
)(
6377 void (STDMETHODCALLTYPE
*OnSave
)(
6380 void (STDMETHODCALLTYPE
*OnClose
)(
6385 /*** IUnknown methods ***/
6386 #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6387 #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
6388 #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p)
6389 /*** IAdviseSink methods ***/
6390 #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
6391 #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
6392 #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
6393 #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p)
6394 #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p)
6398 #define IAdviseSink_METHODS \
6399 ICOM_MSVTABLE_COMPAT_FIELDS \
6400 /*** IUnknown methods ***/ \
6401 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6402 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6403 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6404 /*** IAdviseSink methods ***/ \
6405 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
6406 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
6407 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
6408 STDMETHOD_(void,OnSave)(THIS) PURE; \
6409 STDMETHOD_(void,OnClose)(THIS) PURE;
6411 HRESULT CALLBACK
IAdviseSink_RemoteOnDataChange_Proxy(
6413 IAsyncManager
** ppIAM
,
6414 FORMATETC
* pFormatetc
,
6415 ASYNC_STGMEDIUM
* pStgmed
);
6416 void __RPC_STUB
IAdviseSink_RemoteOnDataChange_Stub(
6417 struct IRpcStubBuffer
* This
,
6418 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6419 PRPC_MESSAGE pRpcMessage
,
6420 DWORD
* pdwStubPhase
);
6421 void CALLBACK
IAdviseSink_OnDataChange_Proxy(
6423 FORMATETC
* pFormatetc
,
6424 STGMEDIUM
* pStgmed
);
6425 HRESULT __RPC_STUB
IAdviseSink_OnDataChange_Stub(
6427 IAsyncManager
** ppIAM
,
6428 FORMATETC
* pFormatetc
,
6429 ASYNC_STGMEDIUM
* pStgmed
);
6430 HRESULT CALLBACK
IAdviseSink_RemoteOnViewChange_Proxy(
6432 IAsyncManager
** ppIAM
,
6435 void __RPC_STUB
IAdviseSink_RemoteOnViewChange_Stub(
6436 struct IRpcStubBuffer
* This
,
6437 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6438 PRPC_MESSAGE pRpcMessage
,
6439 DWORD
* pdwStubPhase
);
6440 void CALLBACK
IAdviseSink_OnViewChange_Proxy(
6444 HRESULT __RPC_STUB
IAdviseSink_OnViewChange_Stub(
6446 IAsyncManager
** ppIAM
,
6449 HRESULT CALLBACK
IAdviseSink_RemoteOnRename_Proxy(
6451 IAsyncManager
** ppIAM
,
6453 void __RPC_STUB
IAdviseSink_RemoteOnRename_Stub(
6454 struct IRpcStubBuffer
* This
,
6455 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6456 PRPC_MESSAGE pRpcMessage
,
6457 DWORD
* pdwStubPhase
);
6458 void CALLBACK
IAdviseSink_OnRename_Proxy(
6461 HRESULT __RPC_STUB
IAdviseSink_OnRename_Stub(
6463 IAsyncManager
** ppIAM
,
6465 HRESULT CALLBACK
IAdviseSink_RemoteOnSave_Proxy(
6467 IAsyncManager
** ppIAM
);
6468 void __RPC_STUB
IAdviseSink_RemoteOnSave_Stub(
6469 struct IRpcStubBuffer
* This
,
6470 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6471 PRPC_MESSAGE pRpcMessage
,
6472 DWORD
* pdwStubPhase
);
6473 void CALLBACK
IAdviseSink_OnSave_Proxy(
6475 HRESULT __RPC_STUB
IAdviseSink_OnSave_Stub(
6477 IAsyncManager
** ppIAM
);
6478 HRESULT CALLBACK
IAdviseSink_RemoteOnClose_Proxy(
6480 void __RPC_STUB
IAdviseSink_RemoteOnClose_Stub(
6481 struct IRpcStubBuffer
* This
,
6482 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6483 PRPC_MESSAGE pRpcMessage
,
6484 DWORD
* pdwStubPhase
);
6485 void CALLBACK
IAdviseSink_OnClose_Proxy(
6487 HRESULT __RPC_STUB
IAdviseSink_OnClose_Stub(
6490 #endif /* __IAdviseSink_INTERFACE_DEFINED__ */
6492 #ifndef __IAdviseSink2_FWD_DEFINED__
6493 #define __IAdviseSink2_FWD_DEFINED__
6494 typedef struct IAdviseSink2 IAdviseSink2
;
6497 typedef IAdviseSink2
*LPADVISESINK2
;
6499 /*****************************************************************************
6500 * IAdviseSink2 interface
6502 #ifndef __IAdviseSink2_INTERFACE_DEFINED__
6503 #define __IAdviseSink2_INTERFACE_DEFINED__
6505 DEFINE_GUID(IID_IAdviseSink2
, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6506 #if defined(__cplusplus) && !defined(CINTERFACE)
6507 struct IAdviseSink2
: public IAdviseSink
6509 virtual void STDMETHODCALLTYPE
OnLinkSrcChange(
6514 typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl
;
6515 struct IAdviseSink2
{
6516 const IAdviseSink2Vtbl
* lpVtbl
;
6518 struct IAdviseSink2Vtbl
{
6519 ICOM_MSVTABLE_COMPAT_FIELDS
6521 /*** IUnknown methods ***/
6522 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6527 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6528 IAdviseSink2
* This
);
6530 ULONG (STDMETHODCALLTYPE
*Release
)(
6531 IAdviseSink2
* This
);
6533 /*** IAdviseSink methods ***/
6534 void (STDMETHODCALLTYPE
*OnDataChange
)(
6536 FORMATETC
* pFormatetc
,
6537 STGMEDIUM
* pStgmed
);
6539 void (STDMETHODCALLTYPE
*OnViewChange
)(
6544 void (STDMETHODCALLTYPE
*OnRename
)(
6548 void (STDMETHODCALLTYPE
*OnSave
)(
6549 IAdviseSink2
* This
);
6551 void (STDMETHODCALLTYPE
*OnClose
)(
6552 IAdviseSink2
* This
);
6554 /*** IAdviseSink2 methods ***/
6555 void (STDMETHODCALLTYPE
*OnLinkSrcChange
)(
6561 /*** IUnknown methods ***/
6562 #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6563 #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p)
6564 #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p)
6565 /*** IAdviseSink methods ***/
6566 #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
6567 #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
6568 #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
6569 #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p)
6570 #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p)
6571 /*** IAdviseSink2 methods ***/
6572 #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a)
6576 #define IAdviseSink2_METHODS \
6577 ICOM_MSVTABLE_COMPAT_FIELDS \
6578 /*** IUnknown methods ***/ \
6579 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6580 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6581 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6582 /*** IAdviseSink methods ***/ \
6583 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
6584 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
6585 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
6586 STDMETHOD_(void,OnSave)(THIS) PURE; \
6587 STDMETHOD_(void,OnClose)(THIS) PURE; \
6588 /*** IAdviseSink2 methods ***/ \
6589 STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker* pmk) PURE;
6591 HRESULT CALLBACK
IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
6593 IAsyncManager
** ppIAM
,
6595 void __RPC_STUB
IAdviseSink2_RemoteOnLinkSrcChange_Stub(
6596 struct IRpcStubBuffer
* This
,
6597 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6598 PRPC_MESSAGE pRpcMessage
,
6599 DWORD
* pdwStubPhase
);
6600 void CALLBACK
IAdviseSink2_OnLinkSrcChange_Proxy(
6603 HRESULT __RPC_STUB
IAdviseSink2_OnLinkSrcChange_Stub(
6605 IAsyncManager
** ppIAM
,
6608 #endif /* __IAdviseSink2_INTERFACE_DEFINED__ */
6610 #ifndef __IDataObject_FWD_DEFINED__
6611 #define __IDataObject_FWD_DEFINED__
6612 typedef struct IDataObject IDataObject
;
6615 typedef IDataObject
*LPDATAOBJECT
;
6617 typedef enum tagDATADIR
{
6622 /*****************************************************************************
6623 * IDataObject interface
6625 #ifndef __IDataObject_INTERFACE_DEFINED__
6626 #define __IDataObject_INTERFACE_DEFINED__
6628 DEFINE_GUID(IID_IDataObject
, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6629 #if defined(__cplusplus) && !defined(CINTERFACE)
6630 struct IDataObject
: public IUnknown
6632 virtual HRESULT STDMETHODCALLTYPE
GetData(
6633 FORMATETC
* pformatetcIn
,
6634 STGMEDIUM
* pmedium
) = 0;
6636 virtual HRESULT STDMETHODCALLTYPE
GetDataHere(
6637 FORMATETC
* pformatetc
,
6638 STGMEDIUM
* pmedium
) = 0;
6640 virtual HRESULT STDMETHODCALLTYPE
QueryGetData(
6641 FORMATETC
* pformatetc
) = 0;
6643 virtual HRESULT STDMETHODCALLTYPE
GetCanonicalFormatEtc(
6644 FORMATETC
* pformatectIn
,
6645 FORMATETC
* pformatetcOut
) = 0;
6647 virtual HRESULT STDMETHODCALLTYPE
SetData(
6648 FORMATETC
* pformatetc
,
6652 virtual HRESULT STDMETHODCALLTYPE
EnumFormatEtc(
6654 IEnumFORMATETC
** ppenumFormatEtc
) = 0;
6656 virtual HRESULT STDMETHODCALLTYPE
DAdvise(
6657 FORMATETC
* pformatetc
,
6659 IAdviseSink
* pAdvSink
,
6660 DWORD
* pdwConnection
) = 0;
6662 virtual HRESULT STDMETHODCALLTYPE
DUnadvise(
6663 DWORD dwConnection
) = 0;
6665 virtual HRESULT STDMETHODCALLTYPE
EnumDAdvise(
6666 IEnumSTATDATA
** ppenumAdvise
) = 0;
6670 typedef struct IDataObjectVtbl IDataObjectVtbl
;
6671 struct IDataObject
{
6672 const IDataObjectVtbl
* lpVtbl
;
6674 struct IDataObjectVtbl
{
6675 ICOM_MSVTABLE_COMPAT_FIELDS
6677 /*** IUnknown methods ***/
6678 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6683 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6686 ULONG (STDMETHODCALLTYPE
*Release
)(
6689 /*** IDataObject methods ***/
6690 HRESULT (STDMETHODCALLTYPE
*GetData
)(
6692 FORMATETC
* pformatetcIn
,
6693 STGMEDIUM
* pmedium
);
6695 HRESULT (STDMETHODCALLTYPE
*GetDataHere
)(
6697 FORMATETC
* pformatetc
,
6698 STGMEDIUM
* pmedium
);
6700 HRESULT (STDMETHODCALLTYPE
*QueryGetData
)(
6702 FORMATETC
* pformatetc
);
6704 HRESULT (STDMETHODCALLTYPE
*GetCanonicalFormatEtc
)(
6706 FORMATETC
* pformatectIn
,
6707 FORMATETC
* pformatetcOut
);
6709 HRESULT (STDMETHODCALLTYPE
*SetData
)(
6711 FORMATETC
* pformatetc
,
6715 HRESULT (STDMETHODCALLTYPE
*EnumFormatEtc
)(
6718 IEnumFORMATETC
** ppenumFormatEtc
);
6720 HRESULT (STDMETHODCALLTYPE
*DAdvise
)(
6722 FORMATETC
* pformatetc
,
6724 IAdviseSink
* pAdvSink
,
6725 DWORD
* pdwConnection
);
6727 HRESULT (STDMETHODCALLTYPE
*DUnadvise
)(
6729 DWORD dwConnection
);
6731 HRESULT (STDMETHODCALLTYPE
*EnumDAdvise
)(
6733 IEnumSTATDATA
** ppenumAdvise
);
6737 /*** IUnknown methods ***/
6738 #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6739 #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p)
6740 #define IDataObject_Release(p) (p)->lpVtbl->Release(p)
6741 /*** IDataObject methods ***/
6742 #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b)
6743 #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b)
6744 #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a)
6745 #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b)
6746 #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
6747 #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b)
6748 #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d)
6749 #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a)
6750 #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a)
6754 #define IDataObject_METHODS \
6755 ICOM_MSVTABLE_COMPAT_FIELDS \
6756 /*** IUnknown methods ***/ \
6757 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6758 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6759 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6760 /*** IDataObject methods ***/ \
6761 STDMETHOD_(HRESULT,GetData)(THIS_ FORMATETC* pformatetcIn, STGMEDIUM* pmedium) PURE; \
6762 STDMETHOD_(HRESULT,GetDataHere)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium) PURE; \
6763 STDMETHOD_(HRESULT,QueryGetData)(THIS_ FORMATETC* pformatetc) PURE; \
6764 STDMETHOD_(HRESULT,GetCanonicalFormatEtc)(THIS_ FORMATETC* pformatectIn, FORMATETC* pformatetcOut) PURE; \
6765 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
6766 STDMETHOD_(HRESULT,EnumFormatEtc)(THIS_ DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc) PURE; \
6767 STDMETHOD_(HRESULT,DAdvise)(THIS_ FORMATETC* pformatetc, DWORD advf, IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
6768 STDMETHOD_(HRESULT,DUnadvise)(THIS_ DWORD dwConnection) PURE; \
6769 STDMETHOD_(HRESULT,EnumDAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE;
6771 HRESULT CALLBACK
IDataObject_RemoteGetData_Proxy(
6773 FORMATETC
* pformatetcIn
,
6774 STGMEDIUM
* pRemoteMedium
);
6775 void __RPC_STUB
IDataObject_RemoteGetData_Stub(
6776 struct IRpcStubBuffer
* This
,
6777 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6778 PRPC_MESSAGE pRpcMessage
,
6779 DWORD
* pdwStubPhase
);
6780 HRESULT CALLBACK
IDataObject_GetData_Proxy(
6782 FORMATETC
* pformatetcIn
,
6783 STGMEDIUM
* pmedium
);
6784 HRESULT __RPC_STUB
IDataObject_GetData_Stub(
6786 FORMATETC
* pformatetcIn
,
6787 STGMEDIUM
* pRemoteMedium
);
6788 HRESULT CALLBACK
IDataObject_RemoteGetDataHere_Proxy(
6790 FORMATETC
* pformatetc
,
6791 STGMEDIUM
* pRemoteMedium
);
6792 void __RPC_STUB
IDataObject_RemoteGetDataHere_Stub(
6793 struct IRpcStubBuffer
* This
,
6794 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6795 PRPC_MESSAGE pRpcMessage
,
6796 DWORD
* pdwStubPhase
);
6797 HRESULT CALLBACK
IDataObject_GetDataHere_Proxy(
6799 FORMATETC
* pformatetc
,
6800 STGMEDIUM
* pmedium
);
6801 HRESULT __RPC_STUB
IDataObject_GetDataHere_Stub(
6803 FORMATETC
* pformatetc
,
6804 STGMEDIUM
* pRemoteMedium
);
6805 HRESULT CALLBACK
IDataObject_QueryGetData_Proxy(
6807 FORMATETC
* pformatetc
);
6808 void __RPC_STUB
IDataObject_QueryGetData_Stub(
6809 struct IRpcStubBuffer
* This
,
6810 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6811 PRPC_MESSAGE pRpcMessage
,
6812 DWORD
* pdwStubPhase
);
6813 HRESULT CALLBACK
IDataObject_GetCanonicalFormatEtc_Proxy(
6815 FORMATETC
* pformatectIn
,
6816 FORMATETC
* pformatetcOut
);
6817 void __RPC_STUB
IDataObject_GetCanonicalFormatEtc_Stub(
6818 struct IRpcStubBuffer
* This
,
6819 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6820 PRPC_MESSAGE pRpcMessage
,
6821 DWORD
* pdwStubPhase
);
6822 HRESULT CALLBACK
IDataObject_RemoteSetData_Proxy(
6824 FORMATETC
* pformatetc
,
6825 FLAG_STGMEDIUM
* pmedium
,
6827 void __RPC_STUB
IDataObject_RemoteSetData_Stub(
6828 struct IRpcStubBuffer
* This
,
6829 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6830 PRPC_MESSAGE pRpcMessage
,
6831 DWORD
* pdwStubPhase
);
6832 HRESULT CALLBACK
IDataObject_SetData_Proxy(
6834 FORMATETC
* pformatetc
,
6837 HRESULT __RPC_STUB
IDataObject_SetData_Stub(
6839 FORMATETC
* pformatetc
,
6840 FLAG_STGMEDIUM
* pmedium
,
6842 HRESULT CALLBACK
IDataObject_EnumFormatEtc_Proxy(
6845 IEnumFORMATETC
** ppenumFormatEtc
);
6846 void __RPC_STUB
IDataObject_EnumFormatEtc_Stub(
6847 struct IRpcStubBuffer
* This
,
6848 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6849 PRPC_MESSAGE pRpcMessage
,
6850 DWORD
* pdwStubPhase
);
6851 HRESULT CALLBACK
IDataObject_DAdvise_Proxy(
6853 FORMATETC
* pformatetc
,
6855 IAdviseSink
* pAdvSink
,
6856 DWORD
* pdwConnection
);
6857 void __RPC_STUB
IDataObject_DAdvise_Stub(
6858 struct IRpcStubBuffer
* This
,
6859 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6860 PRPC_MESSAGE pRpcMessage
,
6861 DWORD
* pdwStubPhase
);
6862 HRESULT CALLBACK
IDataObject_DUnadvise_Proxy(
6864 DWORD dwConnection
);
6865 void __RPC_STUB
IDataObject_DUnadvise_Stub(
6866 struct IRpcStubBuffer
* This
,
6867 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6868 PRPC_MESSAGE pRpcMessage
,
6869 DWORD
* pdwStubPhase
);
6870 HRESULT CALLBACK
IDataObject_EnumDAdvise_Proxy(
6872 IEnumSTATDATA
** ppenumAdvise
);
6873 void __RPC_STUB
IDataObject_EnumDAdvise_Stub(
6874 struct IRpcStubBuffer
* This
,
6875 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6876 PRPC_MESSAGE pRpcMessage
,
6877 DWORD
* pdwStubPhase
);
6879 #endif /* __IDataObject_INTERFACE_DEFINED__ */
6881 #ifndef __IDataAdviseHolder_FWD_DEFINED__
6882 #define __IDataAdviseHolder_FWD_DEFINED__
6883 typedef struct IDataAdviseHolder IDataAdviseHolder
;
6886 typedef IDataAdviseHolder
*LPDATAADVISEHOLDER
;
6888 /*****************************************************************************
6889 * IDataAdviseHolder interface
6891 #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
6892 #define __IDataAdviseHolder_INTERFACE_DEFINED__
6894 DEFINE_GUID(IID_IDataAdviseHolder
, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6895 #if defined(__cplusplus) && !defined(CINTERFACE)
6896 struct IDataAdviseHolder
: public IUnknown
6898 virtual HRESULT STDMETHODCALLTYPE
Advise(
6899 IDataObject
* pDataObject
,
6902 IAdviseSink
* pAdvise
,
6903 DWORD
* pdwConnection
) = 0;
6905 virtual HRESULT STDMETHODCALLTYPE
Unadvise(
6906 DWORD dwConnection
) = 0;
6908 virtual HRESULT STDMETHODCALLTYPE
EnumAdvise(
6909 IEnumSTATDATA
** ppenumAdvise
) = 0;
6911 virtual HRESULT STDMETHODCALLTYPE
SendOnDataChange(
6912 IDataObject
* pDataObject
,
6918 typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl
;
6919 struct IDataAdviseHolder
{
6920 const IDataAdviseHolderVtbl
* lpVtbl
;
6922 struct IDataAdviseHolderVtbl
{
6923 ICOM_MSVTABLE_COMPAT_FIELDS
6925 /*** IUnknown methods ***/
6926 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6927 IDataAdviseHolder
* This
,
6931 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6932 IDataAdviseHolder
* This
);
6934 ULONG (STDMETHODCALLTYPE
*Release
)(
6935 IDataAdviseHolder
* This
);
6937 /*** IDataAdviseHolder methods ***/
6938 HRESULT (STDMETHODCALLTYPE
*Advise
)(
6939 IDataAdviseHolder
* This
,
6940 IDataObject
* pDataObject
,
6943 IAdviseSink
* pAdvise
,
6944 DWORD
* pdwConnection
);
6946 HRESULT (STDMETHODCALLTYPE
*Unadvise
)(
6947 IDataAdviseHolder
* This
,
6948 DWORD dwConnection
);
6950 HRESULT (STDMETHODCALLTYPE
*EnumAdvise
)(
6951 IDataAdviseHolder
* This
,
6952 IEnumSTATDATA
** ppenumAdvise
);
6954 HRESULT (STDMETHODCALLTYPE
*SendOnDataChange
)(
6955 IDataAdviseHolder
* This
,
6956 IDataObject
* pDataObject
,
6962 /*** IUnknown methods ***/
6963 #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6964 #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
6965 #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
6966 /*** IDataAdviseHolder methods ***/
6967 #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
6968 #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
6969 #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
6970 #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c)
6974 #define IDataAdviseHolder_METHODS \
6975 ICOM_MSVTABLE_COMPAT_FIELDS \
6976 /*** IUnknown methods ***/ \
6977 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6978 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6979 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6980 /*** IDataAdviseHolder methods ***/ \
6981 STDMETHOD_(HRESULT,Advise)(THIS_ IDataObject* pDataObject, FORMATETC* pFetc, DWORD advf, IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
6982 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
6983 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
6984 STDMETHOD_(HRESULT,SendOnDataChange)(THIS_ IDataObject* pDataObject, DWORD dwReserved, DWORD advf) PURE;
6986 HRESULT CALLBACK
IDataAdviseHolder_Advise_Proxy(
6987 IDataAdviseHolder
* This
,
6988 IDataObject
* pDataObject
,
6991 IAdviseSink
* pAdvise
,
6992 DWORD
* pdwConnection
);
6993 void __RPC_STUB
IDataAdviseHolder_Advise_Stub(
6994 struct IRpcStubBuffer
* This
,
6995 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6996 PRPC_MESSAGE pRpcMessage
,
6997 DWORD
* pdwStubPhase
);
6998 HRESULT CALLBACK
IDataAdviseHolder_Unadvise_Proxy(
6999 IDataAdviseHolder
* This
,
7000 DWORD dwConnection
);
7001 void __RPC_STUB
IDataAdviseHolder_Unadvise_Stub(
7002 struct IRpcStubBuffer
* This
,
7003 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7004 PRPC_MESSAGE pRpcMessage
,
7005 DWORD
* pdwStubPhase
);
7006 HRESULT CALLBACK
IDataAdviseHolder_EnumAdvise_Proxy(
7007 IDataAdviseHolder
* This
,
7008 IEnumSTATDATA
** ppenumAdvise
);
7009 void __RPC_STUB
IDataAdviseHolder_EnumAdvise_Stub(
7010 struct IRpcStubBuffer
* This
,
7011 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7012 PRPC_MESSAGE pRpcMessage
,
7013 DWORD
* pdwStubPhase
);
7014 HRESULT CALLBACK
IDataAdviseHolder_SendOnDataChange_Proxy(
7015 IDataAdviseHolder
* This
,
7016 IDataObject
* pDataObject
,
7019 void __RPC_STUB
IDataAdviseHolder_SendOnDataChange_Stub(
7020 struct IRpcStubBuffer
* This
,
7021 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7022 PRPC_MESSAGE pRpcMessage
,
7023 DWORD
* pdwStubPhase
);
7025 #endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
7027 #ifndef __IMessageFilter_FWD_DEFINED__
7028 #define __IMessageFilter_FWD_DEFINED__
7029 typedef struct IMessageFilter IMessageFilter
;
7032 typedef IMessageFilter
*LPMESSAGEFILTER
;
7034 typedef enum tagCALLTYPE
{
7035 CALLTYPE_TOPLEVEL
= 1,
7036 CALLTYPE_NESTED
= 2,
7038 CALLTYPE_TOPLEVEL_CALLPENDING
= 4,
7039 CALLTYPE_ASYNC_CALLPENDING
= 5
7042 typedef enum tagSERVERCALL
{
7043 SERVERCALL_ISHANDLED
= 0,
7044 SERVERCALL_REJECTED
= 1,
7045 SERVERCALL_RETRYLATER
= 2
7048 typedef enum tagPENDINGTYPE
{
7049 PENDINGTYPE_TOPLEVEL
= 1,
7050 PENDINGTYPE_NESTED
= 2
7053 typedef enum tagPENDINGMSG
{
7054 PENDINGMSG_CANCELCALL
= 0,
7055 PENDINGMSG_WAITNOPROCESS
= 1,
7056 PENDINGMSG_WAITDEFPROCESS
= 2
7059 typedef struct tagINTERFACEINFO
{
7063 } INTERFACEINFO
, *LPINTERFACEINFO
;
7065 /*****************************************************************************
7066 * IMessageFilter interface
7068 #ifndef __IMessageFilter_INTERFACE_DEFINED__
7069 #define __IMessageFilter_INTERFACE_DEFINED__
7071 DEFINE_GUID(IID_IMessageFilter
, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7072 #if defined(__cplusplus) && !defined(CINTERFACE)
7073 struct IMessageFilter
: public IUnknown
7075 virtual DWORD STDMETHODCALLTYPE
HandleInComingCall(
7079 LPINTERFACEINFO lpInterfaceInfo
) = 0;
7081 virtual DWORD STDMETHODCALLTYPE
RetryRejectedCall(
7084 DWORD dwRejectType
) = 0;
7086 virtual DWORD STDMETHODCALLTYPE
MessagePending(
7089 DWORD dwPendingType
) = 0;
7093 typedef struct IMessageFilterVtbl IMessageFilterVtbl
;
7094 struct IMessageFilter
{
7095 const IMessageFilterVtbl
* lpVtbl
;
7097 struct IMessageFilterVtbl
{
7098 ICOM_MSVTABLE_COMPAT_FIELDS
7100 /*** IUnknown methods ***/
7101 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7102 IMessageFilter
* This
,
7106 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7107 IMessageFilter
* This
);
7109 ULONG (STDMETHODCALLTYPE
*Release
)(
7110 IMessageFilter
* This
);
7112 /*** IMessageFilter methods ***/
7113 DWORD (STDMETHODCALLTYPE
*HandleInComingCall
)(
7114 IMessageFilter
* This
,
7118 LPINTERFACEINFO lpInterfaceInfo
);
7120 DWORD (STDMETHODCALLTYPE
*RetryRejectedCall
)(
7121 IMessageFilter
* This
,
7124 DWORD dwRejectType
);
7126 DWORD (STDMETHODCALLTYPE
*MessagePending
)(
7127 IMessageFilter
* This
,
7130 DWORD dwPendingType
);
7134 /*** IUnknown methods ***/
7135 #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7136 #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
7137 #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p)
7138 /*** IMessageFilter methods ***/
7139 #define IMessageFilter_HandleInComingCall(p,a,b,c,d) (p)->lpVtbl->HandleInComingCall(p,a,b,c,d)
7140 #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c)
7141 #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c)
7145 #define IMessageFilter_METHODS \
7146 ICOM_MSVTABLE_COMPAT_FIELDS \
7147 /*** IUnknown methods ***/ \
7148 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7149 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7150 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7151 /*** IMessageFilter methods ***/ \
7152 STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) PURE; \
7153 STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) PURE; \
7154 STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) PURE;
7156 DWORD CALLBACK
IMessageFilter_HandleInComingCall_Proxy(
7157 IMessageFilter
* This
,
7161 LPINTERFACEINFO lpInterfaceInfo
);
7162 void __RPC_STUB
IMessageFilter_HandleInComingCall_Stub(
7163 struct IRpcStubBuffer
* This
,
7164 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7165 PRPC_MESSAGE pRpcMessage
,
7166 DWORD
* pdwStubPhase
);
7167 DWORD CALLBACK
IMessageFilter_RetryRejectedCall_Proxy(
7168 IMessageFilter
* This
,
7171 DWORD dwRejectType
);
7172 void __RPC_STUB
IMessageFilter_RetryRejectedCall_Stub(
7173 struct IRpcStubBuffer
* This
,
7174 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7175 PRPC_MESSAGE pRpcMessage
,
7176 DWORD
* pdwStubPhase
);
7177 DWORD CALLBACK
IMessageFilter_MessagePending_Proxy(
7178 IMessageFilter
* This
,
7181 DWORD dwPendingType
);
7182 void __RPC_STUB
IMessageFilter_MessagePending_Stub(
7183 struct IRpcStubBuffer
* This
,
7184 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7185 PRPC_MESSAGE pRpcMessage
,
7186 DWORD
* pdwStubPhase
);
7188 #endif /* __IMessageFilter_INTERFACE_DEFINED__ */
7190 #ifndef __IRpcChannelBuffer_FWD_DEFINED__
7191 #define __IRpcChannelBuffer_FWD_DEFINED__
7192 typedef struct IRpcChannelBuffer IRpcChannelBuffer
;
7195 typedef IRpcChannelBuffer
*LPRPCCHANNELBUFFER
;
7197 typedef unsigned long RPCOLEDATAREP
;
7199 typedef struct tagRPCOLEMESSAGE
{
7201 RPCOLEDATAREP dataRepresentation
;
7209 typedef RPCOLEMESSAGE
*PRPCOLEMESSAGE
;
7211 /*****************************************************************************
7212 * IRpcChannelBuffer interface
7214 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
7215 #define __IRpcChannelBuffer_INTERFACE_DEFINED__
7217 DEFINE_GUID(IID_IRpcChannelBuffer
, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7218 #if defined(__cplusplus) && !defined(CINTERFACE)
7219 struct IRpcChannelBuffer
: public IUnknown
7221 virtual HRESULT STDMETHODCALLTYPE
GetBuffer(
7222 RPCOLEMESSAGE
* pMessage
,
7225 virtual HRESULT STDMETHODCALLTYPE
SendReceive(
7226 RPCOLEMESSAGE
* pMessage
,
7227 ULONG
* pStatus
) = 0;
7229 virtual HRESULT STDMETHODCALLTYPE
FreeBuffer(
7230 RPCOLEMESSAGE
* pMessage
) = 0;
7232 virtual HRESULT STDMETHODCALLTYPE
GetDestCtx(
7233 DWORD
* pdwDestContext
,
7234 void** ppvDestContext
) = 0;
7236 virtual HRESULT STDMETHODCALLTYPE
IsConnected(
7241 typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl
;
7242 struct IRpcChannelBuffer
{
7243 const IRpcChannelBufferVtbl
* lpVtbl
;
7245 struct IRpcChannelBufferVtbl
{
7246 ICOM_MSVTABLE_COMPAT_FIELDS
7248 /*** IUnknown methods ***/
7249 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7250 IRpcChannelBuffer
* This
,
7254 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7255 IRpcChannelBuffer
* This
);
7257 ULONG (STDMETHODCALLTYPE
*Release
)(
7258 IRpcChannelBuffer
* This
);
7260 /*** IRpcChannelBuffer methods ***/
7261 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
7262 IRpcChannelBuffer
* This
,
7263 RPCOLEMESSAGE
* pMessage
,
7266 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
7267 IRpcChannelBuffer
* This
,
7268 RPCOLEMESSAGE
* pMessage
,
7271 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
7272 IRpcChannelBuffer
* This
,
7273 RPCOLEMESSAGE
* pMessage
);
7275 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
7276 IRpcChannelBuffer
* This
,
7277 DWORD
* pdwDestContext
,
7278 void** ppvDestContext
);
7280 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
7281 IRpcChannelBuffer
* This
);
7285 /*** IUnknown methods ***/
7286 #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7287 #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7288 #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p)
7289 /*** IRpcChannelBuffer methods ***/
7290 #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7291 #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7292 #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7293 #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7294 #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7298 #define IRpcChannelBuffer_METHODS \
7299 ICOM_MSVTABLE_COMPAT_FIELDS \
7300 /*** IUnknown methods ***/ \
7301 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7302 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7303 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7304 /*** IRpcChannelBuffer methods ***/ \
7305 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
7306 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
7307 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
7308 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7309 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE;
7311 HRESULT CALLBACK
IRpcChannelBuffer_GetBuffer_Proxy(
7312 IRpcChannelBuffer
* This
,
7313 RPCOLEMESSAGE
* pMessage
,
7315 void __RPC_STUB
IRpcChannelBuffer_GetBuffer_Stub(
7316 struct IRpcStubBuffer
* This
,
7317 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7318 PRPC_MESSAGE pRpcMessage
,
7319 DWORD
* pdwStubPhase
);
7320 HRESULT CALLBACK
IRpcChannelBuffer_SendReceive_Proxy(
7321 IRpcChannelBuffer
* This
,
7322 RPCOLEMESSAGE
* pMessage
,
7324 void __RPC_STUB
IRpcChannelBuffer_SendReceive_Stub(
7325 struct IRpcStubBuffer
* This
,
7326 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7327 PRPC_MESSAGE pRpcMessage
,
7328 DWORD
* pdwStubPhase
);
7329 HRESULT CALLBACK
IRpcChannelBuffer_FreeBuffer_Proxy(
7330 IRpcChannelBuffer
* This
,
7331 RPCOLEMESSAGE
* pMessage
);
7332 void __RPC_STUB
IRpcChannelBuffer_FreeBuffer_Stub(
7333 struct IRpcStubBuffer
* This
,
7334 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7335 PRPC_MESSAGE pRpcMessage
,
7336 DWORD
* pdwStubPhase
);
7337 HRESULT CALLBACK
IRpcChannelBuffer_GetDestCtx_Proxy(
7338 IRpcChannelBuffer
* This
,
7339 DWORD
* pdwDestContext
,
7340 void** ppvDestContext
);
7341 void __RPC_STUB
IRpcChannelBuffer_GetDestCtx_Stub(
7342 struct IRpcStubBuffer
* This
,
7343 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7344 PRPC_MESSAGE pRpcMessage
,
7345 DWORD
* pdwStubPhase
);
7346 HRESULT CALLBACK
IRpcChannelBuffer_IsConnected_Proxy(
7347 IRpcChannelBuffer
* This
);
7348 void __RPC_STUB
IRpcChannelBuffer_IsConnected_Stub(
7349 struct IRpcStubBuffer
* This
,
7350 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7351 PRPC_MESSAGE pRpcMessage
,
7352 DWORD
* pdwStubPhase
);
7354 #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
7356 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
7357 #define __IRpcChannelBuffer2_FWD_DEFINED__
7358 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2
;
7361 typedef IRpcChannelBuffer2
*LPRPCCHANNELBUFFER2
;
7363 /*****************************************************************************
7364 * IRpcChannelBuffer2 interface
7366 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
7367 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
7369 DEFINE_GUID(IID_IRpcChannelBuffer2
, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
7370 #if defined(__cplusplus) && !defined(CINTERFACE)
7371 struct IRpcChannelBuffer2
: public IRpcChannelBuffer
7373 virtual HRESULT STDMETHODCALLTYPE
GetProtocolVersion(
7374 DWORD
* pdwVersion
) = 0;
7378 typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl
;
7379 struct IRpcChannelBuffer2
{
7380 const IRpcChannelBuffer2Vtbl
* lpVtbl
;
7382 struct IRpcChannelBuffer2Vtbl
{
7383 ICOM_MSVTABLE_COMPAT_FIELDS
7385 /*** IUnknown methods ***/
7386 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7387 IRpcChannelBuffer2
* This
,
7391 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7392 IRpcChannelBuffer2
* This
);
7394 ULONG (STDMETHODCALLTYPE
*Release
)(
7395 IRpcChannelBuffer2
* This
);
7397 /*** IRpcChannelBuffer methods ***/
7398 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
7399 IRpcChannelBuffer2
* This
,
7400 RPCOLEMESSAGE
* pMessage
,
7403 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
7404 IRpcChannelBuffer2
* This
,
7405 RPCOLEMESSAGE
* pMessage
,
7408 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
7409 IRpcChannelBuffer2
* This
,
7410 RPCOLEMESSAGE
* pMessage
);
7412 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
7413 IRpcChannelBuffer2
* This
,
7414 DWORD
* pdwDestContext
,
7415 void** ppvDestContext
);
7417 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
7418 IRpcChannelBuffer2
* This
);
7420 /*** IRpcChannelBuffer2 methods ***/
7421 HRESULT (STDMETHODCALLTYPE
*GetProtocolVersion
)(
7422 IRpcChannelBuffer2
* This
,
7427 /*** IUnknown methods ***/
7428 #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7429 #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p)
7430 #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p)
7431 /*** IRpcChannelBuffer methods ***/
7432 #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7433 #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7434 #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7435 #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7436 #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7437 /*** IRpcChannelBuffer2 methods ***/
7438 #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
7442 #define IRpcChannelBuffer2_METHODS \
7443 ICOM_MSVTABLE_COMPAT_FIELDS \
7444 /*** IUnknown methods ***/ \
7445 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7446 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7447 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7448 /*** IRpcChannelBuffer methods ***/ \
7449 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
7450 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
7451 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
7452 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7453 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
7454 /*** IRpcChannelBuffer2 methods ***/ \
7455 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE;
7457 HRESULT CALLBACK
IRpcChannelBuffer2_GetProtocolVersion_Proxy(
7458 IRpcChannelBuffer2
* This
,
7460 void __RPC_STUB
IRpcChannelBuffer2_GetProtocolVersion_Stub(
7461 struct IRpcStubBuffer
* This
,
7462 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7463 PRPC_MESSAGE pRpcMessage
,
7464 DWORD
* pdwStubPhase
);
7466 #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
7468 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
7469 #define __IRpcChannelBuffer3_FWD_DEFINED__
7470 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3
;
7473 typedef IRpcChannelBuffer3
*LPRPCCHANNELBUFFER3
;
7475 /*****************************************************************************
7476 * IRpcChannelBuffer3 interface
7478 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
7479 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
7481 DEFINE_GUID(IID_IRpcChannelBuffer3
, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
7482 #if defined(__cplusplus) && !defined(CINTERFACE)
7483 struct IRpcChannelBuffer3
: public IRpcChannelBuffer2
7485 virtual HRESULT STDMETHODCALLTYPE
Send(
7486 RPCOLEMESSAGE
* pMsg
,
7487 ULONG
* pulStatus
) = 0;
7489 virtual HRESULT STDMETHODCALLTYPE
Receive(
7490 RPCOLEMESSAGE
* pMsg
,
7492 ULONG
* pulStatus
) = 0;
7494 virtual HRESULT STDMETHODCALLTYPE
Cancel(
7495 RPCOLEMESSAGE
* pMsg
) = 0;
7497 virtual HRESULT STDMETHODCALLTYPE
GetCallContext(
7498 RPCOLEMESSAGE
* pMsg
,
7500 void** pInterface
) = 0;
7502 virtual HRESULT STDMETHODCALLTYPE
GetDestCtxEx(
7503 RPCOLEMESSAGE
* pMsg
,
7504 DWORD
* pdwDestContext
,
7505 void** ppvDestContext
) = 0;
7507 virtual HRESULT STDMETHODCALLTYPE
GetState(
7508 RPCOLEMESSAGE
* pMsg
,
7511 virtual HRESULT STDMETHODCALLTYPE
RegisterAsync(
7512 RPCOLEMESSAGE
* pMsg
,
7513 IAsyncManager
* pAsyncMgr
) = 0;
7517 typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl
;
7518 struct IRpcChannelBuffer3
{
7519 const IRpcChannelBuffer3Vtbl
* lpVtbl
;
7521 struct IRpcChannelBuffer3Vtbl
{
7522 ICOM_MSVTABLE_COMPAT_FIELDS
7524 /*** IUnknown methods ***/
7525 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7526 IRpcChannelBuffer3
* This
,
7530 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7531 IRpcChannelBuffer3
* This
);
7533 ULONG (STDMETHODCALLTYPE
*Release
)(
7534 IRpcChannelBuffer3
* This
);
7536 /*** IRpcChannelBuffer methods ***/
7537 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
7538 IRpcChannelBuffer3
* This
,
7539 RPCOLEMESSAGE
* pMessage
,
7542 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
7543 IRpcChannelBuffer3
* This
,
7544 RPCOLEMESSAGE
* pMessage
,
7547 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
7548 IRpcChannelBuffer3
* This
,
7549 RPCOLEMESSAGE
* pMessage
);
7551 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
7552 IRpcChannelBuffer3
* This
,
7553 DWORD
* pdwDestContext
,
7554 void** ppvDestContext
);
7556 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
7557 IRpcChannelBuffer3
* This
);
7559 /*** IRpcChannelBuffer2 methods ***/
7560 HRESULT (STDMETHODCALLTYPE
*GetProtocolVersion
)(
7561 IRpcChannelBuffer3
* This
,
7564 /*** IRpcChannelBuffer3 methods ***/
7565 HRESULT (STDMETHODCALLTYPE
*Send
)(
7566 IRpcChannelBuffer3
* This
,
7567 RPCOLEMESSAGE
* pMsg
,
7570 HRESULT (STDMETHODCALLTYPE
*Receive
)(
7571 IRpcChannelBuffer3
* This
,
7572 RPCOLEMESSAGE
* pMsg
,
7576 HRESULT (STDMETHODCALLTYPE
*Cancel
)(
7577 IRpcChannelBuffer3
* This
,
7578 RPCOLEMESSAGE
* pMsg
);
7580 HRESULT (STDMETHODCALLTYPE
*GetCallContext
)(
7581 IRpcChannelBuffer3
* This
,
7582 RPCOLEMESSAGE
* pMsg
,
7586 HRESULT (STDMETHODCALLTYPE
*GetDestCtxEx
)(
7587 IRpcChannelBuffer3
* This
,
7588 RPCOLEMESSAGE
* pMsg
,
7589 DWORD
* pdwDestContext
,
7590 void** ppvDestContext
);
7592 HRESULT (STDMETHODCALLTYPE
*GetState
)(
7593 IRpcChannelBuffer3
* This
,
7594 RPCOLEMESSAGE
* pMsg
,
7597 HRESULT (STDMETHODCALLTYPE
*RegisterAsync
)(
7598 IRpcChannelBuffer3
* This
,
7599 RPCOLEMESSAGE
* pMsg
,
7600 IAsyncManager
* pAsyncMgr
);
7604 /*** IUnknown methods ***/
7605 #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7606 #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p)
7607 #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p)
7608 /*** IRpcChannelBuffer methods ***/
7609 #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7610 #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7611 #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7612 #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7613 #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7614 /*** IRpcChannelBuffer2 methods ***/
7615 #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
7616 /*** IRpcChannelBuffer3 methods ***/
7617 #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b)
7618 #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c)
7619 #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a)
7620 #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c)
7621 #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c)
7622 #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
7623 #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b)
7627 #define IRpcChannelBuffer3_METHODS \
7628 ICOM_MSVTABLE_COMPAT_FIELDS \
7629 /*** IUnknown methods ***/ \
7630 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7631 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7632 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7633 /*** IRpcChannelBuffer methods ***/ \
7634 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
7635 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
7636 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
7637 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7638 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
7639 /*** IRpcChannelBuffer2 methods ***/ \
7640 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; \
7641 /*** IRpcChannelBuffer3 methods ***/ \
7642 STDMETHOD_(HRESULT,Send)(THIS_ RPCOLEMESSAGE* pMsg, ULONG* pulStatus) PURE; \
7643 STDMETHOD_(HRESULT,Receive)(THIS_ RPCOLEMESSAGE* pMsg, ULONG ulSize, ULONG* pulStatus) PURE; \
7644 STDMETHOD_(HRESULT,Cancel)(THIS_ RPCOLEMESSAGE* pMsg) PURE; \
7645 STDMETHOD_(HRESULT,GetCallContext)(THIS_ RPCOLEMESSAGE* pMsg, REFIID riid, void** pInterface) PURE; \
7646 STDMETHOD_(HRESULT,GetDestCtxEx)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7647 STDMETHOD_(HRESULT,GetState)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pState) PURE; \
7648 STDMETHOD_(HRESULT,RegisterAsync)(THIS_ RPCOLEMESSAGE* pMsg, IAsyncManager* pAsyncMgr) PURE;
7650 HRESULT CALLBACK
IRpcChannelBuffer3_Send_Proxy(
7651 IRpcChannelBuffer3
* This
,
7652 RPCOLEMESSAGE
* pMsg
,
7654 void __RPC_STUB
IRpcChannelBuffer3_Send_Stub(
7655 struct IRpcStubBuffer
* This
,
7656 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7657 PRPC_MESSAGE pRpcMessage
,
7658 DWORD
* pdwStubPhase
);
7659 HRESULT CALLBACK
IRpcChannelBuffer3_Receive_Proxy(
7660 IRpcChannelBuffer3
* This
,
7661 RPCOLEMESSAGE
* pMsg
,
7664 void __RPC_STUB
IRpcChannelBuffer3_Receive_Stub(
7665 struct IRpcStubBuffer
* This
,
7666 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7667 PRPC_MESSAGE pRpcMessage
,
7668 DWORD
* pdwStubPhase
);
7669 HRESULT CALLBACK
IRpcChannelBuffer3_Cancel_Proxy(
7670 IRpcChannelBuffer3
* This
,
7671 RPCOLEMESSAGE
* pMsg
);
7672 void __RPC_STUB
IRpcChannelBuffer3_Cancel_Stub(
7673 struct IRpcStubBuffer
* This
,
7674 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7675 PRPC_MESSAGE pRpcMessage
,
7676 DWORD
* pdwStubPhase
);
7677 HRESULT CALLBACK
IRpcChannelBuffer3_GetCallContext_Proxy(
7678 IRpcChannelBuffer3
* This
,
7679 RPCOLEMESSAGE
* pMsg
,
7682 void __RPC_STUB
IRpcChannelBuffer3_GetCallContext_Stub(
7683 struct IRpcStubBuffer
* This
,
7684 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7685 PRPC_MESSAGE pRpcMessage
,
7686 DWORD
* pdwStubPhase
);
7687 HRESULT CALLBACK
IRpcChannelBuffer3_GetDestCtxEx_Proxy(
7688 IRpcChannelBuffer3
* This
,
7689 RPCOLEMESSAGE
* pMsg
,
7690 DWORD
* pdwDestContext
,
7691 void** ppvDestContext
);
7692 void __RPC_STUB
IRpcChannelBuffer3_GetDestCtxEx_Stub(
7693 struct IRpcStubBuffer
* This
,
7694 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7695 PRPC_MESSAGE pRpcMessage
,
7696 DWORD
* pdwStubPhase
);
7697 HRESULT CALLBACK
IRpcChannelBuffer3_GetState_Proxy(
7698 IRpcChannelBuffer3
* This
,
7699 RPCOLEMESSAGE
* pMsg
,
7701 void __RPC_STUB
IRpcChannelBuffer3_GetState_Stub(
7702 struct IRpcStubBuffer
* This
,
7703 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7704 PRPC_MESSAGE pRpcMessage
,
7705 DWORD
* pdwStubPhase
);
7706 HRESULT CALLBACK
IRpcChannelBuffer3_RegisterAsync_Proxy(
7707 IRpcChannelBuffer3
* This
,
7708 RPCOLEMESSAGE
* pMsg
,
7709 IAsyncManager
* pAsyncMgr
);
7710 void __RPC_STUB
IRpcChannelBuffer3_RegisterAsync_Stub(
7711 struct IRpcStubBuffer
* This
,
7712 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7713 PRPC_MESSAGE pRpcMessage
,
7714 DWORD
* pdwStubPhase
);
7716 #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
7718 #ifndef __IRpcProxyBuffer_FWD_DEFINED__
7719 #define __IRpcProxyBuffer_FWD_DEFINED__
7720 typedef struct IRpcProxyBuffer IRpcProxyBuffer
;
7723 typedef IRpcProxyBuffer
*LPRPCPROXYBUFFER
;
7725 /*****************************************************************************
7726 * IRpcProxyBuffer interface
7728 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
7729 #define __IRpcProxyBuffer_INTERFACE_DEFINED__
7731 DEFINE_GUID(IID_IRpcProxyBuffer
, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7732 #if defined(__cplusplus) && !defined(CINTERFACE)
7733 struct IRpcProxyBuffer
: public IUnknown
7735 virtual HRESULT STDMETHODCALLTYPE
Connect(
7736 IRpcChannelBuffer
* pRpcChannelBuffer
) = 0;
7738 virtual void STDMETHODCALLTYPE
Disconnect(
7743 typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl
;
7744 struct IRpcProxyBuffer
{
7745 const IRpcProxyBufferVtbl
* lpVtbl
;
7747 struct IRpcProxyBufferVtbl
{
7748 ICOM_MSVTABLE_COMPAT_FIELDS
7750 /*** IUnknown methods ***/
7751 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7752 IRpcProxyBuffer
* This
,
7756 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7757 IRpcProxyBuffer
* This
);
7759 ULONG (STDMETHODCALLTYPE
*Release
)(
7760 IRpcProxyBuffer
* This
);
7762 /*** IRpcProxyBuffer methods ***/
7763 HRESULT (STDMETHODCALLTYPE
*Connect
)(
7764 IRpcProxyBuffer
* This
,
7765 IRpcChannelBuffer
* pRpcChannelBuffer
);
7767 void (STDMETHODCALLTYPE
*Disconnect
)(
7768 IRpcProxyBuffer
* This
);
7772 /*** IUnknown methods ***/
7773 #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7774 #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7775 #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p)
7776 /*** IRpcProxyBuffer methods ***/
7777 #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7778 #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7782 #define IRpcProxyBuffer_METHODS \
7783 ICOM_MSVTABLE_COMPAT_FIELDS \
7784 /*** IUnknown methods ***/ \
7785 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7786 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7787 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7788 /*** IRpcProxyBuffer methods ***/ \
7789 STDMETHOD_(HRESULT,Connect)(THIS_ IRpcChannelBuffer* pRpcChannelBuffer) PURE; \
7790 STDMETHOD_(void,Disconnect)(THIS) PURE;
7792 HRESULT CALLBACK
IRpcProxyBuffer_Connect_Proxy(
7793 IRpcProxyBuffer
* This
,
7794 IRpcChannelBuffer
* pRpcChannelBuffer
);
7795 void __RPC_STUB
IRpcProxyBuffer_Connect_Stub(
7796 struct IRpcStubBuffer
* This
,
7797 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7798 PRPC_MESSAGE pRpcMessage
,
7799 DWORD
* pdwStubPhase
);
7800 void CALLBACK
IRpcProxyBuffer_Disconnect_Proxy(
7801 IRpcProxyBuffer
* This
);
7802 void __RPC_STUB
IRpcProxyBuffer_Disconnect_Stub(
7803 struct IRpcStubBuffer
* This
,
7804 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7805 PRPC_MESSAGE pRpcMessage
,
7806 DWORD
* pdwStubPhase
);
7808 #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
7810 #ifndef __IRpcStubBuffer_FWD_DEFINED__
7811 #define __IRpcStubBuffer_FWD_DEFINED__
7812 typedef struct IRpcStubBuffer IRpcStubBuffer
;
7815 typedef IRpcStubBuffer
*LPRPCSTUBBUFFER
;
7817 /*****************************************************************************
7818 * IRpcStubBuffer interface
7820 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
7821 #define __IRpcStubBuffer_INTERFACE_DEFINED__
7823 DEFINE_GUID(IID_IRpcStubBuffer
, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7824 #if defined(__cplusplus) && !defined(CINTERFACE)
7825 struct IRpcStubBuffer
: public IUnknown
7827 virtual HRESULT STDMETHODCALLTYPE
Connect(
7828 IUnknown
* pUnkServer
) = 0;
7830 virtual void STDMETHODCALLTYPE
Disconnect(
7833 virtual HRESULT STDMETHODCALLTYPE
Invoke(
7834 RPCOLEMESSAGE
* _prpcmsg
,
7835 IRpcChannelBuffer
* _pRpcChannelBuffer
) = 0;
7837 virtual IRpcStubBuffer
* STDMETHODCALLTYPE
IsIIDSupported(
7840 virtual ULONG STDMETHODCALLTYPE
CountRefs(
7843 virtual HRESULT STDMETHODCALLTYPE
DebugServerQueryInterface(
7846 virtual void STDMETHODCALLTYPE
DebugServerRelease(
7851 typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl
;
7852 struct IRpcStubBuffer
{
7853 const IRpcStubBufferVtbl
* lpVtbl
;
7855 struct IRpcStubBufferVtbl
{
7856 ICOM_MSVTABLE_COMPAT_FIELDS
7858 /*** IUnknown methods ***/
7859 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7860 IRpcStubBuffer
* This
,
7864 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7865 IRpcStubBuffer
* This
);
7867 ULONG (STDMETHODCALLTYPE
*Release
)(
7868 IRpcStubBuffer
* This
);
7870 /*** IRpcStubBuffer methods ***/
7871 HRESULT (STDMETHODCALLTYPE
*Connect
)(
7872 IRpcStubBuffer
* This
,
7873 IUnknown
* pUnkServer
);
7875 void (STDMETHODCALLTYPE
*Disconnect
)(
7876 IRpcStubBuffer
* This
);
7878 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
7879 IRpcStubBuffer
* This
,
7880 RPCOLEMESSAGE
* _prpcmsg
,
7881 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7883 IRpcStubBuffer
* (STDMETHODCALLTYPE
*IsIIDSupported
)(
7884 IRpcStubBuffer
* This
,
7887 ULONG (STDMETHODCALLTYPE
*CountRefs
)(
7888 IRpcStubBuffer
* This
);
7890 HRESULT (STDMETHODCALLTYPE
*DebugServerQueryInterface
)(
7891 IRpcStubBuffer
* This
,
7894 void (STDMETHODCALLTYPE
*DebugServerRelease
)(
7895 IRpcStubBuffer
* This
,
7900 /*** IUnknown methods ***/
7901 #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7902 #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7903 #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p)
7904 /*** IRpcStubBuffer methods ***/
7905 #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7906 #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7907 #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b)
7908 #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a)
7909 #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p)
7910 #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a)
7911 #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a)
7915 #define IRpcStubBuffer_METHODS \
7916 ICOM_MSVTABLE_COMPAT_FIELDS \
7917 /*** IUnknown methods ***/ \
7918 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7919 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7920 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7921 /*** IRpcStubBuffer methods ***/ \
7922 STDMETHOD_(HRESULT,Connect)(THIS_ IUnknown* pUnkServer) PURE; \
7923 STDMETHOD_(void,Disconnect)(THIS) PURE; \
7924 STDMETHOD_(HRESULT,Invoke)(THIS_ RPCOLEMESSAGE* _prpcmsg, IRpcChannelBuffer* _pRpcChannelBuffer) PURE; \
7925 STDMETHOD_(IRpcStubBuffer*,IsIIDSupported)(THIS_ REFIID riid) PURE; \
7926 STDMETHOD_(ULONG,CountRefs)(THIS) PURE; \
7927 STDMETHOD_(HRESULT,DebugServerQueryInterface)(THIS_ void** ppv) PURE; \
7928 STDMETHOD_(void,DebugServerRelease)(THIS_ void* pv) PURE;
7930 HRESULT CALLBACK
IRpcStubBuffer_Connect_Proxy(
7931 IRpcStubBuffer
* This
,
7932 IUnknown
* pUnkServer
);
7933 void __RPC_STUB
IRpcStubBuffer_Connect_Stub(
7934 struct IRpcStubBuffer
* This
,
7935 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7936 PRPC_MESSAGE pRpcMessage
,
7937 DWORD
* pdwStubPhase
);
7938 void CALLBACK
IRpcStubBuffer_Disconnect_Proxy(
7939 IRpcStubBuffer
* This
);
7940 void __RPC_STUB
IRpcStubBuffer_Disconnect_Stub(
7941 struct IRpcStubBuffer
* This
,
7942 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7943 PRPC_MESSAGE pRpcMessage
,
7944 DWORD
* pdwStubPhase
);
7945 HRESULT CALLBACK
IRpcStubBuffer_Invoke_Proxy(
7946 IRpcStubBuffer
* This
,
7947 RPCOLEMESSAGE
* _prpcmsg
,
7948 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7949 void __RPC_STUB
IRpcStubBuffer_Invoke_Stub(
7950 struct IRpcStubBuffer
* This
,
7951 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7952 PRPC_MESSAGE pRpcMessage
,
7953 DWORD
* pdwStubPhase
);
7954 IRpcStubBuffer
* CALLBACK
IRpcStubBuffer_IsIIDSupported_Proxy(
7955 IRpcStubBuffer
* This
,
7957 void __RPC_STUB
IRpcStubBuffer_IsIIDSupported_Stub(
7958 struct IRpcStubBuffer
* This
,
7959 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7960 PRPC_MESSAGE pRpcMessage
,
7961 DWORD
* pdwStubPhase
);
7962 ULONG CALLBACK
IRpcStubBuffer_CountRefs_Proxy(
7963 IRpcStubBuffer
* This
);
7964 void __RPC_STUB
IRpcStubBuffer_CountRefs_Stub(
7965 struct IRpcStubBuffer
* This
,
7966 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7967 PRPC_MESSAGE pRpcMessage
,
7968 DWORD
* pdwStubPhase
);
7969 HRESULT CALLBACK
IRpcStubBuffer_DebugServerQueryInterface_Proxy(
7970 IRpcStubBuffer
* This
,
7972 void __RPC_STUB
IRpcStubBuffer_DebugServerQueryInterface_Stub(
7973 struct IRpcStubBuffer
* This
,
7974 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7975 PRPC_MESSAGE pRpcMessage
,
7976 DWORD
* pdwStubPhase
);
7977 void CALLBACK
IRpcStubBuffer_DebugServerRelease_Proxy(
7978 IRpcStubBuffer
* This
,
7980 void __RPC_STUB
IRpcStubBuffer_DebugServerRelease_Stub(
7981 struct IRpcStubBuffer
* This
,
7982 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7983 PRPC_MESSAGE pRpcMessage
,
7984 DWORD
* pdwStubPhase
);
7986 #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
7988 #ifndef __IPSFactoryBuffer_FWD_DEFINED__
7989 #define __IPSFactoryBuffer_FWD_DEFINED__
7990 typedef struct IPSFactoryBuffer IPSFactoryBuffer
;
7993 typedef IPSFactoryBuffer
*LPPSFACTORYBUFFER
;
7995 /*****************************************************************************
7996 * IPSFactoryBuffer interface
7998 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
7999 #define __IPSFactoryBuffer_INTERFACE_DEFINED__
8001 DEFINE_GUID(IID_IPSFactoryBuffer
, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
8002 #if defined(__cplusplus) && !defined(CINTERFACE)
8003 struct IPSFactoryBuffer
: public IUnknown
8005 virtual HRESULT STDMETHODCALLTYPE
CreateProxy(
8006 IUnknown
* pUnkOuter
,
8008 IRpcProxyBuffer
** ppProxy
,
8011 virtual HRESULT STDMETHODCALLTYPE
CreateStub(
8013 IUnknown
* pUnkServer
,
8014 IRpcStubBuffer
** ppStub
) = 0;
8018 typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl
;
8019 struct IPSFactoryBuffer
{
8020 const IPSFactoryBufferVtbl
* lpVtbl
;
8022 struct IPSFactoryBufferVtbl
{
8023 ICOM_MSVTABLE_COMPAT_FIELDS
8025 /*** IUnknown methods ***/
8026 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8027 IPSFactoryBuffer
* This
,
8031 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8032 IPSFactoryBuffer
* This
);
8034 ULONG (STDMETHODCALLTYPE
*Release
)(
8035 IPSFactoryBuffer
* This
);
8037 /*** IPSFactoryBuffer methods ***/
8038 HRESULT (STDMETHODCALLTYPE
*CreateProxy
)(
8039 IPSFactoryBuffer
* This
,
8040 IUnknown
* pUnkOuter
,
8042 IRpcProxyBuffer
** ppProxy
,
8045 HRESULT (STDMETHODCALLTYPE
*CreateStub
)(
8046 IPSFactoryBuffer
* This
,
8048 IUnknown
* pUnkServer
,
8049 IRpcStubBuffer
** ppStub
);
8053 /*** IUnknown methods ***/
8054 #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8055 #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
8056 #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p)
8057 /*** IPSFactoryBuffer methods ***/
8058 #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d)
8059 #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c)
8063 #define IPSFactoryBuffer_METHODS \
8064 ICOM_MSVTABLE_COMPAT_FIELDS \
8065 /*** IUnknown methods ***/ \
8066 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8067 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8068 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8069 /*** IPSFactoryBuffer methods ***/ \
8070 STDMETHOD_(HRESULT,CreateProxy)(THIS_ IUnknown* pUnkOuter, REFIID riid, IRpcProxyBuffer** ppProxy, void** ppv) PURE; \
8071 STDMETHOD_(HRESULT,CreateStub)(THIS_ REFIID riid, IUnknown* pUnkServer, IRpcStubBuffer** ppStub) PURE;
8073 HRESULT CALLBACK
IPSFactoryBuffer_CreateProxy_Proxy(
8074 IPSFactoryBuffer
* This
,
8075 IUnknown
* pUnkOuter
,
8077 IRpcProxyBuffer
** ppProxy
,
8079 void __RPC_STUB
IPSFactoryBuffer_CreateProxy_Stub(
8080 struct IRpcStubBuffer
* This
,
8081 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8082 PRPC_MESSAGE pRpcMessage
,
8083 DWORD
* pdwStubPhase
);
8084 HRESULT CALLBACK
IPSFactoryBuffer_CreateStub_Proxy(
8085 IPSFactoryBuffer
* This
,
8087 IUnknown
* pUnkServer
,
8088 IRpcStubBuffer
** ppStub
);
8089 void __RPC_STUB
IPSFactoryBuffer_CreateStub_Stub(
8090 struct IRpcStubBuffer
* This
,
8091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8092 PRPC_MESSAGE pRpcMessage
,
8093 DWORD
* pdwStubPhase
);
8095 #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
8097 #ifndef __IChannelHook_FWD_DEFINED__
8098 #define __IChannelHook_FWD_DEFINED__
8099 typedef struct IChannelHook IChannelHook
;
8102 typedef IChannelHook
*LPCHANNELHOOK
;
8104 typedef struct SChannelHookCallInfo
{
8111 } SChannelHookCallInfo
;
8113 /*****************************************************************************
8114 * IChannelHook interface
8116 #ifndef __IChannelHook_INTERFACE_DEFINED__
8117 #define __IChannelHook_INTERFACE_DEFINED__
8119 DEFINE_GUID(IID_IChannelHook
, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
8120 #if defined(__cplusplus) && !defined(CINTERFACE)
8121 struct IChannelHook
: public IUnknown
8123 virtual void STDMETHODCALLTYPE
ClientGetSize(
8126 ULONG
* pDataSize
) = 0;
8128 virtual void STDMETHODCALLTYPE
ClientFillBuffer(
8132 void* pDataBuffer
) = 0;
8134 virtual void STDMETHODCALLTYPE
ClientNotify(
8140 HRESULT hrFault
) = 0;
8142 virtual void STDMETHODCALLTYPE
ServerNotify(
8147 DWORD lDataRep
) = 0;
8149 virtual void STDMETHODCALLTYPE
ServerGetSize(
8153 ULONG
* pDataSize
) = 0;
8155 virtual void STDMETHODCALLTYPE
ServerFillBuffer(
8160 HRESULT hrFault
) = 0;
8164 typedef struct IChannelHookVtbl IChannelHookVtbl
;
8165 struct IChannelHook
{
8166 const IChannelHookVtbl
* lpVtbl
;
8168 struct IChannelHookVtbl
{
8169 ICOM_MSVTABLE_COMPAT_FIELDS
8171 /*** IUnknown methods ***/
8172 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8177 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8178 IChannelHook
* This
);
8180 ULONG (STDMETHODCALLTYPE
*Release
)(
8181 IChannelHook
* This
);
8183 /*** IChannelHook methods ***/
8184 void (STDMETHODCALLTYPE
*ClientGetSize
)(
8190 void (STDMETHODCALLTYPE
*ClientFillBuffer
)(
8197 void (STDMETHODCALLTYPE
*ClientNotify
)(
8206 void (STDMETHODCALLTYPE
*ServerNotify
)(
8214 void (STDMETHODCALLTYPE
*ServerGetSize
)(
8221 void (STDMETHODCALLTYPE
*ServerFillBuffer
)(
8231 /*** IUnknown methods ***/
8232 #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8233 #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p)
8234 #define IChannelHook_Release(p) (p)->lpVtbl->Release(p)
8235 /*** IChannelHook methods ***/
8236 #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c)
8237 #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d)
8238 #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f)
8239 #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e)
8240 #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d)
8241 #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e)
8245 #define IChannelHook_METHODS \
8246 ICOM_MSVTABLE_COMPAT_FIELDS \
8247 /*** IUnknown methods ***/ \
8248 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8249 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8250 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8251 /*** IChannelHook methods ***/ \
8252 STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize) PURE; \
8253 STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer) PURE; \
8254 STDMETHOD_(void,ClientNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep, HRESULT hrFault) PURE; \
8255 STDMETHOD_(void,ServerNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep) PURE; \
8256 STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID uExtent, REFIID riid, HRESULT hrFault, ULONG* pDataSize) PURE; \
8257 STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer, HRESULT hrFault) PURE;
8259 void CALLBACK
IChannelHook_ClientGetSize_Proxy(
8264 void __RPC_STUB
IChannelHook_ClientGetSize_Stub(
8265 struct IRpcStubBuffer
* This
,
8266 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8267 PRPC_MESSAGE pRpcMessage
,
8268 DWORD
* pdwStubPhase
);
8269 void CALLBACK
IChannelHook_ClientFillBuffer_Proxy(
8275 void __RPC_STUB
IChannelHook_ClientFillBuffer_Stub(
8276 struct IRpcStubBuffer
* This
,
8277 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8278 PRPC_MESSAGE pRpcMessage
,
8279 DWORD
* pdwStubPhase
);
8280 void CALLBACK
IChannelHook_ClientNotify_Proxy(
8288 void __RPC_STUB
IChannelHook_ClientNotify_Stub(
8289 struct IRpcStubBuffer
* This
,
8290 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8291 PRPC_MESSAGE pRpcMessage
,
8292 DWORD
* pdwStubPhase
);
8293 void CALLBACK
IChannelHook_ServerNotify_Proxy(
8300 void __RPC_STUB
IChannelHook_ServerNotify_Stub(
8301 struct IRpcStubBuffer
* This
,
8302 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8303 PRPC_MESSAGE pRpcMessage
,
8304 DWORD
* pdwStubPhase
);
8305 void CALLBACK
IChannelHook_ServerGetSize_Proxy(
8311 void __RPC_STUB
IChannelHook_ServerGetSize_Stub(
8312 struct IRpcStubBuffer
* This
,
8313 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8314 PRPC_MESSAGE pRpcMessage
,
8315 DWORD
* pdwStubPhase
);
8316 void CALLBACK
IChannelHook_ServerFillBuffer_Proxy(
8323 void __RPC_STUB
IChannelHook_ServerFillBuffer_Stub(
8324 struct IRpcStubBuffer
* This
,
8325 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8326 PRPC_MESSAGE pRpcMessage
,
8327 DWORD
* pdwStubPhase
);
8329 #endif /* __IChannelHook_INTERFACE_DEFINED__ */
8331 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
8332 #define __IEnumSTATPROPSTG_FWD_DEFINED__
8333 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG
;
8336 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
8337 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
8338 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG
;
8341 #ifndef __IPropertyStorage_FWD_DEFINED__
8342 #define __IPropertyStorage_FWD_DEFINED__
8343 typedef struct IPropertyStorage IPropertyStorage
;
8346 typedef IPropertyStorage
*LPPROPERTYSTORAGE
;
8348 extern const FMTID FMTID_SummaryInformation
;
8350 extern const FMTID FMTID_DocSummaryInformation
;
8352 extern const FMTID FMTID_UserDefinedProperties
;
8354 #define PROPSETFLAG_DEFAULT (0)
8356 #define PROPSETFLAG_NONSIMPLE (1)
8358 #define PROPSETFLAG_ANSI (2)
8360 #define PROPSETFLAG_UNBUFFERED (4)
8362 typedef struct tagPROPVARIANT PROPVARIANT
;
8364 typedef struct tagCAUB
{
8366 unsigned char *pElems
;
8369 typedef struct tagCAI
{
8374 typedef struct tagCAUI
{
8379 typedef struct tagCAL
{
8384 typedef struct tagCAUL
{
8389 typedef struct tagCAFLT
{
8394 typedef struct tagCADBL
{
8399 typedef struct tagCACY
{
8404 typedef struct tagCADATE
{
8409 typedef struct tagCABSTR
{
8414 typedef struct tagCABSTRBLOB
{
8419 typedef struct tagCABOOL
{
8421 VARIANT_BOOL
*pElems
;
8424 typedef struct tagCASCODE
{
8429 typedef struct tagCAPROPVARIANT
{
8431 PROPVARIANT
*pElems
;
8434 typedef struct tagCAH
{
8436 LARGE_INTEGER
*pElems
;
8439 typedef struct tagCAUH
{
8441 ULARGE_INTEGER
*pElems
;
8444 typedef struct tagCALPSTR
{
8449 typedef struct tagCALPWSTR
{
8454 typedef struct tagCAFILETIME
{
8459 typedef struct tagCACLIPDATA
{
8464 typedef struct tagCACLSID
{
8469 struct tagPROPVARIANT
{
8479 VARIANT_BOOL boolVal
;
8485 ULARGE_INTEGER uhVal
;
8492 CLIPDATA
*pclipdata
;
8496 BSTRBLOB bstrblobVal
;
8512 CAFILETIME cafiletime
;
8514 CACLIPDATA caclipdata
;
8516 CABSTRBLOB cabstrblob
;
8519 CAPROPVARIANT capropvar
;
8523 typedef struct tagPROPVARIANT
*LPPROPVARIANT
;
8525 #define PRSPEC_INVALID (0x7fffffff)
8527 #define PRSPEC_LPWSTR (0)
8529 #define PRSPEC_PROPID (1)
8531 typedef struct tagPROPSPEC
{
8539 typedef struct tagSTATPROPSTG
{
8540 LPOLESTR lpwstrName
;
8545 typedef struct tagSTATPROPSETSTG
{
8555 /*****************************************************************************
8556 * IPropertyStorage interface
8558 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
8559 #define __IPropertyStorage_INTERFACE_DEFINED__
8561 DEFINE_GUID(IID_IPropertyStorage
, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8562 #if defined(__cplusplus) && !defined(CINTERFACE)
8563 struct IPropertyStorage
: public IUnknown
8565 virtual HRESULT STDMETHODCALLTYPE
ReadMultiple(
8567 const PROPSPEC rgpspec
[],
8568 PROPVARIANT rgpropvar
[]) = 0;
8570 virtual HRESULT STDMETHODCALLTYPE
WriteMultiple(
8572 const PROPSPEC rgpspec
[],
8573 const PROPVARIANT rgpropvar
[],
8574 PROPID propidNameFirst
) = 0;
8576 virtual HRESULT STDMETHODCALLTYPE
DeleteMultiple(
8578 const PROPSPEC rgpspec
[]) = 0;
8580 virtual HRESULT STDMETHODCALLTYPE
ReadPropertyNames(
8582 const PROPID rgpropid
[],
8583 LPOLESTR rglpwstrName
[]) = 0;
8585 virtual HRESULT STDMETHODCALLTYPE
WritePropertyNames(
8587 const PROPID rgpropid
[],
8588 const LPOLESTR rglpwstrName
[]) = 0;
8590 virtual HRESULT STDMETHODCALLTYPE
DeletePropertyNames(
8592 const PROPID rgpropid
[]) = 0;
8594 virtual HRESULT STDMETHODCALLTYPE
Commit(
8595 DWORD grfCommitFlags
) = 0;
8597 virtual HRESULT STDMETHODCALLTYPE
Revert(
8600 virtual HRESULT STDMETHODCALLTYPE
Enum(
8601 IEnumSTATPROPSTG
** ppenum
) = 0;
8603 virtual HRESULT STDMETHODCALLTYPE
SetTimes(
8604 const FILETIME
* pctime
,
8605 const FILETIME
* patime
,
8606 const FILETIME
* pmtime
) = 0;
8608 virtual HRESULT STDMETHODCALLTYPE
SetClass(
8609 REFCLSID clsid
) = 0;
8611 virtual HRESULT STDMETHODCALLTYPE
Stat(
8612 STATPROPSETSTG
* statpsstg
) = 0;
8616 typedef struct IPropertyStorageVtbl IPropertyStorageVtbl
;
8617 struct IPropertyStorage
{
8618 const IPropertyStorageVtbl
* lpVtbl
;
8620 struct IPropertyStorageVtbl
{
8621 ICOM_MSVTABLE_COMPAT_FIELDS
8623 /*** IUnknown methods ***/
8624 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8625 IPropertyStorage
* This
,
8629 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8630 IPropertyStorage
* This
);
8632 ULONG (STDMETHODCALLTYPE
*Release
)(
8633 IPropertyStorage
* This
);
8635 /*** IPropertyStorage methods ***/
8636 HRESULT (STDMETHODCALLTYPE
*ReadMultiple
)(
8637 IPropertyStorage
* This
,
8639 const PROPSPEC rgpspec
[],
8640 PROPVARIANT rgpropvar
[]);
8642 HRESULT (STDMETHODCALLTYPE
*WriteMultiple
)(
8643 IPropertyStorage
* This
,
8645 const PROPSPEC rgpspec
[],
8646 const PROPVARIANT rgpropvar
[],
8647 PROPID propidNameFirst
);
8649 HRESULT (STDMETHODCALLTYPE
*DeleteMultiple
)(
8650 IPropertyStorage
* This
,
8652 const PROPSPEC rgpspec
[]);
8654 HRESULT (STDMETHODCALLTYPE
*ReadPropertyNames
)(
8655 IPropertyStorage
* This
,
8657 const PROPID rgpropid
[],
8658 LPOLESTR rglpwstrName
[]);
8660 HRESULT (STDMETHODCALLTYPE
*WritePropertyNames
)(
8661 IPropertyStorage
* This
,
8663 const PROPID rgpropid
[],
8664 const LPOLESTR rglpwstrName
[]);
8666 HRESULT (STDMETHODCALLTYPE
*DeletePropertyNames
)(
8667 IPropertyStorage
* This
,
8669 const PROPID rgpropid
[]);
8671 HRESULT (STDMETHODCALLTYPE
*Commit
)(
8672 IPropertyStorage
* This
,
8673 DWORD grfCommitFlags
);
8675 HRESULT (STDMETHODCALLTYPE
*Revert
)(
8676 IPropertyStorage
* This
);
8678 HRESULT (STDMETHODCALLTYPE
*Enum
)(
8679 IPropertyStorage
* This
,
8680 IEnumSTATPROPSTG
** ppenum
);
8682 HRESULT (STDMETHODCALLTYPE
*SetTimes
)(
8683 IPropertyStorage
* This
,
8684 const FILETIME
* pctime
,
8685 const FILETIME
* patime
,
8686 const FILETIME
* pmtime
);
8688 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
8689 IPropertyStorage
* This
,
8692 HRESULT (STDMETHODCALLTYPE
*Stat
)(
8693 IPropertyStorage
* This
,
8694 STATPROPSETSTG
* statpsstg
);
8698 /*** IUnknown methods ***/
8699 #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8700 #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8701 #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
8702 /*** IPropertyStorage methods ***/
8703 #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
8704 #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
8705 #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
8706 #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
8707 #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
8708 #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
8709 #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
8710 #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
8711 #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8712 #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
8713 #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
8714 #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
8718 #define IPropertyStorage_METHODS \
8719 ICOM_MSVTABLE_COMPAT_FIELDS \
8720 /*** IUnknown methods ***/ \
8721 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8722 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8723 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8724 /*** IPropertyStorage methods ***/ \
8725 STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
8726 STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
8727 STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
8728 STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
8729 STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
8730 STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
8731 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
8732 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
8733 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
8734 STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
8735 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
8736 STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
8738 HRESULT CALLBACK
IPropertyStorage_ReadMultiple_Proxy(
8739 IPropertyStorage
* This
,
8741 const PROPSPEC rgpspec
[],
8742 PROPVARIANT rgpropvar
[]);
8743 void __RPC_STUB
IPropertyStorage_ReadMultiple_Stub(
8744 struct IRpcStubBuffer
* This
,
8745 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8746 PRPC_MESSAGE pRpcMessage
,
8747 DWORD
* pdwStubPhase
);
8748 HRESULT CALLBACK
IPropertyStorage_WriteMultiple_Proxy(
8749 IPropertyStorage
* This
,
8751 const PROPSPEC rgpspec
[],
8752 const PROPVARIANT rgpropvar
[],
8753 PROPID propidNameFirst
);
8754 void __RPC_STUB
IPropertyStorage_WriteMultiple_Stub(
8755 struct IRpcStubBuffer
* This
,
8756 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8757 PRPC_MESSAGE pRpcMessage
,
8758 DWORD
* pdwStubPhase
);
8759 HRESULT CALLBACK
IPropertyStorage_DeleteMultiple_Proxy(
8760 IPropertyStorage
* This
,
8762 const PROPSPEC rgpspec
[]);
8763 void __RPC_STUB
IPropertyStorage_DeleteMultiple_Stub(
8764 struct IRpcStubBuffer
* This
,
8765 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8766 PRPC_MESSAGE pRpcMessage
,
8767 DWORD
* pdwStubPhase
);
8768 HRESULT CALLBACK
IPropertyStorage_ReadPropertyNames_Proxy(
8769 IPropertyStorage
* This
,
8771 const PROPID rgpropid
[],
8772 LPOLESTR rglpwstrName
[]);
8773 void __RPC_STUB
IPropertyStorage_ReadPropertyNames_Stub(
8774 struct IRpcStubBuffer
* This
,
8775 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8776 PRPC_MESSAGE pRpcMessage
,
8777 DWORD
* pdwStubPhase
);
8778 HRESULT CALLBACK
IPropertyStorage_WritePropertyNames_Proxy(
8779 IPropertyStorage
* This
,
8781 const PROPID rgpropid
[],
8782 const LPOLESTR rglpwstrName
[]);
8783 void __RPC_STUB
IPropertyStorage_WritePropertyNames_Stub(
8784 struct IRpcStubBuffer
* This
,
8785 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8786 PRPC_MESSAGE pRpcMessage
,
8787 DWORD
* pdwStubPhase
);
8788 HRESULT CALLBACK
IPropertyStorage_DeletePropertyNames_Proxy(
8789 IPropertyStorage
* This
,
8791 const PROPID rgpropid
[]);
8792 void __RPC_STUB
IPropertyStorage_DeletePropertyNames_Stub(
8793 struct IRpcStubBuffer
* This
,
8794 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8795 PRPC_MESSAGE pRpcMessage
,
8796 DWORD
* pdwStubPhase
);
8797 HRESULT CALLBACK
IPropertyStorage_Commit_Proxy(
8798 IPropertyStorage
* This
,
8799 DWORD grfCommitFlags
);
8800 void __RPC_STUB
IPropertyStorage_Commit_Stub(
8801 struct IRpcStubBuffer
* This
,
8802 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8803 PRPC_MESSAGE pRpcMessage
,
8804 DWORD
* pdwStubPhase
);
8805 HRESULT CALLBACK
IPropertyStorage_Revert_Proxy(
8806 IPropertyStorage
* This
);
8807 void __RPC_STUB
IPropertyStorage_Revert_Stub(
8808 struct IRpcStubBuffer
* This
,
8809 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8810 PRPC_MESSAGE pRpcMessage
,
8811 DWORD
* pdwStubPhase
);
8812 HRESULT CALLBACK
IPropertyStorage_Enum_Proxy(
8813 IPropertyStorage
* This
,
8814 IEnumSTATPROPSTG
** ppenum
);
8815 void __RPC_STUB
IPropertyStorage_Enum_Stub(
8816 struct IRpcStubBuffer
* This
,
8817 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8818 PRPC_MESSAGE pRpcMessage
,
8819 DWORD
* pdwStubPhase
);
8820 HRESULT CALLBACK
IPropertyStorage_SetTimes_Proxy(
8821 IPropertyStorage
* This
,
8822 const FILETIME
* pctime
,
8823 const FILETIME
* patime
,
8824 const FILETIME
* pmtime
);
8825 void __RPC_STUB
IPropertyStorage_SetTimes_Stub(
8826 struct IRpcStubBuffer
* This
,
8827 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8828 PRPC_MESSAGE pRpcMessage
,
8829 DWORD
* pdwStubPhase
);
8830 HRESULT CALLBACK
IPropertyStorage_SetClass_Proxy(
8831 IPropertyStorage
* This
,
8833 void __RPC_STUB
IPropertyStorage_SetClass_Stub(
8834 struct IRpcStubBuffer
* This
,
8835 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8836 PRPC_MESSAGE pRpcMessage
,
8837 DWORD
* pdwStubPhase
);
8838 HRESULT CALLBACK
IPropertyStorage_Stat_Proxy(
8839 IPropertyStorage
* This
,
8840 STATPROPSETSTG
* statpsstg
);
8841 void __RPC_STUB
IPropertyStorage_Stat_Stub(
8842 struct IRpcStubBuffer
* This
,
8843 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8844 PRPC_MESSAGE pRpcMessage
,
8845 DWORD
* pdwStubPhase
);
8847 #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
8849 #ifndef __IPropertySetStorage_FWD_DEFINED__
8850 #define __IPropertySetStorage_FWD_DEFINED__
8851 typedef struct IPropertySetStorage IPropertySetStorage
;
8854 typedef IPropertySetStorage
*LPPROPERTYSETSTORAGE
;
8856 /*****************************************************************************
8857 * IPropertySetStorage interface
8859 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
8860 #define __IPropertySetStorage_INTERFACE_DEFINED__
8862 DEFINE_GUID(IID_IPropertySetStorage
, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8863 #if defined(__cplusplus) && !defined(CINTERFACE)
8864 struct IPropertySetStorage
: public IUnknown
8866 virtual HRESULT STDMETHODCALLTYPE
Create(
8868 const CLSID
* pclsid
,
8871 IPropertyStorage
** ppprstg
) = 0;
8873 virtual HRESULT STDMETHODCALLTYPE
Open(
8876 IPropertyStorage
** ppprstg
) = 0;
8878 virtual HRESULT STDMETHODCALLTYPE
Delete(
8879 REFFMTID rfmtid
) = 0;
8881 virtual HRESULT STDMETHODCALLTYPE
Enum(
8882 IEnumSTATPROPSETSTG
** ppenum
) = 0;
8886 typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl
;
8887 struct IPropertySetStorage
{
8888 const IPropertySetStorageVtbl
* lpVtbl
;
8890 struct IPropertySetStorageVtbl
{
8891 ICOM_MSVTABLE_COMPAT_FIELDS
8893 /*** IUnknown methods ***/
8894 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8895 IPropertySetStorage
* This
,
8899 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8900 IPropertySetStorage
* This
);
8902 ULONG (STDMETHODCALLTYPE
*Release
)(
8903 IPropertySetStorage
* This
);
8905 /*** IPropertySetStorage methods ***/
8906 HRESULT (STDMETHODCALLTYPE
*Create
)(
8907 IPropertySetStorage
* This
,
8909 const CLSID
* pclsid
,
8912 IPropertyStorage
** ppprstg
);
8914 HRESULT (STDMETHODCALLTYPE
*Open
)(
8915 IPropertySetStorage
* This
,
8918 IPropertyStorage
** ppprstg
);
8920 HRESULT (STDMETHODCALLTYPE
*Delete
)(
8921 IPropertySetStorage
* This
,
8924 HRESULT (STDMETHODCALLTYPE
*Enum
)(
8925 IPropertySetStorage
* This
,
8926 IEnumSTATPROPSETSTG
** ppenum
);
8930 /*** IUnknown methods ***/
8931 #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8932 #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8933 #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
8934 /*** IPropertySetStorage methods ***/
8935 #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
8936 #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
8937 #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
8938 #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8942 #define IPropertySetStorage_METHODS \
8943 ICOM_MSVTABLE_COMPAT_FIELDS \
8944 /*** IUnknown methods ***/ \
8945 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8946 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8947 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8948 /*** IPropertySetStorage methods ***/ \
8949 STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8950 STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8951 STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
8952 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8954 HRESULT CALLBACK
IPropertySetStorage_Create_Proxy(
8955 IPropertySetStorage
* This
,
8957 const CLSID
* pclsid
,
8960 IPropertyStorage
** ppprstg
);
8961 void __RPC_STUB
IPropertySetStorage_Create_Stub(
8962 struct IRpcStubBuffer
* This
,
8963 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8964 PRPC_MESSAGE pRpcMessage
,
8965 DWORD
* pdwStubPhase
);
8966 HRESULT CALLBACK
IPropertySetStorage_Open_Proxy(
8967 IPropertySetStorage
* This
,
8970 IPropertyStorage
** ppprstg
);
8971 void __RPC_STUB
IPropertySetStorage_Open_Stub(
8972 struct IRpcStubBuffer
* This
,
8973 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8974 PRPC_MESSAGE pRpcMessage
,
8975 DWORD
* pdwStubPhase
);
8976 HRESULT CALLBACK
IPropertySetStorage_Delete_Proxy(
8977 IPropertySetStorage
* This
,
8979 void __RPC_STUB
IPropertySetStorage_Delete_Stub(
8980 struct IRpcStubBuffer
* This
,
8981 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8982 PRPC_MESSAGE pRpcMessage
,
8983 DWORD
* pdwStubPhase
);
8984 HRESULT CALLBACK
IPropertySetStorage_Enum_Proxy(
8985 IPropertySetStorage
* This
,
8986 IEnumSTATPROPSETSTG
** ppenum
);
8987 void __RPC_STUB
IPropertySetStorage_Enum_Stub(
8988 struct IRpcStubBuffer
* This
,
8989 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8990 PRPC_MESSAGE pRpcMessage
,
8991 DWORD
* pdwStubPhase
);
8993 #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
8995 typedef IEnumSTATPROPSTG
*LPENUMSTATPROPSTG
;
8997 /*****************************************************************************
8998 * IEnumSTATPROPSTG interface
9000 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
9001 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
9003 DEFINE_GUID(IID_IEnumSTATPROPSTG
, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9004 #if defined(__cplusplus) && !defined(CINTERFACE)
9005 struct IEnumSTATPROPSTG
: public IUnknown
9007 virtual HRESULT STDMETHODCALLTYPE
Next(
9010 ULONG
* pceltFetched
) = 0;
9012 virtual HRESULT STDMETHODCALLTYPE
Skip(
9015 virtual HRESULT STDMETHODCALLTYPE
Reset(
9018 virtual HRESULT STDMETHODCALLTYPE
Clone(
9019 IEnumSTATPROPSTG
** ppenum
) = 0;
9023 typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl
;
9024 struct IEnumSTATPROPSTG
{
9025 const IEnumSTATPROPSTGVtbl
* lpVtbl
;
9027 struct IEnumSTATPROPSTGVtbl
{
9028 ICOM_MSVTABLE_COMPAT_FIELDS
9030 /*** IUnknown methods ***/
9031 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9032 IEnumSTATPROPSTG
* This
,
9036 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9037 IEnumSTATPROPSTG
* This
);
9039 ULONG (STDMETHODCALLTYPE
*Release
)(
9040 IEnumSTATPROPSTG
* This
);
9042 /*** IEnumSTATPROPSTG methods ***/
9043 HRESULT (STDMETHODCALLTYPE
*Next
)(
9044 IEnumSTATPROPSTG
* This
,
9047 ULONG
* pceltFetched
);
9049 HRESULT (STDMETHODCALLTYPE
*Skip
)(
9050 IEnumSTATPROPSTG
* This
,
9053 HRESULT (STDMETHODCALLTYPE
*Reset
)(
9054 IEnumSTATPROPSTG
* This
);
9056 HRESULT (STDMETHODCALLTYPE
*Clone
)(
9057 IEnumSTATPROPSTG
* This
,
9058 IEnumSTATPROPSTG
** ppenum
);
9062 /*** IUnknown methods ***/
9063 #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9064 #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
9065 #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
9066 /*** IEnumSTATPROPSTG methods ***/
9067 #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
9068 #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
9069 #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
9070 #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
9074 #define IEnumSTATPROPSTG_METHODS \
9075 ICOM_MSVTABLE_COMPAT_FIELDS \
9076 /*** IUnknown methods ***/ \
9077 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9078 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9079 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9080 /*** IEnumSTATPROPSTG methods ***/ \
9081 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
9082 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
9083 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
9084 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
9086 HRESULT CALLBACK
IEnumSTATPROPSTG_RemoteNext_Proxy(
9087 IEnumSTATPROPSTG
* This
,
9090 ULONG
* pceltFetched
);
9091 void __RPC_STUB
IEnumSTATPROPSTG_RemoteNext_Stub(
9092 struct IRpcStubBuffer
* This
,
9093 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9094 PRPC_MESSAGE pRpcMessage
,
9095 DWORD
* pdwStubPhase
);
9096 HRESULT CALLBACK
IEnumSTATPROPSTG_Next_Proxy(
9097 IEnumSTATPROPSTG
* This
,
9100 ULONG
* pceltFetched
);
9101 HRESULT __RPC_STUB
IEnumSTATPROPSTG_Next_Stub(
9102 IEnumSTATPROPSTG
* This
,
9105 ULONG
* pceltFetched
);
9106 HRESULT CALLBACK
IEnumSTATPROPSTG_Skip_Proxy(
9107 IEnumSTATPROPSTG
* This
,
9109 void __RPC_STUB
IEnumSTATPROPSTG_Skip_Stub(
9110 struct IRpcStubBuffer
* This
,
9111 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9112 PRPC_MESSAGE pRpcMessage
,
9113 DWORD
* pdwStubPhase
);
9114 HRESULT CALLBACK
IEnumSTATPROPSTG_Reset_Proxy(
9115 IEnumSTATPROPSTG
* This
);
9116 void __RPC_STUB
IEnumSTATPROPSTG_Reset_Stub(
9117 struct IRpcStubBuffer
* This
,
9118 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9119 PRPC_MESSAGE pRpcMessage
,
9120 DWORD
* pdwStubPhase
);
9121 HRESULT CALLBACK
IEnumSTATPROPSTG_Clone_Proxy(
9122 IEnumSTATPROPSTG
* This
,
9123 IEnumSTATPROPSTG
** ppenum
);
9124 void __RPC_STUB
IEnumSTATPROPSTG_Clone_Stub(
9125 struct IRpcStubBuffer
* This
,
9126 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9127 PRPC_MESSAGE pRpcMessage
,
9128 DWORD
* pdwStubPhase
);
9130 #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
9132 typedef IEnumSTATPROPSETSTG
*LPENUMSTATPROPSETSTG
;
9134 /*****************************************************************************
9135 * IEnumSTATPROPSETSTG interface
9137 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
9138 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
9140 DEFINE_GUID(IID_IEnumSTATPROPSETSTG
, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9141 #if defined(__cplusplus) && !defined(CINTERFACE)
9142 struct IEnumSTATPROPSETSTG
: public IUnknown
9144 virtual HRESULT STDMETHODCALLTYPE
Next(
9146 STATPROPSETSTG
* rgelt
,
9147 ULONG
* pceltFetched
) = 0;
9149 virtual HRESULT STDMETHODCALLTYPE
Skip(
9152 virtual HRESULT STDMETHODCALLTYPE
Reset(
9155 virtual HRESULT STDMETHODCALLTYPE
Clone(
9156 IEnumSTATPROPSETSTG
** ppenum
) = 0;
9160 typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl
;
9161 struct IEnumSTATPROPSETSTG
{
9162 const IEnumSTATPROPSETSTGVtbl
* lpVtbl
;
9164 struct IEnumSTATPROPSETSTGVtbl
{
9165 ICOM_MSVTABLE_COMPAT_FIELDS
9167 /*** IUnknown methods ***/
9168 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9169 IEnumSTATPROPSETSTG
* This
,
9173 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9174 IEnumSTATPROPSETSTG
* This
);
9176 ULONG (STDMETHODCALLTYPE
*Release
)(
9177 IEnumSTATPROPSETSTG
* This
);
9179 /*** IEnumSTATPROPSETSTG methods ***/
9180 HRESULT (STDMETHODCALLTYPE
*Next
)(
9181 IEnumSTATPROPSETSTG
* This
,
9183 STATPROPSETSTG
* rgelt
,
9184 ULONG
* pceltFetched
);
9186 HRESULT (STDMETHODCALLTYPE
*Skip
)(
9187 IEnumSTATPROPSETSTG
* This
,
9190 HRESULT (STDMETHODCALLTYPE
*Reset
)(
9191 IEnumSTATPROPSETSTG
* This
);
9193 HRESULT (STDMETHODCALLTYPE
*Clone
)(
9194 IEnumSTATPROPSETSTG
* This
,
9195 IEnumSTATPROPSETSTG
** ppenum
);
9199 /*** IUnknown methods ***/
9200 #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9201 #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
9202 #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
9203 /*** IEnumSTATPROPSETSTG methods ***/
9204 #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
9205 #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
9206 #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
9207 #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
9211 #define IEnumSTATPROPSETSTG_METHODS \
9212 ICOM_MSVTABLE_COMPAT_FIELDS \
9213 /*** IUnknown methods ***/ \
9214 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9215 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9216 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9217 /*** IEnumSTATPROPSETSTG methods ***/ \
9218 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
9219 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
9220 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
9221 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
9223 HRESULT CALLBACK
IEnumSTATPROPSETSTG_RemoteNext_Proxy(
9224 IEnumSTATPROPSETSTG
* This
,
9226 STATPROPSETSTG
* rgelt
,
9227 ULONG
* pceltFetched
);
9228 void __RPC_STUB
IEnumSTATPROPSETSTG_RemoteNext_Stub(
9229 struct IRpcStubBuffer
* This
,
9230 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9231 PRPC_MESSAGE pRpcMessage
,
9232 DWORD
* pdwStubPhase
);
9233 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Next_Proxy(
9234 IEnumSTATPROPSETSTG
* This
,
9236 STATPROPSETSTG
* rgelt
,
9237 ULONG
* pceltFetched
);
9238 HRESULT __RPC_STUB
IEnumSTATPROPSETSTG_Next_Stub(
9239 IEnumSTATPROPSETSTG
* This
,
9241 STATPROPSETSTG
* rgelt
,
9242 ULONG
* pceltFetched
);
9243 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Skip_Proxy(
9244 IEnumSTATPROPSETSTG
* This
,
9246 void __RPC_STUB
IEnumSTATPROPSETSTG_Skip_Stub(
9247 struct IRpcStubBuffer
* This
,
9248 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9249 PRPC_MESSAGE pRpcMessage
,
9250 DWORD
* pdwStubPhase
);
9251 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Reset_Proxy(
9252 IEnumSTATPROPSETSTG
* This
);
9253 void __RPC_STUB
IEnumSTATPROPSETSTG_Reset_Stub(
9254 struct IRpcStubBuffer
* This
,
9255 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9256 PRPC_MESSAGE pRpcMessage
,
9257 DWORD
* pdwStubPhase
);
9258 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Clone_Proxy(
9259 IEnumSTATPROPSETSTG
* This
,
9260 IEnumSTATPROPSETSTG
** ppenum
);
9261 void __RPC_STUB
IEnumSTATPROPSETSTG_Clone_Stub(
9262 struct IRpcStubBuffer
* This
,
9263 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9264 PRPC_MESSAGE pRpcMessage
,
9265 DWORD
* pdwStubPhase
);
9267 #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
9269 #ifndef __IClientSecurity_FWD_DEFINED__
9270 #define __IClientSecurity_FWD_DEFINED__
9271 typedef struct IClientSecurity IClientSecurity
;
9274 typedef struct tagSOLE_AUTHENTICATION_SERVICE
{
9277 OLECHAR
*pPrincipalName
;
9279 } SOLE_AUTHENTICATION_SERVICE
;
9281 typedef SOLE_AUTHENTICATION_SERVICE
*PSOLE_AUTHENTICATION_SERVICE
;
9283 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
{
9285 EOAC_MUTUAL_AUTH
= 0x1,
9286 EOAC_CLOAKING
= 0x10,
9287 EOAC_SECURE_REFS
= 0x2,
9288 EOAC_ACCESS_CONTROL
= 0x4,
9290 } EOLE_AUTHENTICATION_CAPABILITIES
;
9292 /*****************************************************************************
9293 * IClientSecurity interface
9295 #ifndef __IClientSecurity_INTERFACE_DEFINED__
9296 #define __IClientSecurity_INTERFACE_DEFINED__
9298 DEFINE_GUID(IID_IClientSecurity
, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9299 #if defined(__cplusplus) && !defined(CINTERFACE)
9300 struct IClientSecurity
: public IUnknown
9302 virtual HRESULT STDMETHODCALLTYPE
QueryBlanket(
9306 OLECHAR
** pServerPrincName
,
9310 DWORD
* pCapabilites
) = 0;
9312 virtual HRESULT STDMETHODCALLTYPE
SetBlanket(
9316 OLECHAR
* pServerPrincName
,
9320 DWORD Capabilities
) = 0;
9322 virtual HRESULT STDMETHODCALLTYPE
CopyProxy(
9324 IUnknown
** ppCopy
) = 0;
9328 typedef struct IClientSecurityVtbl IClientSecurityVtbl
;
9329 struct IClientSecurity
{
9330 const IClientSecurityVtbl
* lpVtbl
;
9332 struct IClientSecurityVtbl
{
9333 ICOM_MSVTABLE_COMPAT_FIELDS
9335 /*** IUnknown methods ***/
9336 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9337 IClientSecurity
* This
,
9341 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9342 IClientSecurity
* This
);
9344 ULONG (STDMETHODCALLTYPE
*Release
)(
9345 IClientSecurity
* This
);
9347 /*** IClientSecurity methods ***/
9348 HRESULT (STDMETHODCALLTYPE
*QueryBlanket
)(
9349 IClientSecurity
* This
,
9353 OLECHAR
** pServerPrincName
,
9357 DWORD
* pCapabilites
);
9359 HRESULT (STDMETHODCALLTYPE
*SetBlanket
)(
9360 IClientSecurity
* This
,
9364 OLECHAR
* pServerPrincName
,
9368 DWORD Capabilities
);
9370 HRESULT (STDMETHODCALLTYPE
*CopyProxy
)(
9371 IClientSecurity
* This
,
9377 /*** IUnknown methods ***/
9378 #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9379 #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
9380 #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p)
9381 /*** IClientSecurity methods ***/
9382 #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h)
9383 #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h)
9384 #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b)
9388 #define IClientSecurity_METHODS \
9389 ICOM_MSVTABLE_COMPAT_FIELDS \
9390 /*** IUnknown methods ***/ \
9391 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9392 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9393 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9394 /*** IClientSecurity methods ***/ \
9395 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ IUnknown* pProxy, DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pAuthInfo, DWORD* pCapabilites) PURE; \
9396 STDMETHOD_(HRESULT,SetBlanket)(THIS_ IUnknown* pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR* pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void* pAuthInfo, DWORD Capabilities) PURE; \
9397 STDMETHOD_(HRESULT,CopyProxy)(THIS_ IUnknown* pProxy, IUnknown** ppCopy) PURE;
9399 HRESULT CALLBACK
IClientSecurity_QueryBlanket_Proxy(
9400 IClientSecurity
* This
,
9404 OLECHAR
** pServerPrincName
,
9408 DWORD
* pCapabilites
);
9409 void __RPC_STUB
IClientSecurity_QueryBlanket_Stub(
9410 struct IRpcStubBuffer
* This
,
9411 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9412 PRPC_MESSAGE pRpcMessage
,
9413 DWORD
* pdwStubPhase
);
9414 HRESULT CALLBACK
IClientSecurity_SetBlanket_Proxy(
9415 IClientSecurity
* This
,
9419 OLECHAR
* pServerPrincName
,
9423 DWORD Capabilities
);
9424 void __RPC_STUB
IClientSecurity_SetBlanket_Stub(
9425 struct IRpcStubBuffer
* This
,
9426 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9427 PRPC_MESSAGE pRpcMessage
,
9428 DWORD
* pdwStubPhase
);
9429 HRESULT CALLBACK
IClientSecurity_CopyProxy_Proxy(
9430 IClientSecurity
* This
,
9433 void __RPC_STUB
IClientSecurity_CopyProxy_Stub(
9434 struct IRpcStubBuffer
* This
,
9435 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9436 PRPC_MESSAGE pRpcMessage
,
9437 DWORD
* pdwStubPhase
);
9439 #endif /* __IClientSecurity_INTERFACE_DEFINED__ */
9441 #ifndef __IServerSecurity_FWD_DEFINED__
9442 #define __IServerSecurity_FWD_DEFINED__
9443 typedef struct IServerSecurity IServerSecurity
;
9446 /*****************************************************************************
9447 * IServerSecurity interface
9449 #ifndef __IServerSecurity_INTERFACE_DEFINED__
9450 #define __IServerSecurity_INTERFACE_DEFINED__
9452 DEFINE_GUID(IID_IServerSecurity
, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9453 #if defined(__cplusplus) && !defined(CINTERFACE)
9454 struct IServerSecurity
: public IUnknown
9456 virtual HRESULT STDMETHODCALLTYPE
QueryBlanket(
9459 OLECHAR
** pServerPrincName
,
9463 DWORD
* pCapabilities
) = 0;
9465 virtual HRESULT STDMETHODCALLTYPE
ImpersonateClient(
9468 virtual HRESULT STDMETHODCALLTYPE
RevertToSelf(
9471 virtual BOOL STDMETHODCALLTYPE
IsImpersonating(
9476 typedef struct IServerSecurityVtbl IServerSecurityVtbl
;
9477 struct IServerSecurity
{
9478 const IServerSecurityVtbl
* lpVtbl
;
9480 struct IServerSecurityVtbl
{
9481 ICOM_MSVTABLE_COMPAT_FIELDS
9483 /*** IUnknown methods ***/
9484 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9485 IServerSecurity
* This
,
9489 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9490 IServerSecurity
* This
);
9492 ULONG (STDMETHODCALLTYPE
*Release
)(
9493 IServerSecurity
* This
);
9495 /*** IServerSecurity methods ***/
9496 HRESULT (STDMETHODCALLTYPE
*QueryBlanket
)(
9497 IServerSecurity
* This
,
9500 OLECHAR
** pServerPrincName
,
9504 DWORD
* pCapabilities
);
9506 HRESULT (STDMETHODCALLTYPE
*ImpersonateClient
)(
9507 IServerSecurity
* This
);
9509 HRESULT (STDMETHODCALLTYPE
*RevertToSelf
)(
9510 IServerSecurity
* This
);
9512 BOOL (STDMETHODCALLTYPE
*IsImpersonating
)(
9513 IServerSecurity
* This
);
9517 /*** IUnknown methods ***/
9518 #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9519 #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
9520 #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p)
9521 /*** IServerSecurity methods ***/
9522 #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g)
9523 #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p)
9524 #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p)
9525 #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p)
9529 #define IServerSecurity_METHODS \
9530 ICOM_MSVTABLE_COMPAT_FIELDS \
9531 /*** IUnknown methods ***/ \
9532 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9533 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9534 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9535 /*** IServerSecurity methods ***/ \
9536 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pPrivs, DWORD* pCapabilities) PURE; \
9537 STDMETHOD_(HRESULT,ImpersonateClient)(THIS) PURE; \
9538 STDMETHOD_(HRESULT,RevertToSelf)(THIS) PURE; \
9539 STDMETHOD_(BOOL,IsImpersonating)(THIS) PURE;
9541 HRESULT CALLBACK
IServerSecurity_QueryBlanket_Proxy(
9542 IServerSecurity
* This
,
9545 OLECHAR
** pServerPrincName
,
9549 DWORD
* pCapabilities
);
9550 void __RPC_STUB
IServerSecurity_QueryBlanket_Stub(
9551 struct IRpcStubBuffer
* This
,
9552 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9553 PRPC_MESSAGE pRpcMessage
,
9554 DWORD
* pdwStubPhase
);
9555 HRESULT CALLBACK
IServerSecurity_ImpersonateClient_Proxy(
9556 IServerSecurity
* This
);
9557 void __RPC_STUB
IServerSecurity_ImpersonateClient_Stub(
9558 struct IRpcStubBuffer
* This
,
9559 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9560 PRPC_MESSAGE pRpcMessage
,
9561 DWORD
* pdwStubPhase
);
9562 HRESULT CALLBACK
IServerSecurity_RevertToSelf_Proxy(
9563 IServerSecurity
* This
);
9564 void __RPC_STUB
IServerSecurity_RevertToSelf_Stub(
9565 struct IRpcStubBuffer
* This
,
9566 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9567 PRPC_MESSAGE pRpcMessage
,
9568 DWORD
* pdwStubPhase
);
9569 BOOL CALLBACK
IServerSecurity_IsImpersonating_Proxy(
9570 IServerSecurity
* This
);
9571 void __RPC_STUB
IServerSecurity_IsImpersonating_Stub(
9572 struct IRpcStubBuffer
* This
,
9573 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9574 PRPC_MESSAGE pRpcMessage
,
9575 DWORD
* pdwStubPhase
);
9577 #endif /* __IServerSecurity_INTERFACE_DEFINED__ */
9579 #ifndef __IAsyncSetup_FWD_DEFINED__
9580 #define __IAsyncSetup_FWD_DEFINED__
9581 typedef struct IAsyncSetup IAsyncSetup
;
9584 /*****************************************************************************
9585 * IAsyncSetup interface
9587 #ifndef __IAsyncSetup_INTERFACE_DEFINED__
9588 #define __IAsyncSetup_INTERFACE_DEFINED__
9590 DEFINE_GUID(IID_IAsyncSetup
, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9591 #if defined(__cplusplus) && !defined(CINTERFACE)
9592 struct IAsyncSetup
: public IUnknown
9594 virtual HRESULT STDMETHODCALLTYPE
GetAsyncManager(
9599 IAsyncManager
** ppAsyncMgr
) = 0;
9603 typedef struct IAsyncSetupVtbl IAsyncSetupVtbl
;
9604 struct IAsyncSetup
{
9605 const IAsyncSetupVtbl
* lpVtbl
;
9607 struct IAsyncSetupVtbl
{
9608 ICOM_MSVTABLE_COMPAT_FIELDS
9610 /*** IUnknown methods ***/
9611 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9616 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9619 ULONG (STDMETHODCALLTYPE
*Release
)(
9622 /*** IAsyncSetup methods ***/
9623 HRESULT (STDMETHODCALLTYPE
*GetAsyncManager
)(
9629 IAsyncManager
** ppAsyncMgr
);
9633 /*** IUnknown methods ***/
9634 #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9635 #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p)
9636 #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p)
9637 /*** IAsyncSetup methods ***/
9638 #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e)
9642 #define IAsyncSetup_METHODS \
9643 ICOM_MSVTABLE_COMPAT_FIELDS \
9644 /*** IUnknown methods ***/ \
9645 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9646 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9647 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9648 /*** IAsyncSetup methods ***/ \
9649 STDMETHOD_(HRESULT,GetAsyncManager)(THIS_ REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) PURE;
9651 HRESULT CALLBACK
IAsyncSetup_GetAsyncManager_Proxy(
9657 IAsyncManager
** ppAsyncMgr
);
9658 void __RPC_STUB
IAsyncSetup_GetAsyncManager_Stub(
9659 struct IRpcStubBuffer
* This
,
9660 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9661 PRPC_MESSAGE pRpcMessage
,
9662 DWORD
* pdwStubPhase
);
9664 #endif /* __IAsyncSetup_INTERFACE_DEFINED__ */
9666 typedef enum tagDCOM_CALL_STATE
{
9668 DCOM_CALL_COMPLETE
= 1,
9669 DCOM_CALL_CANCELED
= 2
9672 /*****************************************************************************
9673 * IAsyncManager interface
9675 #ifndef __IAsyncManager_INTERFACE_DEFINED__
9676 #define __IAsyncManager_INTERFACE_DEFINED__
9678 DEFINE_GUID(IID_IAsyncManager
, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9679 #if defined(__cplusplus) && !defined(CINTERFACE)
9680 struct IAsyncManager
: public IUnknown
9682 virtual HRESULT STDMETHODCALLTYPE
CompleteCall(
9683 HRESULT Result
) = 0;
9685 virtual HRESULT STDMETHODCALLTYPE
GetCallContext(
9687 void** pInterface
) = 0;
9689 virtual HRESULT STDMETHODCALLTYPE
GetState(
9690 ULONG
* pulStateFlags
) = 0;
9694 typedef struct IAsyncManagerVtbl IAsyncManagerVtbl
;
9695 struct IAsyncManager
{
9696 const IAsyncManagerVtbl
* lpVtbl
;
9698 struct IAsyncManagerVtbl
{
9699 ICOM_MSVTABLE_COMPAT_FIELDS
9701 /*** IUnknown methods ***/
9702 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9703 IAsyncManager
* This
,
9707 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9708 IAsyncManager
* This
);
9710 ULONG (STDMETHODCALLTYPE
*Release
)(
9711 IAsyncManager
* This
);
9713 /*** IAsyncManager methods ***/
9714 HRESULT (STDMETHODCALLTYPE
*CompleteCall
)(
9715 IAsyncManager
* This
,
9718 HRESULT (STDMETHODCALLTYPE
*GetCallContext
)(
9719 IAsyncManager
* This
,
9723 HRESULT (STDMETHODCALLTYPE
*GetState
)(
9724 IAsyncManager
* This
,
9725 ULONG
* pulStateFlags
);
9729 /*** IUnknown methods ***/
9730 #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9731 #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p)
9732 #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p)
9733 /*** IAsyncManager methods ***/
9734 #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a)
9735 #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b)
9736 #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a)
9740 #define IAsyncManager_METHODS \
9741 ICOM_MSVTABLE_COMPAT_FIELDS \
9742 /*** IUnknown methods ***/ \
9743 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9744 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9745 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9746 /*** IAsyncManager methods ***/ \
9747 STDMETHOD_(HRESULT,CompleteCall)(THIS_ HRESULT Result) PURE; \
9748 STDMETHOD_(HRESULT,GetCallContext)(THIS_ REFIID riid, void** pInterface) PURE; \
9749 STDMETHOD_(HRESULT,GetState)(THIS_ ULONG* pulStateFlags) PURE;
9751 HRESULT CALLBACK
IAsyncManager_CompleteCall_Proxy(
9752 IAsyncManager
* This
,
9754 void __RPC_STUB
IAsyncManager_CompleteCall_Stub(
9755 struct IRpcStubBuffer
* This
,
9756 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9757 PRPC_MESSAGE pRpcMessage
,
9758 DWORD
* pdwStubPhase
);
9759 HRESULT CALLBACK
IAsyncManager_GetCallContext_Proxy(
9760 IAsyncManager
* This
,
9763 void __RPC_STUB
IAsyncManager_GetCallContext_Stub(
9764 struct IRpcStubBuffer
* This
,
9765 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9766 PRPC_MESSAGE pRpcMessage
,
9767 DWORD
* pdwStubPhase
);
9768 HRESULT CALLBACK
IAsyncManager_GetState_Proxy(
9769 IAsyncManager
* This
,
9770 ULONG
* pulStateFlags
);
9771 void __RPC_STUB
IAsyncManager_GetState_Stub(
9772 struct IRpcStubBuffer
* This
,
9773 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9774 PRPC_MESSAGE pRpcMessage
,
9775 DWORD
* pdwStubPhase
);
9777 #endif /* __IAsyncManager_INTERFACE_DEFINED__ */
9782 #endif /* __WIDL_OBJIDL_H */