1 /*** Autogenerated by WIDL 0.1 from objidl.idl - Do not edit ***/
5 #ifndef __WIDL_OBJIDL_H
6 #define __WIDL_OBJIDL_H
11 typedef struct IStream IStream
;
12 typedef struct IStream16 IStream16
;
13 typedef struct IEnumString IEnumString
;
14 typedef struct IRunningObjectTable IRunningObjectTable
;
15 typedef struct IMoniker IMoniker
;
16 typedef struct IAdviseSink IAdviseSink
;
17 typedef struct IAsyncManager IAsyncManager
;
18 typedef struct IMarshal IMarshal
;
19 typedef IMarshal
*LPMARSHAL
;
21 /*****************************************************************************
24 DEFINE_GUID(IID_IMarshal
, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
25 #if defined(__cplusplus) && !defined(CINTERFACE)
26 struct IMarshal
: public IUnknown
28 virtual HRESULT STDMETHODCALLTYPE
GetUnmarshalClass(
36 virtual HRESULT STDMETHODCALLTYPE
GetMarshalSizeMax(
44 virtual HRESULT STDMETHODCALLTYPE
MarshalInterface(
52 virtual HRESULT STDMETHODCALLTYPE
UnmarshalInterface(
57 virtual HRESULT STDMETHODCALLTYPE
ReleaseMarshalData(
60 virtual HRESULT STDMETHODCALLTYPE
DisconnectObject(
61 DWORD dwReserved
) = 0;
65 typedef struct IMarshalVtbl IMarshalVtbl
;
67 const IMarshalVtbl
* lpVtbl
;
70 ICOM_MSVTABLE_COMPAT_FIELDS
72 /*** IUnknown methods ***/
73 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
78 ULONG (STDMETHODCALLTYPE
*AddRef
)(
81 ULONG (STDMETHODCALLTYPE
*Release
)(
84 /*** IMarshal methods ***/
85 HRESULT (STDMETHODCALLTYPE
*GetUnmarshalClass
)(
94 HRESULT (STDMETHODCALLTYPE
*GetMarshalSizeMax
)(
103 HRESULT (STDMETHODCALLTYPE
*MarshalInterface
)(
112 HRESULT (STDMETHODCALLTYPE
*UnmarshalInterface
)(
118 HRESULT (STDMETHODCALLTYPE
*ReleaseMarshalData
)(
122 HRESULT (STDMETHODCALLTYPE
*DisconnectObject
)(
128 /*** IUnknown methods ***/
129 #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
130 #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
131 #define IMarshal_Release(p) (p)->lpVtbl->Release(p)
132 /*** IMarshal methods ***/
133 #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f)
134 #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f)
135 #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f)
136 #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c)
137 #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a)
138 #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a)
142 #define IMarshal_METHODS \
143 ICOM_MSVTABLE_COMPAT_FIELDS \
144 /*** IUnknown methods ***/ \
145 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
146 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
147 STDMETHOD_(ULONG,Release)(THIS) PURE; \
148 /*** IMarshal methods ***/ \
149 STDMETHOD_(HRESULT,GetUnmarshalClass)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) PURE; \
150 STDMETHOD_(HRESULT,GetMarshalSizeMax)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) PURE; \
151 STDMETHOD_(HRESULT,MarshalInterface)(THIS_ IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) PURE; \
152 STDMETHOD_(HRESULT,UnmarshalInterface)(THIS_ IStream* pStm, REFIID riid, void** ppv) PURE; \
153 STDMETHOD_(HRESULT,ReleaseMarshalData)(THIS_ IStream* pStm) PURE; \
154 STDMETHOD_(HRESULT,DisconnectObject)(THIS_ DWORD dwReserved) PURE;
156 HRESULT CALLBACK
IMarshal_GetUnmarshalClass_Proxy(
164 void __RPC_STUB
IMarshal_GetUnmarshalClass_Stub(
165 struct IRpcStubBuffer
* This
,
166 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
167 PRPC_MESSAGE pRpcMessage
,
168 DWORD
* pdwStubPhase
);
169 HRESULT CALLBACK
IMarshal_GetMarshalSizeMax_Proxy(
177 void __RPC_STUB
IMarshal_GetMarshalSizeMax_Stub(
178 struct IRpcStubBuffer
* This
,
179 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
180 PRPC_MESSAGE pRpcMessage
,
181 DWORD
* pdwStubPhase
);
182 HRESULT CALLBACK
IMarshal_MarshalInterface_Proxy(
190 void __RPC_STUB
IMarshal_MarshalInterface_Stub(
191 struct IRpcStubBuffer
* This
,
192 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
193 PRPC_MESSAGE pRpcMessage
,
194 DWORD
* pdwStubPhase
);
195 HRESULT CALLBACK
IMarshal_UnmarshalInterface_Proxy(
200 void __RPC_STUB
IMarshal_UnmarshalInterface_Stub(
201 struct IRpcStubBuffer
* This
,
202 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
203 PRPC_MESSAGE pRpcMessage
,
204 DWORD
* pdwStubPhase
);
205 HRESULT CALLBACK
IMarshal_ReleaseMarshalData_Proxy(
208 void __RPC_STUB
IMarshal_ReleaseMarshalData_Stub(
209 struct IRpcStubBuffer
* This
,
210 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
211 PRPC_MESSAGE pRpcMessage
,
212 DWORD
* pdwStubPhase
);
213 HRESULT CALLBACK
IMarshal_DisconnectObject_Proxy(
216 void __RPC_STUB
IMarshal_DisconnectObject_Stub(
217 struct IRpcStubBuffer
* This
,
218 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
219 PRPC_MESSAGE pRpcMessage
,
220 DWORD
* pdwStubPhase
);
222 typedef struct IStdMarshalInfo IStdMarshalInfo
;
223 typedef IStdMarshalInfo
*LPSTDMARSHALINFO
;
225 /*****************************************************************************
226 * IStdMarshalInfo interface
228 DEFINE_GUID(IID_IStdMarshalInfo
, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
229 #if defined(__cplusplus) && !defined(CINTERFACE)
230 struct IStdMarshalInfo
: public IUnknown
232 virtual HRESULT STDMETHODCALLTYPE
GetClassForHandler(
239 typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl
;
240 struct IStdMarshalInfo
{
241 const IStdMarshalInfoVtbl
* lpVtbl
;
243 struct IStdMarshalInfoVtbl
{
244 ICOM_MSVTABLE_COMPAT_FIELDS
246 /*** IUnknown methods ***/
247 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
248 IStdMarshalInfo
* This
,
252 ULONG (STDMETHODCALLTYPE
*AddRef
)(
253 IStdMarshalInfo
* This
);
255 ULONG (STDMETHODCALLTYPE
*Release
)(
256 IStdMarshalInfo
* This
);
258 /*** IStdMarshalInfo methods ***/
259 HRESULT (STDMETHODCALLTYPE
*GetClassForHandler
)(
260 IStdMarshalInfo
* This
,
267 /*** IUnknown methods ***/
268 #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
269 #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
270 #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p)
271 /*** IStdMarshalInfo methods ***/
272 #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c)
276 #define IStdMarshalInfo_METHODS \
277 ICOM_MSVTABLE_COMPAT_FIELDS \
278 /*** IUnknown methods ***/ \
279 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
280 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
281 STDMETHOD_(ULONG,Release)(THIS) PURE; \
282 /*** IStdMarshalInfo methods ***/ \
283 STDMETHOD_(HRESULT,GetClassForHandler)(THIS_ DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) PURE;
285 HRESULT CALLBACK
IStdMarshalInfo_GetClassForHandler_Proxy(
286 IStdMarshalInfo
* This
,
290 void __RPC_STUB
IStdMarshalInfo_GetClassForHandler_Stub(
291 struct IRpcStubBuffer
* This
,
292 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
293 PRPC_MESSAGE pRpcMessage
,
294 DWORD
* pdwStubPhase
);
296 typedef struct IExternalConnection IExternalConnection
;
297 typedef IExternalConnection
*LPEXTERNALCONNECTION
;
299 typedef enum tagEXTCONN
{
300 EXTCONN_STRONG
= 0x1,
302 EXTCONN_CALLABLE
= 0x4
305 /*****************************************************************************
306 * IExternalConnection interface
308 DEFINE_GUID(IID_IExternalConnection
, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
309 #if defined(__cplusplus) && !defined(CINTERFACE)
310 struct IExternalConnection
: public IUnknown
312 virtual DWORD STDMETHODCALLTYPE
AddConnection(
316 virtual DWORD STDMETHODCALLTYPE
ReleaseConnection(
319 BOOL fLastReleaseCloses
) = 0;
323 typedef struct IExternalConnectionVtbl IExternalConnectionVtbl
;
324 struct IExternalConnection
{
325 const IExternalConnectionVtbl
* lpVtbl
;
327 struct IExternalConnectionVtbl
{
328 ICOM_MSVTABLE_COMPAT_FIELDS
330 /*** IUnknown methods ***/
331 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
332 IExternalConnection
* This
,
336 ULONG (STDMETHODCALLTYPE
*AddRef
)(
337 IExternalConnection
* This
);
339 ULONG (STDMETHODCALLTYPE
*Release
)(
340 IExternalConnection
* This
);
342 /*** IExternalConnection methods ***/
343 DWORD (STDMETHODCALLTYPE
*AddConnection
)(
344 IExternalConnection
* This
,
348 DWORD (STDMETHODCALLTYPE
*ReleaseConnection
)(
349 IExternalConnection
* This
,
352 BOOL fLastReleaseCloses
);
356 /*** IUnknown methods ***/
357 #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
358 #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
359 #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p)
360 /*** IExternalConnection methods ***/
361 #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b)
362 #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c)
366 #define IExternalConnection_METHODS \
367 ICOM_MSVTABLE_COMPAT_FIELDS \
368 /*** IUnknown methods ***/ \
369 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
370 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
371 STDMETHOD_(ULONG,Release)(THIS) PURE; \
372 /*** IExternalConnection methods ***/ \
373 STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD extconn, DWORD reserved) PURE; \
374 STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) PURE;
376 DWORD CALLBACK
IExternalConnection_AddConnection_Proxy(
377 IExternalConnection
* This
,
380 void __RPC_STUB
IExternalConnection_AddConnection_Stub(
381 struct IRpcStubBuffer
* This
,
382 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
383 PRPC_MESSAGE pRpcMessage
,
384 DWORD
* pdwStubPhase
);
385 DWORD CALLBACK
IExternalConnection_ReleaseConnection_Proxy(
386 IExternalConnection
* This
,
389 BOOL fLastReleaseCloses
);
390 void __RPC_STUB
IExternalConnection_ReleaseConnection_Stub(
391 struct IRpcStubBuffer
* This
,
392 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
393 PRPC_MESSAGE pRpcMessage
,
394 DWORD
* pdwStubPhase
);
396 typedef struct IMultiQI IMultiQI
;
397 typedef IMultiQI
*LPMULTIQI
;
399 typedef struct tagMULTI_QI
{
405 /*****************************************************************************
408 DEFINE_GUID(IID_IMultiQI
, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
409 #if defined(__cplusplus) && !defined(CINTERFACE)
410 struct IMultiQI
: public IUnknown
412 virtual HRESULT STDMETHODCALLTYPE
QueryMultipleInterfaces(
414 MULTI_QI
* pMQIs
) = 0;
418 typedef struct IMultiQIVtbl IMultiQIVtbl
;
420 const IMultiQIVtbl
* lpVtbl
;
422 struct IMultiQIVtbl
{
423 ICOM_MSVTABLE_COMPAT_FIELDS
425 /*** IUnknown methods ***/
426 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
431 ULONG (STDMETHODCALLTYPE
*AddRef
)(
434 ULONG (STDMETHODCALLTYPE
*Release
)(
437 /*** IMultiQI methods ***/
438 HRESULT (STDMETHODCALLTYPE
*QueryMultipleInterfaces
)(
445 /*** IUnknown methods ***/
446 #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
447 #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p)
448 #define IMultiQI_Release(p) (p)->lpVtbl->Release(p)
449 /*** IMultiQI methods ***/
450 #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b)
454 #define IMultiQI_METHODS \
455 ICOM_MSVTABLE_COMPAT_FIELDS \
456 /*** IUnknown methods ***/ \
457 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
458 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
459 STDMETHOD_(ULONG,Release)(THIS) PURE; \
460 /*** IMultiQI methods ***/ \
461 STDMETHOD_(HRESULT,QueryMultipleInterfaces)(THIS_ ULONG cMQIs, MULTI_QI* pMQIs) PURE;
463 HRESULT CALLBACK
IMultiQI_QueryMultipleInterfaces_Proxy(
467 void __RPC_STUB
IMultiQI_QueryMultipleInterfaces_Stub(
468 struct IRpcStubBuffer
* This
,
469 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
470 PRPC_MESSAGE pRpcMessage
,
471 DWORD
* pdwStubPhase
);
473 typedef struct IMalloc IMalloc
;
474 typedef IMalloc
*LPMALLOC
;
476 /*****************************************************************************
479 DEFINE_GUID(IID_IMalloc
, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
480 #if defined(__cplusplus) && !defined(CINTERFACE)
481 struct IMalloc
: public IUnknown
483 virtual LPVOID STDMETHODCALLTYPE
Alloc(
486 virtual LPVOID STDMETHODCALLTYPE
Realloc(
490 virtual void STDMETHODCALLTYPE
Free(
493 virtual ULONG STDMETHODCALLTYPE
GetSize(
496 virtual int STDMETHODCALLTYPE
DidAlloc(
499 virtual void STDMETHODCALLTYPE
HeapMinimize(
504 typedef struct IMallocVtbl IMallocVtbl
;
506 const IMallocVtbl
* lpVtbl
;
509 ICOM_MSVTABLE_COMPAT_FIELDS
511 /*** IUnknown methods ***/
512 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
517 ULONG (STDMETHODCALLTYPE
*AddRef
)(
520 ULONG (STDMETHODCALLTYPE
*Release
)(
523 /*** IMalloc methods ***/
524 LPVOID (STDMETHODCALLTYPE
*Alloc
)(
528 LPVOID (STDMETHODCALLTYPE
*Realloc
)(
533 void (STDMETHODCALLTYPE
*Free
)(
537 ULONG (STDMETHODCALLTYPE
*GetSize
)(
541 int (STDMETHODCALLTYPE
*DidAlloc
)(
545 void (STDMETHODCALLTYPE
*HeapMinimize
)(
550 /*** IUnknown methods ***/
551 #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
552 #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p)
553 #define IMalloc_Release(p) (p)->lpVtbl->Release(p)
554 /*** IMalloc methods ***/
555 #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a)
556 #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b)
557 #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a)
558 #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
559 #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a)
560 #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p)
564 #define IMalloc_METHODS \
565 ICOM_MSVTABLE_COMPAT_FIELDS \
566 /*** IUnknown methods ***/ \
567 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
568 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
569 STDMETHOD_(ULONG,Release)(THIS) PURE; \
570 /*** IMalloc methods ***/ \
571 STDMETHOD_(LPVOID,Alloc)(THIS_ ULONG cb) PURE; \
572 STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, ULONG cb) PURE; \
573 STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \
574 STDMETHOD_(ULONG,GetSize)(THIS_ LPVOID pv) PURE; \
575 STDMETHOD_(int,DidAlloc)(THIS_ LPVOID pv) PURE; \
576 STDMETHOD_(void,HeapMinimize)(THIS) PURE;
578 LPVOID CALLBACK
IMalloc_Alloc_Proxy(
581 void __RPC_STUB
IMalloc_Alloc_Stub(
582 struct IRpcStubBuffer
* This
,
583 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
584 PRPC_MESSAGE pRpcMessage
,
585 DWORD
* pdwStubPhase
);
586 LPVOID CALLBACK
IMalloc_Realloc_Proxy(
590 void __RPC_STUB
IMalloc_Realloc_Stub(
591 struct IRpcStubBuffer
* This
,
592 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
593 PRPC_MESSAGE pRpcMessage
,
594 DWORD
* pdwStubPhase
);
595 void CALLBACK
IMalloc_Free_Proxy(
598 void __RPC_STUB
IMalloc_Free_Stub(
599 struct IRpcStubBuffer
* This
,
600 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
601 PRPC_MESSAGE pRpcMessage
,
602 DWORD
* pdwStubPhase
);
603 ULONG CALLBACK
IMalloc_GetSize_Proxy(
606 void __RPC_STUB
IMalloc_GetSize_Stub(
607 struct IRpcStubBuffer
* This
,
608 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
609 PRPC_MESSAGE pRpcMessage
,
610 DWORD
* pdwStubPhase
);
611 int CALLBACK
IMalloc_DidAlloc_Proxy(
614 void __RPC_STUB
IMalloc_DidAlloc_Stub(
615 struct IRpcStubBuffer
* This
,
616 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
617 PRPC_MESSAGE pRpcMessage
,
618 DWORD
* pdwStubPhase
);
619 void CALLBACK
IMalloc_HeapMinimize_Proxy(
621 void __RPC_STUB
IMalloc_HeapMinimize_Stub(
622 struct IRpcStubBuffer
* This
,
623 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
624 PRPC_MESSAGE pRpcMessage
,
625 DWORD
* pdwStubPhase
);
627 typedef struct IMallocSpy IMallocSpy
;
628 typedef IMallocSpy
*LPMALLOCSPY
;
630 /*****************************************************************************
631 * IMallocSpy interface
633 DEFINE_GUID(IID_IMallocSpy
, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
634 #if defined(__cplusplus) && !defined(CINTERFACE)
635 struct IMallocSpy
: public IUnknown
637 virtual ULONG STDMETHODCALLTYPE
PreAlloc(
638 ULONG cbRequest
) = 0;
640 virtual LPVOID STDMETHODCALLTYPE
PostAlloc(
643 virtual LPVOID STDMETHODCALLTYPE
PreFree(
647 virtual void STDMETHODCALLTYPE
PostFree(
650 virtual ULONG STDMETHODCALLTYPE
PreRealloc(
653 LPVOID
* ppNewRequest
,
656 virtual LPVOID STDMETHODCALLTYPE
PostRealloc(
660 virtual LPVOID STDMETHODCALLTYPE
PreGetSize(
664 virtual ULONG STDMETHODCALLTYPE
PostGetSize(
668 virtual LPVOID STDMETHODCALLTYPE
PreDidAlloc(
672 virtual int STDMETHODCALLTYPE
PostDidAlloc(
677 virtual void STDMETHODCALLTYPE
PreHeapMinimize(
680 virtual void STDMETHODCALLTYPE
PostHeapMinimize(
685 typedef struct IMallocSpyVtbl IMallocSpyVtbl
;
687 const IMallocSpyVtbl
* lpVtbl
;
689 struct IMallocSpyVtbl
{
690 ICOM_MSVTABLE_COMPAT_FIELDS
692 /*** IUnknown methods ***/
693 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
698 ULONG (STDMETHODCALLTYPE
*AddRef
)(
701 ULONG (STDMETHODCALLTYPE
*Release
)(
704 /*** IMallocSpy methods ***/
705 ULONG (STDMETHODCALLTYPE
*PreAlloc
)(
709 LPVOID (STDMETHODCALLTYPE
*PostAlloc
)(
713 LPVOID (STDMETHODCALLTYPE
*PreFree
)(
718 void (STDMETHODCALLTYPE
*PostFree
)(
722 ULONG (STDMETHODCALLTYPE
*PreRealloc
)(
726 LPVOID
* ppNewRequest
,
729 LPVOID (STDMETHODCALLTYPE
*PostRealloc
)(
734 LPVOID (STDMETHODCALLTYPE
*PreGetSize
)(
739 ULONG (STDMETHODCALLTYPE
*PostGetSize
)(
744 LPVOID (STDMETHODCALLTYPE
*PreDidAlloc
)(
749 int (STDMETHODCALLTYPE
*PostDidAlloc
)(
755 void (STDMETHODCALLTYPE
*PreHeapMinimize
)(
758 void (STDMETHODCALLTYPE
*PostHeapMinimize
)(
763 /*** IUnknown methods ***/
764 #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
765 #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p)
766 #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p)
767 /*** IMallocSpy methods ***/
768 #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a)
769 #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a)
770 #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b)
771 #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a)
772 #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d)
773 #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b)
774 #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b)
775 #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b)
776 #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b)
777 #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c)
778 #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p)
779 #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p)
783 #define IMallocSpy_METHODS \
784 ICOM_MSVTABLE_COMPAT_FIELDS \
785 /*** IUnknown methods ***/ \
786 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
787 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
788 STDMETHOD_(ULONG,Release)(THIS) PURE; \
789 /*** IMallocSpy methods ***/ \
790 STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG cbRequest) PURE; \
791 STDMETHOD_(LPVOID,PostAlloc)(THIS_ LPVOID pActual) PURE; \
792 STDMETHOD_(LPVOID,PreFree)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
793 STDMETHOD_(void,PostFree)(THIS_ BOOL fSpyed) PURE; \
794 STDMETHOD_(ULONG,PreRealloc)(THIS_ LPVOID pRequest, ULONG cbRequest, LPVOID* ppNewRequest, BOOL fSpyed) PURE; \
795 STDMETHOD_(LPVOID,PostRealloc)(THIS_ LPVOID pActual, BOOL fSpyed) PURE; \
796 STDMETHOD_(LPVOID,PreGetSize)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
797 STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG cbActual, BOOL fSpyed) PURE; \
798 STDMETHOD_(LPVOID,PreDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \
799 STDMETHOD_(int,PostDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed, int fActual) PURE; \
800 STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; \
801 STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
803 ULONG CALLBACK
IMallocSpy_PreAlloc_Proxy(
806 void __RPC_STUB
IMallocSpy_PreAlloc_Stub(
807 struct IRpcStubBuffer
* This
,
808 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
809 PRPC_MESSAGE pRpcMessage
,
810 DWORD
* pdwStubPhase
);
811 LPVOID CALLBACK
IMallocSpy_PostAlloc_Proxy(
814 void __RPC_STUB
IMallocSpy_PostAlloc_Stub(
815 struct IRpcStubBuffer
* This
,
816 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
817 PRPC_MESSAGE pRpcMessage
,
818 DWORD
* pdwStubPhase
);
819 LPVOID CALLBACK
IMallocSpy_PreFree_Proxy(
823 void __RPC_STUB
IMallocSpy_PreFree_Stub(
824 struct IRpcStubBuffer
* This
,
825 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
826 PRPC_MESSAGE pRpcMessage
,
827 DWORD
* pdwStubPhase
);
828 void CALLBACK
IMallocSpy_PostFree_Proxy(
831 void __RPC_STUB
IMallocSpy_PostFree_Stub(
832 struct IRpcStubBuffer
* This
,
833 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
834 PRPC_MESSAGE pRpcMessage
,
835 DWORD
* pdwStubPhase
);
836 ULONG CALLBACK
IMallocSpy_PreRealloc_Proxy(
840 LPVOID
* ppNewRequest
,
842 void __RPC_STUB
IMallocSpy_PreRealloc_Stub(
843 struct IRpcStubBuffer
* This
,
844 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
845 PRPC_MESSAGE pRpcMessage
,
846 DWORD
* pdwStubPhase
);
847 LPVOID CALLBACK
IMallocSpy_PostRealloc_Proxy(
851 void __RPC_STUB
IMallocSpy_PostRealloc_Stub(
852 struct IRpcStubBuffer
* This
,
853 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
854 PRPC_MESSAGE pRpcMessage
,
855 DWORD
* pdwStubPhase
);
856 LPVOID CALLBACK
IMallocSpy_PreGetSize_Proxy(
860 void __RPC_STUB
IMallocSpy_PreGetSize_Stub(
861 struct IRpcStubBuffer
* This
,
862 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
863 PRPC_MESSAGE pRpcMessage
,
864 DWORD
* pdwStubPhase
);
865 ULONG CALLBACK
IMallocSpy_PostGetSize_Proxy(
869 void __RPC_STUB
IMallocSpy_PostGetSize_Stub(
870 struct IRpcStubBuffer
* This
,
871 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
872 PRPC_MESSAGE pRpcMessage
,
873 DWORD
* pdwStubPhase
);
874 LPVOID CALLBACK
IMallocSpy_PreDidAlloc_Proxy(
878 void __RPC_STUB
IMallocSpy_PreDidAlloc_Stub(
879 struct IRpcStubBuffer
* This
,
880 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
881 PRPC_MESSAGE pRpcMessage
,
882 DWORD
* pdwStubPhase
);
883 int CALLBACK
IMallocSpy_PostDidAlloc_Proxy(
888 void __RPC_STUB
IMallocSpy_PostDidAlloc_Stub(
889 struct IRpcStubBuffer
* This
,
890 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
891 PRPC_MESSAGE pRpcMessage
,
892 DWORD
* pdwStubPhase
);
893 void CALLBACK
IMallocSpy_PreHeapMinimize_Proxy(
895 void __RPC_STUB
IMallocSpy_PreHeapMinimize_Stub(
896 struct IRpcStubBuffer
* This
,
897 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
898 PRPC_MESSAGE pRpcMessage
,
899 DWORD
* pdwStubPhase
);
900 void CALLBACK
IMallocSpy_PostHeapMinimize_Proxy(
902 void __RPC_STUB
IMallocSpy_PostHeapMinimize_Stub(
903 struct IRpcStubBuffer
* This
,
904 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
905 PRPC_MESSAGE pRpcMessage
,
906 DWORD
* pdwStubPhase
);
908 typedef struct IEnumUnknown IEnumUnknown
;
909 typedef IEnumUnknown
*LPENUMUNKNOWN
;
911 /*****************************************************************************
912 * IEnumUnknown interface
914 DEFINE_GUID(IID_IEnumUnknown
, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
915 #if defined(__cplusplus) && !defined(CINTERFACE)
916 struct IEnumUnknown
: public IUnknown
918 virtual HRESULT STDMETHODCALLTYPE
Next(
921 ULONG
* pceltFetched
) = 0;
923 virtual HRESULT STDMETHODCALLTYPE
Skip(
926 virtual HRESULT STDMETHODCALLTYPE
Reset(
929 virtual HRESULT STDMETHODCALLTYPE
Clone(
930 IEnumUnknown
** ppenum
) = 0;
934 typedef struct IEnumUnknownVtbl IEnumUnknownVtbl
;
935 struct IEnumUnknown
{
936 const IEnumUnknownVtbl
* lpVtbl
;
938 struct IEnumUnknownVtbl
{
939 ICOM_MSVTABLE_COMPAT_FIELDS
941 /*** IUnknown methods ***/
942 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
947 ULONG (STDMETHODCALLTYPE
*AddRef
)(
950 ULONG (STDMETHODCALLTYPE
*Release
)(
953 /*** IEnumUnknown methods ***/
954 HRESULT (STDMETHODCALLTYPE
*Next
)(
958 ULONG
* pceltFetched
);
960 HRESULT (STDMETHODCALLTYPE
*Skip
)(
964 HRESULT (STDMETHODCALLTYPE
*Reset
)(
967 HRESULT (STDMETHODCALLTYPE
*Clone
)(
969 IEnumUnknown
** ppenum
);
973 /*** IUnknown methods ***/
974 #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
975 #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
976 #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p)
977 /*** IEnumUnknown methods ***/
978 #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
979 #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a)
980 #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p)
981 #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a)
985 #define IEnumUnknown_METHODS \
986 ICOM_MSVTABLE_COMPAT_FIELDS \
987 /*** IUnknown methods ***/ \
988 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
989 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
990 STDMETHOD_(ULONG,Release)(THIS) PURE; \
991 /*** IEnumUnknown methods ***/ \
992 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IUnknown** rgelt, ULONG* pceltFetched) PURE; \
993 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
994 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
995 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumUnknown** ppenum) PURE;
997 HRESULT CALLBACK
IEnumUnknown_RemoteNext_Proxy(
1001 ULONG
* pceltFetched
);
1002 void __RPC_STUB
IEnumUnknown_RemoteNext_Stub(
1003 struct IRpcStubBuffer
* This
,
1004 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1005 PRPC_MESSAGE pRpcMessage
,
1006 DWORD
* pdwStubPhase
);
1007 HRESULT CALLBACK
IEnumUnknown_Next_Proxy(
1011 ULONG
* pceltFetched
);
1012 HRESULT __RPC_STUB
IEnumUnknown_Next_Stub(
1016 ULONG
* pceltFetched
);
1017 HRESULT CALLBACK
IEnumUnknown_Skip_Proxy(
1020 void __RPC_STUB
IEnumUnknown_Skip_Stub(
1021 struct IRpcStubBuffer
* This
,
1022 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1023 PRPC_MESSAGE pRpcMessage
,
1024 DWORD
* pdwStubPhase
);
1025 HRESULT CALLBACK
IEnumUnknown_Reset_Proxy(
1026 IEnumUnknown
* This
);
1027 void __RPC_STUB
IEnumUnknown_Reset_Stub(
1028 struct IRpcStubBuffer
* This
,
1029 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1030 PRPC_MESSAGE pRpcMessage
,
1031 DWORD
* pdwStubPhase
);
1032 HRESULT CALLBACK
IEnumUnknown_Clone_Proxy(
1034 IEnumUnknown
** ppenum
);
1035 void __RPC_STUB
IEnumUnknown_Clone_Stub(
1036 struct IRpcStubBuffer
* This
,
1037 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1038 PRPC_MESSAGE pRpcMessage
,
1039 DWORD
* pdwStubPhase
);
1041 typedef struct ISurrogate ISurrogate
;
1042 typedef ISurrogate
*LPSURROGATE
;
1044 /*****************************************************************************
1045 * ISurrogate interface
1047 DEFINE_GUID(IID_ISurrogate
, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1048 #if defined(__cplusplus) && !defined(CINTERFACE)
1049 struct ISurrogate
: public IUnknown
1051 virtual HRESULT STDMETHODCALLTYPE
LoadDllServer(
1052 REFCLSID Clsid
) = 0;
1054 virtual HRESULT STDMETHODCALLTYPE
FreeSurrogate(
1059 typedef struct ISurrogateVtbl ISurrogateVtbl
;
1061 const ISurrogateVtbl
* lpVtbl
;
1063 struct ISurrogateVtbl
{
1064 ICOM_MSVTABLE_COMPAT_FIELDS
1066 /*** IUnknown methods ***/
1067 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1072 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1075 ULONG (STDMETHODCALLTYPE
*Release
)(
1078 /*** ISurrogate methods ***/
1079 HRESULT (STDMETHODCALLTYPE
*LoadDllServer
)(
1083 HRESULT (STDMETHODCALLTYPE
*FreeSurrogate
)(
1088 /*** IUnknown methods ***/
1089 #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1090 #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p)
1091 #define ISurrogate_Release(p) (p)->lpVtbl->Release(p)
1092 /*** ISurrogate methods ***/
1093 #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a)
1094 #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p)
1098 #define ISurrogate_METHODS \
1099 ICOM_MSVTABLE_COMPAT_FIELDS \
1100 /*** IUnknown methods ***/ \
1101 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1102 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1103 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1104 /*** ISurrogate methods ***/ \
1105 STDMETHOD_(HRESULT,LoadDllServer)(THIS_ REFCLSID Clsid) PURE; \
1106 STDMETHOD_(HRESULT,FreeSurrogate)(THIS) PURE;
1108 HRESULT CALLBACK
ISurrogate_LoadDllServer_Proxy(
1111 void __RPC_STUB
ISurrogate_LoadDllServer_Stub(
1112 struct IRpcStubBuffer
* This
,
1113 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1114 PRPC_MESSAGE pRpcMessage
,
1115 DWORD
* pdwStubPhase
);
1116 HRESULT CALLBACK
ISurrogate_FreeSurrogate_Proxy(
1118 void __RPC_STUB
ISurrogate_FreeSurrogate_Stub(
1119 struct IRpcStubBuffer
* This
,
1120 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1121 PRPC_MESSAGE pRpcMessage
,
1122 DWORD
* pdwStubPhase
);
1124 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable
;
1125 typedef IGlobalInterfaceTable
*LPGLOBALINTERFACETABLE
;
1127 /*****************************************************************************
1128 * IGlobalInterfaceTable interface
1130 DEFINE_GUID(IID_IGlobalInterfaceTable
, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1131 #if defined(__cplusplus) && !defined(CINTERFACE)
1132 struct IGlobalInterfaceTable
: public IUnknown
1134 virtual HRESULT STDMETHODCALLTYPE
RegisterInterfaceInGlobal(
1137 DWORD
* pdwCookie
) = 0;
1139 virtual HRESULT STDMETHODCALLTYPE
RevokeInterfaceFromGlobal(
1140 DWORD dwCookie
) = 0;
1142 virtual HRESULT STDMETHODCALLTYPE
GetInterfaceFromGlobal(
1149 typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl
;
1150 struct IGlobalInterfaceTable
{
1151 const IGlobalInterfaceTableVtbl
* lpVtbl
;
1153 struct IGlobalInterfaceTableVtbl
{
1154 ICOM_MSVTABLE_COMPAT_FIELDS
1156 /*** IUnknown methods ***/
1157 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1158 IGlobalInterfaceTable
* This
,
1162 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1163 IGlobalInterfaceTable
* This
);
1165 ULONG (STDMETHODCALLTYPE
*Release
)(
1166 IGlobalInterfaceTable
* This
);
1168 /*** IGlobalInterfaceTable methods ***/
1169 HRESULT (STDMETHODCALLTYPE
*RegisterInterfaceInGlobal
)(
1170 IGlobalInterfaceTable
* This
,
1175 HRESULT (STDMETHODCALLTYPE
*RevokeInterfaceFromGlobal
)(
1176 IGlobalInterfaceTable
* This
,
1179 HRESULT (STDMETHODCALLTYPE
*GetInterfaceFromGlobal
)(
1180 IGlobalInterfaceTable
* This
,
1187 /*** IUnknown methods ***/
1188 #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1189 #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1190 #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p)
1191 /*** IGlobalInterfaceTable methods ***/
1192 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c)
1193 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a)
1194 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c)
1198 #define IGlobalInterfaceTable_METHODS \
1199 ICOM_MSVTABLE_COMPAT_FIELDS \
1200 /*** IUnknown methods ***/ \
1201 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1202 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1203 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1204 /*** IGlobalInterfaceTable methods ***/ \
1205 STDMETHOD_(HRESULT,RegisterInterfaceInGlobal)(THIS_ IUnknown* pUnk, REFIID riid, DWORD* pdwCookie) PURE; \
1206 STDMETHOD_(HRESULT,RevokeInterfaceFromGlobal)(THIS_ DWORD dwCookie) PURE; \
1207 STDMETHOD_(HRESULT,GetInterfaceFromGlobal)(THIS_ DWORD dwCookie, REFIID riid, void** ppv) PURE;
1209 HRESULT CALLBACK
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
1210 IGlobalInterfaceTable
* This
,
1214 void __RPC_STUB
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
1215 struct IRpcStubBuffer
* This
,
1216 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1217 PRPC_MESSAGE pRpcMessage
,
1218 DWORD
* pdwStubPhase
);
1219 HRESULT CALLBACK
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
1220 IGlobalInterfaceTable
* This
,
1222 void __RPC_STUB
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
1223 struct IRpcStubBuffer
* This
,
1224 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1225 PRPC_MESSAGE pRpcMessage
,
1226 DWORD
* pdwStubPhase
);
1227 HRESULT CALLBACK
IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
1228 IGlobalInterfaceTable
* This
,
1232 void __RPC_STUB
IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
1233 struct IRpcStubBuffer
* This
,
1234 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1235 PRPC_MESSAGE pRpcMessage
,
1236 DWORD
* pdwStubPhase
);
1238 typedef struct IBindCtx IBindCtx
;
1239 typedef IBindCtx
*LPBINDCTX
;
1241 typedef IBindCtx
*LPBC
;
1243 typedef struct tagBIND_OPTS
{
1247 DWORD dwTickCountDeadline
;
1248 } BIND_OPTS
, *LPBIND_OPTS
;
1250 typedef struct tagBIND_OPTS2
{
1254 DWORD dwTickCountDeadline
;
1256 DWORD dwClassContext
;
1258 COSERVERINFO
*pServerInfo
;
1259 } BIND_OPTS2
, *LPBIND_OPTS2
;
1261 typedef enum tagBIND_FLAGS
{
1262 BIND_MAYBOTHERUSER
= 1,
1263 BIND_JUSTTESTEXISTENCE
= 2
1266 /*****************************************************************************
1267 * IBindCtx interface
1269 DEFINE_GUID(IID_IBindCtx
, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1270 #if defined(__cplusplus) && !defined(CINTERFACE)
1271 struct IBindCtx
: public IUnknown
1273 virtual HRESULT STDMETHODCALLTYPE
RegisterObjectBound(
1274 IUnknown
* punk
) = 0;
1276 virtual HRESULT STDMETHODCALLTYPE
RevokeObjectBound(
1277 IUnknown
* punk
) = 0;
1279 virtual HRESULT STDMETHODCALLTYPE
ReleaseBoundObjects(
1282 virtual HRESULT STDMETHODCALLTYPE
SetBindOptions(
1283 BIND_OPTS
* pbindopts
) = 0;
1285 virtual HRESULT STDMETHODCALLTYPE
GetBindOptions(
1286 BIND_OPTS
* pbindopts
) = 0;
1288 virtual HRESULT STDMETHODCALLTYPE
GetRunningObjectTable(
1289 IRunningObjectTable
** pprot
) = 0;
1291 virtual HRESULT STDMETHODCALLTYPE
RegisterObjectParam(
1293 IUnknown
* punk
) = 0;
1295 virtual HRESULT STDMETHODCALLTYPE
GetObjectParam(
1297 IUnknown
** ppunk
) = 0;
1299 virtual HRESULT STDMETHODCALLTYPE
EnumObjectParam(
1300 IEnumString
** ppenum
) = 0;
1302 virtual HRESULT STDMETHODCALLTYPE
RevokeObjectParam(
1303 LPOLESTR pszKey
) = 0;
1307 typedef struct IBindCtxVtbl IBindCtxVtbl
;
1309 const IBindCtxVtbl
* lpVtbl
;
1311 struct IBindCtxVtbl
{
1312 ICOM_MSVTABLE_COMPAT_FIELDS
1314 /*** IUnknown methods ***/
1315 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1320 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1323 ULONG (STDMETHODCALLTYPE
*Release
)(
1326 /*** IBindCtx methods ***/
1327 HRESULT (STDMETHODCALLTYPE
*RegisterObjectBound
)(
1331 HRESULT (STDMETHODCALLTYPE
*RevokeObjectBound
)(
1335 HRESULT (STDMETHODCALLTYPE
*ReleaseBoundObjects
)(
1338 HRESULT (STDMETHODCALLTYPE
*SetBindOptions
)(
1340 BIND_OPTS
* pbindopts
);
1342 HRESULT (STDMETHODCALLTYPE
*GetBindOptions
)(
1344 BIND_OPTS
* pbindopts
);
1346 HRESULT (STDMETHODCALLTYPE
*GetRunningObjectTable
)(
1348 IRunningObjectTable
** pprot
);
1350 HRESULT (STDMETHODCALLTYPE
*RegisterObjectParam
)(
1355 HRESULT (STDMETHODCALLTYPE
*GetObjectParam
)(
1360 HRESULT (STDMETHODCALLTYPE
*EnumObjectParam
)(
1362 IEnumString
** ppenum
);
1364 HRESULT (STDMETHODCALLTYPE
*RevokeObjectParam
)(
1370 /*** IUnknown methods ***/
1371 #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1372 #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p)
1373 #define IBindCtx_Release(p) (p)->lpVtbl->Release(p)
1374 /*** IBindCtx methods ***/
1375 #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a)
1376 #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a)
1377 #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p)
1378 #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a)
1379 #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a)
1380 #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a)
1381 #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b)
1382 #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b)
1383 #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a)
1384 #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a)
1388 #define IBindCtx_METHODS \
1389 ICOM_MSVTABLE_COMPAT_FIELDS \
1390 /*** IUnknown methods ***/ \
1391 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1392 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1393 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1394 /*** IBindCtx methods ***/ \
1395 STDMETHOD_(HRESULT,RegisterObjectBound)(THIS_ IUnknown* punk) PURE; \
1396 STDMETHOD_(HRESULT,RevokeObjectBound)(THIS_ IUnknown* punk) PURE; \
1397 STDMETHOD_(HRESULT,ReleaseBoundObjects)(THIS) PURE; \
1398 STDMETHOD_(HRESULT,SetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1399 STDMETHOD_(HRESULT,GetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \
1400 STDMETHOD_(HRESULT,GetRunningObjectTable)(THIS_ IRunningObjectTable** pprot) PURE; \
1401 STDMETHOD_(HRESULT,RegisterObjectParam)(THIS_ LPOLESTR pszKey, IUnknown* punk) PURE; \
1402 STDMETHOD_(HRESULT,GetObjectParam)(THIS_ LPOLESTR pszKey, IUnknown** ppunk) PURE; \
1403 STDMETHOD_(HRESULT,EnumObjectParam)(THIS_ IEnumString** ppenum) PURE; \
1404 STDMETHOD_(HRESULT,RevokeObjectParam)(THIS_ LPOLESTR pszKey) PURE;
1406 HRESULT CALLBACK
IBindCtx_RegisterObjectBound_Proxy(
1409 void __RPC_STUB
IBindCtx_RegisterObjectBound_Stub(
1410 struct IRpcStubBuffer
* This
,
1411 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1412 PRPC_MESSAGE pRpcMessage
,
1413 DWORD
* pdwStubPhase
);
1414 HRESULT CALLBACK
IBindCtx_RevokeObjectBound_Proxy(
1417 void __RPC_STUB
IBindCtx_RevokeObjectBound_Stub(
1418 struct IRpcStubBuffer
* This
,
1419 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1420 PRPC_MESSAGE pRpcMessage
,
1421 DWORD
* pdwStubPhase
);
1422 HRESULT CALLBACK
IBindCtx_ReleaseBoundObjects_Proxy(
1424 void __RPC_STUB
IBindCtx_ReleaseBoundObjects_Stub(
1425 struct IRpcStubBuffer
* This
,
1426 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1427 PRPC_MESSAGE pRpcMessage
,
1428 DWORD
* pdwStubPhase
);
1429 HRESULT CALLBACK
IBindCtx_RemoteSetBindOptions_Proxy(
1431 BIND_OPTS2
* pbindopts
);
1432 void __RPC_STUB
IBindCtx_RemoteSetBindOptions_Stub(
1433 struct IRpcStubBuffer
* This
,
1434 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1435 PRPC_MESSAGE pRpcMessage
,
1436 DWORD
* pdwStubPhase
);
1437 HRESULT CALLBACK
IBindCtx_SetBindOptions_Proxy(
1439 BIND_OPTS
* pbindopts
);
1440 HRESULT __RPC_STUB
IBindCtx_SetBindOptions_Stub(
1442 BIND_OPTS2
* pbindopts
);
1443 HRESULT CALLBACK
IBindCtx_RemoteGetBindOptions_Proxy(
1445 BIND_OPTS2
* pbindopts
);
1446 void __RPC_STUB
IBindCtx_RemoteGetBindOptions_Stub(
1447 struct IRpcStubBuffer
* This
,
1448 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1449 PRPC_MESSAGE pRpcMessage
,
1450 DWORD
* pdwStubPhase
);
1451 HRESULT CALLBACK
IBindCtx_GetBindOptions_Proxy(
1453 BIND_OPTS
* pbindopts
);
1454 HRESULT __RPC_STUB
IBindCtx_GetBindOptions_Stub(
1456 BIND_OPTS2
* pbindopts
);
1457 HRESULT CALLBACK
IBindCtx_GetRunningObjectTable_Proxy(
1459 IRunningObjectTable
** pprot
);
1460 void __RPC_STUB
IBindCtx_GetRunningObjectTable_Stub(
1461 struct IRpcStubBuffer
* This
,
1462 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1463 PRPC_MESSAGE pRpcMessage
,
1464 DWORD
* pdwStubPhase
);
1465 HRESULT CALLBACK
IBindCtx_RegisterObjectParam_Proxy(
1469 void __RPC_STUB
IBindCtx_RegisterObjectParam_Stub(
1470 struct IRpcStubBuffer
* This
,
1471 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1472 PRPC_MESSAGE pRpcMessage
,
1473 DWORD
* pdwStubPhase
);
1474 HRESULT CALLBACK
IBindCtx_GetObjectParam_Proxy(
1478 void __RPC_STUB
IBindCtx_GetObjectParam_Stub(
1479 struct IRpcStubBuffer
* This
,
1480 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1481 PRPC_MESSAGE pRpcMessage
,
1482 DWORD
* pdwStubPhase
);
1483 HRESULT CALLBACK
IBindCtx_EnumObjectParam_Proxy(
1485 IEnumString
** ppenum
);
1486 void __RPC_STUB
IBindCtx_EnumObjectParam_Stub(
1487 struct IRpcStubBuffer
* This
,
1488 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1489 PRPC_MESSAGE pRpcMessage
,
1490 DWORD
* pdwStubPhase
);
1491 HRESULT CALLBACK
IBindCtx_RevokeObjectParam_Proxy(
1494 void __RPC_STUB
IBindCtx_RevokeObjectParam_Stub(
1495 struct IRpcStubBuffer
* This
,
1496 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1497 PRPC_MESSAGE pRpcMessage
,
1498 DWORD
* pdwStubPhase
);
1500 typedef struct IEnumMoniker IEnumMoniker
;
1501 typedef IEnumMoniker
*LPENUMMONIKER
;
1503 /*****************************************************************************
1504 * IEnumMoniker interface
1506 DEFINE_GUID(IID_IEnumMoniker
, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1507 #if defined(__cplusplus) && !defined(CINTERFACE)
1508 struct IEnumMoniker
: public IUnknown
1510 virtual HRESULT STDMETHODCALLTYPE
Next(
1513 ULONG
* pceltFetched
) = 0;
1515 virtual HRESULT STDMETHODCALLTYPE
Skip(
1518 virtual HRESULT STDMETHODCALLTYPE
Reset(
1521 virtual HRESULT STDMETHODCALLTYPE
Clone(
1522 IEnumMoniker
** ppenum
) = 0;
1526 typedef struct IEnumMonikerVtbl IEnumMonikerVtbl
;
1527 struct IEnumMoniker
{
1528 const IEnumMonikerVtbl
* lpVtbl
;
1530 struct IEnumMonikerVtbl
{
1531 ICOM_MSVTABLE_COMPAT_FIELDS
1533 /*** IUnknown methods ***/
1534 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1539 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1540 IEnumMoniker
* This
);
1542 ULONG (STDMETHODCALLTYPE
*Release
)(
1543 IEnumMoniker
* This
);
1545 /*** IEnumMoniker methods ***/
1546 HRESULT (STDMETHODCALLTYPE
*Next
)(
1550 ULONG
* pceltFetched
);
1552 HRESULT (STDMETHODCALLTYPE
*Skip
)(
1556 HRESULT (STDMETHODCALLTYPE
*Reset
)(
1557 IEnumMoniker
* This
);
1559 HRESULT (STDMETHODCALLTYPE
*Clone
)(
1561 IEnumMoniker
** ppenum
);
1565 /*** IUnknown methods ***/
1566 #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1567 #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1568 #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p)
1569 /*** IEnumMoniker methods ***/
1570 #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1571 #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1572 #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p)
1573 #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1577 #define IEnumMoniker_METHODS \
1578 ICOM_MSVTABLE_COMPAT_FIELDS \
1579 /*** IUnknown methods ***/ \
1580 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1581 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1582 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1583 /*** IEnumMoniker methods ***/ \
1584 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IMoniker** rgelt, ULONG* pceltFetched) PURE; \
1585 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
1586 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1587 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMoniker** ppenum) PURE;
1589 HRESULT CALLBACK
IEnumMoniker_RemoteNext_Proxy(
1593 ULONG
* pceltFetched
);
1594 void __RPC_STUB
IEnumMoniker_RemoteNext_Stub(
1595 struct IRpcStubBuffer
* This
,
1596 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1597 PRPC_MESSAGE pRpcMessage
,
1598 DWORD
* pdwStubPhase
);
1599 HRESULT CALLBACK
IEnumMoniker_Next_Proxy(
1603 ULONG
* pceltFetched
);
1604 HRESULT __RPC_STUB
IEnumMoniker_Next_Stub(
1608 ULONG
* pceltFetched
);
1609 HRESULT CALLBACK
IEnumMoniker_Skip_Proxy(
1612 void __RPC_STUB
IEnumMoniker_Skip_Stub(
1613 struct IRpcStubBuffer
* This
,
1614 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1615 PRPC_MESSAGE pRpcMessage
,
1616 DWORD
* pdwStubPhase
);
1617 HRESULT CALLBACK
IEnumMoniker_Reset_Proxy(
1618 IEnumMoniker
* This
);
1619 void __RPC_STUB
IEnumMoniker_Reset_Stub(
1620 struct IRpcStubBuffer
* This
,
1621 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1622 PRPC_MESSAGE pRpcMessage
,
1623 DWORD
* pdwStubPhase
);
1624 HRESULT CALLBACK
IEnumMoniker_Clone_Proxy(
1626 IEnumMoniker
** ppenum
);
1627 void __RPC_STUB
IEnumMoniker_Clone_Stub(
1628 struct IRpcStubBuffer
* This
,
1629 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1630 PRPC_MESSAGE pRpcMessage
,
1631 DWORD
* pdwStubPhase
);
1633 typedef struct IRunnableObject IRunnableObject
;
1634 typedef IRunnableObject
*LPRUNNABLEOBJECT
;
1636 /*****************************************************************************
1637 * IRunnableObject interface
1639 DEFINE_GUID(IID_IRunnableObject
, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1640 #if defined(__cplusplus) && !defined(CINTERFACE)
1641 struct IRunnableObject
: public IUnknown
1643 virtual HRESULT STDMETHODCALLTYPE
GetRunningClass(
1644 LPCLSID lpClsid
) = 0;
1646 virtual HRESULT STDMETHODCALLTYPE
Run(
1649 virtual BOOL STDMETHODCALLTYPE
IsRunning(
1652 virtual HRESULT STDMETHODCALLTYPE
LockRunning(
1654 BOOL fLastUnlockCloses
) = 0;
1656 virtual HRESULT STDMETHODCALLTYPE
SetContainedObject(
1657 BOOL fContained
) = 0;
1661 typedef struct IRunnableObjectVtbl IRunnableObjectVtbl
;
1662 struct IRunnableObject
{
1663 const IRunnableObjectVtbl
* lpVtbl
;
1665 struct IRunnableObjectVtbl
{
1666 ICOM_MSVTABLE_COMPAT_FIELDS
1668 /*** IUnknown methods ***/
1669 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1670 IRunnableObject
* This
,
1674 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1675 IRunnableObject
* This
);
1677 ULONG (STDMETHODCALLTYPE
*Release
)(
1678 IRunnableObject
* This
);
1680 /*** IRunnableObject methods ***/
1681 HRESULT (STDMETHODCALLTYPE
*GetRunningClass
)(
1682 IRunnableObject
* This
,
1685 HRESULT (STDMETHODCALLTYPE
*Run
)(
1686 IRunnableObject
* This
,
1689 BOOL (STDMETHODCALLTYPE
*IsRunning
)(
1690 IRunnableObject
* This
);
1692 HRESULT (STDMETHODCALLTYPE
*LockRunning
)(
1693 IRunnableObject
* This
,
1695 BOOL fLastUnlockCloses
);
1697 HRESULT (STDMETHODCALLTYPE
*SetContainedObject
)(
1698 IRunnableObject
* This
,
1703 /*** IUnknown methods ***/
1704 #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1705 #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p)
1706 #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p)
1707 /*** IRunnableObject methods ***/
1708 #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a)
1709 #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a)
1710 #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p)
1711 #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b)
1712 #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a)
1716 #define IRunnableObject_METHODS \
1717 ICOM_MSVTABLE_COMPAT_FIELDS \
1718 /*** IUnknown methods ***/ \
1719 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1720 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1721 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1722 /*** IRunnableObject methods ***/ \
1723 STDMETHOD_(HRESULT,GetRunningClass)(THIS_ LPCLSID lpClsid) PURE; \
1724 STDMETHOD_(HRESULT,Run)(THIS_ LPBINDCTX pbc) PURE; \
1725 STDMETHOD_(BOOL,IsRunning)(THIS) PURE; \
1726 STDMETHOD_(HRESULT,LockRunning)(THIS_ BOOL fLock, BOOL fLastUnlockCloses) PURE; \
1727 STDMETHOD_(HRESULT,SetContainedObject)(THIS_ BOOL fContained) PURE;
1729 HRESULT CALLBACK
IRunnableObject_GetRunningClass_Proxy(
1730 IRunnableObject
* This
,
1732 void __RPC_STUB
IRunnableObject_GetRunningClass_Stub(
1733 struct IRpcStubBuffer
* This
,
1734 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1735 PRPC_MESSAGE pRpcMessage
,
1736 DWORD
* pdwStubPhase
);
1737 HRESULT CALLBACK
IRunnableObject_Run_Proxy(
1738 IRunnableObject
* This
,
1740 void __RPC_STUB
IRunnableObject_Run_Stub(
1741 struct IRpcStubBuffer
* This
,
1742 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1743 PRPC_MESSAGE pRpcMessage
,
1744 DWORD
* pdwStubPhase
);
1745 HRESULT CALLBACK
IRunnableObject_RemoteIsRunning_Proxy(
1746 IRunnableObject
* This
);
1747 void __RPC_STUB
IRunnableObject_RemoteIsRunning_Stub(
1748 struct IRpcStubBuffer
* This
,
1749 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1750 PRPC_MESSAGE pRpcMessage
,
1751 DWORD
* pdwStubPhase
);
1752 BOOL CALLBACK
IRunnableObject_IsRunning_Proxy(
1753 IRunnableObject
* This
);
1754 HRESULT __RPC_STUB
IRunnableObject_IsRunning_Stub(
1755 IRunnableObject
* This
);
1756 HRESULT CALLBACK
IRunnableObject_LockRunning_Proxy(
1757 IRunnableObject
* This
,
1759 BOOL fLastUnlockCloses
);
1760 void __RPC_STUB
IRunnableObject_LockRunning_Stub(
1761 struct IRpcStubBuffer
* This
,
1762 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1763 PRPC_MESSAGE pRpcMessage
,
1764 DWORD
* pdwStubPhase
);
1765 HRESULT CALLBACK
IRunnableObject_SetContainedObject_Proxy(
1766 IRunnableObject
* This
,
1768 void __RPC_STUB
IRunnableObject_SetContainedObject_Stub(
1769 struct IRpcStubBuffer
* This
,
1770 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1771 PRPC_MESSAGE pRpcMessage
,
1772 DWORD
* pdwStubPhase
);
1777 typedef IRunningObjectTable
*LPRUNNINGOBJECTTABLE
;
1779 /*****************************************************************************
1780 * IRunningObjectTable interface
1782 DEFINE_GUID(IID_IRunningObjectTable
, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1783 #if defined(__cplusplus) && !defined(CINTERFACE)
1784 struct IRunningObjectTable
: public IUnknown
1786 virtual HRESULT STDMETHODCALLTYPE
Register(
1788 IUnknown
* punkObject
,
1789 IMoniker
* pmkObjectName
,
1790 DWORD
* pdwRegister
) = 0;
1792 virtual HRESULT STDMETHODCALLTYPE
Revoke(
1793 DWORD dwRegister
) = 0;
1795 virtual HRESULT STDMETHODCALLTYPE
IsRunning(
1796 IMoniker
* pmkObjectName
) = 0;
1798 virtual HRESULT STDMETHODCALLTYPE
GetObject(
1799 IMoniker
* pmkObjectName
,
1800 IUnknown
** ppunkObject
) = 0;
1802 virtual HRESULT STDMETHODCALLTYPE
NoteChangeTime(
1804 FILETIME
* pfiletime
) = 0;
1806 virtual HRESULT STDMETHODCALLTYPE
GetTimeOfLastChange(
1807 IMoniker
* pmkObjectName
,
1808 FILETIME
* pfiletime
) = 0;
1810 virtual HRESULT STDMETHODCALLTYPE
EnumRunning(
1811 IEnumMoniker
** ppenumMoniker
) = 0;
1815 typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl
;
1816 struct IRunningObjectTable
{
1817 const IRunningObjectTableVtbl
* lpVtbl
;
1819 struct IRunningObjectTableVtbl
{
1820 ICOM_MSVTABLE_COMPAT_FIELDS
1822 /*** IUnknown methods ***/
1823 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1824 IRunningObjectTable
* This
,
1828 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1829 IRunningObjectTable
* This
);
1831 ULONG (STDMETHODCALLTYPE
*Release
)(
1832 IRunningObjectTable
* This
);
1834 /*** IRunningObjectTable methods ***/
1835 HRESULT (STDMETHODCALLTYPE
*Register
)(
1836 IRunningObjectTable
* This
,
1838 IUnknown
* punkObject
,
1839 IMoniker
* pmkObjectName
,
1840 DWORD
* pdwRegister
);
1842 HRESULT (STDMETHODCALLTYPE
*Revoke
)(
1843 IRunningObjectTable
* This
,
1846 HRESULT (STDMETHODCALLTYPE
*IsRunning
)(
1847 IRunningObjectTable
* This
,
1848 IMoniker
* pmkObjectName
);
1850 HRESULT (STDMETHODCALLTYPE
*GetObject
)(
1851 IRunningObjectTable
* This
,
1852 IMoniker
* pmkObjectName
,
1853 IUnknown
** ppunkObject
);
1855 HRESULT (STDMETHODCALLTYPE
*NoteChangeTime
)(
1856 IRunningObjectTable
* This
,
1858 FILETIME
* pfiletime
);
1860 HRESULT (STDMETHODCALLTYPE
*GetTimeOfLastChange
)(
1861 IRunningObjectTable
* This
,
1862 IMoniker
* pmkObjectName
,
1863 FILETIME
* pfiletime
);
1865 HRESULT (STDMETHODCALLTYPE
*EnumRunning
)(
1866 IRunningObjectTable
* This
,
1867 IEnumMoniker
** ppenumMoniker
);
1871 /*** IUnknown methods ***/
1872 #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1873 #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1874 #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p)
1875 /*** IRunningObjectTable methods ***/
1876 #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d)
1877 #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a)
1878 #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1879 #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
1880 #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b)
1881 #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b)
1882 #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a)
1886 #define IRunningObjectTable_METHODS \
1887 ICOM_MSVTABLE_COMPAT_FIELDS \
1888 /*** IUnknown methods ***/ \
1889 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1890 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1891 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1892 /*** IRunningObjectTable methods ***/ \
1893 STDMETHOD_(HRESULT,Register)(THIS_ DWORD grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, DWORD* pdwRegister) PURE; \
1894 STDMETHOD_(HRESULT,Revoke)(THIS_ DWORD dwRegister) PURE; \
1895 STDMETHOD_(HRESULT,IsRunning)(THIS_ IMoniker* pmkObjectName) PURE; \
1896 STDMETHOD_(HRESULT,GetObject)(THIS_ IMoniker* pmkObjectName, IUnknown** ppunkObject) PURE; \
1897 STDMETHOD_(HRESULT,NoteChangeTime)(THIS_ DWORD dwRegister, FILETIME* pfiletime) PURE; \
1898 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IMoniker* pmkObjectName, FILETIME* pfiletime) PURE; \
1899 STDMETHOD_(HRESULT,EnumRunning)(THIS_ IEnumMoniker** ppenumMoniker) PURE;
1901 HRESULT CALLBACK
IRunningObjectTable_Register_Proxy(
1902 IRunningObjectTable
* This
,
1904 IUnknown
* punkObject
,
1905 IMoniker
* pmkObjectName
,
1906 DWORD
* pdwRegister
);
1907 void __RPC_STUB
IRunningObjectTable_Register_Stub(
1908 struct IRpcStubBuffer
* This
,
1909 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1910 PRPC_MESSAGE pRpcMessage
,
1911 DWORD
* pdwStubPhase
);
1912 HRESULT CALLBACK
IRunningObjectTable_Revoke_Proxy(
1913 IRunningObjectTable
* This
,
1915 void __RPC_STUB
IRunningObjectTable_Revoke_Stub(
1916 struct IRpcStubBuffer
* This
,
1917 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1918 PRPC_MESSAGE pRpcMessage
,
1919 DWORD
* pdwStubPhase
);
1920 HRESULT CALLBACK
IRunningObjectTable_IsRunning_Proxy(
1921 IRunningObjectTable
* This
,
1922 IMoniker
* pmkObjectName
);
1923 void __RPC_STUB
IRunningObjectTable_IsRunning_Stub(
1924 struct IRpcStubBuffer
* This
,
1925 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1926 PRPC_MESSAGE pRpcMessage
,
1927 DWORD
* pdwStubPhase
);
1928 HRESULT CALLBACK
IRunningObjectTable_GetObject_Proxy(
1929 IRunningObjectTable
* This
,
1930 IMoniker
* pmkObjectName
,
1931 IUnknown
** ppunkObject
);
1932 void __RPC_STUB
IRunningObjectTable_GetObject_Stub(
1933 struct IRpcStubBuffer
* This
,
1934 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1935 PRPC_MESSAGE pRpcMessage
,
1936 DWORD
* pdwStubPhase
);
1937 HRESULT CALLBACK
IRunningObjectTable_NoteChangeTime_Proxy(
1938 IRunningObjectTable
* This
,
1940 FILETIME
* pfiletime
);
1941 void __RPC_STUB
IRunningObjectTable_NoteChangeTime_Stub(
1942 struct IRpcStubBuffer
* This
,
1943 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1944 PRPC_MESSAGE pRpcMessage
,
1945 DWORD
* pdwStubPhase
);
1946 HRESULT CALLBACK
IRunningObjectTable_GetTimeOfLastChange_Proxy(
1947 IRunningObjectTable
* This
,
1948 IMoniker
* pmkObjectName
,
1949 FILETIME
* pfiletime
);
1950 void __RPC_STUB
IRunningObjectTable_GetTimeOfLastChange_Stub(
1951 struct IRpcStubBuffer
* This
,
1952 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1953 PRPC_MESSAGE pRpcMessage
,
1954 DWORD
* pdwStubPhase
);
1955 HRESULT CALLBACK
IRunningObjectTable_EnumRunning_Proxy(
1956 IRunningObjectTable
* This
,
1957 IEnumMoniker
** ppenumMoniker
);
1958 void __RPC_STUB
IRunningObjectTable_EnumRunning_Stub(
1959 struct IRpcStubBuffer
* This
,
1960 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1961 PRPC_MESSAGE pRpcMessage
,
1962 DWORD
* pdwStubPhase
);
1964 typedef struct IPersist IPersist
;
1965 typedef IPersist
*LPPERSIST
;
1967 /*****************************************************************************
1968 * IPersist interface
1970 DEFINE_GUID(IID_IPersist
, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1971 #if defined(__cplusplus) && !defined(CINTERFACE)
1972 struct IPersist
: public IUnknown
1974 virtual HRESULT STDMETHODCALLTYPE
GetClassID(
1975 CLSID
* pClassID
) = 0;
1979 typedef struct IPersistVtbl IPersistVtbl
;
1981 const IPersistVtbl
* lpVtbl
;
1983 struct IPersistVtbl
{
1984 ICOM_MSVTABLE_COMPAT_FIELDS
1986 /*** IUnknown methods ***/
1987 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1992 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1995 ULONG (STDMETHODCALLTYPE
*Release
)(
1998 /*** IPersist methods ***/
1999 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2005 /*** IUnknown methods ***/
2006 #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2007 #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p)
2008 #define IPersist_Release(p) (p)->lpVtbl->Release(p)
2009 /*** IPersist methods ***/
2010 #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2014 #define IPersist_METHODS \
2015 ICOM_MSVTABLE_COMPAT_FIELDS \
2016 /*** IUnknown methods ***/ \
2017 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2018 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2019 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2020 /*** IPersist methods ***/ \
2021 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE;
2023 HRESULT CALLBACK
IPersist_GetClassID_Proxy(
2026 void __RPC_STUB
IPersist_GetClassID_Stub(
2027 struct IRpcStubBuffer
* This
,
2028 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2029 PRPC_MESSAGE pRpcMessage
,
2030 DWORD
* pdwStubPhase
);
2032 typedef struct IPersistStream IPersistStream
;
2033 typedef IPersistStream
*LPPERSISTSTREAM
;
2035 /*****************************************************************************
2036 * IPersistStream interface
2038 DEFINE_GUID(IID_IPersistStream
, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2039 #if defined(__cplusplus) && !defined(CINTERFACE)
2040 struct IPersistStream
: public IPersist
2042 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
2045 virtual HRESULT STDMETHODCALLTYPE
Load(
2048 virtual HRESULT STDMETHODCALLTYPE
Save(
2050 BOOL fClearDirty
) = 0;
2052 virtual HRESULT STDMETHODCALLTYPE
GetSizeMax(
2053 ULARGE_INTEGER
* pcbSize
) = 0;
2057 typedef struct IPersistStreamVtbl IPersistStreamVtbl
;
2058 struct IPersistStream
{
2059 const IPersistStreamVtbl
* lpVtbl
;
2061 struct IPersistStreamVtbl
{
2062 ICOM_MSVTABLE_COMPAT_FIELDS
2064 /*** IUnknown methods ***/
2065 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2066 IPersistStream
* This
,
2070 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2071 IPersistStream
* This
);
2073 ULONG (STDMETHODCALLTYPE
*Release
)(
2074 IPersistStream
* This
);
2076 /*** IPersist methods ***/
2077 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2078 IPersistStream
* This
,
2081 /*** IPersistStream methods ***/
2082 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
2083 IPersistStream
* This
);
2085 HRESULT (STDMETHODCALLTYPE
*Load
)(
2086 IPersistStream
* This
,
2089 HRESULT (STDMETHODCALLTYPE
*Save
)(
2090 IPersistStream
* This
,
2094 HRESULT (STDMETHODCALLTYPE
*GetSizeMax
)(
2095 IPersistStream
* This
,
2096 ULARGE_INTEGER
* pcbSize
);
2100 /*** IUnknown methods ***/
2101 #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2102 #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2103 #define IPersistStream_Release(p) (p)->lpVtbl->Release(p)
2104 /*** IPersist methods ***/
2105 #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2106 /*** IPersistStream methods ***/
2107 #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2108 #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a)
2109 #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2110 #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2114 #define IPersistStream_METHODS \
2115 ICOM_MSVTABLE_COMPAT_FIELDS \
2116 /*** IUnknown methods ***/ \
2117 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2118 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2119 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2120 /*** IPersist methods ***/ \
2121 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2122 /*** IPersistStream methods ***/ \
2123 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2124 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2125 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2126 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE;
2128 HRESULT CALLBACK
IPersistStream_IsDirty_Proxy(
2129 IPersistStream
* This
);
2130 void __RPC_STUB
IPersistStream_IsDirty_Stub(
2131 struct IRpcStubBuffer
* This
,
2132 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2133 PRPC_MESSAGE pRpcMessage
,
2134 DWORD
* pdwStubPhase
);
2135 HRESULT CALLBACK
IPersistStream_Load_Proxy(
2136 IPersistStream
* This
,
2138 void __RPC_STUB
IPersistStream_Load_Stub(
2139 struct IRpcStubBuffer
* This
,
2140 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2141 PRPC_MESSAGE pRpcMessage
,
2142 DWORD
* pdwStubPhase
);
2143 HRESULT CALLBACK
IPersistStream_Save_Proxy(
2144 IPersistStream
* This
,
2147 void __RPC_STUB
IPersistStream_Save_Stub(
2148 struct IRpcStubBuffer
* This
,
2149 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2150 PRPC_MESSAGE pRpcMessage
,
2151 DWORD
* pdwStubPhase
);
2152 HRESULT CALLBACK
IPersistStream_GetSizeMax_Proxy(
2153 IPersistStream
* This
,
2154 ULARGE_INTEGER
* pcbSize
);
2155 void __RPC_STUB
IPersistStream_GetSizeMax_Stub(
2156 struct IRpcStubBuffer
* This
,
2157 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2158 PRPC_MESSAGE pRpcMessage
,
2159 DWORD
* pdwStubPhase
);
2161 typedef IMoniker
*LPMONIKER
;
2163 typedef enum tagMKSYS
{
2165 MKSYS_GENERICCOMPOSITE
= 1,
2166 MKSYS_FILEMONIKER
= 2,
2167 MKSYS_ANTIMONIKER
= 3,
2168 MKSYS_ITEMMONIKER
= 4,
2169 MKSYS_POINTERMONIKER
= 5,
2170 MKSYS_CLASSMONIKER
= 7
2173 typedef enum tagMKREDUCE
{
2174 MKRREDUCE_ONE
= 3 << 16,
2175 MKRREDUCE_TOUSER
= 2 << 16,
2176 MKRREDUCE_THROUGHUSER
= 1 << 16,
2180 /*****************************************************************************
2181 * IMoniker interface
2183 DEFINE_GUID(IID_IMoniker
, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2184 #if defined(__cplusplus) && !defined(CINTERFACE)
2185 struct IMoniker
: public IPersistStream
2187 virtual HRESULT STDMETHODCALLTYPE
BindToObject(
2189 IMoniker
* pmkToLeft
,
2191 void** ppvResult
) = 0;
2193 virtual HRESULT STDMETHODCALLTYPE
BindToStorage(
2195 IMoniker
* pmkToLeft
,
2199 virtual HRESULT STDMETHODCALLTYPE
Reduce(
2201 DWORD dwReduceHowFar
,
2202 IMoniker
** ppmkToLeft
,
2203 IMoniker
** ppmkReduced
) = 0;
2205 virtual HRESULT STDMETHODCALLTYPE
ComposeWith(
2207 BOOL fOnlyIfNotGeneric
,
2208 IMoniker
** ppmkComposite
) = 0;
2210 virtual HRESULT STDMETHODCALLTYPE
Enum(
2212 IEnumMoniker
** ppenumMoniker
) = 0;
2214 virtual HRESULT STDMETHODCALLTYPE
IsEqual(
2215 IMoniker
* pmkOtherMoniker
) = 0;
2217 virtual HRESULT STDMETHODCALLTYPE
Hash(
2218 DWORD
* pdwHash
) = 0;
2220 virtual HRESULT STDMETHODCALLTYPE
IsRunning(
2222 IMoniker
* pmkToLeft
,
2223 IMoniker
* pmkNewlyRunning
) = 0;
2225 virtual HRESULT STDMETHODCALLTYPE
GetTimeOfLastChange(
2227 IMoniker
* pmkToLeft
,
2228 FILETIME
* pFileTime
) = 0;
2230 virtual HRESULT STDMETHODCALLTYPE
Inverse(
2231 IMoniker
** ppmk
) = 0;
2233 virtual HRESULT STDMETHODCALLTYPE
CommonPrefixWith(
2235 IMoniker
** ppmkPrefix
) = 0;
2237 virtual HRESULT STDMETHODCALLTYPE
RelativePathTo(
2239 IMoniker
** ppmkRelPath
) = 0;
2241 virtual HRESULT STDMETHODCALLTYPE
GetDisplayName(
2243 IMoniker
* pmkToLeft
,
2244 LPOLESTR
* ppszDisplayName
) = 0;
2246 virtual HRESULT STDMETHODCALLTYPE
ParseDisplayName(
2248 IMoniker
* pmkToLeft
,
2249 LPOLESTR pszDisplayName
,
2251 IMoniker
** ppmkOut
) = 0;
2253 virtual HRESULT STDMETHODCALLTYPE
IsSystemMoniker(
2254 DWORD
* pdwMksys
) = 0;
2258 typedef struct IMonikerVtbl IMonikerVtbl
;
2260 const IMonikerVtbl
* lpVtbl
;
2262 struct IMonikerVtbl
{
2263 ICOM_MSVTABLE_COMPAT_FIELDS
2265 /*** IUnknown methods ***/
2266 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2271 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2274 ULONG (STDMETHODCALLTYPE
*Release
)(
2277 /*** IPersist methods ***/
2278 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2282 /*** IPersistStream methods ***/
2283 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
2286 HRESULT (STDMETHODCALLTYPE
*Load
)(
2290 HRESULT (STDMETHODCALLTYPE
*Save
)(
2295 HRESULT (STDMETHODCALLTYPE
*GetSizeMax
)(
2297 ULARGE_INTEGER
* pcbSize
);
2299 /*** IMoniker methods ***/
2300 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
2303 IMoniker
* pmkToLeft
,
2307 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
2310 IMoniker
* pmkToLeft
,
2314 HRESULT (STDMETHODCALLTYPE
*Reduce
)(
2317 DWORD dwReduceHowFar
,
2318 IMoniker
** ppmkToLeft
,
2319 IMoniker
** ppmkReduced
);
2321 HRESULT (STDMETHODCALLTYPE
*ComposeWith
)(
2324 BOOL fOnlyIfNotGeneric
,
2325 IMoniker
** ppmkComposite
);
2327 HRESULT (STDMETHODCALLTYPE
*Enum
)(
2330 IEnumMoniker
** ppenumMoniker
);
2332 HRESULT (STDMETHODCALLTYPE
*IsEqual
)(
2334 IMoniker
* pmkOtherMoniker
);
2336 HRESULT (STDMETHODCALLTYPE
*Hash
)(
2340 HRESULT (STDMETHODCALLTYPE
*IsRunning
)(
2343 IMoniker
* pmkToLeft
,
2344 IMoniker
* pmkNewlyRunning
);
2346 HRESULT (STDMETHODCALLTYPE
*GetTimeOfLastChange
)(
2349 IMoniker
* pmkToLeft
,
2350 FILETIME
* pFileTime
);
2352 HRESULT (STDMETHODCALLTYPE
*Inverse
)(
2356 HRESULT (STDMETHODCALLTYPE
*CommonPrefixWith
)(
2359 IMoniker
** ppmkPrefix
);
2361 HRESULT (STDMETHODCALLTYPE
*RelativePathTo
)(
2364 IMoniker
** ppmkRelPath
);
2366 HRESULT (STDMETHODCALLTYPE
*GetDisplayName
)(
2369 IMoniker
* pmkToLeft
,
2370 LPOLESTR
* ppszDisplayName
);
2372 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
2375 IMoniker
* pmkToLeft
,
2376 LPOLESTR pszDisplayName
,
2378 IMoniker
** ppmkOut
);
2380 HRESULT (STDMETHODCALLTYPE
*IsSystemMoniker
)(
2386 /*** IUnknown methods ***/
2387 #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2388 #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
2389 #define IMoniker_Release(p) (p)->lpVtbl->Release(p)
2390 /*** IPersist methods ***/
2391 #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2392 /*** IPersistStream methods ***/
2393 #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2394 #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a)
2395 #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2396 #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2397 /*** IMoniker methods ***/
2398 #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
2399 #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
2400 #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d)
2401 #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c)
2402 #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b)
2403 #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
2404 #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a)
2405 #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c)
2406 #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c)
2407 #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a)
2408 #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b)
2409 #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b)
2410 #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c)
2411 #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e)
2412 #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a)
2416 #define IMoniker_METHODS \
2417 ICOM_MSVTABLE_COMPAT_FIELDS \
2418 /*** IUnknown methods ***/ \
2419 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2420 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2421 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2422 /*** IPersist methods ***/ \
2423 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2424 /*** IPersistStream methods ***/ \
2425 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
2426 STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \
2427 STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \
2428 STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; \
2429 /*** IMoniker methods ***/ \
2430 STDMETHOD_(HRESULT,BindToObject)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riidResult, void** ppvResult) PURE; \
2431 STDMETHOD_(HRESULT,BindToStorage)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riid, void** ppvObj) PURE; \
2432 STDMETHOD_(HRESULT,Reduce)(THIS_ IBindCtx* pbc, DWORD dwReduceHowFar, IMoniker** ppmkToLeft, IMoniker** ppmkReduced) PURE; \
2433 STDMETHOD_(HRESULT,ComposeWith)(THIS_ IMoniker* pmkRight, BOOL fOnlyIfNotGeneric, IMoniker** ppmkComposite) PURE; \
2434 STDMETHOD_(HRESULT,Enum)(THIS_ BOOL fForward, IEnumMoniker** ppenumMoniker) PURE; \
2435 STDMETHOD_(HRESULT,IsEqual)(THIS_ IMoniker* pmkOtherMoniker) PURE; \
2436 STDMETHOD_(HRESULT,Hash)(THIS_ DWORD* pdwHash) PURE; \
2437 STDMETHOD_(HRESULT,IsRunning)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, IMoniker* pmkNewlyRunning) PURE; \
2438 STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, FILETIME* pFileTime) PURE; \
2439 STDMETHOD_(HRESULT,Inverse)(THIS_ IMoniker** ppmk) PURE; \
2440 STDMETHOD_(HRESULT,CommonPrefixWith)(THIS_ IMoniker* pmkOther, IMoniker** ppmkPrefix) PURE; \
2441 STDMETHOD_(HRESULT,RelativePathTo)(THIS_ IMoniker* pmkOther, IMoniker** ppmkRelPath) PURE; \
2442 STDMETHOD_(HRESULT,GetDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR* ppszDisplayName) PURE; \
2443 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \
2444 STDMETHOD_(HRESULT,IsSystemMoniker)(THIS_ DWORD* pdwMksys) PURE;
2446 HRESULT CALLBACK
IMoniker_RemoteBindToObject_Proxy(
2449 IMoniker
* pmkToLeft
,
2451 IUnknown
** ppvResult
);
2452 void __RPC_STUB
IMoniker_RemoteBindToObject_Stub(
2453 struct IRpcStubBuffer
* This
,
2454 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2455 PRPC_MESSAGE pRpcMessage
,
2456 DWORD
* pdwStubPhase
);
2457 HRESULT CALLBACK
IMoniker_BindToObject_Proxy(
2460 IMoniker
* pmkToLeft
,
2463 HRESULT __RPC_STUB
IMoniker_BindToObject_Stub(
2466 IMoniker
* pmkToLeft
,
2468 IUnknown
** ppvResult
);
2469 HRESULT CALLBACK
IMoniker_RemoteBindToStorage_Proxy(
2472 IMoniker
* pmkToLeft
,
2475 void __RPC_STUB
IMoniker_RemoteBindToStorage_Stub(
2476 struct IRpcStubBuffer
* This
,
2477 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2478 PRPC_MESSAGE pRpcMessage
,
2479 DWORD
* pdwStubPhase
);
2480 HRESULT CALLBACK
IMoniker_BindToStorage_Proxy(
2483 IMoniker
* pmkToLeft
,
2486 HRESULT __RPC_STUB
IMoniker_BindToStorage_Stub(
2489 IMoniker
* pmkToLeft
,
2492 HRESULT CALLBACK
IMoniker_Reduce_Proxy(
2495 DWORD dwReduceHowFar
,
2496 IMoniker
** ppmkToLeft
,
2497 IMoniker
** ppmkReduced
);
2498 void __RPC_STUB
IMoniker_Reduce_Stub(
2499 struct IRpcStubBuffer
* This
,
2500 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2501 PRPC_MESSAGE pRpcMessage
,
2502 DWORD
* pdwStubPhase
);
2503 HRESULT CALLBACK
IMoniker_ComposeWith_Proxy(
2506 BOOL fOnlyIfNotGeneric
,
2507 IMoniker
** ppmkComposite
);
2508 void __RPC_STUB
IMoniker_ComposeWith_Stub(
2509 struct IRpcStubBuffer
* This
,
2510 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2511 PRPC_MESSAGE pRpcMessage
,
2512 DWORD
* pdwStubPhase
);
2513 HRESULT CALLBACK
IMoniker_Enum_Proxy(
2516 IEnumMoniker
** ppenumMoniker
);
2517 void __RPC_STUB
IMoniker_Enum_Stub(
2518 struct IRpcStubBuffer
* This
,
2519 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2520 PRPC_MESSAGE pRpcMessage
,
2521 DWORD
* pdwStubPhase
);
2522 HRESULT CALLBACK
IMoniker_IsEqual_Proxy(
2524 IMoniker
* pmkOtherMoniker
);
2525 void __RPC_STUB
IMoniker_IsEqual_Stub(
2526 struct IRpcStubBuffer
* This
,
2527 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2528 PRPC_MESSAGE pRpcMessage
,
2529 DWORD
* pdwStubPhase
);
2530 HRESULT CALLBACK
IMoniker_Hash_Proxy(
2533 void __RPC_STUB
IMoniker_Hash_Stub(
2534 struct IRpcStubBuffer
* This
,
2535 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2536 PRPC_MESSAGE pRpcMessage
,
2537 DWORD
* pdwStubPhase
);
2538 HRESULT CALLBACK
IMoniker_IsRunning_Proxy(
2541 IMoniker
* pmkToLeft
,
2542 IMoniker
* pmkNewlyRunning
);
2543 void __RPC_STUB
IMoniker_IsRunning_Stub(
2544 struct IRpcStubBuffer
* This
,
2545 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2546 PRPC_MESSAGE pRpcMessage
,
2547 DWORD
* pdwStubPhase
);
2548 HRESULT CALLBACK
IMoniker_GetTimeOfLastChange_Proxy(
2551 IMoniker
* pmkToLeft
,
2552 FILETIME
* pFileTime
);
2553 void __RPC_STUB
IMoniker_GetTimeOfLastChange_Stub(
2554 struct IRpcStubBuffer
* This
,
2555 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2556 PRPC_MESSAGE pRpcMessage
,
2557 DWORD
* pdwStubPhase
);
2558 HRESULT CALLBACK
IMoniker_Inverse_Proxy(
2561 void __RPC_STUB
IMoniker_Inverse_Stub(
2562 struct IRpcStubBuffer
* This
,
2563 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2564 PRPC_MESSAGE pRpcMessage
,
2565 DWORD
* pdwStubPhase
);
2566 HRESULT CALLBACK
IMoniker_CommonPrefixWith_Proxy(
2569 IMoniker
** ppmkPrefix
);
2570 void __RPC_STUB
IMoniker_CommonPrefixWith_Stub(
2571 struct IRpcStubBuffer
* This
,
2572 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2573 PRPC_MESSAGE pRpcMessage
,
2574 DWORD
* pdwStubPhase
);
2575 HRESULT CALLBACK
IMoniker_RelativePathTo_Proxy(
2578 IMoniker
** ppmkRelPath
);
2579 void __RPC_STUB
IMoniker_RelativePathTo_Stub(
2580 struct IRpcStubBuffer
* This
,
2581 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2582 PRPC_MESSAGE pRpcMessage
,
2583 DWORD
* pdwStubPhase
);
2584 HRESULT CALLBACK
IMoniker_GetDisplayName_Proxy(
2587 IMoniker
* pmkToLeft
,
2588 LPOLESTR
* ppszDisplayName
);
2589 void __RPC_STUB
IMoniker_GetDisplayName_Stub(
2590 struct IRpcStubBuffer
* This
,
2591 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2592 PRPC_MESSAGE pRpcMessage
,
2593 DWORD
* pdwStubPhase
);
2594 HRESULT CALLBACK
IMoniker_ParseDisplayName_Proxy(
2597 IMoniker
* pmkToLeft
,
2598 LPOLESTR pszDisplayName
,
2600 IMoniker
** ppmkOut
);
2601 void __RPC_STUB
IMoniker_ParseDisplayName_Stub(
2602 struct IRpcStubBuffer
* This
,
2603 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2604 PRPC_MESSAGE pRpcMessage
,
2605 DWORD
* pdwStubPhase
);
2606 HRESULT CALLBACK
IMoniker_IsSystemMoniker_Proxy(
2609 void __RPC_STUB
IMoniker_IsSystemMoniker_Stub(
2610 struct IRpcStubBuffer
* This
,
2611 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2612 PRPC_MESSAGE pRpcMessage
,
2613 DWORD
* pdwStubPhase
);
2615 typedef struct IROTData IROTData
;
2616 /*****************************************************************************
2617 * IROTData interface
2619 DEFINE_GUID(IID_IROTData
, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
2620 #if defined(__cplusplus) && !defined(CINTERFACE)
2621 struct IROTData
: public IUnknown
2623 virtual HRESULT STDMETHODCALLTYPE
GetComparisonData(
2626 ULONG
* pcbData
) = 0;
2630 typedef struct IROTDataVtbl IROTDataVtbl
;
2632 const IROTDataVtbl
* lpVtbl
;
2634 struct IROTDataVtbl
{
2635 ICOM_MSVTABLE_COMPAT_FIELDS
2637 /*** IUnknown methods ***/
2638 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2643 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2646 ULONG (STDMETHODCALLTYPE
*Release
)(
2649 /*** IROTData methods ***/
2650 HRESULT (STDMETHODCALLTYPE
*GetComparisonData
)(
2658 /*** IUnknown methods ***/
2659 #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2660 #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p)
2661 #define IROTData_Release(p) (p)->lpVtbl->Release(p)
2662 /*** IROTData methods ***/
2663 #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c)
2667 #define IROTData_METHODS \
2668 ICOM_MSVTABLE_COMPAT_FIELDS \
2669 /*** IUnknown methods ***/ \
2670 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2671 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2672 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2673 /*** IROTData methods ***/ \
2674 STDMETHOD_(HRESULT,GetComparisonData)(THIS_ byte* pbData, ULONG cbMax, ULONG* pcbData) PURE;
2676 HRESULT CALLBACK
IROTData_GetComparisonData_Proxy(
2681 void __RPC_STUB
IROTData_GetComparisonData_Stub(
2682 struct IRpcStubBuffer
* This
,
2683 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2684 PRPC_MESSAGE pRpcMessage
,
2685 DWORD
* pdwStubPhase
);
2687 typedef IEnumString
*LPENUMSTRING
;
2689 /*****************************************************************************
2690 * IEnumString interface
2692 DEFINE_GUID(IID_IEnumString
, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2693 #if defined(__cplusplus) && !defined(CINTERFACE)
2694 struct IEnumString
: public IUnknown
2696 virtual HRESULT STDMETHODCALLTYPE
Next(
2699 ULONG
* pceltFetched
) = 0;
2701 virtual HRESULT STDMETHODCALLTYPE
Skip(
2704 virtual HRESULT STDMETHODCALLTYPE
Reset(
2707 virtual HRESULT STDMETHODCALLTYPE
Clone(
2708 IEnumString
** ppenum
) = 0;
2712 typedef struct IEnumStringVtbl IEnumStringVtbl
;
2713 struct IEnumString
{
2714 const IEnumStringVtbl
* lpVtbl
;
2716 struct IEnumStringVtbl
{
2717 ICOM_MSVTABLE_COMPAT_FIELDS
2719 /*** IUnknown methods ***/
2720 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2725 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2728 ULONG (STDMETHODCALLTYPE
*Release
)(
2731 /*** IEnumString methods ***/
2732 HRESULT (STDMETHODCALLTYPE
*Next
)(
2736 ULONG
* pceltFetched
);
2738 HRESULT (STDMETHODCALLTYPE
*Skip
)(
2742 HRESULT (STDMETHODCALLTYPE
*Reset
)(
2745 HRESULT (STDMETHODCALLTYPE
*Clone
)(
2747 IEnumString
** ppenum
);
2751 /*** IUnknown methods ***/
2752 #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2753 #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p)
2754 #define IEnumString_Release(p) (p)->lpVtbl->Release(p)
2755 /*** IEnumString methods ***/
2756 #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2757 #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2758 #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p)
2759 #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2763 #define IEnumString_METHODS \
2764 ICOM_MSVTABLE_COMPAT_FIELDS \
2765 /*** IUnknown methods ***/ \
2766 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2767 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2768 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2769 /*** IEnumString methods ***/ \
2770 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched) PURE; \
2771 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
2772 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
2773 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumString** ppenum) PURE;
2775 HRESULT CALLBACK
IEnumString_RemoteNext_Proxy(
2779 ULONG
* pceltFetched
);
2780 void __RPC_STUB
IEnumString_RemoteNext_Stub(
2781 struct IRpcStubBuffer
* This
,
2782 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2783 PRPC_MESSAGE pRpcMessage
,
2784 DWORD
* pdwStubPhase
);
2785 HRESULT CALLBACK
IEnumString_Next_Proxy(
2789 ULONG
* pceltFetched
);
2790 HRESULT __RPC_STUB
IEnumString_Next_Stub(
2794 ULONG
* pceltFetched
);
2795 HRESULT CALLBACK
IEnumString_Skip_Proxy(
2798 void __RPC_STUB
IEnumString_Skip_Stub(
2799 struct IRpcStubBuffer
* This
,
2800 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2801 PRPC_MESSAGE pRpcMessage
,
2802 DWORD
* pdwStubPhase
);
2803 HRESULT CALLBACK
IEnumString_Reset_Proxy(
2805 void __RPC_STUB
IEnumString_Reset_Stub(
2806 struct IRpcStubBuffer
* This
,
2807 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2808 PRPC_MESSAGE pRpcMessage
,
2809 DWORD
* pdwStubPhase
);
2810 HRESULT CALLBACK
IEnumString_Clone_Proxy(
2812 IEnumString
** ppenum
);
2813 void __RPC_STUB
IEnumString_Clone_Stub(
2814 struct IRpcStubBuffer
* This
,
2815 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2816 PRPC_MESSAGE pRpcMessage
,
2817 DWORD
* pdwStubPhase
);
2819 typedef struct IClassActivator IClassActivator
;
2820 /*****************************************************************************
2821 * IClassActivator interface
2823 DEFINE_GUID(IID_IClassActivator
, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2824 #if defined(__cplusplus) && !defined(CINTERFACE)
2825 struct IClassActivator
: public IUnknown
2827 virtual HRESULT STDMETHODCALLTYPE
GetClassObject(
2829 DWORD dwClassContext
,
2836 typedef struct IClassActivatorVtbl IClassActivatorVtbl
;
2837 struct IClassActivator
{
2838 const IClassActivatorVtbl
* lpVtbl
;
2840 struct IClassActivatorVtbl
{
2841 ICOM_MSVTABLE_COMPAT_FIELDS
2843 /*** IUnknown methods ***/
2844 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2845 IClassActivator
* This
,
2849 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2850 IClassActivator
* This
);
2852 ULONG (STDMETHODCALLTYPE
*Release
)(
2853 IClassActivator
* This
);
2855 /*** IClassActivator methods ***/
2856 HRESULT (STDMETHODCALLTYPE
*GetClassObject
)(
2857 IClassActivator
* This
,
2859 DWORD dwClassContext
,
2866 /*** IUnknown methods ***/
2867 #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2868 #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p)
2869 #define IClassActivator_Release(p) (p)->lpVtbl->Release(p)
2870 /*** IClassActivator methods ***/
2871 #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e)
2875 #define IClassActivator_METHODS \
2876 ICOM_MSVTABLE_COMPAT_FIELDS \
2877 /*** IUnknown methods ***/ \
2878 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2879 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2880 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2881 /*** IClassActivator methods ***/ \
2882 STDMETHOD_(HRESULT,GetClassObject)(THIS_ REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) PURE;
2884 HRESULT CALLBACK
IClassActivator_GetClassObject_Proxy(
2885 IClassActivator
* This
,
2887 DWORD dwClassContext
,
2891 void __RPC_STUB
IClassActivator_GetClassObject_Stub(
2892 struct IRpcStubBuffer
* This
,
2893 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2894 PRPC_MESSAGE pRpcMessage
,
2895 DWORD
* pdwStubPhase
);
2897 typedef struct ISequentialStream ISequentialStream
;
2898 /*****************************************************************************
2899 * ISequentialStream interface
2901 DEFINE_GUID(IID_ISequentialStream
, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
2902 #if defined(__cplusplus) && !defined(CINTERFACE)
2903 struct ISequentialStream
: public IUnknown
2905 virtual HRESULT STDMETHODCALLTYPE
Read(
2908 ULONG
* pcbRead
) = 0;
2910 virtual HRESULT STDMETHODCALLTYPE
Write(
2913 ULONG
* pcbWritten
) = 0;
2917 typedef struct ISequentialStreamVtbl ISequentialStreamVtbl
;
2918 struct ISequentialStream
{
2919 const ISequentialStreamVtbl
* lpVtbl
;
2921 struct ISequentialStreamVtbl
{
2922 ICOM_MSVTABLE_COMPAT_FIELDS
2924 /*** IUnknown methods ***/
2925 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2926 ISequentialStream
* This
,
2930 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2931 ISequentialStream
* This
);
2933 ULONG (STDMETHODCALLTYPE
*Release
)(
2934 ISequentialStream
* This
);
2936 /*** ISequentialStream methods ***/
2937 HRESULT (STDMETHODCALLTYPE
*Read
)(
2938 ISequentialStream
* This
,
2943 HRESULT (STDMETHODCALLTYPE
*Write
)(
2944 ISequentialStream
* This
,
2951 /*** IUnknown methods ***/
2952 #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2953 #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2954 #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p)
2955 /*** ISequentialStream methods ***/
2956 #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
2957 #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
2961 #define ISequentialStream_METHODS \
2962 ICOM_MSVTABLE_COMPAT_FIELDS \
2963 /*** IUnknown methods ***/ \
2964 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2965 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2966 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2967 /*** ISequentialStream methods ***/ \
2968 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
2969 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE;
2971 HRESULT CALLBACK
ISequentialStream_RemoteRead_Proxy(
2972 ISequentialStream
* This
,
2976 void __RPC_STUB
ISequentialStream_RemoteRead_Stub(
2977 struct IRpcStubBuffer
* This
,
2978 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2979 PRPC_MESSAGE pRpcMessage
,
2980 DWORD
* pdwStubPhase
);
2981 HRESULT CALLBACK
ISequentialStream_Read_Proxy(
2982 ISequentialStream
* This
,
2986 HRESULT __RPC_STUB
ISequentialStream_Read_Stub(
2987 ISequentialStream
* This
,
2991 HRESULT CALLBACK
ISequentialStream_RemoteWrite_Proxy(
2992 ISequentialStream
* This
,
2996 void __RPC_STUB
ISequentialStream_RemoteWrite_Stub(
2997 struct IRpcStubBuffer
* This
,
2998 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2999 PRPC_MESSAGE pRpcMessage
,
3000 DWORD
* pdwStubPhase
);
3001 HRESULT CALLBACK
ISequentialStream_Write_Proxy(
3002 ISequentialStream
* This
,
3006 HRESULT __RPC_STUB
ISequentialStream_Write_Stub(
3007 ISequentialStream
* This
,
3012 typedef IStream
*LPSTREAM
;
3014 typedef struct tagSTATSTG
{
3017 ULARGE_INTEGER cbSize
;
3022 DWORD grfLocksSupported
;
3028 typedef enum tagSTGTY
{
3031 STGTY_LOCKBYTES
= 3,
3035 typedef enum tagSTREAM_SEEK
{
3036 STREAM_SEEK_SET
= 0,
3037 STREAM_SEEK_CUR
= 1,
3045 typedef enum tagLOCKTYPE
{
3051 /*****************************************************************************
3054 DEFINE_GUID(IID_IStream
, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3055 #if defined(__cplusplus) && !defined(CINTERFACE)
3056 struct IStream
: public ISequentialStream
3058 virtual HRESULT STDMETHODCALLTYPE
Seek(
3059 LARGE_INTEGER dlibMove
,
3061 ULARGE_INTEGER
* plibNewPosition
) = 0;
3063 virtual HRESULT STDMETHODCALLTYPE
SetSize(
3064 ULARGE_INTEGER libNewSize
) = 0;
3066 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
3069 ULARGE_INTEGER
* pcbRead
,
3070 ULARGE_INTEGER
* pcbWritten
) = 0;
3072 virtual HRESULT STDMETHODCALLTYPE
Commit(
3073 DWORD grfCommitFlags
) = 0;
3075 virtual HRESULT STDMETHODCALLTYPE
Revert(
3078 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
3079 ULARGE_INTEGER libOffset
,
3081 DWORD dwLockType
) = 0;
3083 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
3084 ULARGE_INTEGER libOffset
,
3086 DWORD dwLockType
) = 0;
3088 virtual HRESULT STDMETHODCALLTYPE
Stat(
3090 DWORD grfStatFlag
) = 0;
3092 virtual HRESULT STDMETHODCALLTYPE
Clone(
3093 IStream
** ppstm
) = 0;
3097 typedef struct IStreamVtbl IStreamVtbl
;
3099 const IStreamVtbl
* lpVtbl
;
3101 struct IStreamVtbl
{
3102 ICOM_MSVTABLE_COMPAT_FIELDS
3104 /*** IUnknown methods ***/
3105 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3110 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3113 ULONG (STDMETHODCALLTYPE
*Release
)(
3116 /*** ISequentialStream methods ***/
3117 HRESULT (STDMETHODCALLTYPE
*Read
)(
3123 HRESULT (STDMETHODCALLTYPE
*Write
)(
3129 /*** IStream methods ***/
3130 HRESULT (STDMETHODCALLTYPE
*Seek
)(
3132 LARGE_INTEGER dlibMove
,
3134 ULARGE_INTEGER
* plibNewPosition
);
3136 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
3138 ULARGE_INTEGER libNewSize
);
3140 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
3144 ULARGE_INTEGER
* pcbRead
,
3145 ULARGE_INTEGER
* pcbWritten
);
3147 HRESULT (STDMETHODCALLTYPE
*Commit
)(
3149 DWORD grfCommitFlags
);
3151 HRESULT (STDMETHODCALLTYPE
*Revert
)(
3154 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
3156 ULARGE_INTEGER libOffset
,
3160 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
3162 ULARGE_INTEGER libOffset
,
3166 HRESULT (STDMETHODCALLTYPE
*Stat
)(
3171 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3177 /*** IUnknown methods ***/
3178 #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3179 #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3180 #define IStream_Release(p) (p)->lpVtbl->Release(p)
3181 /*** ISequentialStream methods ***/
3182 #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3183 #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3184 /*** IStream methods ***/
3185 #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3186 #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3187 #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3188 #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3189 #define IStream_Revert(p) (p)->lpVtbl->Revert(p)
3190 #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3191 #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3192 #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3193 #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3197 #define IStream_METHODS \
3198 ICOM_MSVTABLE_COMPAT_FIELDS \
3199 /*** IUnknown methods ***/ \
3200 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3201 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3202 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3203 /*** ISequentialStream methods ***/ \
3204 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3205 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3206 /*** IStream methods ***/ \
3207 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3208 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3209 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3210 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3211 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3212 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3213 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3214 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3215 STDMETHOD_(HRESULT,Clone)(THIS_ IStream** ppstm) PURE;
3217 HRESULT CALLBACK
IStream_RemoteSeek_Proxy(
3219 LARGE_INTEGER dlibMove
,
3221 ULARGE_INTEGER
* plibNewPosition
);
3222 void __RPC_STUB
IStream_RemoteSeek_Stub(
3223 struct IRpcStubBuffer
* This
,
3224 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3225 PRPC_MESSAGE pRpcMessage
,
3226 DWORD
* pdwStubPhase
);
3227 HRESULT CALLBACK
IStream_Seek_Proxy(
3229 LARGE_INTEGER dlibMove
,
3231 ULARGE_INTEGER
* plibNewPosition
);
3232 HRESULT __RPC_STUB
IStream_Seek_Stub(
3234 LARGE_INTEGER dlibMove
,
3236 ULARGE_INTEGER
* plibNewPosition
);
3237 HRESULT CALLBACK
IStream_SetSize_Proxy(
3239 ULARGE_INTEGER libNewSize
);
3240 void __RPC_STUB
IStream_SetSize_Stub(
3241 struct IRpcStubBuffer
* This
,
3242 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3243 PRPC_MESSAGE pRpcMessage
,
3244 DWORD
* pdwStubPhase
);
3245 HRESULT CALLBACK
IStream_RemoteCopyTo_Proxy(
3249 ULARGE_INTEGER
* pcbRead
,
3250 ULARGE_INTEGER
* pcbWritten
);
3251 void __RPC_STUB
IStream_RemoteCopyTo_Stub(
3252 struct IRpcStubBuffer
* This
,
3253 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3254 PRPC_MESSAGE pRpcMessage
,
3255 DWORD
* pdwStubPhase
);
3256 HRESULT CALLBACK
IStream_CopyTo_Proxy(
3260 ULARGE_INTEGER
* pcbRead
,
3261 ULARGE_INTEGER
* pcbWritten
);
3262 HRESULT __RPC_STUB
IStream_CopyTo_Stub(
3266 ULARGE_INTEGER
* pcbRead
,
3267 ULARGE_INTEGER
* pcbWritten
);
3268 HRESULT CALLBACK
IStream_Commit_Proxy(
3270 DWORD grfCommitFlags
);
3271 void __RPC_STUB
IStream_Commit_Stub(
3272 struct IRpcStubBuffer
* This
,
3273 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3274 PRPC_MESSAGE pRpcMessage
,
3275 DWORD
* pdwStubPhase
);
3276 HRESULT CALLBACK
IStream_Revert_Proxy(
3278 void __RPC_STUB
IStream_Revert_Stub(
3279 struct IRpcStubBuffer
* This
,
3280 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3281 PRPC_MESSAGE pRpcMessage
,
3282 DWORD
* pdwStubPhase
);
3283 HRESULT CALLBACK
IStream_LockRegion_Proxy(
3285 ULARGE_INTEGER libOffset
,
3288 void __RPC_STUB
IStream_LockRegion_Stub(
3289 struct IRpcStubBuffer
* This
,
3290 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3291 PRPC_MESSAGE pRpcMessage
,
3292 DWORD
* pdwStubPhase
);
3293 HRESULT CALLBACK
IStream_UnlockRegion_Proxy(
3295 ULARGE_INTEGER libOffset
,
3298 void __RPC_STUB
IStream_UnlockRegion_Stub(
3299 struct IRpcStubBuffer
* This
,
3300 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3301 PRPC_MESSAGE pRpcMessage
,
3302 DWORD
* pdwStubPhase
);
3303 HRESULT CALLBACK
IStream_Stat_Proxy(
3307 void __RPC_STUB
IStream_Stat_Stub(
3308 struct IRpcStubBuffer
* This
,
3309 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3310 PRPC_MESSAGE pRpcMessage
,
3311 DWORD
* pdwStubPhase
);
3312 HRESULT CALLBACK
IStream_Clone_Proxy(
3315 void __RPC_STUB
IStream_Clone_Stub(
3316 struct IRpcStubBuffer
* This
,
3317 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3318 PRPC_MESSAGE pRpcMessage
,
3319 DWORD
* pdwStubPhase
);
3321 typedef IStream16
*LPSTREAM16
;
3323 typedef struct tagSTATSTG16
{
3324 LPOLESTR16 pwcsName
;
3326 ULARGE_INTEGER cbSize
;
3331 DWORD grfLocksSupported
;
3337 /*****************************************************************************
3338 * IStream16 interface
3340 #if defined(__cplusplus) && !defined(CINTERFACE)
3341 struct IStream16
: public ISequentialStream
3343 virtual HRESULT STDMETHODCALLTYPE
Seek(
3344 LARGE_INTEGER dlibMove
,
3346 ULARGE_INTEGER
* plibNewPosition
) = 0;
3348 virtual HRESULT STDMETHODCALLTYPE
SetSize(
3349 ULARGE_INTEGER libNewSize
) = 0;
3351 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
3354 ULARGE_INTEGER
* pcbRead
,
3355 ULARGE_INTEGER
* pcbWritten
) = 0;
3357 virtual HRESULT STDMETHODCALLTYPE
Commit(
3358 DWORD grfCommitFlags
) = 0;
3360 virtual HRESULT STDMETHODCALLTYPE
Revert(
3363 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
3364 ULARGE_INTEGER libOffset
,
3366 DWORD dwLockType
) = 0;
3368 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
3369 ULARGE_INTEGER libOffset
,
3371 DWORD dwLockType
) = 0;
3373 virtual HRESULT STDMETHODCALLTYPE
Stat(
3375 DWORD grfStatFlag
) = 0;
3377 virtual HRESULT STDMETHODCALLTYPE
Clone(
3378 IStream16
** ppstm
) = 0;
3382 typedef struct IStream16Vtbl IStream16Vtbl
;
3384 const IStream16Vtbl
* lpVtbl
;
3386 struct IStream16Vtbl
{
3387 ICOM_MSVTABLE_COMPAT_FIELDS
3389 /*** IUnknown methods ***/
3390 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3395 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3398 ULONG (STDMETHODCALLTYPE
*Release
)(
3401 /*** ISequentialStream methods ***/
3402 HRESULT (STDMETHODCALLTYPE
*Read
)(
3408 HRESULT (STDMETHODCALLTYPE
*Write
)(
3414 /*** IStream16 methods ***/
3415 HRESULT (STDMETHODCALLTYPE
*Seek
)(
3417 LARGE_INTEGER dlibMove
,
3419 ULARGE_INTEGER
* plibNewPosition
);
3421 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
3423 ULARGE_INTEGER libNewSize
);
3425 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
3429 ULARGE_INTEGER
* pcbRead
,
3430 ULARGE_INTEGER
* pcbWritten
);
3432 HRESULT (STDMETHODCALLTYPE
*Commit
)(
3434 DWORD grfCommitFlags
);
3436 HRESULT (STDMETHODCALLTYPE
*Revert
)(
3439 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
3441 ULARGE_INTEGER libOffset
,
3445 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
3447 ULARGE_INTEGER libOffset
,
3451 HRESULT (STDMETHODCALLTYPE
*Stat
)(
3456 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3462 /*** IUnknown methods ***/
3463 #define IStream16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3464 #define IStream16_AddRef(p) (p)->lpVtbl->AddRef(p)
3465 #define IStream16_Release(p) (p)->lpVtbl->Release(p)
3466 /*** ISequentialStream methods ***/
3467 #define IStream16_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3468 #define IStream16_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3469 /*** IStream16 methods ***/
3470 #define IStream16_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3471 #define IStream16_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3472 #define IStream16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3473 #define IStream16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3474 #define IStream16_Revert(p) (p)->lpVtbl->Revert(p)
3475 #define IStream16_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3476 #define IStream16_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3477 #define IStream16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3478 #define IStream16_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3482 #define IStream16_METHODS \
3483 ICOM_MSVTABLE_COMPAT_FIELDS \
3484 /*** IUnknown methods ***/ \
3485 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3486 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3487 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3488 /*** ISequentialStream methods ***/ \
3489 STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \
3490 STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
3491 /*** IStream16 methods ***/ \
3492 STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \
3493 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \
3494 STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream16* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \
3495 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3496 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3497 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3498 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
3499 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \
3500 STDMETHOD_(HRESULT,Clone)(THIS_ IStream16** ppstm) PURE;
3502 HRESULT CALLBACK
IStream16_RemoteSeek_Proxy(
3504 LARGE_INTEGER dlibMove
,
3506 ULARGE_INTEGER
* plibNewPosition
);
3507 void __RPC_STUB
IStream16_RemoteSeek_Stub(
3508 struct IRpcStubBuffer
* This
,
3509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3510 PRPC_MESSAGE pRpcMessage
,
3511 DWORD
* pdwStubPhase
);
3512 HRESULT CALLBACK
IStream16_Seek_Proxy(
3514 LARGE_INTEGER dlibMove
,
3516 ULARGE_INTEGER
* plibNewPosition
);
3517 HRESULT __RPC_STUB
IStream16_Seek_Stub(
3519 LARGE_INTEGER dlibMove
,
3521 ULARGE_INTEGER
* plibNewPosition
);
3522 HRESULT CALLBACK
IStream16_SetSize_Proxy(
3524 ULARGE_INTEGER libNewSize
);
3525 void __RPC_STUB
IStream16_SetSize_Stub(
3526 struct IRpcStubBuffer
* This
,
3527 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3528 PRPC_MESSAGE pRpcMessage
,
3529 DWORD
* pdwStubPhase
);
3530 HRESULT CALLBACK
IStream16_RemoteCopyTo_Proxy(
3534 ULARGE_INTEGER
* pcbRead
,
3535 ULARGE_INTEGER
* pcbWritten
);
3536 void __RPC_STUB
IStream16_RemoteCopyTo_Stub(
3537 struct IRpcStubBuffer
* This
,
3538 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3539 PRPC_MESSAGE pRpcMessage
,
3540 DWORD
* pdwStubPhase
);
3541 HRESULT CALLBACK
IStream16_CopyTo_Proxy(
3545 ULARGE_INTEGER
* pcbRead
,
3546 ULARGE_INTEGER
* pcbWritten
);
3547 HRESULT __RPC_STUB
IStream16_CopyTo_Stub(
3551 ULARGE_INTEGER
* pcbRead
,
3552 ULARGE_INTEGER
* pcbWritten
);
3553 HRESULT CALLBACK
IStream16_Commit_Proxy(
3555 DWORD grfCommitFlags
);
3556 void __RPC_STUB
IStream16_Commit_Stub(
3557 struct IRpcStubBuffer
* This
,
3558 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3559 PRPC_MESSAGE pRpcMessage
,
3560 DWORD
* pdwStubPhase
);
3561 HRESULT CALLBACK
IStream16_Revert_Proxy(
3563 void __RPC_STUB
IStream16_Revert_Stub(
3564 struct IRpcStubBuffer
* This
,
3565 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3566 PRPC_MESSAGE pRpcMessage
,
3567 DWORD
* pdwStubPhase
);
3568 HRESULT CALLBACK
IStream16_LockRegion_Proxy(
3570 ULARGE_INTEGER libOffset
,
3573 void __RPC_STUB
IStream16_LockRegion_Stub(
3574 struct IRpcStubBuffer
* This
,
3575 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3576 PRPC_MESSAGE pRpcMessage
,
3577 DWORD
* pdwStubPhase
);
3578 HRESULT CALLBACK
IStream16_UnlockRegion_Proxy(
3580 ULARGE_INTEGER libOffset
,
3583 void __RPC_STUB
IStream16_UnlockRegion_Stub(
3584 struct IRpcStubBuffer
* This
,
3585 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3586 PRPC_MESSAGE pRpcMessage
,
3587 DWORD
* pdwStubPhase
);
3588 HRESULT CALLBACK
IStream16_Stat_Proxy(
3592 void __RPC_STUB
IStream16_Stat_Stub(
3593 struct IRpcStubBuffer
* This
,
3594 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3595 PRPC_MESSAGE pRpcMessage
,
3596 DWORD
* pdwStubPhase
);
3597 HRESULT CALLBACK
IStream16_Clone_Proxy(
3600 void __RPC_STUB
IStream16_Clone_Stub(
3601 struct IRpcStubBuffer
* This
,
3602 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3603 PRPC_MESSAGE pRpcMessage
,
3604 DWORD
* pdwStubPhase
);
3606 typedef struct IEnumSTATSTG IEnumSTATSTG
;
3607 typedef IEnumSTATSTG
*LPENUMSTATSTG
;
3609 /*****************************************************************************
3610 * IEnumSTATSTG interface
3612 DEFINE_GUID(IID_IEnumSTATSTG
, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3613 #if defined(__cplusplus) && !defined(CINTERFACE)
3614 struct IEnumSTATSTG
: public IUnknown
3616 virtual HRESULT STDMETHODCALLTYPE
Next(
3619 ULONG
* pceltFetched
) = 0;
3621 virtual HRESULT STDMETHODCALLTYPE
Skip(
3624 virtual HRESULT STDMETHODCALLTYPE
Reset(
3627 virtual HRESULT STDMETHODCALLTYPE
Clone(
3628 IEnumSTATSTG
** ppenum
) = 0;
3632 typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl
;
3633 struct IEnumSTATSTG
{
3634 const IEnumSTATSTGVtbl
* lpVtbl
;
3636 struct IEnumSTATSTGVtbl
{
3637 ICOM_MSVTABLE_COMPAT_FIELDS
3639 /*** IUnknown methods ***/
3640 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3645 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3646 IEnumSTATSTG
* This
);
3648 ULONG (STDMETHODCALLTYPE
*Release
)(
3649 IEnumSTATSTG
* This
);
3651 /*** IEnumSTATSTG methods ***/
3652 HRESULT (STDMETHODCALLTYPE
*Next
)(
3656 ULONG
* pceltFetched
);
3658 HRESULT (STDMETHODCALLTYPE
*Skip
)(
3662 HRESULT (STDMETHODCALLTYPE
*Reset
)(
3663 IEnumSTATSTG
* This
);
3665 HRESULT (STDMETHODCALLTYPE
*Clone
)(
3667 IEnumSTATSTG
** ppenum
);
3671 /*** IUnknown methods ***/
3672 #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3673 #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
3674 #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p)
3675 /*** IEnumSTATSTG methods ***/
3676 #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
3677 #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
3678 #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p)
3679 #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3683 #define IEnumSTATSTG_METHODS \
3684 ICOM_MSVTABLE_COMPAT_FIELDS \
3685 /*** IUnknown methods ***/ \
3686 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3687 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3688 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3689 /*** IEnumSTATSTG methods ***/ \
3690 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATSTG* rgelt, ULONG* pceltFetched) PURE; \
3691 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
3692 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
3693 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATSTG** ppenum) PURE;
3695 HRESULT CALLBACK
IEnumSTATSTG_RemoteNext_Proxy(
3699 ULONG
* pceltFetched
);
3700 void __RPC_STUB
IEnumSTATSTG_RemoteNext_Stub(
3701 struct IRpcStubBuffer
* This
,
3702 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3703 PRPC_MESSAGE pRpcMessage
,
3704 DWORD
* pdwStubPhase
);
3705 HRESULT CALLBACK
IEnumSTATSTG_Next_Proxy(
3709 ULONG
* pceltFetched
);
3710 HRESULT __RPC_STUB
IEnumSTATSTG_Next_Stub(
3714 ULONG
* pceltFetched
);
3715 HRESULT CALLBACK
IEnumSTATSTG_Skip_Proxy(
3718 void __RPC_STUB
IEnumSTATSTG_Skip_Stub(
3719 struct IRpcStubBuffer
* This
,
3720 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3721 PRPC_MESSAGE pRpcMessage
,
3722 DWORD
* pdwStubPhase
);
3723 HRESULT CALLBACK
IEnumSTATSTG_Reset_Proxy(
3724 IEnumSTATSTG
* This
);
3725 void __RPC_STUB
IEnumSTATSTG_Reset_Stub(
3726 struct IRpcStubBuffer
* This
,
3727 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3728 PRPC_MESSAGE pRpcMessage
,
3729 DWORD
* pdwStubPhase
);
3730 HRESULT CALLBACK
IEnumSTATSTG_Clone_Proxy(
3732 IEnumSTATSTG
** ppenum
);
3733 void __RPC_STUB
IEnumSTATSTG_Clone_Stub(
3734 struct IRpcStubBuffer
* This
,
3735 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3736 PRPC_MESSAGE pRpcMessage
,
3737 DWORD
* pdwStubPhase
);
3739 typedef struct IStorage IStorage
;
3740 typedef IStorage
*LPSTORAGE
;
3742 typedef struct tagRemSNB
{
3743 unsigned long ulCntStr
;
3744 unsigned long ulCntChar
;
3745 OLECHAR rgString
[1];
3748 typedef RemSNB
*wireSNB
;
3750 typedef OLECHAR
**SNB
;
3751 unsigned long __RPC_USER
SNB_UserSize (unsigned long *, unsigned long, SNB
*);
3752 unsigned char * __RPC_USER
SNB_UserMarshal (unsigned long *, unsigned char *, SNB
*);
3753 unsigned char * __RPC_USER
SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB
*);
3754 void __RPC_USER
SNB_UserFree (unsigned long *, SNB
*);
3756 /*****************************************************************************
3757 * IStorage interface
3759 DEFINE_GUID(IID_IStorage
, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3760 #if defined(__cplusplus) && !defined(CINTERFACE)
3761 struct IStorage
: public IUnknown
3763 virtual HRESULT STDMETHODCALLTYPE
CreateStream(
3768 IStream
** ppstm
) = 0;
3770 virtual HRESULT STDMETHODCALLTYPE
OpenStream(
3775 IStream
** ppstm
) = 0;
3777 virtual HRESULT STDMETHODCALLTYPE
CreateStorage(
3782 IStorage
** ppstg
) = 0;
3784 virtual HRESULT STDMETHODCALLTYPE
OpenStorage(
3786 IStorage
* pstgPriority
,
3790 IStorage
** ppstg
) = 0;
3792 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
3794 const IID
* rgiidExclude
,
3796 IStorage
* pstgDest
) = 0;
3798 virtual HRESULT STDMETHODCALLTYPE
MoveElementTo(
3801 LPCOLESTR pwcsNewName
,
3802 DWORD grfFlags
) = 0;
3804 virtual HRESULT STDMETHODCALLTYPE
Commit(
3805 DWORD grfCommitFlags
) = 0;
3807 virtual HRESULT STDMETHODCALLTYPE
Revert(
3810 virtual HRESULT STDMETHODCALLTYPE
EnumElements(
3814 IEnumSTATSTG
** ppenum
) = 0;
3816 virtual HRESULT STDMETHODCALLTYPE
DestroyElement(
3817 LPCOLESTR pwcsName
) = 0;
3819 virtual HRESULT STDMETHODCALLTYPE
RenameElement(
3820 LPCOLESTR pwcsOldName
,
3821 LPCOLESTR pwcsNewName
) = 0;
3823 virtual HRESULT STDMETHODCALLTYPE
SetElementTimes(
3825 const FILETIME
* pctime
,
3826 const FILETIME
* patime
,
3827 const FILETIME
* pmtime
) = 0;
3829 virtual HRESULT STDMETHODCALLTYPE
SetClass(
3830 REFCLSID clsid
) = 0;
3832 virtual HRESULT STDMETHODCALLTYPE
SetStateBits(
3836 virtual HRESULT STDMETHODCALLTYPE
Stat(
3838 DWORD grfStatFlag
) = 0;
3842 typedef struct IStorageVtbl IStorageVtbl
;
3844 const IStorageVtbl
* lpVtbl
;
3846 struct IStorageVtbl
{
3847 ICOM_MSVTABLE_COMPAT_FIELDS
3849 /*** IUnknown methods ***/
3850 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3855 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3858 ULONG (STDMETHODCALLTYPE
*Release
)(
3861 /*** IStorage methods ***/
3862 HRESULT (STDMETHODCALLTYPE
*CreateStream
)(
3870 HRESULT (STDMETHODCALLTYPE
*OpenStream
)(
3878 HRESULT (STDMETHODCALLTYPE
*CreateStorage
)(
3886 HRESULT (STDMETHODCALLTYPE
*OpenStorage
)(
3889 IStorage
* pstgPriority
,
3895 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
3898 const IID
* rgiidExclude
,
3900 IStorage
* pstgDest
);
3902 HRESULT (STDMETHODCALLTYPE
*MoveElementTo
)(
3906 LPCOLESTR pwcsNewName
,
3909 HRESULT (STDMETHODCALLTYPE
*Commit
)(
3911 DWORD grfCommitFlags
);
3913 HRESULT (STDMETHODCALLTYPE
*Revert
)(
3916 HRESULT (STDMETHODCALLTYPE
*EnumElements
)(
3921 IEnumSTATSTG
** ppenum
);
3923 HRESULT (STDMETHODCALLTYPE
*DestroyElement
)(
3925 LPCOLESTR pwcsName
);
3927 HRESULT (STDMETHODCALLTYPE
*RenameElement
)(
3929 LPCOLESTR pwcsOldName
,
3930 LPCOLESTR pwcsNewName
);
3932 HRESULT (STDMETHODCALLTYPE
*SetElementTimes
)(
3935 const FILETIME
* pctime
,
3936 const FILETIME
* patime
,
3937 const FILETIME
* pmtime
);
3939 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
3943 HRESULT (STDMETHODCALLTYPE
*SetStateBits
)(
3948 HRESULT (STDMETHODCALLTYPE
*Stat
)(
3955 /*** IUnknown methods ***/
3956 #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3957 #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
3958 #define IStorage_Release(p) (p)->lpVtbl->Release(p)
3959 /*** IStorage methods ***/
3960 #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
3961 #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
3962 #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
3963 #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
3964 #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3965 #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
3966 #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3967 #define IStorage_Revert(p) (p)->lpVtbl->Revert(p)
3968 #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
3969 #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
3970 #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
3971 #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
3972 #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
3973 #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
3974 #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3978 #define IStorage_METHODS \
3979 ICOM_MSVTABLE_COMPAT_FIELDS \
3980 /*** IUnknown methods ***/ \
3981 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3982 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3983 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3984 /*** IStorage methods ***/ \
3985 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream** ppstm) PURE; \
3986 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream** ppstm) PURE; \
3987 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage** ppstg) PURE; \
3988 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstg) PURE; \
3989 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB snbExclude, IStorage* pstgDest) PURE; \
3990 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR pwcsName, IStorage* pstgDest, LPCOLESTR pwcsNewName, DWORD grfFlags) PURE; \
3991 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
3992 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
3993 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
3994 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR pwcsName) PURE; \
3995 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR pwcsOldName, LPCOLESTR pwcsNewName) PURE; \
3996 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
3997 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
3998 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
3999 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4001 HRESULT CALLBACK
IStorage_CreateStream_Proxy(
4008 void __RPC_STUB
IStorage_CreateStream_Stub(
4009 struct IRpcStubBuffer
* This
,
4010 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4011 PRPC_MESSAGE pRpcMessage
,
4012 DWORD
* pdwStubPhase
);
4013 HRESULT CALLBACK
IStorage_RemoteOpenStream_Proxy(
4016 unsigned long cbReserved1
,
4021 void __RPC_STUB
IStorage_RemoteOpenStream_Stub(
4022 struct IRpcStubBuffer
* This
,
4023 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4024 PRPC_MESSAGE pRpcMessage
,
4025 DWORD
* pdwStubPhase
);
4026 HRESULT CALLBACK
IStorage_OpenStream_Proxy(
4033 HRESULT __RPC_STUB
IStorage_OpenStream_Stub(
4036 unsigned long cbReserved1
,
4041 HRESULT CALLBACK
IStorage_CreateStorage_Proxy(
4048 void __RPC_STUB
IStorage_CreateStorage_Stub(
4049 struct IRpcStubBuffer
* This
,
4050 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4051 PRPC_MESSAGE pRpcMessage
,
4052 DWORD
* pdwStubPhase
);
4053 HRESULT CALLBACK
IStorage_OpenStorage_Proxy(
4056 IStorage
* pstgPriority
,
4061 void __RPC_STUB
IStorage_OpenStorage_Stub(
4062 struct IRpcStubBuffer
* This
,
4063 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4064 PRPC_MESSAGE pRpcMessage
,
4065 DWORD
* pdwStubPhase
);
4066 HRESULT CALLBACK
IStorage_CopyTo_Proxy(
4069 const IID
* rgiidExclude
,
4071 IStorage
* pstgDest
);
4072 void __RPC_STUB
IStorage_CopyTo_Stub(
4073 struct IRpcStubBuffer
* This
,
4074 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4075 PRPC_MESSAGE pRpcMessage
,
4076 DWORD
* pdwStubPhase
);
4077 HRESULT CALLBACK
IStorage_MoveElementTo_Proxy(
4081 LPCOLESTR pwcsNewName
,
4083 void __RPC_STUB
IStorage_MoveElementTo_Stub(
4084 struct IRpcStubBuffer
* This
,
4085 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4086 PRPC_MESSAGE pRpcMessage
,
4087 DWORD
* pdwStubPhase
);
4088 HRESULT CALLBACK
IStorage_Commit_Proxy(
4090 DWORD grfCommitFlags
);
4091 void __RPC_STUB
IStorage_Commit_Stub(
4092 struct IRpcStubBuffer
* This
,
4093 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4094 PRPC_MESSAGE pRpcMessage
,
4095 DWORD
* pdwStubPhase
);
4096 HRESULT CALLBACK
IStorage_Revert_Proxy(
4098 void __RPC_STUB
IStorage_Revert_Stub(
4099 struct IRpcStubBuffer
* This
,
4100 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4101 PRPC_MESSAGE pRpcMessage
,
4102 DWORD
* pdwStubPhase
);
4103 HRESULT CALLBACK
IStorage_RemoteEnumElements_Proxy(
4106 unsigned long cbReserved2
,
4109 IEnumSTATSTG
** ppenum
);
4110 void __RPC_STUB
IStorage_RemoteEnumElements_Stub(
4111 struct IRpcStubBuffer
* This
,
4112 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4113 PRPC_MESSAGE pRpcMessage
,
4114 DWORD
* pdwStubPhase
);
4115 HRESULT CALLBACK
IStorage_EnumElements_Proxy(
4120 IEnumSTATSTG
** ppenum
);
4121 HRESULT __RPC_STUB
IStorage_EnumElements_Stub(
4124 unsigned long cbReserved2
,
4127 IEnumSTATSTG
** ppenum
);
4128 HRESULT CALLBACK
IStorage_DestroyElement_Proxy(
4130 LPCOLESTR pwcsName
);
4131 void __RPC_STUB
IStorage_DestroyElement_Stub(
4132 struct IRpcStubBuffer
* This
,
4133 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4134 PRPC_MESSAGE pRpcMessage
,
4135 DWORD
* pdwStubPhase
);
4136 HRESULT CALLBACK
IStorage_RenameElement_Proxy(
4138 LPCOLESTR pwcsOldName
,
4139 LPCOLESTR pwcsNewName
);
4140 void __RPC_STUB
IStorage_RenameElement_Stub(
4141 struct IRpcStubBuffer
* This
,
4142 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4143 PRPC_MESSAGE pRpcMessage
,
4144 DWORD
* pdwStubPhase
);
4145 HRESULT CALLBACK
IStorage_SetElementTimes_Proxy(
4148 const FILETIME
* pctime
,
4149 const FILETIME
* patime
,
4150 const FILETIME
* pmtime
);
4151 void __RPC_STUB
IStorage_SetElementTimes_Stub(
4152 struct IRpcStubBuffer
* This
,
4153 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4154 PRPC_MESSAGE pRpcMessage
,
4155 DWORD
* pdwStubPhase
);
4156 HRESULT CALLBACK
IStorage_SetClass_Proxy(
4159 void __RPC_STUB
IStorage_SetClass_Stub(
4160 struct IRpcStubBuffer
* This
,
4161 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4162 PRPC_MESSAGE pRpcMessage
,
4163 DWORD
* pdwStubPhase
);
4164 HRESULT CALLBACK
IStorage_SetStateBits_Proxy(
4168 void __RPC_STUB
IStorage_SetStateBits_Stub(
4169 struct IRpcStubBuffer
* This
,
4170 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4171 PRPC_MESSAGE pRpcMessage
,
4172 DWORD
* pdwStubPhase
);
4173 HRESULT CALLBACK
IStorage_Stat_Proxy(
4177 void __RPC_STUB
IStorage_Stat_Stub(
4178 struct IRpcStubBuffer
* This
,
4179 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4180 PRPC_MESSAGE pRpcMessage
,
4181 DWORD
* pdwStubPhase
);
4183 typedef struct IStorage16 IStorage16
;
4184 typedef IStorage16
*LPSTORAGE16
;
4186 typedef struct tagRemSNB16
{
4187 unsigned long ulCntStr
;
4188 unsigned long ulCntChar
;
4189 OLECHAR16 rgString
[1];
4192 typedef RemSNB16
*wireSNB16
;
4194 typedef OLECHAR16
**SNB16
;
4195 unsigned long __RPC_USER
SNB16_UserSize (unsigned long *, unsigned long, SNB16
*);
4196 unsigned char * __RPC_USER
SNB16_UserMarshal (unsigned long *, unsigned char *, SNB16
*);
4197 unsigned char * __RPC_USER
SNB16_UserUnmarshal(unsigned long *, unsigned char *, SNB16
*);
4198 void __RPC_USER
SNB16_UserFree (unsigned long *, SNB16
*);
4200 /*****************************************************************************
4201 * IStorage16 interface
4203 #if defined(__cplusplus) && !defined(CINTERFACE)
4204 struct IStorage16
: public IUnknown
4206 virtual HRESULT STDMETHODCALLTYPE
CreateStream(
4207 LPCOLESTR16 pwcsName
,
4211 IStream16
** ppstm
) = 0;
4213 virtual HRESULT STDMETHODCALLTYPE
OpenStream(
4214 LPCOLESTR16 pwcsName
,
4218 IStream16
** ppstm
) = 0;
4220 virtual HRESULT STDMETHODCALLTYPE
CreateStorage(
4221 LPCOLESTR16 pwcsName
,
4225 IStorage16
** ppstg
) = 0;
4227 virtual HRESULT STDMETHODCALLTYPE
OpenStorage(
4228 LPCOLESTR16 pwcsName
,
4229 IStorage16
* pstgPriority
,
4233 IStorage16
** ppstg
) = 0;
4235 virtual HRESULT STDMETHODCALLTYPE
CopyTo(
4237 const IID
* rgiidExclude
,
4239 IStorage16
* pstgDest
) = 0;
4241 virtual HRESULT STDMETHODCALLTYPE
MoveElementTo(
4242 LPCOLESTR16 pwcsName
,
4243 IStorage16
* pstgDest
,
4244 LPCOLESTR16 pwcsNewName
,
4245 DWORD grfFlags
) = 0;
4247 virtual HRESULT STDMETHODCALLTYPE
Commit(
4248 DWORD grfCommitFlags
) = 0;
4250 virtual HRESULT STDMETHODCALLTYPE
Revert(
4253 virtual HRESULT STDMETHODCALLTYPE
EnumElements(
4257 IEnumSTATSTG
** ppenum
) = 0;
4259 virtual HRESULT STDMETHODCALLTYPE
DestroyElement(
4260 LPCOLESTR16 pwcsName
) = 0;
4262 virtual HRESULT STDMETHODCALLTYPE
RenameElement(
4263 LPCOLESTR16 pwcsOldName
,
4264 LPCOLESTR16 pwcsNewName
) = 0;
4266 virtual HRESULT STDMETHODCALLTYPE
SetElementTimes(
4267 LPCOLESTR16 pwcsName
,
4268 const FILETIME
* pctime
,
4269 const FILETIME
* patime
,
4270 const FILETIME
* pmtime
) = 0;
4272 virtual HRESULT STDMETHODCALLTYPE
SetClass(
4273 REFCLSID clsid
) = 0;
4275 virtual HRESULT STDMETHODCALLTYPE
SetStateBits(
4279 virtual HRESULT STDMETHODCALLTYPE
Stat(
4281 DWORD grfStatFlag
) = 0;
4285 typedef struct IStorage16Vtbl IStorage16Vtbl
;
4287 const IStorage16Vtbl
* lpVtbl
;
4289 struct IStorage16Vtbl
{
4290 ICOM_MSVTABLE_COMPAT_FIELDS
4292 /*** IUnknown methods ***/
4293 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4298 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4301 ULONG (STDMETHODCALLTYPE
*Release
)(
4304 /*** IStorage16 methods ***/
4305 HRESULT (STDMETHODCALLTYPE
*CreateStream
)(
4307 LPCOLESTR16 pwcsName
,
4313 HRESULT (STDMETHODCALLTYPE
*OpenStream
)(
4315 LPCOLESTR16 pwcsName
,
4321 HRESULT (STDMETHODCALLTYPE
*CreateStorage
)(
4323 LPCOLESTR16 pwcsName
,
4327 IStorage16
** ppstg
);
4329 HRESULT (STDMETHODCALLTYPE
*OpenStorage
)(
4331 LPCOLESTR16 pwcsName
,
4332 IStorage16
* pstgPriority
,
4336 IStorage16
** ppstg
);
4338 HRESULT (STDMETHODCALLTYPE
*CopyTo
)(
4341 const IID
* rgiidExclude
,
4343 IStorage16
* pstgDest
);
4345 HRESULT (STDMETHODCALLTYPE
*MoveElementTo
)(
4347 LPCOLESTR16 pwcsName
,
4348 IStorage16
* pstgDest
,
4349 LPCOLESTR16 pwcsNewName
,
4352 HRESULT (STDMETHODCALLTYPE
*Commit
)(
4354 DWORD grfCommitFlags
);
4356 HRESULT (STDMETHODCALLTYPE
*Revert
)(
4359 HRESULT (STDMETHODCALLTYPE
*EnumElements
)(
4364 IEnumSTATSTG
** ppenum
);
4366 HRESULT (STDMETHODCALLTYPE
*DestroyElement
)(
4368 LPCOLESTR16 pwcsName
);
4370 HRESULT (STDMETHODCALLTYPE
*RenameElement
)(
4372 LPCOLESTR16 pwcsOldName
,
4373 LPCOLESTR16 pwcsNewName
);
4375 HRESULT (STDMETHODCALLTYPE
*SetElementTimes
)(
4377 LPCOLESTR16 pwcsName
,
4378 const FILETIME
* pctime
,
4379 const FILETIME
* patime
,
4380 const FILETIME
* pmtime
);
4382 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
4386 HRESULT (STDMETHODCALLTYPE
*SetStateBits
)(
4391 HRESULT (STDMETHODCALLTYPE
*Stat
)(
4398 /*** IUnknown methods ***/
4399 #define IStorage16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4400 #define IStorage16_AddRef(p) (p)->lpVtbl->AddRef(p)
4401 #define IStorage16_Release(p) (p)->lpVtbl->Release(p)
4402 /*** IStorage16 methods ***/
4403 #define IStorage16_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
4404 #define IStorage16_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
4405 #define IStorage16_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
4406 #define IStorage16_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
4407 #define IStorage16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
4408 #define IStorage16_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
4409 #define IStorage16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
4410 #define IStorage16_Revert(p) (p)->lpVtbl->Revert(p)
4411 #define IStorage16_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
4412 #define IStorage16_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
4413 #define IStorage16_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
4414 #define IStorage16_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
4415 #define IStorage16_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
4416 #define IStorage16_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
4417 #define IStorage16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4421 #define IStorage16_METHODS \
4422 ICOM_MSVTABLE_COMPAT_FIELDS \
4423 /*** IUnknown methods ***/ \
4424 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4425 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4426 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4427 /*** IStorage16 methods ***/ \
4428 STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream16** ppstm) PURE; \
4429 STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR16 pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream16** ppstm) PURE; \
4430 STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage16** ppstg) PURE; \
4431 STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgPriority, DWORD grfMode, SNB16 snbExclude, DWORD reserved, IStorage16** ppstg) PURE; \
4432 STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB16 snbExclude, IStorage16* pstgDest) PURE; \
4433 STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgDest, LPCOLESTR16 pwcsNewName, DWORD grfFlags) PURE; \
4434 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
4435 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
4436 STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \
4437 STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR16 pwcsName) PURE; \
4438 STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR16 pwcsOldName, LPCOLESTR16 pwcsNewName) PURE; \
4439 STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR16 pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
4440 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
4441 STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \
4442 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
4444 HRESULT CALLBACK
IStorage16_CreateStream_Proxy(
4446 LPCOLESTR16 pwcsName
,
4451 void __RPC_STUB
IStorage16_CreateStream_Stub(
4452 struct IRpcStubBuffer
* This
,
4453 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4454 PRPC_MESSAGE pRpcMessage
,
4455 DWORD
* pdwStubPhase
);
4456 HRESULT CALLBACK
IStorage16_RemoteOpenStream_Proxy(
4458 LPCOLESTR16 pwcsName
,
4459 unsigned long cbReserved1
,
4464 void __RPC_STUB
IStorage16_RemoteOpenStream_Stub(
4465 struct IRpcStubBuffer
* This
,
4466 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4467 PRPC_MESSAGE pRpcMessage
,
4468 DWORD
* pdwStubPhase
);
4469 HRESULT CALLBACK
IStorage16_OpenStream_Proxy(
4471 LPCOLESTR16 pwcsName
,
4476 HRESULT __RPC_STUB
IStorage16_OpenStream_Stub(
4478 LPCOLESTR16 pwcsName
,
4479 unsigned long cbReserved1
,
4484 HRESULT CALLBACK
IStorage16_CreateStorage_Proxy(
4486 LPCOLESTR16 pwcsName
,
4490 IStorage16
** ppstg
);
4491 void __RPC_STUB
IStorage16_CreateStorage_Stub(
4492 struct IRpcStubBuffer
* This
,
4493 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4494 PRPC_MESSAGE pRpcMessage
,
4495 DWORD
* pdwStubPhase
);
4496 HRESULT CALLBACK
IStorage16_OpenStorage_Proxy(
4498 LPCOLESTR16 pwcsName
,
4499 IStorage16
* pstgPriority
,
4503 IStorage16
** ppstg
);
4504 void __RPC_STUB
IStorage16_OpenStorage_Stub(
4505 struct IRpcStubBuffer
* This
,
4506 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4507 PRPC_MESSAGE pRpcMessage
,
4508 DWORD
* pdwStubPhase
);
4509 HRESULT CALLBACK
IStorage16_CopyTo_Proxy(
4512 const IID
* rgiidExclude
,
4514 IStorage16
* pstgDest
);
4515 void __RPC_STUB
IStorage16_CopyTo_Stub(
4516 struct IRpcStubBuffer
* This
,
4517 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4518 PRPC_MESSAGE pRpcMessage
,
4519 DWORD
* pdwStubPhase
);
4520 HRESULT CALLBACK
IStorage16_MoveElementTo_Proxy(
4522 LPCOLESTR16 pwcsName
,
4523 IStorage16
* pstgDest
,
4524 LPCOLESTR16 pwcsNewName
,
4526 void __RPC_STUB
IStorage16_MoveElementTo_Stub(
4527 struct IRpcStubBuffer
* This
,
4528 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4529 PRPC_MESSAGE pRpcMessage
,
4530 DWORD
* pdwStubPhase
);
4531 HRESULT CALLBACK
IStorage16_Commit_Proxy(
4533 DWORD grfCommitFlags
);
4534 void __RPC_STUB
IStorage16_Commit_Stub(
4535 struct IRpcStubBuffer
* This
,
4536 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4537 PRPC_MESSAGE pRpcMessage
,
4538 DWORD
* pdwStubPhase
);
4539 HRESULT CALLBACK
IStorage16_Revert_Proxy(
4541 void __RPC_STUB
IStorage16_Revert_Stub(
4542 struct IRpcStubBuffer
* This
,
4543 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4544 PRPC_MESSAGE pRpcMessage
,
4545 DWORD
* pdwStubPhase
);
4546 HRESULT CALLBACK
IStorage16_RemoteEnumElements_Proxy(
4549 unsigned long cbReserved2
,
4552 IEnumSTATSTG
** ppenum
);
4553 void __RPC_STUB
IStorage16_RemoteEnumElements_Stub(
4554 struct IRpcStubBuffer
* This
,
4555 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4556 PRPC_MESSAGE pRpcMessage
,
4557 DWORD
* pdwStubPhase
);
4558 HRESULT CALLBACK
IStorage16_EnumElements_Proxy(
4563 IEnumSTATSTG
** ppenum
);
4564 HRESULT __RPC_STUB
IStorage16_EnumElements_Stub(
4567 unsigned long cbReserved2
,
4570 IEnumSTATSTG
** ppenum
);
4571 HRESULT CALLBACK
IStorage16_DestroyElement_Proxy(
4573 LPCOLESTR16 pwcsName
);
4574 void __RPC_STUB
IStorage16_DestroyElement_Stub(
4575 struct IRpcStubBuffer
* This
,
4576 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4577 PRPC_MESSAGE pRpcMessage
,
4578 DWORD
* pdwStubPhase
);
4579 HRESULT CALLBACK
IStorage16_RenameElement_Proxy(
4581 LPCOLESTR16 pwcsOldName
,
4582 LPCOLESTR16 pwcsNewName
);
4583 void __RPC_STUB
IStorage16_RenameElement_Stub(
4584 struct IRpcStubBuffer
* This
,
4585 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4586 PRPC_MESSAGE pRpcMessage
,
4587 DWORD
* pdwStubPhase
);
4588 HRESULT CALLBACK
IStorage16_SetElementTimes_Proxy(
4590 LPCOLESTR16 pwcsName
,
4591 const FILETIME
* pctime
,
4592 const FILETIME
* patime
,
4593 const FILETIME
* pmtime
);
4594 void __RPC_STUB
IStorage16_SetElementTimes_Stub(
4595 struct IRpcStubBuffer
* This
,
4596 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4597 PRPC_MESSAGE pRpcMessage
,
4598 DWORD
* pdwStubPhase
);
4599 HRESULT CALLBACK
IStorage16_SetClass_Proxy(
4602 void __RPC_STUB
IStorage16_SetClass_Stub(
4603 struct IRpcStubBuffer
* This
,
4604 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4605 PRPC_MESSAGE pRpcMessage
,
4606 DWORD
* pdwStubPhase
);
4607 HRESULT CALLBACK
IStorage16_SetStateBits_Proxy(
4611 void __RPC_STUB
IStorage16_SetStateBits_Stub(
4612 struct IRpcStubBuffer
* This
,
4613 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4614 PRPC_MESSAGE pRpcMessage
,
4615 DWORD
* pdwStubPhase
);
4616 HRESULT CALLBACK
IStorage16_Stat_Proxy(
4620 void __RPC_STUB
IStorage16_Stat_Stub(
4621 struct IRpcStubBuffer
* This
,
4622 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4623 PRPC_MESSAGE pRpcMessage
,
4624 DWORD
* pdwStubPhase
);
4626 typedef struct IPersistFile IPersistFile
;
4627 typedef IPersistFile
*LPPERSISTFILE
;
4629 /*****************************************************************************
4630 * IPersistFile interface
4632 DEFINE_GUID(IID_IPersistFile
, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4633 #if defined(__cplusplus) && !defined(CINTERFACE)
4634 struct IPersistFile
: public IPersist
4636 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
4639 virtual HRESULT STDMETHODCALLTYPE
Load(
4640 LPCOLESTR pszFileName
,
4643 virtual HRESULT STDMETHODCALLTYPE
Save(
4644 LPCOLESTR pszFileName
,
4645 BOOL fRemember
) = 0;
4647 virtual HRESULT STDMETHODCALLTYPE
SaveCompleted(
4648 LPCOLESTR pszFileName
) = 0;
4650 virtual HRESULT STDMETHODCALLTYPE
GetCurFile(
4651 LPOLESTR
* ppszFileName
) = 0;
4655 typedef struct IPersistFileVtbl IPersistFileVtbl
;
4656 struct IPersistFile
{
4657 const IPersistFileVtbl
* lpVtbl
;
4659 struct IPersistFileVtbl
{
4660 ICOM_MSVTABLE_COMPAT_FIELDS
4662 /*** IUnknown methods ***/
4663 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4668 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4669 IPersistFile
* This
);
4671 ULONG (STDMETHODCALLTYPE
*Release
)(
4672 IPersistFile
* This
);
4674 /*** IPersist methods ***/
4675 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
4679 /*** IPersistFile methods ***/
4680 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
4681 IPersistFile
* This
);
4683 HRESULT (STDMETHODCALLTYPE
*Load
)(
4685 LPCOLESTR pszFileName
,
4688 HRESULT (STDMETHODCALLTYPE
*Save
)(
4690 LPCOLESTR pszFileName
,
4693 HRESULT (STDMETHODCALLTYPE
*SaveCompleted
)(
4695 LPCOLESTR pszFileName
);
4697 HRESULT (STDMETHODCALLTYPE
*GetCurFile
)(
4699 LPOLESTR
* ppszFileName
);
4703 /*** IUnknown methods ***/
4704 #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4705 #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p)
4706 #define IPersistFile_Release(p) (p)->lpVtbl->Release(p)
4707 /*** IPersist methods ***/
4708 #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4709 /*** IPersistFile methods ***/
4710 #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4711 #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b)
4712 #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4713 #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4714 #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a)
4718 #define IPersistFile_METHODS \
4719 ICOM_MSVTABLE_COMPAT_FIELDS \
4720 /*** IUnknown methods ***/ \
4721 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4722 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4723 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4724 /*** IPersist methods ***/ \
4725 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4726 /*** IPersistFile methods ***/ \
4727 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4728 STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, DWORD dwMode) PURE; \
4729 STDMETHOD_(HRESULT,Save)(THIS_ LPCOLESTR pszFileName, BOOL fRemember) PURE; \
4730 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ LPCOLESTR pszFileName) PURE; \
4731 STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName) PURE;
4733 HRESULT CALLBACK
IPersistFile_IsDirty_Proxy(
4734 IPersistFile
* This
);
4735 void __RPC_STUB
IPersistFile_IsDirty_Stub(
4736 struct IRpcStubBuffer
* This
,
4737 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4738 PRPC_MESSAGE pRpcMessage
,
4739 DWORD
* pdwStubPhase
);
4740 HRESULT CALLBACK
IPersistFile_Load_Proxy(
4742 LPCOLESTR pszFileName
,
4744 void __RPC_STUB
IPersistFile_Load_Stub(
4745 struct IRpcStubBuffer
* This
,
4746 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4747 PRPC_MESSAGE pRpcMessage
,
4748 DWORD
* pdwStubPhase
);
4749 HRESULT CALLBACK
IPersistFile_Save_Proxy(
4751 LPCOLESTR pszFileName
,
4753 void __RPC_STUB
IPersistFile_Save_Stub(
4754 struct IRpcStubBuffer
* This
,
4755 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4756 PRPC_MESSAGE pRpcMessage
,
4757 DWORD
* pdwStubPhase
);
4758 HRESULT CALLBACK
IPersistFile_SaveCompleted_Proxy(
4760 LPCOLESTR pszFileName
);
4761 void __RPC_STUB
IPersistFile_SaveCompleted_Stub(
4762 struct IRpcStubBuffer
* This
,
4763 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4764 PRPC_MESSAGE pRpcMessage
,
4765 DWORD
* pdwStubPhase
);
4766 HRESULT CALLBACK
IPersistFile_GetCurFile_Proxy(
4768 LPOLESTR
* ppszFileName
);
4769 void __RPC_STUB
IPersistFile_GetCurFile_Stub(
4770 struct IRpcStubBuffer
* This
,
4771 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4772 PRPC_MESSAGE pRpcMessage
,
4773 DWORD
* pdwStubPhase
);
4775 typedef struct IPersistStorage IPersistStorage
;
4776 typedef IPersistStorage
*LPPERSISTSTORAGE
;
4778 /*****************************************************************************
4779 * IPersistStorage interface
4781 DEFINE_GUID(IID_IPersistStorage
, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4782 #if defined(__cplusplus) && !defined(CINTERFACE)
4783 struct IPersistStorage
: public IPersist
4785 virtual HRESULT STDMETHODCALLTYPE
IsDirty(
4788 virtual HRESULT STDMETHODCALLTYPE
InitNew(
4789 IStorage
* pStg
) = 0;
4791 virtual HRESULT STDMETHODCALLTYPE
Load(
4792 IStorage
* pStg
) = 0;
4794 virtual HRESULT STDMETHODCALLTYPE
Save(
4796 BOOL fSameAsLoad
) = 0;
4798 virtual HRESULT STDMETHODCALLTYPE
SaveCompleted(
4799 IStorage
* pStgNew
) = 0;
4801 virtual HRESULT STDMETHODCALLTYPE
HandsOffStorage(
4806 typedef struct IPersistStorageVtbl IPersistStorageVtbl
;
4807 struct IPersistStorage
{
4808 const IPersistStorageVtbl
* lpVtbl
;
4810 struct IPersistStorageVtbl
{
4811 ICOM_MSVTABLE_COMPAT_FIELDS
4813 /*** IUnknown methods ***/
4814 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4815 IPersistStorage
* This
,
4819 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4820 IPersistStorage
* This
);
4822 ULONG (STDMETHODCALLTYPE
*Release
)(
4823 IPersistStorage
* This
);
4825 /*** IPersist methods ***/
4826 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
4827 IPersistStorage
* This
,
4830 /*** IPersistStorage methods ***/
4831 HRESULT (STDMETHODCALLTYPE
*IsDirty
)(
4832 IPersistStorage
* This
);
4834 HRESULT (STDMETHODCALLTYPE
*InitNew
)(
4835 IPersistStorage
* This
,
4838 HRESULT (STDMETHODCALLTYPE
*Load
)(
4839 IPersistStorage
* This
,
4842 HRESULT (STDMETHODCALLTYPE
*Save
)(
4843 IPersistStorage
* This
,
4847 HRESULT (STDMETHODCALLTYPE
*SaveCompleted
)(
4848 IPersistStorage
* This
,
4851 HRESULT (STDMETHODCALLTYPE
*HandsOffStorage
)(
4852 IPersistStorage
* This
);
4856 /*** IUnknown methods ***/
4857 #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4858 #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4859 #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p)
4860 /*** IPersist methods ***/
4861 #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4862 /*** IPersistStorage methods ***/
4863 #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4864 #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a)
4865 #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a)
4866 #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4867 #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4868 #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p)
4872 #define IPersistStorage_METHODS \
4873 ICOM_MSVTABLE_COMPAT_FIELDS \
4874 /*** IUnknown methods ***/ \
4875 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4876 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4877 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4878 /*** IPersist methods ***/ \
4879 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
4880 /*** IPersistStorage methods ***/ \
4881 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
4882 STDMETHOD_(HRESULT,InitNew)(THIS_ IStorage* pStg) PURE; \
4883 STDMETHOD_(HRESULT,Load)(THIS_ IStorage* pStg) PURE; \
4884 STDMETHOD_(HRESULT,Save)(THIS_ IStorage* pStgSave, BOOL fSameAsLoad) PURE; \
4885 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IStorage* pStgNew) PURE; \
4886 STDMETHOD_(HRESULT,HandsOffStorage)(THIS) PURE;
4888 HRESULT CALLBACK
IPersistStorage_IsDirty_Proxy(
4889 IPersistStorage
* This
);
4890 void __RPC_STUB
IPersistStorage_IsDirty_Stub(
4891 struct IRpcStubBuffer
* This
,
4892 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4893 PRPC_MESSAGE pRpcMessage
,
4894 DWORD
* pdwStubPhase
);
4895 HRESULT CALLBACK
IPersistStorage_InitNew_Proxy(
4896 IPersistStorage
* This
,
4898 void __RPC_STUB
IPersistStorage_InitNew_Stub(
4899 struct IRpcStubBuffer
* This
,
4900 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4901 PRPC_MESSAGE pRpcMessage
,
4902 DWORD
* pdwStubPhase
);
4903 HRESULT CALLBACK
IPersistStorage_Load_Proxy(
4904 IPersistStorage
* This
,
4906 void __RPC_STUB
IPersistStorage_Load_Stub(
4907 struct IRpcStubBuffer
* This
,
4908 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4909 PRPC_MESSAGE pRpcMessage
,
4910 DWORD
* pdwStubPhase
);
4911 HRESULT CALLBACK
IPersistStorage_Save_Proxy(
4912 IPersistStorage
* This
,
4915 void __RPC_STUB
IPersistStorage_Save_Stub(
4916 struct IRpcStubBuffer
* This
,
4917 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4918 PRPC_MESSAGE pRpcMessage
,
4919 DWORD
* pdwStubPhase
);
4920 HRESULT CALLBACK
IPersistStorage_SaveCompleted_Proxy(
4921 IPersistStorage
* This
,
4923 void __RPC_STUB
IPersistStorage_SaveCompleted_Stub(
4924 struct IRpcStubBuffer
* This
,
4925 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4926 PRPC_MESSAGE pRpcMessage
,
4927 DWORD
* pdwStubPhase
);
4928 HRESULT CALLBACK
IPersistStorage_HandsOffStorage_Proxy(
4929 IPersistStorage
* This
);
4930 void __RPC_STUB
IPersistStorage_HandsOffStorage_Stub(
4931 struct IRpcStubBuffer
* This
,
4932 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4933 PRPC_MESSAGE pRpcMessage
,
4934 DWORD
* pdwStubPhase
);
4936 typedef struct IRootStorage IRootStorage
;
4937 typedef IRootStorage
*LPROOTSTORAGE
;
4939 /*****************************************************************************
4940 * IRootStorage interface
4942 DEFINE_GUID(IID_IRootStorage
, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4943 #if defined(__cplusplus) && !defined(CINTERFACE)
4944 struct IRootStorage
: public IUnknown
4946 virtual HRESULT STDMETHODCALLTYPE
SwitchToFile(
4947 LPOLESTR pszFile
) = 0;
4951 typedef struct IRootStorageVtbl IRootStorageVtbl
;
4952 struct IRootStorage
{
4953 const IRootStorageVtbl
* lpVtbl
;
4955 struct IRootStorageVtbl
{
4956 ICOM_MSVTABLE_COMPAT_FIELDS
4958 /*** IUnknown methods ***/
4959 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4964 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4965 IRootStorage
* This
);
4967 ULONG (STDMETHODCALLTYPE
*Release
)(
4968 IRootStorage
* This
);
4970 /*** IRootStorage methods ***/
4971 HRESULT (STDMETHODCALLTYPE
*SwitchToFile
)(
4977 /*** IUnknown methods ***/
4978 #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4979 #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4980 #define IRootStorage_Release(p) (p)->lpVtbl->Release(p)
4981 /*** IRootStorage methods ***/
4982 #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a)
4986 #define IRootStorage_METHODS \
4987 ICOM_MSVTABLE_COMPAT_FIELDS \
4988 /*** IUnknown methods ***/ \
4989 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4990 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4991 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4992 /*** IRootStorage methods ***/ \
4993 STDMETHOD_(HRESULT,SwitchToFile)(THIS_ LPOLESTR pszFile) PURE;
4995 HRESULT CALLBACK
IRootStorage_SwitchToFile_Proxy(
4998 void __RPC_STUB
IRootStorage_SwitchToFile_Stub(
4999 struct IRpcStubBuffer
* This
,
5000 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5001 PRPC_MESSAGE pRpcMessage
,
5002 DWORD
* pdwStubPhase
);
5004 typedef struct ILockBytes ILockBytes
;
5005 typedef ILockBytes
*LPLOCKBYTES
;
5007 /*****************************************************************************
5008 * ILockBytes interface
5010 DEFINE_GUID(IID_ILockBytes
, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5011 #if defined(__cplusplus) && !defined(CINTERFACE)
5012 struct ILockBytes
: public IUnknown
5014 virtual HRESULT STDMETHODCALLTYPE
ReadAt(
5015 ULARGE_INTEGER ulOffset
,
5018 ULONG
* pcbRead
) = 0;
5020 virtual HRESULT STDMETHODCALLTYPE
WriteAt(
5021 ULARGE_INTEGER ulOffset
,
5024 ULONG
* pcbWritten
) = 0;
5026 virtual HRESULT STDMETHODCALLTYPE
Flush(
5029 virtual HRESULT STDMETHODCALLTYPE
SetSize(
5030 ULARGE_INTEGER cb
) = 0;
5032 virtual HRESULT STDMETHODCALLTYPE
LockRegion(
5033 ULARGE_INTEGER libOffset
,
5035 DWORD dwLockType
) = 0;
5037 virtual HRESULT STDMETHODCALLTYPE
UnlockRegion(
5038 ULARGE_INTEGER libOffset
,
5040 DWORD dwLockType
) = 0;
5042 virtual HRESULT STDMETHODCALLTYPE
Stat(
5044 DWORD grfStatFlag
) = 0;
5048 typedef struct ILockBytesVtbl ILockBytesVtbl
;
5050 const ILockBytesVtbl
* lpVtbl
;
5052 struct ILockBytesVtbl
{
5053 ICOM_MSVTABLE_COMPAT_FIELDS
5055 /*** IUnknown methods ***/
5056 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5061 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5064 ULONG (STDMETHODCALLTYPE
*Release
)(
5067 /*** ILockBytes methods ***/
5068 HRESULT (STDMETHODCALLTYPE
*ReadAt
)(
5070 ULARGE_INTEGER ulOffset
,
5075 HRESULT (STDMETHODCALLTYPE
*WriteAt
)(
5077 ULARGE_INTEGER ulOffset
,
5082 HRESULT (STDMETHODCALLTYPE
*Flush
)(
5085 HRESULT (STDMETHODCALLTYPE
*SetSize
)(
5089 HRESULT (STDMETHODCALLTYPE
*LockRegion
)(
5091 ULARGE_INTEGER libOffset
,
5095 HRESULT (STDMETHODCALLTYPE
*UnlockRegion
)(
5097 ULARGE_INTEGER libOffset
,
5101 HRESULT (STDMETHODCALLTYPE
*Stat
)(
5108 /*** IUnknown methods ***/
5109 #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5110 #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
5111 #define ILockBytes_Release(p) (p)->lpVtbl->Release(p)
5112 /*** ILockBytes methods ***/
5113 #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d)
5114 #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d)
5115 #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p)
5116 #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
5117 #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
5118 #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
5119 #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
5123 #define ILockBytes_METHODS \
5124 ICOM_MSVTABLE_COMPAT_FIELDS \
5125 /*** IUnknown methods ***/ \
5126 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5127 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5128 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5129 /*** ILockBytes methods ***/ \
5130 STDMETHOD_(HRESULT,ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void* pv, ULONG cb, ULONG* pcbRead) PURE; \
5131 STDMETHOD_(HRESULT,WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5132 STDMETHOD_(HRESULT,Flush)(THIS) PURE; \
5133 STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \
5134 STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
5135 STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
5136 STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
5138 HRESULT CALLBACK
ILockBytes_RemoteReadAt_Proxy(
5140 ULARGE_INTEGER ulOffset
,
5144 void __RPC_STUB
ILockBytes_RemoteReadAt_Stub(
5145 struct IRpcStubBuffer
* This
,
5146 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5147 PRPC_MESSAGE pRpcMessage
,
5148 DWORD
* pdwStubPhase
);
5149 HRESULT CALLBACK
ILockBytes_ReadAt_Proxy(
5151 ULARGE_INTEGER ulOffset
,
5155 HRESULT __RPC_STUB
ILockBytes_ReadAt_Stub(
5157 ULARGE_INTEGER ulOffset
,
5161 HRESULT CALLBACK
ILockBytes_RemoteWriteAt_Proxy(
5163 ULARGE_INTEGER ulOffset
,
5167 void __RPC_STUB
ILockBytes_RemoteWriteAt_Stub(
5168 struct IRpcStubBuffer
* This
,
5169 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5170 PRPC_MESSAGE pRpcMessage
,
5171 DWORD
* pdwStubPhase
);
5172 HRESULT CALLBACK
ILockBytes_WriteAt_Proxy(
5174 ULARGE_INTEGER ulOffset
,
5178 HRESULT __RPC_STUB
ILockBytes_WriteAt_Stub(
5180 ULARGE_INTEGER ulOffset
,
5184 HRESULT CALLBACK
ILockBytes_Flush_Proxy(
5186 void __RPC_STUB
ILockBytes_Flush_Stub(
5187 struct IRpcStubBuffer
* This
,
5188 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5189 PRPC_MESSAGE pRpcMessage
,
5190 DWORD
* pdwStubPhase
);
5191 HRESULT CALLBACK
ILockBytes_SetSize_Proxy(
5194 void __RPC_STUB
ILockBytes_SetSize_Stub(
5195 struct IRpcStubBuffer
* This
,
5196 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5197 PRPC_MESSAGE pRpcMessage
,
5198 DWORD
* pdwStubPhase
);
5199 HRESULT CALLBACK
ILockBytes_LockRegion_Proxy(
5201 ULARGE_INTEGER libOffset
,
5204 void __RPC_STUB
ILockBytes_LockRegion_Stub(
5205 struct IRpcStubBuffer
* This
,
5206 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5207 PRPC_MESSAGE pRpcMessage
,
5208 DWORD
* pdwStubPhase
);
5209 HRESULT CALLBACK
ILockBytes_UnlockRegion_Proxy(
5211 ULARGE_INTEGER libOffset
,
5214 void __RPC_STUB
ILockBytes_UnlockRegion_Stub(
5215 struct IRpcStubBuffer
* This
,
5216 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5217 PRPC_MESSAGE pRpcMessage
,
5218 DWORD
* pdwStubPhase
);
5219 HRESULT CALLBACK
ILockBytes_Stat_Proxy(
5223 void __RPC_STUB
ILockBytes_Stat_Stub(
5224 struct IRpcStubBuffer
* This
,
5225 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5226 PRPC_MESSAGE pRpcMessage
,
5227 DWORD
* pdwStubPhase
);
5229 typedef struct IFillLockBytes IFillLockBytes
;
5230 /*****************************************************************************
5231 * IFillLockBytes interface
5233 DEFINE_GUID(IID_IFillLockBytes
, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
5234 #if defined(__cplusplus) && !defined(CINTERFACE)
5235 struct IFillLockBytes
: public IUnknown
5237 virtual HRESULT STDMETHODCALLTYPE
FillAppend(
5240 ULONG
* pcbWritten
) = 0;
5242 virtual HRESULT STDMETHODCALLTYPE
FillAt(
5243 ULARGE_INTEGER ulOffset
,
5246 ULONG
* pcbWritten
) = 0;
5248 virtual HRESULT STDMETHODCALLTYPE
SetFillSize(
5249 ULARGE_INTEGER ulSize
) = 0;
5251 virtual HRESULT STDMETHODCALLTYPE
Terminate(
5252 BOOL bCanceled
) = 0;
5256 typedef struct IFillLockBytesVtbl IFillLockBytesVtbl
;
5257 struct IFillLockBytes
{
5258 const IFillLockBytesVtbl
* lpVtbl
;
5260 struct IFillLockBytesVtbl
{
5261 ICOM_MSVTABLE_COMPAT_FIELDS
5263 /*** IUnknown methods ***/
5264 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5265 IFillLockBytes
* This
,
5269 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5270 IFillLockBytes
* This
);
5272 ULONG (STDMETHODCALLTYPE
*Release
)(
5273 IFillLockBytes
* This
);
5275 /*** IFillLockBytes methods ***/
5276 HRESULT (STDMETHODCALLTYPE
*FillAppend
)(
5277 IFillLockBytes
* This
,
5282 HRESULT (STDMETHODCALLTYPE
*FillAt
)(
5283 IFillLockBytes
* This
,
5284 ULARGE_INTEGER ulOffset
,
5289 HRESULT (STDMETHODCALLTYPE
*SetFillSize
)(
5290 IFillLockBytes
* This
,
5291 ULARGE_INTEGER ulSize
);
5293 HRESULT (STDMETHODCALLTYPE
*Terminate
)(
5294 IFillLockBytes
* This
,
5299 /*** IUnknown methods ***/
5300 #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5301 #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
5302 #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p)
5303 /*** IFillLockBytes methods ***/
5304 #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c)
5305 #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d)
5306 #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a)
5307 #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
5311 #define IFillLockBytes_METHODS \
5312 ICOM_MSVTABLE_COMPAT_FIELDS \
5313 /*** IUnknown methods ***/ \
5314 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5315 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5316 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5317 /*** IFillLockBytes methods ***/ \
5318 STDMETHOD_(HRESULT,FillAppend)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5319 STDMETHOD_(HRESULT,FillAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \
5320 STDMETHOD_(HRESULT,SetFillSize)(THIS_ ULARGE_INTEGER ulSize) PURE; \
5321 STDMETHOD_(HRESULT,Terminate)(THIS_ BOOL bCanceled) PURE;
5323 HRESULT CALLBACK
IFillLockBytes_RemoteFillAppend_Proxy(
5324 IFillLockBytes
* This
,
5328 void __RPC_STUB
IFillLockBytes_RemoteFillAppend_Stub(
5329 struct IRpcStubBuffer
* This
,
5330 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5331 PRPC_MESSAGE pRpcMessage
,
5332 DWORD
* pdwStubPhase
);
5333 HRESULT CALLBACK
IFillLockBytes_FillAppend_Proxy(
5334 IFillLockBytes
* This
,
5338 HRESULT __RPC_STUB
IFillLockBytes_FillAppend_Stub(
5339 IFillLockBytes
* This
,
5343 HRESULT CALLBACK
IFillLockBytes_RemoteFillAt_Proxy(
5344 IFillLockBytes
* This
,
5345 ULARGE_INTEGER ulOffset
,
5349 void __RPC_STUB
IFillLockBytes_RemoteFillAt_Stub(
5350 struct IRpcStubBuffer
* This
,
5351 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5352 PRPC_MESSAGE pRpcMessage
,
5353 DWORD
* pdwStubPhase
);
5354 HRESULT CALLBACK
IFillLockBytes_FillAt_Proxy(
5355 IFillLockBytes
* This
,
5356 ULARGE_INTEGER ulOffset
,
5360 HRESULT __RPC_STUB
IFillLockBytes_FillAt_Stub(
5361 IFillLockBytes
* This
,
5362 ULARGE_INTEGER ulOffset
,
5366 HRESULT CALLBACK
IFillLockBytes_SetFillSize_Proxy(
5367 IFillLockBytes
* This
,
5368 ULARGE_INTEGER ulSize
);
5369 void __RPC_STUB
IFillLockBytes_SetFillSize_Stub(
5370 struct IRpcStubBuffer
* This
,
5371 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5372 PRPC_MESSAGE pRpcMessage
,
5373 DWORD
* pdwStubPhase
);
5374 HRESULT CALLBACK
IFillLockBytes_Terminate_Proxy(
5375 IFillLockBytes
* This
,
5377 void __RPC_STUB
IFillLockBytes_Terminate_Stub(
5378 struct IRpcStubBuffer
* This
,
5379 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5380 PRPC_MESSAGE pRpcMessage
,
5381 DWORD
* pdwStubPhase
);
5383 typedef struct IProgressNotify IProgressNotify
;
5384 /*****************************************************************************
5385 * IProgressNotify interface
5387 DEFINE_GUID(IID_IProgressNotify
, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5388 #if defined(__cplusplus) && !defined(CINTERFACE)
5389 struct IProgressNotify
: public IUnknown
5391 virtual HRESULT STDMETHODCALLTYPE
OnProgress(
5392 DWORD dwProgressCurrent
,
5393 DWORD dwProgressMaximum
,
5399 typedef struct IProgressNotifyVtbl IProgressNotifyVtbl
;
5400 struct IProgressNotify
{
5401 const IProgressNotifyVtbl
* lpVtbl
;
5403 struct IProgressNotifyVtbl
{
5404 ICOM_MSVTABLE_COMPAT_FIELDS
5406 /*** IUnknown methods ***/
5407 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5408 IProgressNotify
* This
,
5412 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5413 IProgressNotify
* This
);
5415 ULONG (STDMETHODCALLTYPE
*Release
)(
5416 IProgressNotify
* This
);
5418 /*** IProgressNotify methods ***/
5419 HRESULT (STDMETHODCALLTYPE
*OnProgress
)(
5420 IProgressNotify
* This
,
5421 DWORD dwProgressCurrent
,
5422 DWORD dwProgressMaximum
,
5428 /*** IUnknown methods ***/
5429 #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5430 #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
5431 #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p)
5432 /*** IProgressNotify methods ***/
5433 #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
5437 #define IProgressNotify_METHODS \
5438 ICOM_MSVTABLE_COMPAT_FIELDS \
5439 /*** IUnknown methods ***/ \
5440 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5441 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5442 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5443 /*** IProgressNotify methods ***/ \
5444 STDMETHOD_(HRESULT,OnProgress)(THIS_ DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) PURE;
5446 HRESULT CALLBACK
IProgressNotify_OnProgress_Proxy(
5447 IProgressNotify
* This
,
5448 DWORD dwProgressCurrent
,
5449 DWORD dwProgressMaximum
,
5452 void __RPC_STUB
IProgressNotify_OnProgress_Stub(
5453 struct IRpcStubBuffer
* This
,
5454 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5455 PRPC_MESSAGE pRpcMessage
,
5456 DWORD
* pdwStubPhase
);
5458 typedef struct ILayoutStorage ILayoutStorage
;
5459 typedef struct tagStorageLayout
{
5461 OLECHAR
*pwcsElementName
;
5462 LARGE_INTEGER cOffset
;
5463 LARGE_INTEGER cBytes
;
5466 /*****************************************************************************
5467 * ILayoutStorage interface
5469 DEFINE_GUID(IID_ILayoutStorage
, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5470 #if defined(__cplusplus) && !defined(CINTERFACE)
5471 struct ILayoutStorage
: public IUnknown
5473 virtual HRESULT STDMETHODCALLTYPE
LayoutScript(
5474 StorageLayout
* pStorageLayout
,
5476 DWORD glfInterleavedFlag
) = 0;
5478 virtual HRESULT STDMETHODCALLTYPE
BeginMonitor(
5481 virtual HRESULT STDMETHODCALLTYPE
EndMonitor(
5484 virtual HRESULT STDMETHODCALLTYPE
ReLayoutDocfile(
5485 OLECHAR
* pwcsNewDfName
) = 0;
5487 virtual HRESULT STDMETHODCALLTYPE
ReLayoutDocfileOnILockBytes(
5488 ILockBytes
* pILockBytes
) = 0;
5492 typedef struct ILayoutStorageVtbl ILayoutStorageVtbl
;
5493 struct ILayoutStorage
{
5494 const ILayoutStorageVtbl
* lpVtbl
;
5496 struct ILayoutStorageVtbl
{
5497 ICOM_MSVTABLE_COMPAT_FIELDS
5499 /*** IUnknown methods ***/
5500 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5501 ILayoutStorage
* This
,
5505 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5506 ILayoutStorage
* This
);
5508 ULONG (STDMETHODCALLTYPE
*Release
)(
5509 ILayoutStorage
* This
);
5511 /*** ILayoutStorage methods ***/
5512 HRESULT (STDMETHODCALLTYPE
*LayoutScript
)(
5513 ILayoutStorage
* This
,
5514 StorageLayout
* pStorageLayout
,
5516 DWORD glfInterleavedFlag
);
5518 HRESULT (STDMETHODCALLTYPE
*BeginMonitor
)(
5519 ILayoutStorage
* This
);
5521 HRESULT (STDMETHODCALLTYPE
*EndMonitor
)(
5522 ILayoutStorage
* This
);
5524 HRESULT (STDMETHODCALLTYPE
*ReLayoutDocfile
)(
5525 ILayoutStorage
* This
,
5526 OLECHAR
* pwcsNewDfName
);
5528 HRESULT (STDMETHODCALLTYPE
*ReLayoutDocfileOnILockBytes
)(
5529 ILayoutStorage
* This
,
5530 ILockBytes
* pILockBytes
);
5534 /*** IUnknown methods ***/
5535 #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5536 #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5537 #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p)
5538 /*** ILayoutStorage methods ***/
5539 #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c)
5540 #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p)
5541 #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p)
5542 #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a)
5543 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a)
5547 #define ILayoutStorage_METHODS \
5548 ICOM_MSVTABLE_COMPAT_FIELDS \
5549 /*** IUnknown methods ***/ \
5550 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5551 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5552 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5553 /*** ILayoutStorage methods ***/ \
5554 STDMETHOD_(HRESULT,LayoutScript)(THIS_ StorageLayout* pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) PURE; \
5555 STDMETHOD_(HRESULT,BeginMonitor)(THIS) PURE; \
5556 STDMETHOD_(HRESULT,EndMonitor)(THIS) PURE; \
5557 STDMETHOD_(HRESULT,ReLayoutDocfile)(THIS_ OLECHAR* pwcsNewDfName) PURE; \
5558 STDMETHOD_(HRESULT,ReLayoutDocfileOnILockBytes)(THIS_ ILockBytes* pILockBytes) PURE;
5560 HRESULT CALLBACK
ILayoutStorage_LayoutScript_Proxy(
5561 ILayoutStorage
* This
,
5562 StorageLayout
* pStorageLayout
,
5564 DWORD glfInterleavedFlag
);
5565 void __RPC_STUB
ILayoutStorage_LayoutScript_Stub(
5566 struct IRpcStubBuffer
* This
,
5567 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5568 PRPC_MESSAGE pRpcMessage
,
5569 DWORD
* pdwStubPhase
);
5570 HRESULT CALLBACK
ILayoutStorage_BeginMonitor_Proxy(
5571 ILayoutStorage
* This
);
5572 void __RPC_STUB
ILayoutStorage_BeginMonitor_Stub(
5573 struct IRpcStubBuffer
* This
,
5574 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5575 PRPC_MESSAGE pRpcMessage
,
5576 DWORD
* pdwStubPhase
);
5577 HRESULT CALLBACK
ILayoutStorage_EndMonitor_Proxy(
5578 ILayoutStorage
* This
);
5579 void __RPC_STUB
ILayoutStorage_EndMonitor_Stub(
5580 struct IRpcStubBuffer
* This
,
5581 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5582 PRPC_MESSAGE pRpcMessage
,
5583 DWORD
* pdwStubPhase
);
5584 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfile_Proxy(
5585 ILayoutStorage
* This
,
5586 OLECHAR
* pwcsNewDfName
);
5587 void __RPC_STUB
ILayoutStorage_ReLayoutDocfile_Stub(
5588 struct IRpcStubBuffer
* This
,
5589 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5590 PRPC_MESSAGE pRpcMessage
,
5591 DWORD
* pdwStubPhase
);
5592 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
5593 ILayoutStorage
* This
,
5594 ILockBytes
* pILockBytes
);
5595 void __RPC_STUB
ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
5596 struct IRpcStubBuffer
* This
,
5597 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5598 PRPC_MESSAGE pRpcMessage
,
5599 DWORD
* pdwStubPhase
);
5601 typedef struct IEnumFORMATETC IEnumFORMATETC
;
5602 typedef IEnumFORMATETC
*LPENUMFORMATETC
;
5604 typedef struct tagDVTARGETDEVICE
{
5606 WORD tdDriverNameOffset
;
5607 WORD tdDeviceNameOffset
;
5608 WORD tdPortNameOffset
;
5609 WORD tdExtDevmodeOffset
;
5613 typedef CLIPFORMAT
*LPCLIPFORMAT
;
5615 typedef struct tagFORMATETC
{
5616 CLIPFORMAT cfFormat
;
5617 DVTARGETDEVICE
*ptd
;
5621 } FORMATETC
, *LPFORMATETC
;
5623 /*****************************************************************************
5624 * IEnumFORMATETC interface
5626 DEFINE_GUID(IID_IEnumFORMATETC
, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5627 #if defined(__cplusplus) && !defined(CINTERFACE)
5628 struct IEnumFORMATETC
: public IUnknown
5630 virtual HRESULT STDMETHODCALLTYPE
Next(
5633 ULONG
* pceltFetched
) = 0;
5635 virtual HRESULT STDMETHODCALLTYPE
Skip(
5638 virtual HRESULT STDMETHODCALLTYPE
Reset(
5641 virtual HRESULT STDMETHODCALLTYPE
Clone(
5642 IEnumFORMATETC
** ppenum
) = 0;
5646 typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl
;
5647 struct IEnumFORMATETC
{
5648 const IEnumFORMATETCVtbl
* lpVtbl
;
5650 struct IEnumFORMATETCVtbl
{
5651 ICOM_MSVTABLE_COMPAT_FIELDS
5653 /*** IUnknown methods ***/
5654 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5655 IEnumFORMATETC
* This
,
5659 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5660 IEnumFORMATETC
* This
);
5662 ULONG (STDMETHODCALLTYPE
*Release
)(
5663 IEnumFORMATETC
* This
);
5665 /*** IEnumFORMATETC methods ***/
5666 HRESULT (STDMETHODCALLTYPE
*Next
)(
5667 IEnumFORMATETC
* This
,
5670 ULONG
* pceltFetched
);
5672 HRESULT (STDMETHODCALLTYPE
*Skip
)(
5673 IEnumFORMATETC
* This
,
5676 HRESULT (STDMETHODCALLTYPE
*Reset
)(
5677 IEnumFORMATETC
* This
);
5679 HRESULT (STDMETHODCALLTYPE
*Clone
)(
5680 IEnumFORMATETC
* This
,
5681 IEnumFORMATETC
** ppenum
);
5685 /*** IUnknown methods ***/
5686 #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5687 #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p)
5688 #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p)
5689 /*** IEnumFORMATETC methods ***/
5690 #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5691 #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5692 #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p)
5693 #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5697 #define IEnumFORMATETC_METHODS \
5698 ICOM_MSVTABLE_COMPAT_FIELDS \
5699 /*** IUnknown methods ***/ \
5700 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5701 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5702 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5703 /*** IEnumFORMATETC methods ***/ \
5704 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched) PURE; \
5705 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5706 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5707 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFORMATETC** ppenum) PURE;
5709 HRESULT CALLBACK
IEnumFORMATETC_RemoteNext_Proxy(
5710 IEnumFORMATETC
* This
,
5713 ULONG
* pceltFetched
);
5714 void __RPC_STUB
IEnumFORMATETC_RemoteNext_Stub(
5715 struct IRpcStubBuffer
* This
,
5716 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5717 PRPC_MESSAGE pRpcMessage
,
5718 DWORD
* pdwStubPhase
);
5719 HRESULT CALLBACK
IEnumFORMATETC_Next_Proxy(
5720 IEnumFORMATETC
* This
,
5723 ULONG
* pceltFetched
);
5724 HRESULT __RPC_STUB
IEnumFORMATETC_Next_Stub(
5725 IEnumFORMATETC
* This
,
5728 ULONG
* pceltFetched
);
5729 HRESULT CALLBACK
IEnumFORMATETC_Skip_Proxy(
5730 IEnumFORMATETC
* This
,
5732 void __RPC_STUB
IEnumFORMATETC_Skip_Stub(
5733 struct IRpcStubBuffer
* This
,
5734 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5735 PRPC_MESSAGE pRpcMessage
,
5736 DWORD
* pdwStubPhase
);
5737 HRESULT CALLBACK
IEnumFORMATETC_Reset_Proxy(
5738 IEnumFORMATETC
* This
);
5739 void __RPC_STUB
IEnumFORMATETC_Reset_Stub(
5740 struct IRpcStubBuffer
* This
,
5741 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5742 PRPC_MESSAGE pRpcMessage
,
5743 DWORD
* pdwStubPhase
);
5744 HRESULT CALLBACK
IEnumFORMATETC_Clone_Proxy(
5745 IEnumFORMATETC
* This
,
5746 IEnumFORMATETC
** ppenum
);
5747 void __RPC_STUB
IEnumFORMATETC_Clone_Stub(
5748 struct IRpcStubBuffer
* This
,
5749 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5750 PRPC_MESSAGE pRpcMessage
,
5751 DWORD
* pdwStubPhase
);
5753 typedef struct IEnumSTATDATA IEnumSTATDATA
;
5754 typedef IEnumSTATDATA
*LPENUMSTATDATA
;
5756 typedef enum tagADVF
{
5758 ADVF_PRIMEFIRST
= 2,
5760 ADVF_DATAONSTOP
= 64,
5761 ADVFCACHE_NOHANDLER
= 8,
5762 ADVFCACHE_FORCEBUILTIN
= 16,
5763 ADVFCACHE_ONSAVE
= 32
5766 typedef struct tagSTATDATA
{
5767 FORMATETC formatetc
;
5769 IAdviseSink
*pAdvSink
;
5771 } STATDATA
, *LPSTATDATA
;
5773 /*****************************************************************************
5774 * IEnumSTATDATA interface
5776 DEFINE_GUID(IID_IEnumSTATDATA
, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5777 #if defined(__cplusplus) && !defined(CINTERFACE)
5778 struct IEnumSTATDATA
: public IUnknown
5780 virtual HRESULT STDMETHODCALLTYPE
Next(
5783 ULONG
* pceltFetched
) = 0;
5785 virtual HRESULT STDMETHODCALLTYPE
Skip(
5788 virtual HRESULT STDMETHODCALLTYPE
Reset(
5791 virtual HRESULT STDMETHODCALLTYPE
Clone(
5792 IEnumSTATDATA
** ppenum
) = 0;
5796 typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl
;
5797 struct IEnumSTATDATA
{
5798 const IEnumSTATDATAVtbl
* lpVtbl
;
5800 struct IEnumSTATDATAVtbl
{
5801 ICOM_MSVTABLE_COMPAT_FIELDS
5803 /*** IUnknown methods ***/
5804 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
5805 IEnumSTATDATA
* This
,
5809 ULONG (STDMETHODCALLTYPE
*AddRef
)(
5810 IEnumSTATDATA
* This
);
5812 ULONG (STDMETHODCALLTYPE
*Release
)(
5813 IEnumSTATDATA
* This
);
5815 /*** IEnumSTATDATA methods ***/
5816 HRESULT (STDMETHODCALLTYPE
*Next
)(
5817 IEnumSTATDATA
* This
,
5820 ULONG
* pceltFetched
);
5822 HRESULT (STDMETHODCALLTYPE
*Skip
)(
5823 IEnumSTATDATA
* This
,
5826 HRESULT (STDMETHODCALLTYPE
*Reset
)(
5827 IEnumSTATDATA
* This
);
5829 HRESULT (STDMETHODCALLTYPE
*Clone
)(
5830 IEnumSTATDATA
* This
,
5831 IEnumSTATDATA
** ppenum
);
5835 /*** IUnknown methods ***/
5836 #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5837 #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p)
5838 #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p)
5839 /*** IEnumSTATDATA methods ***/
5840 #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5841 #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5842 #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p)
5843 #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5847 #define IEnumSTATDATA_METHODS \
5848 ICOM_MSVTABLE_COMPAT_FIELDS \
5849 /*** IUnknown methods ***/ \
5850 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
5851 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
5852 STDMETHOD_(ULONG,Release)(THIS) PURE; \
5853 /*** IEnumSTATDATA methods ***/ \
5854 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATDATA* rgelt, ULONG* pceltFetched) PURE; \
5855 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
5856 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
5857 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATDATA** ppenum) PURE;
5859 HRESULT CALLBACK
IEnumSTATDATA_RemoteNext_Proxy(
5860 IEnumSTATDATA
* This
,
5863 ULONG
* pceltFetched
);
5864 void __RPC_STUB
IEnumSTATDATA_RemoteNext_Stub(
5865 struct IRpcStubBuffer
* This
,
5866 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5867 PRPC_MESSAGE pRpcMessage
,
5868 DWORD
* pdwStubPhase
);
5869 HRESULT CALLBACK
IEnumSTATDATA_Next_Proxy(
5870 IEnumSTATDATA
* This
,
5873 ULONG
* pceltFetched
);
5874 HRESULT __RPC_STUB
IEnumSTATDATA_Next_Stub(
5875 IEnumSTATDATA
* This
,
5878 ULONG
* pceltFetched
);
5879 HRESULT CALLBACK
IEnumSTATDATA_Skip_Proxy(
5880 IEnumSTATDATA
* This
,
5882 void __RPC_STUB
IEnumSTATDATA_Skip_Stub(
5883 struct IRpcStubBuffer
* This
,
5884 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5885 PRPC_MESSAGE pRpcMessage
,
5886 DWORD
* pdwStubPhase
);
5887 HRESULT CALLBACK
IEnumSTATDATA_Reset_Proxy(
5888 IEnumSTATDATA
* This
);
5889 void __RPC_STUB
IEnumSTATDATA_Reset_Stub(
5890 struct IRpcStubBuffer
* This
,
5891 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5892 PRPC_MESSAGE pRpcMessage
,
5893 DWORD
* pdwStubPhase
);
5894 HRESULT CALLBACK
IEnumSTATDATA_Clone_Proxy(
5895 IEnumSTATDATA
* This
,
5896 IEnumSTATDATA
** ppenum
);
5897 void __RPC_STUB
IEnumSTATDATA_Clone_Stub(
5898 struct IRpcStubBuffer
* This
,
5899 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5900 PRPC_MESSAGE pRpcMessage
,
5901 DWORD
* pdwStubPhase
);
5903 typedef IAdviseSink
*LPADVISESINK
;
5905 typedef enum tagTYMED
{
5916 typedef struct tagRemSTGMEDIUM
{
5919 unsigned long pData
;
5920 unsigned long pUnkForRelease
;
5921 unsigned long cbData
;
5925 typedef struct tagSTGMEDIUM
{
5929 HMETAFILEPICT hMetaFilePict
;
5930 HENHMETAFILE hEnhMetaFile
;
5932 LPOLESTR lpszFileName
;
5936 IUnknown
*pUnkForRelease
;
5939 typedef struct _GDI_OBJECT
{
5942 wireHBITMAP hBitmap
;
5943 wireHPALETTE hPalette
;
5944 wireHGLOBAL hGeneric
;
5948 typedef struct _userSTGMEDIUM
{
5949 struct _STGMEDIUM_UNION
{
5952 wireHMETAFILEPICT hMetaFilePict
;
5953 wireHENHMETAFILE hHEnhMetaFile
;
5954 GDI_OBJECT
*hGdiHandle
;
5955 wireHGLOBAL hGlobal
;
5956 LPOLESTR lpszFileName
;
5961 IUnknown
*pUnkForRelease
;
5964 typedef userSTGMEDIUM
*wireSTGMEDIUM
;
5966 typedef uSTGMEDIUM STGMEDIUM
;
5967 unsigned long __RPC_USER
STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM
*);
5968 unsigned char * __RPC_USER
STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM
*);
5969 unsigned char * __RPC_USER
STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM
*);
5970 void __RPC_USER
STGMEDIUM_UserFree (unsigned long *, STGMEDIUM
*);
5972 typedef userSTGMEDIUM
*wireASYNC_STGMEDIUM
;
5974 typedef STGMEDIUM ASYNC_STGMEDIUM
;
5975 unsigned long __RPC_USER
ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM
*);
5976 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
5977 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
5978 void __RPC_USER
ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM
*);
5980 typedef STGMEDIUM
*LPSTGMEDIUM
;
5982 typedef struct _userFLAG_STGMEDIUM
{
5984 long fPassOwnership
;
5985 userSTGMEDIUM Stgmed
;
5986 } userFLAG_STGMEDIUM
;
5988 typedef userFLAG_STGMEDIUM
*wireFLAG_STGMEDIUM
;
5990 typedef struct _FLAG_STGMEDIUM
{
5992 long fPassOwnership
;
5995 unsigned long __RPC_USER
FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM
*);
5996 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
5997 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
5998 void __RPC_USER
FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM
*);
6000 /*****************************************************************************
6001 * IAdviseSink interface
6003 DEFINE_GUID(IID_IAdviseSink
, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6004 #if defined(__cplusplus) && !defined(CINTERFACE)
6005 struct IAdviseSink
: public IUnknown
6007 virtual void STDMETHODCALLTYPE
OnDataChange(
6008 FORMATETC
* pFormatetc
,
6009 STGMEDIUM
* pStgmed
) = 0;
6011 virtual void STDMETHODCALLTYPE
OnViewChange(
6015 virtual void STDMETHODCALLTYPE
OnRename(
6018 virtual void STDMETHODCALLTYPE
OnSave(
6021 virtual void STDMETHODCALLTYPE
OnClose(
6026 typedef struct IAdviseSinkVtbl IAdviseSinkVtbl
;
6027 struct IAdviseSink
{
6028 const IAdviseSinkVtbl
* lpVtbl
;
6030 struct IAdviseSinkVtbl
{
6031 ICOM_MSVTABLE_COMPAT_FIELDS
6033 /*** IUnknown methods ***/
6034 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6039 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6042 ULONG (STDMETHODCALLTYPE
*Release
)(
6045 /*** IAdviseSink methods ***/
6046 void (STDMETHODCALLTYPE
*OnDataChange
)(
6048 FORMATETC
* pFormatetc
,
6049 STGMEDIUM
* pStgmed
);
6051 void (STDMETHODCALLTYPE
*OnViewChange
)(
6056 void (STDMETHODCALLTYPE
*OnRename
)(
6060 void (STDMETHODCALLTYPE
*OnSave
)(
6063 void (STDMETHODCALLTYPE
*OnClose
)(
6068 /*** IUnknown methods ***/
6069 #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6070 #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
6071 #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p)
6072 /*** IAdviseSink methods ***/
6073 #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
6074 #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
6075 #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
6076 #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p)
6077 #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p)
6081 #define IAdviseSink_METHODS \
6082 ICOM_MSVTABLE_COMPAT_FIELDS \
6083 /*** IUnknown methods ***/ \
6084 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6085 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6086 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6087 /*** IAdviseSink methods ***/ \
6088 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
6089 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
6090 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
6091 STDMETHOD_(void,OnSave)(THIS) PURE; \
6092 STDMETHOD_(void,OnClose)(THIS) PURE;
6094 HRESULT CALLBACK
IAdviseSink_RemoteOnDataChange_Proxy(
6096 IAsyncManager
** ppIAM
,
6097 FORMATETC
* pFormatetc
,
6098 ASYNC_STGMEDIUM
* pStgmed
);
6099 void __RPC_STUB
IAdviseSink_RemoteOnDataChange_Stub(
6100 struct IRpcStubBuffer
* This
,
6101 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6102 PRPC_MESSAGE pRpcMessage
,
6103 DWORD
* pdwStubPhase
);
6104 void CALLBACK
IAdviseSink_OnDataChange_Proxy(
6106 FORMATETC
* pFormatetc
,
6107 STGMEDIUM
* pStgmed
);
6108 HRESULT __RPC_STUB
IAdviseSink_OnDataChange_Stub(
6110 IAsyncManager
** ppIAM
,
6111 FORMATETC
* pFormatetc
,
6112 ASYNC_STGMEDIUM
* pStgmed
);
6113 HRESULT CALLBACK
IAdviseSink_RemoteOnViewChange_Proxy(
6115 IAsyncManager
** ppIAM
,
6118 void __RPC_STUB
IAdviseSink_RemoteOnViewChange_Stub(
6119 struct IRpcStubBuffer
* This
,
6120 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6121 PRPC_MESSAGE pRpcMessage
,
6122 DWORD
* pdwStubPhase
);
6123 void CALLBACK
IAdviseSink_OnViewChange_Proxy(
6127 HRESULT __RPC_STUB
IAdviseSink_OnViewChange_Stub(
6129 IAsyncManager
** ppIAM
,
6132 HRESULT CALLBACK
IAdviseSink_RemoteOnRename_Proxy(
6134 IAsyncManager
** ppIAM
,
6136 void __RPC_STUB
IAdviseSink_RemoteOnRename_Stub(
6137 struct IRpcStubBuffer
* This
,
6138 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6139 PRPC_MESSAGE pRpcMessage
,
6140 DWORD
* pdwStubPhase
);
6141 void CALLBACK
IAdviseSink_OnRename_Proxy(
6144 HRESULT __RPC_STUB
IAdviseSink_OnRename_Stub(
6146 IAsyncManager
** ppIAM
,
6148 HRESULT CALLBACK
IAdviseSink_RemoteOnSave_Proxy(
6150 IAsyncManager
** ppIAM
);
6151 void __RPC_STUB
IAdviseSink_RemoteOnSave_Stub(
6152 struct IRpcStubBuffer
* This
,
6153 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6154 PRPC_MESSAGE pRpcMessage
,
6155 DWORD
* pdwStubPhase
);
6156 void CALLBACK
IAdviseSink_OnSave_Proxy(
6158 HRESULT __RPC_STUB
IAdviseSink_OnSave_Stub(
6160 IAsyncManager
** ppIAM
);
6161 HRESULT CALLBACK
IAdviseSink_RemoteOnClose_Proxy(
6163 void __RPC_STUB
IAdviseSink_RemoteOnClose_Stub(
6164 struct IRpcStubBuffer
* This
,
6165 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6166 PRPC_MESSAGE pRpcMessage
,
6167 DWORD
* pdwStubPhase
);
6168 void CALLBACK
IAdviseSink_OnClose_Proxy(
6170 HRESULT __RPC_STUB
IAdviseSink_OnClose_Stub(
6173 typedef struct IAdviseSink2 IAdviseSink2
;
6174 typedef IAdviseSink2
*LPADVISESINK2
;
6176 /*****************************************************************************
6177 * IAdviseSink2 interface
6179 DEFINE_GUID(IID_IAdviseSink2
, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6180 #if defined(__cplusplus) && !defined(CINTERFACE)
6181 struct IAdviseSink2
: public IAdviseSink
6183 virtual void STDMETHODCALLTYPE
OnLinkSrcChange(
6188 typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl
;
6189 struct IAdviseSink2
{
6190 const IAdviseSink2Vtbl
* lpVtbl
;
6192 struct IAdviseSink2Vtbl
{
6193 ICOM_MSVTABLE_COMPAT_FIELDS
6195 /*** IUnknown methods ***/
6196 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6201 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6202 IAdviseSink2
* This
);
6204 ULONG (STDMETHODCALLTYPE
*Release
)(
6205 IAdviseSink2
* This
);
6207 /*** IAdviseSink methods ***/
6208 void (STDMETHODCALLTYPE
*OnDataChange
)(
6210 FORMATETC
* pFormatetc
,
6211 STGMEDIUM
* pStgmed
);
6213 void (STDMETHODCALLTYPE
*OnViewChange
)(
6218 void (STDMETHODCALLTYPE
*OnRename
)(
6222 void (STDMETHODCALLTYPE
*OnSave
)(
6223 IAdviseSink2
* This
);
6225 void (STDMETHODCALLTYPE
*OnClose
)(
6226 IAdviseSink2
* This
);
6228 /*** IAdviseSink2 methods ***/
6229 void (STDMETHODCALLTYPE
*OnLinkSrcChange
)(
6235 /*** IUnknown methods ***/
6236 #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6237 #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p)
6238 #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p)
6239 /*** IAdviseSink methods ***/
6240 #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
6241 #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
6242 #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
6243 #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p)
6244 #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p)
6245 /*** IAdviseSink2 methods ***/
6246 #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a)
6250 #define IAdviseSink2_METHODS \
6251 ICOM_MSVTABLE_COMPAT_FIELDS \
6252 /*** IUnknown methods ***/ \
6253 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6254 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6255 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6256 /*** IAdviseSink methods ***/ \
6257 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \
6258 STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \
6259 STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \
6260 STDMETHOD_(void,OnSave)(THIS) PURE; \
6261 STDMETHOD_(void,OnClose)(THIS) PURE; \
6262 /*** IAdviseSink2 methods ***/ \
6263 STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker* pmk) PURE;
6265 HRESULT CALLBACK
IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
6267 IAsyncManager
** ppIAM
,
6269 void __RPC_STUB
IAdviseSink2_RemoteOnLinkSrcChange_Stub(
6270 struct IRpcStubBuffer
* This
,
6271 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6272 PRPC_MESSAGE pRpcMessage
,
6273 DWORD
* pdwStubPhase
);
6274 void CALLBACK
IAdviseSink2_OnLinkSrcChange_Proxy(
6277 HRESULT __RPC_STUB
IAdviseSink2_OnLinkSrcChange_Stub(
6279 IAsyncManager
** ppIAM
,
6282 typedef struct IDataObject IDataObject
;
6283 typedef IDataObject
*LPDATAOBJECT
;
6285 typedef enum tagDATADIR
{
6290 /*****************************************************************************
6291 * IDataObject interface
6293 DEFINE_GUID(IID_IDataObject
, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6294 #if defined(__cplusplus) && !defined(CINTERFACE)
6295 struct IDataObject
: public IUnknown
6297 virtual HRESULT STDMETHODCALLTYPE
GetData(
6298 FORMATETC
* pformatetcIn
,
6299 STGMEDIUM
* pmedium
) = 0;
6301 virtual HRESULT STDMETHODCALLTYPE
GetDataHere(
6302 FORMATETC
* pformatetc
,
6303 STGMEDIUM
* pmedium
) = 0;
6305 virtual HRESULT STDMETHODCALLTYPE
QueryGetData(
6306 FORMATETC
* pformatetc
) = 0;
6308 virtual HRESULT STDMETHODCALLTYPE
GetCanonicalFormatEtc(
6309 FORMATETC
* pformatectIn
,
6310 FORMATETC
* pformatetcOut
) = 0;
6312 virtual HRESULT STDMETHODCALLTYPE
SetData(
6313 FORMATETC
* pformatetc
,
6317 virtual HRESULT STDMETHODCALLTYPE
EnumFormatEtc(
6319 IEnumFORMATETC
** ppenumFormatEtc
) = 0;
6321 virtual HRESULT STDMETHODCALLTYPE
DAdvise(
6322 FORMATETC
* pformatetc
,
6324 IAdviseSink
* pAdvSink
,
6325 DWORD
* pdwConnection
) = 0;
6327 virtual HRESULT STDMETHODCALLTYPE
DUnadvise(
6328 DWORD dwConnection
) = 0;
6330 virtual HRESULT STDMETHODCALLTYPE
EnumDAdvise(
6331 IEnumSTATDATA
** ppenumAdvise
) = 0;
6335 typedef struct IDataObjectVtbl IDataObjectVtbl
;
6336 struct IDataObject
{
6337 const IDataObjectVtbl
* lpVtbl
;
6339 struct IDataObjectVtbl
{
6340 ICOM_MSVTABLE_COMPAT_FIELDS
6342 /*** IUnknown methods ***/
6343 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6348 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6351 ULONG (STDMETHODCALLTYPE
*Release
)(
6354 /*** IDataObject methods ***/
6355 HRESULT (STDMETHODCALLTYPE
*GetData
)(
6357 FORMATETC
* pformatetcIn
,
6358 STGMEDIUM
* pmedium
);
6360 HRESULT (STDMETHODCALLTYPE
*GetDataHere
)(
6362 FORMATETC
* pformatetc
,
6363 STGMEDIUM
* pmedium
);
6365 HRESULT (STDMETHODCALLTYPE
*QueryGetData
)(
6367 FORMATETC
* pformatetc
);
6369 HRESULT (STDMETHODCALLTYPE
*GetCanonicalFormatEtc
)(
6371 FORMATETC
* pformatectIn
,
6372 FORMATETC
* pformatetcOut
);
6374 HRESULT (STDMETHODCALLTYPE
*SetData
)(
6376 FORMATETC
* pformatetc
,
6380 HRESULT (STDMETHODCALLTYPE
*EnumFormatEtc
)(
6383 IEnumFORMATETC
** ppenumFormatEtc
);
6385 HRESULT (STDMETHODCALLTYPE
*DAdvise
)(
6387 FORMATETC
* pformatetc
,
6389 IAdviseSink
* pAdvSink
,
6390 DWORD
* pdwConnection
);
6392 HRESULT (STDMETHODCALLTYPE
*DUnadvise
)(
6394 DWORD dwConnection
);
6396 HRESULT (STDMETHODCALLTYPE
*EnumDAdvise
)(
6398 IEnumSTATDATA
** ppenumAdvise
);
6402 /*** IUnknown methods ***/
6403 #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6404 #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p)
6405 #define IDataObject_Release(p) (p)->lpVtbl->Release(p)
6406 /*** IDataObject methods ***/
6407 #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b)
6408 #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b)
6409 #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a)
6410 #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b)
6411 #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
6412 #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b)
6413 #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d)
6414 #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a)
6415 #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a)
6419 #define IDataObject_METHODS \
6420 ICOM_MSVTABLE_COMPAT_FIELDS \
6421 /*** IUnknown methods ***/ \
6422 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6423 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6424 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6425 /*** IDataObject methods ***/ \
6426 STDMETHOD_(HRESULT,GetData)(THIS_ FORMATETC* pformatetcIn, STGMEDIUM* pmedium) PURE; \
6427 STDMETHOD_(HRESULT,GetDataHere)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium) PURE; \
6428 STDMETHOD_(HRESULT,QueryGetData)(THIS_ FORMATETC* pformatetc) PURE; \
6429 STDMETHOD_(HRESULT,GetCanonicalFormatEtc)(THIS_ FORMATETC* pformatectIn, FORMATETC* pformatetcOut) PURE; \
6430 STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \
6431 STDMETHOD_(HRESULT,EnumFormatEtc)(THIS_ DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc) PURE; \
6432 STDMETHOD_(HRESULT,DAdvise)(THIS_ FORMATETC* pformatetc, DWORD advf, IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \
6433 STDMETHOD_(HRESULT,DUnadvise)(THIS_ DWORD dwConnection) PURE; \
6434 STDMETHOD_(HRESULT,EnumDAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE;
6436 HRESULT CALLBACK
IDataObject_RemoteGetData_Proxy(
6438 FORMATETC
* pformatetcIn
,
6439 STGMEDIUM
* pRemoteMedium
);
6440 void __RPC_STUB
IDataObject_RemoteGetData_Stub(
6441 struct IRpcStubBuffer
* This
,
6442 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6443 PRPC_MESSAGE pRpcMessage
,
6444 DWORD
* pdwStubPhase
);
6445 HRESULT CALLBACK
IDataObject_GetData_Proxy(
6447 FORMATETC
* pformatetcIn
,
6448 STGMEDIUM
* pmedium
);
6449 HRESULT __RPC_STUB
IDataObject_GetData_Stub(
6451 FORMATETC
* pformatetcIn
,
6452 STGMEDIUM
* pRemoteMedium
);
6453 HRESULT CALLBACK
IDataObject_RemoteGetDataHere_Proxy(
6455 FORMATETC
* pformatetc
,
6456 STGMEDIUM
* pRemoteMedium
);
6457 void __RPC_STUB
IDataObject_RemoteGetDataHere_Stub(
6458 struct IRpcStubBuffer
* This
,
6459 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6460 PRPC_MESSAGE pRpcMessage
,
6461 DWORD
* pdwStubPhase
);
6462 HRESULT CALLBACK
IDataObject_GetDataHere_Proxy(
6464 FORMATETC
* pformatetc
,
6465 STGMEDIUM
* pmedium
);
6466 HRESULT __RPC_STUB
IDataObject_GetDataHere_Stub(
6468 FORMATETC
* pformatetc
,
6469 STGMEDIUM
* pRemoteMedium
);
6470 HRESULT CALLBACK
IDataObject_QueryGetData_Proxy(
6472 FORMATETC
* pformatetc
);
6473 void __RPC_STUB
IDataObject_QueryGetData_Stub(
6474 struct IRpcStubBuffer
* This
,
6475 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6476 PRPC_MESSAGE pRpcMessage
,
6477 DWORD
* pdwStubPhase
);
6478 HRESULT CALLBACK
IDataObject_GetCanonicalFormatEtc_Proxy(
6480 FORMATETC
* pformatectIn
,
6481 FORMATETC
* pformatetcOut
);
6482 void __RPC_STUB
IDataObject_GetCanonicalFormatEtc_Stub(
6483 struct IRpcStubBuffer
* This
,
6484 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6485 PRPC_MESSAGE pRpcMessage
,
6486 DWORD
* pdwStubPhase
);
6487 HRESULT CALLBACK
IDataObject_RemoteSetData_Proxy(
6489 FORMATETC
* pformatetc
,
6490 FLAG_STGMEDIUM
* pmedium
,
6492 void __RPC_STUB
IDataObject_RemoteSetData_Stub(
6493 struct IRpcStubBuffer
* This
,
6494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6495 PRPC_MESSAGE pRpcMessage
,
6496 DWORD
* pdwStubPhase
);
6497 HRESULT CALLBACK
IDataObject_SetData_Proxy(
6499 FORMATETC
* pformatetc
,
6502 HRESULT __RPC_STUB
IDataObject_SetData_Stub(
6504 FORMATETC
* pformatetc
,
6505 FLAG_STGMEDIUM
* pmedium
,
6507 HRESULT CALLBACK
IDataObject_EnumFormatEtc_Proxy(
6510 IEnumFORMATETC
** ppenumFormatEtc
);
6511 void __RPC_STUB
IDataObject_EnumFormatEtc_Stub(
6512 struct IRpcStubBuffer
* This
,
6513 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6514 PRPC_MESSAGE pRpcMessage
,
6515 DWORD
* pdwStubPhase
);
6516 HRESULT CALLBACK
IDataObject_DAdvise_Proxy(
6518 FORMATETC
* pformatetc
,
6520 IAdviseSink
* pAdvSink
,
6521 DWORD
* pdwConnection
);
6522 void __RPC_STUB
IDataObject_DAdvise_Stub(
6523 struct IRpcStubBuffer
* This
,
6524 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6525 PRPC_MESSAGE pRpcMessage
,
6526 DWORD
* pdwStubPhase
);
6527 HRESULT CALLBACK
IDataObject_DUnadvise_Proxy(
6529 DWORD dwConnection
);
6530 void __RPC_STUB
IDataObject_DUnadvise_Stub(
6531 struct IRpcStubBuffer
* This
,
6532 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6533 PRPC_MESSAGE pRpcMessage
,
6534 DWORD
* pdwStubPhase
);
6535 HRESULT CALLBACK
IDataObject_EnumDAdvise_Proxy(
6537 IEnumSTATDATA
** ppenumAdvise
);
6538 void __RPC_STUB
IDataObject_EnumDAdvise_Stub(
6539 struct IRpcStubBuffer
* This
,
6540 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6541 PRPC_MESSAGE pRpcMessage
,
6542 DWORD
* pdwStubPhase
);
6544 typedef struct IDataAdviseHolder IDataAdviseHolder
;
6545 typedef IDataAdviseHolder
*LPDATAADVISEHOLDER
;
6547 /*****************************************************************************
6548 * IDataAdviseHolder interface
6550 DEFINE_GUID(IID_IDataAdviseHolder
, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6551 #if defined(__cplusplus) && !defined(CINTERFACE)
6552 struct IDataAdviseHolder
: public IUnknown
6554 virtual HRESULT STDMETHODCALLTYPE
Advise(
6555 IDataObject
* pDataObject
,
6558 IAdviseSink
* pAdvise
,
6559 DWORD
* pdwConnection
) = 0;
6561 virtual HRESULT STDMETHODCALLTYPE
Unadvise(
6562 DWORD dwConnection
) = 0;
6564 virtual HRESULT STDMETHODCALLTYPE
EnumAdvise(
6565 IEnumSTATDATA
** ppenumAdvise
) = 0;
6567 virtual HRESULT STDMETHODCALLTYPE
SendOnDataChange(
6568 IDataObject
* pDataObject
,
6574 typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl
;
6575 struct IDataAdviseHolder
{
6576 const IDataAdviseHolderVtbl
* lpVtbl
;
6578 struct IDataAdviseHolderVtbl
{
6579 ICOM_MSVTABLE_COMPAT_FIELDS
6581 /*** IUnknown methods ***/
6582 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6583 IDataAdviseHolder
* This
,
6587 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6588 IDataAdviseHolder
* This
);
6590 ULONG (STDMETHODCALLTYPE
*Release
)(
6591 IDataAdviseHolder
* This
);
6593 /*** IDataAdviseHolder methods ***/
6594 HRESULT (STDMETHODCALLTYPE
*Advise
)(
6595 IDataAdviseHolder
* This
,
6596 IDataObject
* pDataObject
,
6599 IAdviseSink
* pAdvise
,
6600 DWORD
* pdwConnection
);
6602 HRESULT (STDMETHODCALLTYPE
*Unadvise
)(
6603 IDataAdviseHolder
* This
,
6604 DWORD dwConnection
);
6606 HRESULT (STDMETHODCALLTYPE
*EnumAdvise
)(
6607 IDataAdviseHolder
* This
,
6608 IEnumSTATDATA
** ppenumAdvise
);
6610 HRESULT (STDMETHODCALLTYPE
*SendOnDataChange
)(
6611 IDataAdviseHolder
* This
,
6612 IDataObject
* pDataObject
,
6618 /*** IUnknown methods ***/
6619 #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6620 #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
6621 #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
6622 /*** IDataAdviseHolder methods ***/
6623 #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
6624 #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
6625 #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
6626 #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c)
6630 #define IDataAdviseHolder_METHODS \
6631 ICOM_MSVTABLE_COMPAT_FIELDS \
6632 /*** IUnknown methods ***/ \
6633 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6634 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6635 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6636 /*** IDataAdviseHolder methods ***/ \
6637 STDMETHOD_(HRESULT,Advise)(THIS_ IDataObject* pDataObject, FORMATETC* pFetc, DWORD advf, IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \
6638 STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \
6639 STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \
6640 STDMETHOD_(HRESULT,SendOnDataChange)(THIS_ IDataObject* pDataObject, DWORD dwReserved, DWORD advf) PURE;
6642 HRESULT CALLBACK
IDataAdviseHolder_Advise_Proxy(
6643 IDataAdviseHolder
* This
,
6644 IDataObject
* pDataObject
,
6647 IAdviseSink
* pAdvise
,
6648 DWORD
* pdwConnection
);
6649 void __RPC_STUB
IDataAdviseHolder_Advise_Stub(
6650 struct IRpcStubBuffer
* This
,
6651 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6652 PRPC_MESSAGE pRpcMessage
,
6653 DWORD
* pdwStubPhase
);
6654 HRESULT CALLBACK
IDataAdviseHolder_Unadvise_Proxy(
6655 IDataAdviseHolder
* This
,
6656 DWORD dwConnection
);
6657 void __RPC_STUB
IDataAdviseHolder_Unadvise_Stub(
6658 struct IRpcStubBuffer
* This
,
6659 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6660 PRPC_MESSAGE pRpcMessage
,
6661 DWORD
* pdwStubPhase
);
6662 HRESULT CALLBACK
IDataAdviseHolder_EnumAdvise_Proxy(
6663 IDataAdviseHolder
* This
,
6664 IEnumSTATDATA
** ppenumAdvise
);
6665 void __RPC_STUB
IDataAdviseHolder_EnumAdvise_Stub(
6666 struct IRpcStubBuffer
* This
,
6667 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6668 PRPC_MESSAGE pRpcMessage
,
6669 DWORD
* pdwStubPhase
);
6670 HRESULT CALLBACK
IDataAdviseHolder_SendOnDataChange_Proxy(
6671 IDataAdviseHolder
* This
,
6672 IDataObject
* pDataObject
,
6675 void __RPC_STUB
IDataAdviseHolder_SendOnDataChange_Stub(
6676 struct IRpcStubBuffer
* This
,
6677 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6678 PRPC_MESSAGE pRpcMessage
,
6679 DWORD
* pdwStubPhase
);
6681 typedef struct IMessageFilter IMessageFilter
;
6682 typedef IMessageFilter
*LPMESSAGEFILTER
;
6684 typedef enum tagCALLTYPE
{
6685 CALLTYPE_TOPLEVEL
= 1,
6686 CALLTYPE_NESTED
= 2,
6688 CALLTYPE_TOPLEVEL_CALLPENDING
= 4,
6689 CALLTYPE_ASYNC_CALLPENDING
= 5
6692 typedef enum tagSERVERCALL
{
6693 SERVERCALL_ISHANDLED
= 0,
6694 SERVERCALL_REJECTED
= 1,
6695 SERVERCALL_RETRYLATER
= 2
6698 typedef enum tagPENDINGTYPE
{
6699 PENDINGTYPE_TOPLEVEL
= 1,
6700 PENDINGTYPE_NESTED
= 2
6703 typedef enum tagPENDINGMSG
{
6704 PENDINGMSG_CANCELCALL
= 0,
6705 PENDINGMSG_WAITNOPROCESS
= 1,
6706 PENDINGMSG_WAITDEFPROCESS
= 2
6709 typedef struct tagINTERFACEINFO
{
6713 } INTERFACEINFO
, *LPINTERFACEINFO
;
6715 /*****************************************************************************
6716 * IMessageFilter interface
6718 DEFINE_GUID(IID_IMessageFilter
, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6719 #if defined(__cplusplus) && !defined(CINTERFACE)
6720 struct IMessageFilter
: public IUnknown
6722 virtual DWORD STDMETHODCALLTYPE
HandleInComingCall(
6726 LPINTERFACEINFO lpInterfaceInfo
) = 0;
6728 virtual DWORD STDMETHODCALLTYPE
RetryRejectedCall(
6731 DWORD dwRejectType
) = 0;
6733 virtual DWORD STDMETHODCALLTYPE
MessagePending(
6736 DWORD dwPendingType
) = 0;
6740 typedef struct IMessageFilterVtbl IMessageFilterVtbl
;
6741 struct IMessageFilter
{
6742 const IMessageFilterVtbl
* lpVtbl
;
6744 struct IMessageFilterVtbl
{
6745 ICOM_MSVTABLE_COMPAT_FIELDS
6747 /*** IUnknown methods ***/
6748 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6749 IMessageFilter
* This
,
6753 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6754 IMessageFilter
* This
);
6756 ULONG (STDMETHODCALLTYPE
*Release
)(
6757 IMessageFilter
* This
);
6759 /*** IMessageFilter methods ***/
6760 DWORD (STDMETHODCALLTYPE
*HandleInComingCall
)(
6761 IMessageFilter
* This
,
6765 LPINTERFACEINFO lpInterfaceInfo
);
6767 DWORD (STDMETHODCALLTYPE
*RetryRejectedCall
)(
6768 IMessageFilter
* This
,
6771 DWORD dwRejectType
);
6773 DWORD (STDMETHODCALLTYPE
*MessagePending
)(
6774 IMessageFilter
* This
,
6777 DWORD dwPendingType
);
6781 /*** IUnknown methods ***/
6782 #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6783 #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
6784 #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p)
6785 /*** IMessageFilter methods ***/
6786 #define IMessageFilter_HandleInComingCall(p,a,b,c,d) (p)->lpVtbl->HandleInComingCall(p,a,b,c,d)
6787 #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c)
6788 #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c)
6792 #define IMessageFilter_METHODS \
6793 ICOM_MSVTABLE_COMPAT_FIELDS \
6794 /*** IUnknown methods ***/ \
6795 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6796 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6797 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6798 /*** IMessageFilter methods ***/ \
6799 STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) PURE; \
6800 STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) PURE; \
6801 STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) PURE;
6803 DWORD CALLBACK
IMessageFilter_HandleInComingCall_Proxy(
6804 IMessageFilter
* This
,
6808 LPINTERFACEINFO lpInterfaceInfo
);
6809 void __RPC_STUB
IMessageFilter_HandleInComingCall_Stub(
6810 struct IRpcStubBuffer
* This
,
6811 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6812 PRPC_MESSAGE pRpcMessage
,
6813 DWORD
* pdwStubPhase
);
6814 DWORD CALLBACK
IMessageFilter_RetryRejectedCall_Proxy(
6815 IMessageFilter
* This
,
6818 DWORD dwRejectType
);
6819 void __RPC_STUB
IMessageFilter_RetryRejectedCall_Stub(
6820 struct IRpcStubBuffer
* This
,
6821 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6822 PRPC_MESSAGE pRpcMessage
,
6823 DWORD
* pdwStubPhase
);
6824 DWORD CALLBACK
IMessageFilter_MessagePending_Proxy(
6825 IMessageFilter
* This
,
6828 DWORD dwPendingType
);
6829 void __RPC_STUB
IMessageFilter_MessagePending_Stub(
6830 struct IRpcStubBuffer
* This
,
6831 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6832 PRPC_MESSAGE pRpcMessage
,
6833 DWORD
* pdwStubPhase
);
6835 typedef struct IRpcChannelBuffer IRpcChannelBuffer
;
6836 typedef IRpcChannelBuffer
*LPRPCCHANNELBUFFER
;
6838 typedef unsigned long RPCOLEDATAREP
;
6840 typedef struct tagRPCOLEMESSAGE
{
6842 RPCOLEDATAREP dataRepresentation
;
6850 typedef RPCOLEMESSAGE
*PRPCOLEMESSAGE
;
6852 /*****************************************************************************
6853 * IRpcChannelBuffer interface
6855 DEFINE_GUID(IID_IRpcChannelBuffer
, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
6856 #if defined(__cplusplus) && !defined(CINTERFACE)
6857 struct IRpcChannelBuffer
: public IUnknown
6859 virtual HRESULT STDMETHODCALLTYPE
GetBuffer(
6860 RPCOLEMESSAGE
* pMessage
,
6863 virtual HRESULT STDMETHODCALLTYPE
SendReceive(
6864 RPCOLEMESSAGE
* pMessage
,
6865 ULONG
* pStatus
) = 0;
6867 virtual HRESULT STDMETHODCALLTYPE
FreeBuffer(
6868 RPCOLEMESSAGE
* pMessage
) = 0;
6870 virtual HRESULT STDMETHODCALLTYPE
GetDestCtx(
6871 DWORD
* pdwDestContext
,
6872 void** ppvDestContext
) = 0;
6874 virtual HRESULT STDMETHODCALLTYPE
IsConnected(
6879 typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl
;
6880 struct IRpcChannelBuffer
{
6881 const IRpcChannelBufferVtbl
* lpVtbl
;
6883 struct IRpcChannelBufferVtbl
{
6884 ICOM_MSVTABLE_COMPAT_FIELDS
6886 /*** IUnknown methods ***/
6887 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
6888 IRpcChannelBuffer
* This
,
6892 ULONG (STDMETHODCALLTYPE
*AddRef
)(
6893 IRpcChannelBuffer
* This
);
6895 ULONG (STDMETHODCALLTYPE
*Release
)(
6896 IRpcChannelBuffer
* This
);
6898 /*** IRpcChannelBuffer methods ***/
6899 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
6900 IRpcChannelBuffer
* This
,
6901 RPCOLEMESSAGE
* pMessage
,
6904 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
6905 IRpcChannelBuffer
* This
,
6906 RPCOLEMESSAGE
* pMessage
,
6909 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
6910 IRpcChannelBuffer
* This
,
6911 RPCOLEMESSAGE
* pMessage
);
6913 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
6914 IRpcChannelBuffer
* This
,
6915 DWORD
* pdwDestContext
,
6916 void** ppvDestContext
);
6918 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
6919 IRpcChannelBuffer
* This
);
6923 /*** IUnknown methods ***/
6924 #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6925 #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
6926 #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p)
6927 /*** IRpcChannelBuffer methods ***/
6928 #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6929 #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6930 #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6931 #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6932 #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6936 #define IRpcChannelBuffer_METHODS \
6937 ICOM_MSVTABLE_COMPAT_FIELDS \
6938 /*** IUnknown methods ***/ \
6939 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
6940 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
6941 STDMETHOD_(ULONG,Release)(THIS) PURE; \
6942 /*** IRpcChannelBuffer methods ***/ \
6943 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
6944 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
6945 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
6946 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
6947 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE;
6949 HRESULT CALLBACK
IRpcChannelBuffer_GetBuffer_Proxy(
6950 IRpcChannelBuffer
* This
,
6951 RPCOLEMESSAGE
* pMessage
,
6953 void __RPC_STUB
IRpcChannelBuffer_GetBuffer_Stub(
6954 struct IRpcStubBuffer
* This
,
6955 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6956 PRPC_MESSAGE pRpcMessage
,
6957 DWORD
* pdwStubPhase
);
6958 HRESULT CALLBACK
IRpcChannelBuffer_SendReceive_Proxy(
6959 IRpcChannelBuffer
* This
,
6960 RPCOLEMESSAGE
* pMessage
,
6962 void __RPC_STUB
IRpcChannelBuffer_SendReceive_Stub(
6963 struct IRpcStubBuffer
* This
,
6964 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6965 PRPC_MESSAGE pRpcMessage
,
6966 DWORD
* pdwStubPhase
);
6967 HRESULT CALLBACK
IRpcChannelBuffer_FreeBuffer_Proxy(
6968 IRpcChannelBuffer
* This
,
6969 RPCOLEMESSAGE
* pMessage
);
6970 void __RPC_STUB
IRpcChannelBuffer_FreeBuffer_Stub(
6971 struct IRpcStubBuffer
* This
,
6972 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6973 PRPC_MESSAGE pRpcMessage
,
6974 DWORD
* pdwStubPhase
);
6975 HRESULT CALLBACK
IRpcChannelBuffer_GetDestCtx_Proxy(
6976 IRpcChannelBuffer
* This
,
6977 DWORD
* pdwDestContext
,
6978 void** ppvDestContext
);
6979 void __RPC_STUB
IRpcChannelBuffer_GetDestCtx_Stub(
6980 struct IRpcStubBuffer
* This
,
6981 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6982 PRPC_MESSAGE pRpcMessage
,
6983 DWORD
* pdwStubPhase
);
6984 HRESULT CALLBACK
IRpcChannelBuffer_IsConnected_Proxy(
6985 IRpcChannelBuffer
* This
);
6986 void __RPC_STUB
IRpcChannelBuffer_IsConnected_Stub(
6987 struct IRpcStubBuffer
* This
,
6988 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6989 PRPC_MESSAGE pRpcMessage
,
6990 DWORD
* pdwStubPhase
);
6992 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2
;
6993 typedef IRpcChannelBuffer2
*LPRPCCHANNELBUFFER2
;
6995 /*****************************************************************************
6996 * IRpcChannelBuffer2 interface
6998 DEFINE_GUID(IID_IRpcChannelBuffer2
, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
6999 #if defined(__cplusplus) && !defined(CINTERFACE)
7000 struct IRpcChannelBuffer2
: public IRpcChannelBuffer
7002 virtual HRESULT STDMETHODCALLTYPE
GetProtocolVersion(
7003 DWORD
* pdwVersion
) = 0;
7007 typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl
;
7008 struct IRpcChannelBuffer2
{
7009 const IRpcChannelBuffer2Vtbl
* lpVtbl
;
7011 struct IRpcChannelBuffer2Vtbl
{
7012 ICOM_MSVTABLE_COMPAT_FIELDS
7014 /*** IUnknown methods ***/
7015 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7016 IRpcChannelBuffer2
* This
,
7020 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7021 IRpcChannelBuffer2
* This
);
7023 ULONG (STDMETHODCALLTYPE
*Release
)(
7024 IRpcChannelBuffer2
* This
);
7026 /*** IRpcChannelBuffer methods ***/
7027 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
7028 IRpcChannelBuffer2
* This
,
7029 RPCOLEMESSAGE
* pMessage
,
7032 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
7033 IRpcChannelBuffer2
* This
,
7034 RPCOLEMESSAGE
* pMessage
,
7037 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
7038 IRpcChannelBuffer2
* This
,
7039 RPCOLEMESSAGE
* pMessage
);
7041 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
7042 IRpcChannelBuffer2
* This
,
7043 DWORD
* pdwDestContext
,
7044 void** ppvDestContext
);
7046 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
7047 IRpcChannelBuffer2
* This
);
7049 /*** IRpcChannelBuffer2 methods ***/
7050 HRESULT (STDMETHODCALLTYPE
*GetProtocolVersion
)(
7051 IRpcChannelBuffer2
* This
,
7056 /*** IUnknown methods ***/
7057 #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7058 #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p)
7059 #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p)
7060 /*** IRpcChannelBuffer methods ***/
7061 #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7062 #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7063 #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7064 #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7065 #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7066 /*** IRpcChannelBuffer2 methods ***/
7067 #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
7071 #define IRpcChannelBuffer2_METHODS \
7072 ICOM_MSVTABLE_COMPAT_FIELDS \
7073 /*** IUnknown methods ***/ \
7074 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7075 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7076 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7077 /*** IRpcChannelBuffer methods ***/ \
7078 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
7079 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
7080 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
7081 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7082 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
7083 /*** IRpcChannelBuffer2 methods ***/ \
7084 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE;
7086 HRESULT CALLBACK
IRpcChannelBuffer2_GetProtocolVersion_Proxy(
7087 IRpcChannelBuffer2
* This
,
7089 void __RPC_STUB
IRpcChannelBuffer2_GetProtocolVersion_Stub(
7090 struct IRpcStubBuffer
* This
,
7091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7092 PRPC_MESSAGE pRpcMessage
,
7093 DWORD
* pdwStubPhase
);
7095 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3
;
7096 typedef IRpcChannelBuffer3
*LPRPCCHANNELBUFFER3
;
7098 /*****************************************************************************
7099 * IRpcChannelBuffer3 interface
7101 DEFINE_GUID(IID_IRpcChannelBuffer3
, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
7102 #if defined(__cplusplus) && !defined(CINTERFACE)
7103 struct IRpcChannelBuffer3
: public IRpcChannelBuffer2
7105 virtual HRESULT STDMETHODCALLTYPE
Send(
7106 RPCOLEMESSAGE
* pMsg
,
7107 ULONG
* pulStatus
) = 0;
7109 virtual HRESULT STDMETHODCALLTYPE
Receive(
7110 RPCOLEMESSAGE
* pMsg
,
7112 ULONG
* pulStatus
) = 0;
7114 virtual HRESULT STDMETHODCALLTYPE
Cancel(
7115 RPCOLEMESSAGE
* pMsg
) = 0;
7117 virtual HRESULT STDMETHODCALLTYPE
GetCallContext(
7118 RPCOLEMESSAGE
* pMsg
,
7120 void** pInterface
) = 0;
7122 virtual HRESULT STDMETHODCALLTYPE
GetDestCtxEx(
7123 RPCOLEMESSAGE
* pMsg
,
7124 DWORD
* pdwDestContext
,
7125 void** ppvDestContext
) = 0;
7127 virtual HRESULT STDMETHODCALLTYPE
GetState(
7128 RPCOLEMESSAGE
* pMsg
,
7131 virtual HRESULT STDMETHODCALLTYPE
RegisterAsync(
7132 RPCOLEMESSAGE
* pMsg
,
7133 IAsyncManager
* pAsyncMgr
) = 0;
7137 typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl
;
7138 struct IRpcChannelBuffer3
{
7139 const IRpcChannelBuffer3Vtbl
* lpVtbl
;
7141 struct IRpcChannelBuffer3Vtbl
{
7142 ICOM_MSVTABLE_COMPAT_FIELDS
7144 /*** IUnknown methods ***/
7145 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7146 IRpcChannelBuffer3
* This
,
7150 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7151 IRpcChannelBuffer3
* This
);
7153 ULONG (STDMETHODCALLTYPE
*Release
)(
7154 IRpcChannelBuffer3
* This
);
7156 /*** IRpcChannelBuffer methods ***/
7157 HRESULT (STDMETHODCALLTYPE
*GetBuffer
)(
7158 IRpcChannelBuffer3
* This
,
7159 RPCOLEMESSAGE
* pMessage
,
7162 HRESULT (STDMETHODCALLTYPE
*SendReceive
)(
7163 IRpcChannelBuffer3
* This
,
7164 RPCOLEMESSAGE
* pMessage
,
7167 HRESULT (STDMETHODCALLTYPE
*FreeBuffer
)(
7168 IRpcChannelBuffer3
* This
,
7169 RPCOLEMESSAGE
* pMessage
);
7171 HRESULT (STDMETHODCALLTYPE
*GetDestCtx
)(
7172 IRpcChannelBuffer3
* This
,
7173 DWORD
* pdwDestContext
,
7174 void** ppvDestContext
);
7176 HRESULT (STDMETHODCALLTYPE
*IsConnected
)(
7177 IRpcChannelBuffer3
* This
);
7179 /*** IRpcChannelBuffer2 methods ***/
7180 HRESULT (STDMETHODCALLTYPE
*GetProtocolVersion
)(
7181 IRpcChannelBuffer3
* This
,
7184 /*** IRpcChannelBuffer3 methods ***/
7185 HRESULT (STDMETHODCALLTYPE
*Send
)(
7186 IRpcChannelBuffer3
* This
,
7187 RPCOLEMESSAGE
* pMsg
,
7190 HRESULT (STDMETHODCALLTYPE
*Receive
)(
7191 IRpcChannelBuffer3
* This
,
7192 RPCOLEMESSAGE
* pMsg
,
7196 HRESULT (STDMETHODCALLTYPE
*Cancel
)(
7197 IRpcChannelBuffer3
* This
,
7198 RPCOLEMESSAGE
* pMsg
);
7200 HRESULT (STDMETHODCALLTYPE
*GetCallContext
)(
7201 IRpcChannelBuffer3
* This
,
7202 RPCOLEMESSAGE
* pMsg
,
7206 HRESULT (STDMETHODCALLTYPE
*GetDestCtxEx
)(
7207 IRpcChannelBuffer3
* This
,
7208 RPCOLEMESSAGE
* pMsg
,
7209 DWORD
* pdwDestContext
,
7210 void** ppvDestContext
);
7212 HRESULT (STDMETHODCALLTYPE
*GetState
)(
7213 IRpcChannelBuffer3
* This
,
7214 RPCOLEMESSAGE
* pMsg
,
7217 HRESULT (STDMETHODCALLTYPE
*RegisterAsync
)(
7218 IRpcChannelBuffer3
* This
,
7219 RPCOLEMESSAGE
* pMsg
,
7220 IAsyncManager
* pAsyncMgr
);
7224 /*** IUnknown methods ***/
7225 #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7226 #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p)
7227 #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p)
7228 /*** IRpcChannelBuffer methods ***/
7229 #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7230 #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7231 #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7232 #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7233 #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7234 /*** IRpcChannelBuffer2 methods ***/
7235 #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
7236 /*** IRpcChannelBuffer3 methods ***/
7237 #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b)
7238 #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c)
7239 #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a)
7240 #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c)
7241 #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c)
7242 #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
7243 #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b)
7247 #define IRpcChannelBuffer3_METHODS \
7248 ICOM_MSVTABLE_COMPAT_FIELDS \
7249 /*** IUnknown methods ***/ \
7250 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7251 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7252 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7253 /*** IRpcChannelBuffer methods ***/ \
7254 STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \
7255 STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \
7256 STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \
7257 STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7258 STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \
7259 /*** IRpcChannelBuffer2 methods ***/ \
7260 STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; \
7261 /*** IRpcChannelBuffer3 methods ***/ \
7262 STDMETHOD_(HRESULT,Send)(THIS_ RPCOLEMESSAGE* pMsg, ULONG* pulStatus) PURE; \
7263 STDMETHOD_(HRESULT,Receive)(THIS_ RPCOLEMESSAGE* pMsg, ULONG ulSize, ULONG* pulStatus) PURE; \
7264 STDMETHOD_(HRESULT,Cancel)(THIS_ RPCOLEMESSAGE* pMsg) PURE; \
7265 STDMETHOD_(HRESULT,GetCallContext)(THIS_ RPCOLEMESSAGE* pMsg, REFIID riid, void** pInterface) PURE; \
7266 STDMETHOD_(HRESULT,GetDestCtxEx)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pdwDestContext, void** ppvDestContext) PURE; \
7267 STDMETHOD_(HRESULT,GetState)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pState) PURE; \
7268 STDMETHOD_(HRESULT,RegisterAsync)(THIS_ RPCOLEMESSAGE* pMsg, IAsyncManager* pAsyncMgr) PURE;
7270 HRESULT CALLBACK
IRpcChannelBuffer3_Send_Proxy(
7271 IRpcChannelBuffer3
* This
,
7272 RPCOLEMESSAGE
* pMsg
,
7274 void __RPC_STUB
IRpcChannelBuffer3_Send_Stub(
7275 struct IRpcStubBuffer
* This
,
7276 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7277 PRPC_MESSAGE pRpcMessage
,
7278 DWORD
* pdwStubPhase
);
7279 HRESULT CALLBACK
IRpcChannelBuffer3_Receive_Proxy(
7280 IRpcChannelBuffer3
* This
,
7281 RPCOLEMESSAGE
* pMsg
,
7284 void __RPC_STUB
IRpcChannelBuffer3_Receive_Stub(
7285 struct IRpcStubBuffer
* This
,
7286 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7287 PRPC_MESSAGE pRpcMessage
,
7288 DWORD
* pdwStubPhase
);
7289 HRESULT CALLBACK
IRpcChannelBuffer3_Cancel_Proxy(
7290 IRpcChannelBuffer3
* This
,
7291 RPCOLEMESSAGE
* pMsg
);
7292 void __RPC_STUB
IRpcChannelBuffer3_Cancel_Stub(
7293 struct IRpcStubBuffer
* This
,
7294 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7295 PRPC_MESSAGE pRpcMessage
,
7296 DWORD
* pdwStubPhase
);
7297 HRESULT CALLBACK
IRpcChannelBuffer3_GetCallContext_Proxy(
7298 IRpcChannelBuffer3
* This
,
7299 RPCOLEMESSAGE
* pMsg
,
7302 void __RPC_STUB
IRpcChannelBuffer3_GetCallContext_Stub(
7303 struct IRpcStubBuffer
* This
,
7304 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7305 PRPC_MESSAGE pRpcMessage
,
7306 DWORD
* pdwStubPhase
);
7307 HRESULT CALLBACK
IRpcChannelBuffer3_GetDestCtxEx_Proxy(
7308 IRpcChannelBuffer3
* This
,
7309 RPCOLEMESSAGE
* pMsg
,
7310 DWORD
* pdwDestContext
,
7311 void** ppvDestContext
);
7312 void __RPC_STUB
IRpcChannelBuffer3_GetDestCtxEx_Stub(
7313 struct IRpcStubBuffer
* This
,
7314 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7315 PRPC_MESSAGE pRpcMessage
,
7316 DWORD
* pdwStubPhase
);
7317 HRESULT CALLBACK
IRpcChannelBuffer3_GetState_Proxy(
7318 IRpcChannelBuffer3
* This
,
7319 RPCOLEMESSAGE
* pMsg
,
7321 void __RPC_STUB
IRpcChannelBuffer3_GetState_Stub(
7322 struct IRpcStubBuffer
* This
,
7323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7324 PRPC_MESSAGE pRpcMessage
,
7325 DWORD
* pdwStubPhase
);
7326 HRESULT CALLBACK
IRpcChannelBuffer3_RegisterAsync_Proxy(
7327 IRpcChannelBuffer3
* This
,
7328 RPCOLEMESSAGE
* pMsg
,
7329 IAsyncManager
* pAsyncMgr
);
7330 void __RPC_STUB
IRpcChannelBuffer3_RegisterAsync_Stub(
7331 struct IRpcStubBuffer
* This
,
7332 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7333 PRPC_MESSAGE pRpcMessage
,
7334 DWORD
* pdwStubPhase
);
7336 typedef struct IRpcProxyBuffer IRpcProxyBuffer
;
7337 typedef IRpcProxyBuffer
*LPRPCPROXYBUFFER
;
7339 /*****************************************************************************
7340 * IRpcProxyBuffer interface
7342 DEFINE_GUID(IID_IRpcProxyBuffer
, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7343 #if defined(__cplusplus) && !defined(CINTERFACE)
7344 struct IRpcProxyBuffer
: public IUnknown
7346 virtual HRESULT STDMETHODCALLTYPE
Connect(
7347 IRpcChannelBuffer
* pRpcChannelBuffer
) = 0;
7349 virtual void STDMETHODCALLTYPE
Disconnect(
7354 typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl
;
7355 struct IRpcProxyBuffer
{
7356 const IRpcProxyBufferVtbl
* lpVtbl
;
7358 struct IRpcProxyBufferVtbl
{
7359 ICOM_MSVTABLE_COMPAT_FIELDS
7361 /*** IUnknown methods ***/
7362 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7363 IRpcProxyBuffer
* This
,
7367 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7368 IRpcProxyBuffer
* This
);
7370 ULONG (STDMETHODCALLTYPE
*Release
)(
7371 IRpcProxyBuffer
* This
);
7373 /*** IRpcProxyBuffer methods ***/
7374 HRESULT (STDMETHODCALLTYPE
*Connect
)(
7375 IRpcProxyBuffer
* This
,
7376 IRpcChannelBuffer
* pRpcChannelBuffer
);
7378 void (STDMETHODCALLTYPE
*Disconnect
)(
7379 IRpcProxyBuffer
* This
);
7383 /*** IUnknown methods ***/
7384 #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7385 #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7386 #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p)
7387 /*** IRpcProxyBuffer methods ***/
7388 #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7389 #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7393 #define IRpcProxyBuffer_METHODS \
7394 ICOM_MSVTABLE_COMPAT_FIELDS \
7395 /*** IUnknown methods ***/ \
7396 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7397 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7398 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7399 /*** IRpcProxyBuffer methods ***/ \
7400 STDMETHOD_(HRESULT,Connect)(THIS_ IRpcChannelBuffer* pRpcChannelBuffer) PURE; \
7401 STDMETHOD_(void,Disconnect)(THIS) PURE;
7403 HRESULT CALLBACK
IRpcProxyBuffer_Connect_Proxy(
7404 IRpcProxyBuffer
* This
,
7405 IRpcChannelBuffer
* pRpcChannelBuffer
);
7406 void __RPC_STUB
IRpcProxyBuffer_Connect_Stub(
7407 struct IRpcStubBuffer
* This
,
7408 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7409 PRPC_MESSAGE pRpcMessage
,
7410 DWORD
* pdwStubPhase
);
7411 void CALLBACK
IRpcProxyBuffer_Disconnect_Proxy(
7412 IRpcProxyBuffer
* This
);
7413 void __RPC_STUB
IRpcProxyBuffer_Disconnect_Stub(
7414 struct IRpcStubBuffer
* This
,
7415 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7416 PRPC_MESSAGE pRpcMessage
,
7417 DWORD
* pdwStubPhase
);
7419 typedef struct IRpcStubBuffer IRpcStubBuffer
;
7420 typedef IRpcStubBuffer
*LPRPCSTUBBUFFER
;
7422 /*****************************************************************************
7423 * IRpcStubBuffer interface
7425 DEFINE_GUID(IID_IRpcStubBuffer
, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7426 #if defined(__cplusplus) && !defined(CINTERFACE)
7427 struct IRpcStubBuffer
: public IUnknown
7429 virtual HRESULT STDMETHODCALLTYPE
Connect(
7430 IUnknown
* pUnkServer
) = 0;
7432 virtual void STDMETHODCALLTYPE
Disconnect(
7435 virtual HRESULT STDMETHODCALLTYPE
Invoke(
7436 RPCOLEMESSAGE
* _prpcmsg
,
7437 IRpcChannelBuffer
* _pRpcChannelBuffer
) = 0;
7439 virtual IRpcStubBuffer
* STDMETHODCALLTYPE
IsIIDSupported(
7442 virtual ULONG STDMETHODCALLTYPE
CountRefs(
7445 virtual HRESULT STDMETHODCALLTYPE
DebugServerQueryInterface(
7448 virtual void STDMETHODCALLTYPE
DebugServerRelease(
7453 typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl
;
7454 struct IRpcStubBuffer
{
7455 const IRpcStubBufferVtbl
* lpVtbl
;
7457 struct IRpcStubBufferVtbl
{
7458 ICOM_MSVTABLE_COMPAT_FIELDS
7460 /*** IUnknown methods ***/
7461 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7462 IRpcStubBuffer
* This
,
7466 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7467 IRpcStubBuffer
* This
);
7469 ULONG (STDMETHODCALLTYPE
*Release
)(
7470 IRpcStubBuffer
* This
);
7472 /*** IRpcStubBuffer methods ***/
7473 HRESULT (STDMETHODCALLTYPE
*Connect
)(
7474 IRpcStubBuffer
* This
,
7475 IUnknown
* pUnkServer
);
7477 void (STDMETHODCALLTYPE
*Disconnect
)(
7478 IRpcStubBuffer
* This
);
7480 HRESULT (STDMETHODCALLTYPE
*Invoke
)(
7481 IRpcStubBuffer
* This
,
7482 RPCOLEMESSAGE
* _prpcmsg
,
7483 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7485 IRpcStubBuffer
* (STDMETHODCALLTYPE
*IsIIDSupported
)(
7486 IRpcStubBuffer
* This
,
7489 ULONG (STDMETHODCALLTYPE
*CountRefs
)(
7490 IRpcStubBuffer
* This
);
7492 HRESULT (STDMETHODCALLTYPE
*DebugServerQueryInterface
)(
7493 IRpcStubBuffer
* This
,
7496 void (STDMETHODCALLTYPE
*DebugServerRelease
)(
7497 IRpcStubBuffer
* This
,
7502 /*** IUnknown methods ***/
7503 #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7504 #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7505 #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p)
7506 /*** IRpcStubBuffer methods ***/
7507 #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7508 #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7509 #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b)
7510 #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a)
7511 #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p)
7512 #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a)
7513 #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a)
7517 #define IRpcStubBuffer_METHODS \
7518 ICOM_MSVTABLE_COMPAT_FIELDS \
7519 /*** IUnknown methods ***/ \
7520 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7521 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7522 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7523 /*** IRpcStubBuffer methods ***/ \
7524 STDMETHOD_(HRESULT,Connect)(THIS_ IUnknown* pUnkServer) PURE; \
7525 STDMETHOD_(void,Disconnect)(THIS) PURE; \
7526 STDMETHOD_(HRESULT,Invoke)(THIS_ RPCOLEMESSAGE* _prpcmsg, IRpcChannelBuffer* _pRpcChannelBuffer) PURE; \
7527 STDMETHOD_(IRpcStubBuffer*,IsIIDSupported)(THIS_ REFIID riid) PURE; \
7528 STDMETHOD_(ULONG,CountRefs)(THIS) PURE; \
7529 STDMETHOD_(HRESULT,DebugServerQueryInterface)(THIS_ void** ppv) PURE; \
7530 STDMETHOD_(void,DebugServerRelease)(THIS_ void* pv) PURE;
7532 HRESULT CALLBACK
IRpcStubBuffer_Connect_Proxy(
7533 IRpcStubBuffer
* This
,
7534 IUnknown
* pUnkServer
);
7535 void __RPC_STUB
IRpcStubBuffer_Connect_Stub(
7536 struct IRpcStubBuffer
* This
,
7537 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7538 PRPC_MESSAGE pRpcMessage
,
7539 DWORD
* pdwStubPhase
);
7540 void CALLBACK
IRpcStubBuffer_Disconnect_Proxy(
7541 IRpcStubBuffer
* This
);
7542 void __RPC_STUB
IRpcStubBuffer_Disconnect_Stub(
7543 struct IRpcStubBuffer
* This
,
7544 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7545 PRPC_MESSAGE pRpcMessage
,
7546 DWORD
* pdwStubPhase
);
7547 HRESULT CALLBACK
IRpcStubBuffer_Invoke_Proxy(
7548 IRpcStubBuffer
* This
,
7549 RPCOLEMESSAGE
* _prpcmsg
,
7550 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7551 void __RPC_STUB
IRpcStubBuffer_Invoke_Stub(
7552 struct IRpcStubBuffer
* This
,
7553 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7554 PRPC_MESSAGE pRpcMessage
,
7555 DWORD
* pdwStubPhase
);
7556 IRpcStubBuffer
* CALLBACK
IRpcStubBuffer_IsIIDSupported_Proxy(
7557 IRpcStubBuffer
* This
,
7559 void __RPC_STUB
IRpcStubBuffer_IsIIDSupported_Stub(
7560 struct IRpcStubBuffer
* This
,
7561 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7562 PRPC_MESSAGE pRpcMessage
,
7563 DWORD
* pdwStubPhase
);
7564 ULONG CALLBACK
IRpcStubBuffer_CountRefs_Proxy(
7565 IRpcStubBuffer
* This
);
7566 void __RPC_STUB
IRpcStubBuffer_CountRefs_Stub(
7567 struct IRpcStubBuffer
* This
,
7568 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7569 PRPC_MESSAGE pRpcMessage
,
7570 DWORD
* pdwStubPhase
);
7571 HRESULT CALLBACK
IRpcStubBuffer_DebugServerQueryInterface_Proxy(
7572 IRpcStubBuffer
* This
,
7574 void __RPC_STUB
IRpcStubBuffer_DebugServerQueryInterface_Stub(
7575 struct IRpcStubBuffer
* This
,
7576 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7577 PRPC_MESSAGE pRpcMessage
,
7578 DWORD
* pdwStubPhase
);
7579 void CALLBACK
IRpcStubBuffer_DebugServerRelease_Proxy(
7580 IRpcStubBuffer
* This
,
7582 void __RPC_STUB
IRpcStubBuffer_DebugServerRelease_Stub(
7583 struct IRpcStubBuffer
* This
,
7584 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7585 PRPC_MESSAGE pRpcMessage
,
7586 DWORD
* pdwStubPhase
);
7588 typedef struct IPSFactoryBuffer IPSFactoryBuffer
;
7589 typedef IPSFactoryBuffer
*LPPSFACTORYBUFFER
;
7591 /*****************************************************************************
7592 * IPSFactoryBuffer interface
7594 DEFINE_GUID(IID_IPSFactoryBuffer
, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7595 #if defined(__cplusplus) && !defined(CINTERFACE)
7596 struct IPSFactoryBuffer
: public IUnknown
7598 virtual HRESULT STDMETHODCALLTYPE
CreateProxy(
7599 IUnknown
* pUnkOuter
,
7601 IRpcProxyBuffer
** ppProxy
,
7604 virtual HRESULT STDMETHODCALLTYPE
CreateStub(
7606 IUnknown
* pUnkServer
,
7607 IRpcStubBuffer
** ppStub
) = 0;
7611 typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl
;
7612 struct IPSFactoryBuffer
{
7613 const IPSFactoryBufferVtbl
* lpVtbl
;
7615 struct IPSFactoryBufferVtbl
{
7616 ICOM_MSVTABLE_COMPAT_FIELDS
7618 /*** IUnknown methods ***/
7619 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7620 IPSFactoryBuffer
* This
,
7624 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7625 IPSFactoryBuffer
* This
);
7627 ULONG (STDMETHODCALLTYPE
*Release
)(
7628 IPSFactoryBuffer
* This
);
7630 /*** IPSFactoryBuffer methods ***/
7631 HRESULT (STDMETHODCALLTYPE
*CreateProxy
)(
7632 IPSFactoryBuffer
* This
,
7633 IUnknown
* pUnkOuter
,
7635 IRpcProxyBuffer
** ppProxy
,
7638 HRESULT (STDMETHODCALLTYPE
*CreateStub
)(
7639 IPSFactoryBuffer
* This
,
7641 IUnknown
* pUnkServer
,
7642 IRpcStubBuffer
** ppStub
);
7646 /*** IUnknown methods ***/
7647 #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7648 #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7649 #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p)
7650 /*** IPSFactoryBuffer methods ***/
7651 #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d)
7652 #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c)
7656 #define IPSFactoryBuffer_METHODS \
7657 ICOM_MSVTABLE_COMPAT_FIELDS \
7658 /*** IUnknown methods ***/ \
7659 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7660 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7661 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7662 /*** IPSFactoryBuffer methods ***/ \
7663 STDMETHOD_(HRESULT,CreateProxy)(THIS_ IUnknown* pUnkOuter, REFIID riid, IRpcProxyBuffer** ppProxy, void** ppv) PURE; \
7664 STDMETHOD_(HRESULT,CreateStub)(THIS_ REFIID riid, IUnknown* pUnkServer, IRpcStubBuffer** ppStub) PURE;
7666 HRESULT CALLBACK
IPSFactoryBuffer_CreateProxy_Proxy(
7667 IPSFactoryBuffer
* This
,
7668 IUnknown
* pUnkOuter
,
7670 IRpcProxyBuffer
** ppProxy
,
7672 void __RPC_STUB
IPSFactoryBuffer_CreateProxy_Stub(
7673 struct IRpcStubBuffer
* This
,
7674 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7675 PRPC_MESSAGE pRpcMessage
,
7676 DWORD
* pdwStubPhase
);
7677 HRESULT CALLBACK
IPSFactoryBuffer_CreateStub_Proxy(
7678 IPSFactoryBuffer
* This
,
7680 IUnknown
* pUnkServer
,
7681 IRpcStubBuffer
** ppStub
);
7682 void __RPC_STUB
IPSFactoryBuffer_CreateStub_Stub(
7683 struct IRpcStubBuffer
* This
,
7684 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7685 PRPC_MESSAGE pRpcMessage
,
7686 DWORD
* pdwStubPhase
);
7688 typedef struct IChannelHook IChannelHook
;
7689 typedef IChannelHook
*LPCHANNELHOOK
;
7691 typedef struct SChannelHookCallInfo
{
7698 } SChannelHookCallInfo
;
7700 /*****************************************************************************
7701 * IChannelHook interface
7703 DEFINE_GUID(IID_IChannelHook
, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
7704 #if defined(__cplusplus) && !defined(CINTERFACE)
7705 struct IChannelHook
: public IUnknown
7707 virtual void STDMETHODCALLTYPE
ClientGetSize(
7710 ULONG
* pDataSize
) = 0;
7712 virtual void STDMETHODCALLTYPE
ClientFillBuffer(
7716 void* pDataBuffer
) = 0;
7718 virtual void STDMETHODCALLTYPE
ClientNotify(
7724 HRESULT hrFault
) = 0;
7726 virtual void STDMETHODCALLTYPE
ServerNotify(
7731 DWORD lDataRep
) = 0;
7733 virtual void STDMETHODCALLTYPE
ServerGetSize(
7737 ULONG
* pDataSize
) = 0;
7739 virtual void STDMETHODCALLTYPE
ServerFillBuffer(
7744 HRESULT hrFault
) = 0;
7748 typedef struct IChannelHookVtbl IChannelHookVtbl
;
7749 struct IChannelHook
{
7750 const IChannelHookVtbl
* lpVtbl
;
7752 struct IChannelHookVtbl
{
7753 ICOM_MSVTABLE_COMPAT_FIELDS
7755 /*** IUnknown methods ***/
7756 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
7761 ULONG (STDMETHODCALLTYPE
*AddRef
)(
7762 IChannelHook
* This
);
7764 ULONG (STDMETHODCALLTYPE
*Release
)(
7765 IChannelHook
* This
);
7767 /*** IChannelHook methods ***/
7768 void (STDMETHODCALLTYPE
*ClientGetSize
)(
7774 void (STDMETHODCALLTYPE
*ClientFillBuffer
)(
7781 void (STDMETHODCALLTYPE
*ClientNotify
)(
7790 void (STDMETHODCALLTYPE
*ServerNotify
)(
7798 void (STDMETHODCALLTYPE
*ServerGetSize
)(
7805 void (STDMETHODCALLTYPE
*ServerFillBuffer
)(
7815 /*** IUnknown methods ***/
7816 #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7817 #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p)
7818 #define IChannelHook_Release(p) (p)->lpVtbl->Release(p)
7819 /*** IChannelHook methods ***/
7820 #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c)
7821 #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d)
7822 #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f)
7823 #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e)
7824 #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d)
7825 #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e)
7829 #define IChannelHook_METHODS \
7830 ICOM_MSVTABLE_COMPAT_FIELDS \
7831 /*** IUnknown methods ***/ \
7832 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
7833 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
7834 STDMETHOD_(ULONG,Release)(THIS) PURE; \
7835 /*** IChannelHook methods ***/ \
7836 STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize) PURE; \
7837 STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer) PURE; \
7838 STDMETHOD_(void,ClientNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep, HRESULT hrFault) PURE; \
7839 STDMETHOD_(void,ServerNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep) PURE; \
7840 STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID uExtent, REFIID riid, HRESULT hrFault, ULONG* pDataSize) PURE; \
7841 STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer, HRESULT hrFault) PURE;
7843 void CALLBACK
IChannelHook_ClientGetSize_Proxy(
7848 void __RPC_STUB
IChannelHook_ClientGetSize_Stub(
7849 struct IRpcStubBuffer
* This
,
7850 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7851 PRPC_MESSAGE pRpcMessage
,
7852 DWORD
* pdwStubPhase
);
7853 void CALLBACK
IChannelHook_ClientFillBuffer_Proxy(
7859 void __RPC_STUB
IChannelHook_ClientFillBuffer_Stub(
7860 struct IRpcStubBuffer
* This
,
7861 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7862 PRPC_MESSAGE pRpcMessage
,
7863 DWORD
* pdwStubPhase
);
7864 void CALLBACK
IChannelHook_ClientNotify_Proxy(
7872 void __RPC_STUB
IChannelHook_ClientNotify_Stub(
7873 struct IRpcStubBuffer
* This
,
7874 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7875 PRPC_MESSAGE pRpcMessage
,
7876 DWORD
* pdwStubPhase
);
7877 void CALLBACK
IChannelHook_ServerNotify_Proxy(
7884 void __RPC_STUB
IChannelHook_ServerNotify_Stub(
7885 struct IRpcStubBuffer
* This
,
7886 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7887 PRPC_MESSAGE pRpcMessage
,
7888 DWORD
* pdwStubPhase
);
7889 void CALLBACK
IChannelHook_ServerGetSize_Proxy(
7895 void __RPC_STUB
IChannelHook_ServerGetSize_Stub(
7896 struct IRpcStubBuffer
* This
,
7897 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7898 PRPC_MESSAGE pRpcMessage
,
7899 DWORD
* pdwStubPhase
);
7900 void CALLBACK
IChannelHook_ServerFillBuffer_Proxy(
7907 void __RPC_STUB
IChannelHook_ServerFillBuffer_Stub(
7908 struct IRpcStubBuffer
* This
,
7909 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7910 PRPC_MESSAGE pRpcMessage
,
7911 DWORD
* pdwStubPhase
);
7913 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG
;
7914 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG
;
7915 typedef struct IPropertyStorage IPropertyStorage
;
7916 typedef IPropertyStorage
*LPPROPERTYSTORAGE
;
7918 extern const FMTID FMTID_SummaryInformation
;
7920 extern const FMTID FMTID_DocSummaryInformation
;
7922 extern const FMTID FMTID_UserDefinedProperties
;
7924 #define PROPSETFLAG_DEFAULT (0)
7926 #define PROPSETFLAG_NONSIMPLE (1)
7928 #define PROPSETFLAG_ANSI (2)
7930 #define PROPSETFLAG_UNBUFFERED (4)
7932 typedef struct tagPROPVARIANT PROPVARIANT
;
7934 typedef struct tagCAUB
{
7936 unsigned char *pElems
;
7939 typedef struct tagCAI
{
7944 typedef struct tagCAUI
{
7949 typedef struct tagCAL
{
7954 typedef struct tagCAUL
{
7959 typedef struct tagCAFLT
{
7964 typedef struct tagCADBL
{
7969 typedef struct tagCACY
{
7974 typedef struct tagCADATE
{
7979 typedef struct tagCABSTR
{
7984 typedef struct tagCABSTRBLOB
{
7989 typedef struct tagCABOOL
{
7991 VARIANT_BOOL
*pElems
;
7994 typedef struct tagCASCODE
{
7999 typedef struct tagCAPROPVARIANT
{
8001 PROPVARIANT
*pElems
;
8004 typedef struct tagCAH
{
8006 LARGE_INTEGER
*pElems
;
8009 typedef struct tagCAUH
{
8011 ULARGE_INTEGER
*pElems
;
8014 typedef struct tagCALPSTR
{
8019 typedef struct tagCALPWSTR
{
8024 typedef struct tagCAFILETIME
{
8029 typedef struct tagCACLIPDATA
{
8034 typedef struct tagCACLSID
{
8039 struct tagPROPVARIANT
{
8049 VARIANT_BOOL boolVal
;
8055 ULARGE_INTEGER uhVal
;
8062 CLIPDATA
*pclipdata
;
8066 BSTRBLOB bstrblobVal
;
8082 CAFILETIME cafiletime
;
8084 CACLIPDATA caclipdata
;
8086 CABSTRBLOB cabstrblob
;
8089 CAPROPVARIANT capropvar
;
8093 typedef struct tagPROPVARIANT
*LPPROPVARIANT
;
8095 #define PRSPEC_INVALID (0x7fffffff)
8097 #define PRSPEC_LPWSTR (0)
8099 #define PRSPEC_PROPID (1)
8101 typedef struct tagPROPSPEC
{
8109 typedef struct tagSTATPROPSTG
{
8110 LPOLESTR lpwstrName
;
8115 typedef struct tagSTATPROPSETSTG
{
8125 /*****************************************************************************
8126 * IPropertyStorage interface
8128 DEFINE_GUID(IID_IPropertyStorage
, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8129 #if defined(__cplusplus) && !defined(CINTERFACE)
8130 struct IPropertyStorage
: public IUnknown
8132 virtual HRESULT STDMETHODCALLTYPE
ReadMultiple(
8134 const PROPSPEC rgpspec
[],
8135 PROPVARIANT rgpropvar
[]) = 0;
8137 virtual HRESULT STDMETHODCALLTYPE
WriteMultiple(
8139 const PROPSPEC rgpspec
[],
8140 const PROPVARIANT rgpropvar
[],
8141 PROPID propidNameFirst
) = 0;
8143 virtual HRESULT STDMETHODCALLTYPE
DeleteMultiple(
8145 const PROPSPEC rgpspec
[]) = 0;
8147 virtual HRESULT STDMETHODCALLTYPE
ReadPropertyNames(
8149 const PROPID rgpropid
[],
8150 LPOLESTR rglpwstrName
[]) = 0;
8152 virtual HRESULT STDMETHODCALLTYPE
WritePropertyNames(
8154 const PROPID rgpropid
[],
8155 const LPOLESTR rglpwstrName
[]) = 0;
8157 virtual HRESULT STDMETHODCALLTYPE
DeletePropertyNames(
8159 const PROPID rgpropid
[]) = 0;
8161 virtual HRESULT STDMETHODCALLTYPE
Commit(
8162 DWORD grfCommitFlags
) = 0;
8164 virtual HRESULT STDMETHODCALLTYPE
Revert(
8167 virtual HRESULT STDMETHODCALLTYPE
Enum(
8168 IEnumSTATPROPSTG
** ppenum
) = 0;
8170 virtual HRESULT STDMETHODCALLTYPE
SetTimes(
8171 const FILETIME
* pctime
,
8172 const FILETIME
* patime
,
8173 const FILETIME
* pmtime
) = 0;
8175 virtual HRESULT STDMETHODCALLTYPE
SetClass(
8176 REFCLSID clsid
) = 0;
8178 virtual HRESULT STDMETHODCALLTYPE
Stat(
8179 STATPROPSETSTG
* statpsstg
) = 0;
8183 typedef struct IPropertyStorageVtbl IPropertyStorageVtbl
;
8184 struct IPropertyStorage
{
8185 const IPropertyStorageVtbl
* lpVtbl
;
8187 struct IPropertyStorageVtbl
{
8188 ICOM_MSVTABLE_COMPAT_FIELDS
8190 /*** IUnknown methods ***/
8191 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8192 IPropertyStorage
* This
,
8196 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8197 IPropertyStorage
* This
);
8199 ULONG (STDMETHODCALLTYPE
*Release
)(
8200 IPropertyStorage
* This
);
8202 /*** IPropertyStorage methods ***/
8203 HRESULT (STDMETHODCALLTYPE
*ReadMultiple
)(
8204 IPropertyStorage
* This
,
8206 const PROPSPEC rgpspec
[],
8207 PROPVARIANT rgpropvar
[]);
8209 HRESULT (STDMETHODCALLTYPE
*WriteMultiple
)(
8210 IPropertyStorage
* This
,
8212 const PROPSPEC rgpspec
[],
8213 const PROPVARIANT rgpropvar
[],
8214 PROPID propidNameFirst
);
8216 HRESULT (STDMETHODCALLTYPE
*DeleteMultiple
)(
8217 IPropertyStorage
* This
,
8219 const PROPSPEC rgpspec
[]);
8221 HRESULT (STDMETHODCALLTYPE
*ReadPropertyNames
)(
8222 IPropertyStorage
* This
,
8224 const PROPID rgpropid
[],
8225 LPOLESTR rglpwstrName
[]);
8227 HRESULT (STDMETHODCALLTYPE
*WritePropertyNames
)(
8228 IPropertyStorage
* This
,
8230 const PROPID rgpropid
[],
8231 const LPOLESTR rglpwstrName
[]);
8233 HRESULT (STDMETHODCALLTYPE
*DeletePropertyNames
)(
8234 IPropertyStorage
* This
,
8236 const PROPID rgpropid
[]);
8238 HRESULT (STDMETHODCALLTYPE
*Commit
)(
8239 IPropertyStorage
* This
,
8240 DWORD grfCommitFlags
);
8242 HRESULT (STDMETHODCALLTYPE
*Revert
)(
8243 IPropertyStorage
* This
);
8245 HRESULT (STDMETHODCALLTYPE
*Enum
)(
8246 IPropertyStorage
* This
,
8247 IEnumSTATPROPSTG
** ppenum
);
8249 HRESULT (STDMETHODCALLTYPE
*SetTimes
)(
8250 IPropertyStorage
* This
,
8251 const FILETIME
* pctime
,
8252 const FILETIME
* patime
,
8253 const FILETIME
* pmtime
);
8255 HRESULT (STDMETHODCALLTYPE
*SetClass
)(
8256 IPropertyStorage
* This
,
8259 HRESULT (STDMETHODCALLTYPE
*Stat
)(
8260 IPropertyStorage
* This
,
8261 STATPROPSETSTG
* statpsstg
);
8265 /*** IUnknown methods ***/
8266 #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8267 #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8268 #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
8269 /*** IPropertyStorage methods ***/
8270 #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
8271 #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
8272 #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
8273 #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
8274 #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
8275 #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
8276 #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
8277 #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
8278 #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8279 #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
8280 #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
8281 #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
8285 #define IPropertyStorage_METHODS \
8286 ICOM_MSVTABLE_COMPAT_FIELDS \
8287 /*** IUnknown methods ***/ \
8288 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8289 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8290 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8291 /*** IPropertyStorage methods ***/ \
8292 STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
8293 STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
8294 STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
8295 STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
8296 STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
8297 STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
8298 STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
8299 STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
8300 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
8301 STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
8302 STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
8303 STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
8305 HRESULT CALLBACK
IPropertyStorage_ReadMultiple_Proxy(
8306 IPropertyStorage
* This
,
8308 const PROPSPEC rgpspec
[],
8309 PROPVARIANT rgpropvar
[]);
8310 void __RPC_STUB
IPropertyStorage_ReadMultiple_Stub(
8311 struct IRpcStubBuffer
* This
,
8312 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8313 PRPC_MESSAGE pRpcMessage
,
8314 DWORD
* pdwStubPhase
);
8315 HRESULT CALLBACK
IPropertyStorage_WriteMultiple_Proxy(
8316 IPropertyStorage
* This
,
8318 const PROPSPEC rgpspec
[],
8319 const PROPVARIANT rgpropvar
[],
8320 PROPID propidNameFirst
);
8321 void __RPC_STUB
IPropertyStorage_WriteMultiple_Stub(
8322 struct IRpcStubBuffer
* This
,
8323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8324 PRPC_MESSAGE pRpcMessage
,
8325 DWORD
* pdwStubPhase
);
8326 HRESULT CALLBACK
IPropertyStorage_DeleteMultiple_Proxy(
8327 IPropertyStorage
* This
,
8329 const PROPSPEC rgpspec
[]);
8330 void __RPC_STUB
IPropertyStorage_DeleteMultiple_Stub(
8331 struct IRpcStubBuffer
* This
,
8332 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8333 PRPC_MESSAGE pRpcMessage
,
8334 DWORD
* pdwStubPhase
);
8335 HRESULT CALLBACK
IPropertyStorage_ReadPropertyNames_Proxy(
8336 IPropertyStorage
* This
,
8338 const PROPID rgpropid
[],
8339 LPOLESTR rglpwstrName
[]);
8340 void __RPC_STUB
IPropertyStorage_ReadPropertyNames_Stub(
8341 struct IRpcStubBuffer
* This
,
8342 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8343 PRPC_MESSAGE pRpcMessage
,
8344 DWORD
* pdwStubPhase
);
8345 HRESULT CALLBACK
IPropertyStorage_WritePropertyNames_Proxy(
8346 IPropertyStorage
* This
,
8348 const PROPID rgpropid
[],
8349 const LPOLESTR rglpwstrName
[]);
8350 void __RPC_STUB
IPropertyStorage_WritePropertyNames_Stub(
8351 struct IRpcStubBuffer
* This
,
8352 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8353 PRPC_MESSAGE pRpcMessage
,
8354 DWORD
* pdwStubPhase
);
8355 HRESULT CALLBACK
IPropertyStorage_DeletePropertyNames_Proxy(
8356 IPropertyStorage
* This
,
8358 const PROPID rgpropid
[]);
8359 void __RPC_STUB
IPropertyStorage_DeletePropertyNames_Stub(
8360 struct IRpcStubBuffer
* This
,
8361 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8362 PRPC_MESSAGE pRpcMessage
,
8363 DWORD
* pdwStubPhase
);
8364 HRESULT CALLBACK
IPropertyStorage_Commit_Proxy(
8365 IPropertyStorage
* This
,
8366 DWORD grfCommitFlags
);
8367 void __RPC_STUB
IPropertyStorage_Commit_Stub(
8368 struct IRpcStubBuffer
* This
,
8369 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8370 PRPC_MESSAGE pRpcMessage
,
8371 DWORD
* pdwStubPhase
);
8372 HRESULT CALLBACK
IPropertyStorage_Revert_Proxy(
8373 IPropertyStorage
* This
);
8374 void __RPC_STUB
IPropertyStorage_Revert_Stub(
8375 struct IRpcStubBuffer
* This
,
8376 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8377 PRPC_MESSAGE pRpcMessage
,
8378 DWORD
* pdwStubPhase
);
8379 HRESULT CALLBACK
IPropertyStorage_Enum_Proxy(
8380 IPropertyStorage
* This
,
8381 IEnumSTATPROPSTG
** ppenum
);
8382 void __RPC_STUB
IPropertyStorage_Enum_Stub(
8383 struct IRpcStubBuffer
* This
,
8384 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8385 PRPC_MESSAGE pRpcMessage
,
8386 DWORD
* pdwStubPhase
);
8387 HRESULT CALLBACK
IPropertyStorage_SetTimes_Proxy(
8388 IPropertyStorage
* This
,
8389 const FILETIME
* pctime
,
8390 const FILETIME
* patime
,
8391 const FILETIME
* pmtime
);
8392 void __RPC_STUB
IPropertyStorage_SetTimes_Stub(
8393 struct IRpcStubBuffer
* This
,
8394 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8395 PRPC_MESSAGE pRpcMessage
,
8396 DWORD
* pdwStubPhase
);
8397 HRESULT CALLBACK
IPropertyStorage_SetClass_Proxy(
8398 IPropertyStorage
* This
,
8400 void __RPC_STUB
IPropertyStorage_SetClass_Stub(
8401 struct IRpcStubBuffer
* This
,
8402 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8403 PRPC_MESSAGE pRpcMessage
,
8404 DWORD
* pdwStubPhase
);
8405 HRESULT CALLBACK
IPropertyStorage_Stat_Proxy(
8406 IPropertyStorage
* This
,
8407 STATPROPSETSTG
* statpsstg
);
8408 void __RPC_STUB
IPropertyStorage_Stat_Stub(
8409 struct IRpcStubBuffer
* This
,
8410 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8411 PRPC_MESSAGE pRpcMessage
,
8412 DWORD
* pdwStubPhase
);
8414 typedef struct IPropertySetStorage IPropertySetStorage
;
8415 typedef IPropertySetStorage
*LPPROPERTYSETSTORAGE
;
8417 /*****************************************************************************
8418 * IPropertySetStorage interface
8420 DEFINE_GUID(IID_IPropertySetStorage
, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8421 #if defined(__cplusplus) && !defined(CINTERFACE)
8422 struct IPropertySetStorage
: public IUnknown
8424 virtual HRESULT STDMETHODCALLTYPE
Create(
8426 const CLSID
* pclsid
,
8429 IPropertyStorage
** ppprstg
) = 0;
8431 virtual HRESULT STDMETHODCALLTYPE
Open(
8434 IPropertyStorage
** ppprstg
) = 0;
8436 virtual HRESULT STDMETHODCALLTYPE
Delete(
8437 REFFMTID rfmtid
) = 0;
8439 virtual HRESULT STDMETHODCALLTYPE
Enum(
8440 IEnumSTATPROPSETSTG
** ppenum
) = 0;
8444 typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl
;
8445 struct IPropertySetStorage
{
8446 const IPropertySetStorageVtbl
* lpVtbl
;
8448 struct IPropertySetStorageVtbl
{
8449 ICOM_MSVTABLE_COMPAT_FIELDS
8451 /*** IUnknown methods ***/
8452 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8453 IPropertySetStorage
* This
,
8457 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8458 IPropertySetStorage
* This
);
8460 ULONG (STDMETHODCALLTYPE
*Release
)(
8461 IPropertySetStorage
* This
);
8463 /*** IPropertySetStorage methods ***/
8464 HRESULT (STDMETHODCALLTYPE
*Create
)(
8465 IPropertySetStorage
* This
,
8467 const CLSID
* pclsid
,
8470 IPropertyStorage
** ppprstg
);
8472 HRESULT (STDMETHODCALLTYPE
*Open
)(
8473 IPropertySetStorage
* This
,
8476 IPropertyStorage
** ppprstg
);
8478 HRESULT (STDMETHODCALLTYPE
*Delete
)(
8479 IPropertySetStorage
* This
,
8482 HRESULT (STDMETHODCALLTYPE
*Enum
)(
8483 IPropertySetStorage
* This
,
8484 IEnumSTATPROPSETSTG
** ppenum
);
8488 /*** IUnknown methods ***/
8489 #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8490 #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8491 #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
8492 /*** IPropertySetStorage methods ***/
8493 #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
8494 #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
8495 #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
8496 #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8500 #define IPropertySetStorage_METHODS \
8501 ICOM_MSVTABLE_COMPAT_FIELDS \
8502 /*** IUnknown methods ***/ \
8503 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8504 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8505 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8506 /*** IPropertySetStorage methods ***/ \
8507 STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8508 STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
8509 STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
8510 STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8512 HRESULT CALLBACK
IPropertySetStorage_Create_Proxy(
8513 IPropertySetStorage
* This
,
8515 const CLSID
* pclsid
,
8518 IPropertyStorage
** ppprstg
);
8519 void __RPC_STUB
IPropertySetStorage_Create_Stub(
8520 struct IRpcStubBuffer
* This
,
8521 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8522 PRPC_MESSAGE pRpcMessage
,
8523 DWORD
* pdwStubPhase
);
8524 HRESULT CALLBACK
IPropertySetStorage_Open_Proxy(
8525 IPropertySetStorage
* This
,
8528 IPropertyStorage
** ppprstg
);
8529 void __RPC_STUB
IPropertySetStorage_Open_Stub(
8530 struct IRpcStubBuffer
* This
,
8531 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8532 PRPC_MESSAGE pRpcMessage
,
8533 DWORD
* pdwStubPhase
);
8534 HRESULT CALLBACK
IPropertySetStorage_Delete_Proxy(
8535 IPropertySetStorage
* This
,
8537 void __RPC_STUB
IPropertySetStorage_Delete_Stub(
8538 struct IRpcStubBuffer
* This
,
8539 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8540 PRPC_MESSAGE pRpcMessage
,
8541 DWORD
* pdwStubPhase
);
8542 HRESULT CALLBACK
IPropertySetStorage_Enum_Proxy(
8543 IPropertySetStorage
* This
,
8544 IEnumSTATPROPSETSTG
** ppenum
);
8545 void __RPC_STUB
IPropertySetStorage_Enum_Stub(
8546 struct IRpcStubBuffer
* This
,
8547 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8548 PRPC_MESSAGE pRpcMessage
,
8549 DWORD
* pdwStubPhase
);
8551 typedef IEnumSTATPROPSTG
*LPENUMSTATPROPSTG
;
8553 /*****************************************************************************
8554 * IEnumSTATPROPSTG interface
8556 DEFINE_GUID(IID_IEnumSTATPROPSTG
, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8557 #if defined(__cplusplus) && !defined(CINTERFACE)
8558 struct IEnumSTATPROPSTG
: public IUnknown
8560 virtual HRESULT STDMETHODCALLTYPE
Next(
8563 ULONG
* pceltFetched
) = 0;
8565 virtual HRESULT STDMETHODCALLTYPE
Skip(
8568 virtual HRESULT STDMETHODCALLTYPE
Reset(
8571 virtual HRESULT STDMETHODCALLTYPE
Clone(
8572 IEnumSTATPROPSTG
** ppenum
) = 0;
8576 typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl
;
8577 struct IEnumSTATPROPSTG
{
8578 const IEnumSTATPROPSTGVtbl
* lpVtbl
;
8580 struct IEnumSTATPROPSTGVtbl
{
8581 ICOM_MSVTABLE_COMPAT_FIELDS
8583 /*** IUnknown methods ***/
8584 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8585 IEnumSTATPROPSTG
* This
,
8589 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8590 IEnumSTATPROPSTG
* This
);
8592 ULONG (STDMETHODCALLTYPE
*Release
)(
8593 IEnumSTATPROPSTG
* This
);
8595 /*** IEnumSTATPROPSTG methods ***/
8596 HRESULT (STDMETHODCALLTYPE
*Next
)(
8597 IEnumSTATPROPSTG
* This
,
8600 ULONG
* pceltFetched
);
8602 HRESULT (STDMETHODCALLTYPE
*Skip
)(
8603 IEnumSTATPROPSTG
* This
,
8606 HRESULT (STDMETHODCALLTYPE
*Reset
)(
8607 IEnumSTATPROPSTG
* This
);
8609 HRESULT (STDMETHODCALLTYPE
*Clone
)(
8610 IEnumSTATPROPSTG
* This
,
8611 IEnumSTATPROPSTG
** ppenum
);
8615 /*** IUnknown methods ***/
8616 #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8617 #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8618 #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
8619 /*** IEnumSTATPROPSTG methods ***/
8620 #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8621 #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8622 #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
8623 #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8627 #define IEnumSTATPROPSTG_METHODS \
8628 ICOM_MSVTABLE_COMPAT_FIELDS \
8629 /*** IUnknown methods ***/ \
8630 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8631 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8632 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8633 /*** IEnumSTATPROPSTG methods ***/ \
8634 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
8635 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8636 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8637 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
8639 HRESULT CALLBACK
IEnumSTATPROPSTG_RemoteNext_Proxy(
8640 IEnumSTATPROPSTG
* This
,
8643 ULONG
* pceltFetched
);
8644 void __RPC_STUB
IEnumSTATPROPSTG_RemoteNext_Stub(
8645 struct IRpcStubBuffer
* This
,
8646 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8647 PRPC_MESSAGE pRpcMessage
,
8648 DWORD
* pdwStubPhase
);
8649 HRESULT CALLBACK
IEnumSTATPROPSTG_Next_Proxy(
8650 IEnumSTATPROPSTG
* This
,
8653 ULONG
* pceltFetched
);
8654 HRESULT __RPC_STUB
IEnumSTATPROPSTG_Next_Stub(
8655 IEnumSTATPROPSTG
* This
,
8658 ULONG
* pceltFetched
);
8659 HRESULT CALLBACK
IEnumSTATPROPSTG_Skip_Proxy(
8660 IEnumSTATPROPSTG
* This
,
8662 void __RPC_STUB
IEnumSTATPROPSTG_Skip_Stub(
8663 struct IRpcStubBuffer
* This
,
8664 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8665 PRPC_MESSAGE pRpcMessage
,
8666 DWORD
* pdwStubPhase
);
8667 HRESULT CALLBACK
IEnumSTATPROPSTG_Reset_Proxy(
8668 IEnumSTATPROPSTG
* This
);
8669 void __RPC_STUB
IEnumSTATPROPSTG_Reset_Stub(
8670 struct IRpcStubBuffer
* This
,
8671 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8672 PRPC_MESSAGE pRpcMessage
,
8673 DWORD
* pdwStubPhase
);
8674 HRESULT CALLBACK
IEnumSTATPROPSTG_Clone_Proxy(
8675 IEnumSTATPROPSTG
* This
,
8676 IEnumSTATPROPSTG
** ppenum
);
8677 void __RPC_STUB
IEnumSTATPROPSTG_Clone_Stub(
8678 struct IRpcStubBuffer
* This
,
8679 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8680 PRPC_MESSAGE pRpcMessage
,
8681 DWORD
* pdwStubPhase
);
8683 typedef IEnumSTATPROPSETSTG
*LPENUMSTATPROPSETSTG
;
8685 /*****************************************************************************
8686 * IEnumSTATPROPSETSTG interface
8688 DEFINE_GUID(IID_IEnumSTATPROPSETSTG
, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8689 #if defined(__cplusplus) && !defined(CINTERFACE)
8690 struct IEnumSTATPROPSETSTG
: public IUnknown
8692 virtual HRESULT STDMETHODCALLTYPE
Next(
8694 STATPROPSETSTG
* rgelt
,
8695 ULONG
* pceltFetched
) = 0;
8697 virtual HRESULT STDMETHODCALLTYPE
Skip(
8700 virtual HRESULT STDMETHODCALLTYPE
Reset(
8703 virtual HRESULT STDMETHODCALLTYPE
Clone(
8704 IEnumSTATPROPSETSTG
** ppenum
) = 0;
8708 typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl
;
8709 struct IEnumSTATPROPSETSTG
{
8710 const IEnumSTATPROPSETSTGVtbl
* lpVtbl
;
8712 struct IEnumSTATPROPSETSTGVtbl
{
8713 ICOM_MSVTABLE_COMPAT_FIELDS
8715 /*** IUnknown methods ***/
8716 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8717 IEnumSTATPROPSETSTG
* This
,
8721 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8722 IEnumSTATPROPSETSTG
* This
);
8724 ULONG (STDMETHODCALLTYPE
*Release
)(
8725 IEnumSTATPROPSETSTG
* This
);
8727 /*** IEnumSTATPROPSETSTG methods ***/
8728 HRESULT (STDMETHODCALLTYPE
*Next
)(
8729 IEnumSTATPROPSETSTG
* This
,
8731 STATPROPSETSTG
* rgelt
,
8732 ULONG
* pceltFetched
);
8734 HRESULT (STDMETHODCALLTYPE
*Skip
)(
8735 IEnumSTATPROPSETSTG
* This
,
8738 HRESULT (STDMETHODCALLTYPE
*Reset
)(
8739 IEnumSTATPROPSETSTG
* This
);
8741 HRESULT (STDMETHODCALLTYPE
*Clone
)(
8742 IEnumSTATPROPSETSTG
* This
,
8743 IEnumSTATPROPSETSTG
** ppenum
);
8747 /*** IUnknown methods ***/
8748 #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8749 #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8750 #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
8751 /*** IEnumSTATPROPSETSTG methods ***/
8752 #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8753 #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8754 #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
8755 #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8759 #define IEnumSTATPROPSETSTG_METHODS \
8760 ICOM_MSVTABLE_COMPAT_FIELDS \
8761 /*** IUnknown methods ***/ \
8762 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8763 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8764 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8765 /*** IEnumSTATPROPSETSTG methods ***/ \
8766 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
8767 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
8768 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
8769 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
8771 HRESULT CALLBACK
IEnumSTATPROPSETSTG_RemoteNext_Proxy(
8772 IEnumSTATPROPSETSTG
* This
,
8774 STATPROPSETSTG
* rgelt
,
8775 ULONG
* pceltFetched
);
8776 void __RPC_STUB
IEnumSTATPROPSETSTG_RemoteNext_Stub(
8777 struct IRpcStubBuffer
* This
,
8778 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8779 PRPC_MESSAGE pRpcMessage
,
8780 DWORD
* pdwStubPhase
);
8781 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Next_Proxy(
8782 IEnumSTATPROPSETSTG
* This
,
8784 STATPROPSETSTG
* rgelt
,
8785 ULONG
* pceltFetched
);
8786 HRESULT __RPC_STUB
IEnumSTATPROPSETSTG_Next_Stub(
8787 IEnumSTATPROPSETSTG
* This
,
8789 STATPROPSETSTG
* rgelt
,
8790 ULONG
* pceltFetched
);
8791 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Skip_Proxy(
8792 IEnumSTATPROPSETSTG
* This
,
8794 void __RPC_STUB
IEnumSTATPROPSETSTG_Skip_Stub(
8795 struct IRpcStubBuffer
* This
,
8796 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8797 PRPC_MESSAGE pRpcMessage
,
8798 DWORD
* pdwStubPhase
);
8799 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Reset_Proxy(
8800 IEnumSTATPROPSETSTG
* This
);
8801 void __RPC_STUB
IEnumSTATPROPSETSTG_Reset_Stub(
8802 struct IRpcStubBuffer
* This
,
8803 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8804 PRPC_MESSAGE pRpcMessage
,
8805 DWORD
* pdwStubPhase
);
8806 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Clone_Proxy(
8807 IEnumSTATPROPSETSTG
* This
,
8808 IEnumSTATPROPSETSTG
** ppenum
);
8809 void __RPC_STUB
IEnumSTATPROPSETSTG_Clone_Stub(
8810 struct IRpcStubBuffer
* This
,
8811 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8812 PRPC_MESSAGE pRpcMessage
,
8813 DWORD
* pdwStubPhase
);
8815 typedef struct IClientSecurity IClientSecurity
;
8816 typedef struct tagSOLE_AUTHENTICATION_SERVICE
{
8819 OLECHAR
*pPrincipalName
;
8821 } SOLE_AUTHENTICATION_SERVICE
;
8823 typedef SOLE_AUTHENTICATION_SERVICE
*PSOLE_AUTHENTICATION_SERVICE
;
8825 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
{
8827 EOAC_MUTUAL_AUTH
= 0x1,
8828 EOAC_CLOAKING
= 0x10,
8829 EOAC_SECURE_REFS
= 0x2,
8830 EOAC_ACCESS_CONTROL
= 0x4,
8832 } EOLE_AUTHENTICATION_CAPABILITIES
;
8834 /*****************************************************************************
8835 * IClientSecurity interface
8837 DEFINE_GUID(IID_IClientSecurity
, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8838 #if defined(__cplusplus) && !defined(CINTERFACE)
8839 struct IClientSecurity
: public IUnknown
8841 virtual HRESULT STDMETHODCALLTYPE
QueryBlanket(
8845 OLECHAR
** pServerPrincName
,
8849 DWORD
* pCapabilites
) = 0;
8851 virtual HRESULT STDMETHODCALLTYPE
SetBlanket(
8855 OLECHAR
* pServerPrincName
,
8859 DWORD Capabilities
) = 0;
8861 virtual HRESULT STDMETHODCALLTYPE
CopyProxy(
8863 IUnknown
** ppCopy
) = 0;
8867 typedef struct IClientSecurityVtbl IClientSecurityVtbl
;
8868 struct IClientSecurity
{
8869 const IClientSecurityVtbl
* lpVtbl
;
8871 struct IClientSecurityVtbl
{
8872 ICOM_MSVTABLE_COMPAT_FIELDS
8874 /*** IUnknown methods ***/
8875 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
8876 IClientSecurity
* This
,
8880 ULONG (STDMETHODCALLTYPE
*AddRef
)(
8881 IClientSecurity
* This
);
8883 ULONG (STDMETHODCALLTYPE
*Release
)(
8884 IClientSecurity
* This
);
8886 /*** IClientSecurity methods ***/
8887 HRESULT (STDMETHODCALLTYPE
*QueryBlanket
)(
8888 IClientSecurity
* This
,
8892 OLECHAR
** pServerPrincName
,
8896 DWORD
* pCapabilites
);
8898 HRESULT (STDMETHODCALLTYPE
*SetBlanket
)(
8899 IClientSecurity
* This
,
8903 OLECHAR
* pServerPrincName
,
8907 DWORD Capabilities
);
8909 HRESULT (STDMETHODCALLTYPE
*CopyProxy
)(
8910 IClientSecurity
* This
,
8916 /*** IUnknown methods ***/
8917 #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8918 #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8919 #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p)
8920 /*** IClientSecurity methods ***/
8921 #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h)
8922 #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h)
8923 #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b)
8927 #define IClientSecurity_METHODS \
8928 ICOM_MSVTABLE_COMPAT_FIELDS \
8929 /*** IUnknown methods ***/ \
8930 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
8931 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
8932 STDMETHOD_(ULONG,Release)(THIS) PURE; \
8933 /*** IClientSecurity methods ***/ \
8934 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ IUnknown* pProxy, DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pAuthInfo, DWORD* pCapabilites) PURE; \
8935 STDMETHOD_(HRESULT,SetBlanket)(THIS_ IUnknown* pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR* pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void* pAuthInfo, DWORD Capabilities) PURE; \
8936 STDMETHOD_(HRESULT,CopyProxy)(THIS_ IUnknown* pProxy, IUnknown** ppCopy) PURE;
8938 HRESULT CALLBACK
IClientSecurity_QueryBlanket_Proxy(
8939 IClientSecurity
* This
,
8943 OLECHAR
** pServerPrincName
,
8947 DWORD
* pCapabilites
);
8948 void __RPC_STUB
IClientSecurity_QueryBlanket_Stub(
8949 struct IRpcStubBuffer
* This
,
8950 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8951 PRPC_MESSAGE pRpcMessage
,
8952 DWORD
* pdwStubPhase
);
8953 HRESULT CALLBACK
IClientSecurity_SetBlanket_Proxy(
8954 IClientSecurity
* This
,
8958 OLECHAR
* pServerPrincName
,
8962 DWORD Capabilities
);
8963 void __RPC_STUB
IClientSecurity_SetBlanket_Stub(
8964 struct IRpcStubBuffer
* This
,
8965 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8966 PRPC_MESSAGE pRpcMessage
,
8967 DWORD
* pdwStubPhase
);
8968 HRESULT CALLBACK
IClientSecurity_CopyProxy_Proxy(
8969 IClientSecurity
* This
,
8972 void __RPC_STUB
IClientSecurity_CopyProxy_Stub(
8973 struct IRpcStubBuffer
* This
,
8974 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8975 PRPC_MESSAGE pRpcMessage
,
8976 DWORD
* pdwStubPhase
);
8978 typedef struct IServerSecurity IServerSecurity
;
8979 /*****************************************************************************
8980 * IServerSecurity interface
8982 DEFINE_GUID(IID_IServerSecurity
, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8983 #if defined(__cplusplus) && !defined(CINTERFACE)
8984 struct IServerSecurity
: public IUnknown
8986 virtual HRESULT STDMETHODCALLTYPE
QueryBlanket(
8989 OLECHAR
** pServerPrincName
,
8993 DWORD
* pCapabilities
) = 0;
8995 virtual HRESULT STDMETHODCALLTYPE
ImpersonateClient(
8998 virtual HRESULT STDMETHODCALLTYPE
RevertToSelf(
9001 virtual BOOL STDMETHODCALLTYPE
IsImpersonating(
9006 typedef struct IServerSecurityVtbl IServerSecurityVtbl
;
9007 struct IServerSecurity
{
9008 const IServerSecurityVtbl
* lpVtbl
;
9010 struct IServerSecurityVtbl
{
9011 ICOM_MSVTABLE_COMPAT_FIELDS
9013 /*** IUnknown methods ***/
9014 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9015 IServerSecurity
* This
,
9019 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9020 IServerSecurity
* This
);
9022 ULONG (STDMETHODCALLTYPE
*Release
)(
9023 IServerSecurity
* This
);
9025 /*** IServerSecurity methods ***/
9026 HRESULT (STDMETHODCALLTYPE
*QueryBlanket
)(
9027 IServerSecurity
* This
,
9030 OLECHAR
** pServerPrincName
,
9034 DWORD
* pCapabilities
);
9036 HRESULT (STDMETHODCALLTYPE
*ImpersonateClient
)(
9037 IServerSecurity
* This
);
9039 HRESULT (STDMETHODCALLTYPE
*RevertToSelf
)(
9040 IServerSecurity
* This
);
9042 BOOL (STDMETHODCALLTYPE
*IsImpersonating
)(
9043 IServerSecurity
* This
);
9047 /*** IUnknown methods ***/
9048 #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9049 #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
9050 #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p)
9051 /*** IServerSecurity methods ***/
9052 #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g)
9053 #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p)
9054 #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p)
9055 #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p)
9059 #define IServerSecurity_METHODS \
9060 ICOM_MSVTABLE_COMPAT_FIELDS \
9061 /*** IUnknown methods ***/ \
9062 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9063 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9064 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9065 /*** IServerSecurity methods ***/ \
9066 STDMETHOD_(HRESULT,QueryBlanket)(THIS_ DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pPrivs, DWORD* pCapabilities) PURE; \
9067 STDMETHOD_(HRESULT,ImpersonateClient)(THIS) PURE; \
9068 STDMETHOD_(HRESULT,RevertToSelf)(THIS) PURE; \
9069 STDMETHOD_(BOOL,IsImpersonating)(THIS) PURE;
9071 HRESULT CALLBACK
IServerSecurity_QueryBlanket_Proxy(
9072 IServerSecurity
* This
,
9075 OLECHAR
** pServerPrincName
,
9079 DWORD
* pCapabilities
);
9080 void __RPC_STUB
IServerSecurity_QueryBlanket_Stub(
9081 struct IRpcStubBuffer
* This
,
9082 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9083 PRPC_MESSAGE pRpcMessage
,
9084 DWORD
* pdwStubPhase
);
9085 HRESULT CALLBACK
IServerSecurity_ImpersonateClient_Proxy(
9086 IServerSecurity
* This
);
9087 void __RPC_STUB
IServerSecurity_ImpersonateClient_Stub(
9088 struct IRpcStubBuffer
* This
,
9089 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9090 PRPC_MESSAGE pRpcMessage
,
9091 DWORD
* pdwStubPhase
);
9092 HRESULT CALLBACK
IServerSecurity_RevertToSelf_Proxy(
9093 IServerSecurity
* This
);
9094 void __RPC_STUB
IServerSecurity_RevertToSelf_Stub(
9095 struct IRpcStubBuffer
* This
,
9096 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9097 PRPC_MESSAGE pRpcMessage
,
9098 DWORD
* pdwStubPhase
);
9099 BOOL CALLBACK
IServerSecurity_IsImpersonating_Proxy(
9100 IServerSecurity
* This
);
9101 void __RPC_STUB
IServerSecurity_IsImpersonating_Stub(
9102 struct IRpcStubBuffer
* This
,
9103 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9104 PRPC_MESSAGE pRpcMessage
,
9105 DWORD
* pdwStubPhase
);
9107 typedef struct IAsyncSetup IAsyncSetup
;
9108 /*****************************************************************************
9109 * IAsyncSetup interface
9111 DEFINE_GUID(IID_IAsyncSetup
, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9112 #if defined(__cplusplus) && !defined(CINTERFACE)
9113 struct IAsyncSetup
: public IUnknown
9115 virtual HRESULT STDMETHODCALLTYPE
GetAsyncManager(
9120 IAsyncManager
** ppAsyncMgr
) = 0;
9124 typedef struct IAsyncSetupVtbl IAsyncSetupVtbl
;
9125 struct IAsyncSetup
{
9126 const IAsyncSetupVtbl
* lpVtbl
;
9128 struct IAsyncSetupVtbl
{
9129 ICOM_MSVTABLE_COMPAT_FIELDS
9131 /*** IUnknown methods ***/
9132 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9137 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9140 ULONG (STDMETHODCALLTYPE
*Release
)(
9143 /*** IAsyncSetup methods ***/
9144 HRESULT (STDMETHODCALLTYPE
*GetAsyncManager
)(
9150 IAsyncManager
** ppAsyncMgr
);
9154 /*** IUnknown methods ***/
9155 #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9156 #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p)
9157 #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p)
9158 /*** IAsyncSetup methods ***/
9159 #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e)
9163 #define IAsyncSetup_METHODS \
9164 ICOM_MSVTABLE_COMPAT_FIELDS \
9165 /*** IUnknown methods ***/ \
9166 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9167 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9168 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9169 /*** IAsyncSetup methods ***/ \
9170 STDMETHOD_(HRESULT,GetAsyncManager)(THIS_ REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) PURE;
9172 HRESULT CALLBACK
IAsyncSetup_GetAsyncManager_Proxy(
9178 IAsyncManager
** ppAsyncMgr
);
9179 void __RPC_STUB
IAsyncSetup_GetAsyncManager_Stub(
9180 struct IRpcStubBuffer
* This
,
9181 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9182 PRPC_MESSAGE pRpcMessage
,
9183 DWORD
* pdwStubPhase
);
9185 typedef enum tagDCOM_CALL_STATE
{
9187 DCOM_CALL_COMPLETE
= 1,
9188 DCOM_CALL_CANCELED
= 2
9191 /*****************************************************************************
9192 * IAsyncManager interface
9194 DEFINE_GUID(IID_IAsyncManager
, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9195 #if defined(__cplusplus) && !defined(CINTERFACE)
9196 struct IAsyncManager
: public IUnknown
9198 virtual HRESULT STDMETHODCALLTYPE
CompleteCall(
9199 HRESULT Result
) = 0;
9201 virtual HRESULT STDMETHODCALLTYPE
GetCallContext(
9203 void** pInterface
) = 0;
9205 virtual HRESULT STDMETHODCALLTYPE
GetState(
9206 ULONG
* pulStateFlags
) = 0;
9210 typedef struct IAsyncManagerVtbl IAsyncManagerVtbl
;
9211 struct IAsyncManager
{
9212 const IAsyncManagerVtbl
* lpVtbl
;
9214 struct IAsyncManagerVtbl
{
9215 ICOM_MSVTABLE_COMPAT_FIELDS
9217 /*** IUnknown methods ***/
9218 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
9219 IAsyncManager
* This
,
9223 ULONG (STDMETHODCALLTYPE
*AddRef
)(
9224 IAsyncManager
* This
);
9226 ULONG (STDMETHODCALLTYPE
*Release
)(
9227 IAsyncManager
* This
);
9229 /*** IAsyncManager methods ***/
9230 HRESULT (STDMETHODCALLTYPE
*CompleteCall
)(
9231 IAsyncManager
* This
,
9234 HRESULT (STDMETHODCALLTYPE
*GetCallContext
)(
9235 IAsyncManager
* This
,
9239 HRESULT (STDMETHODCALLTYPE
*GetState
)(
9240 IAsyncManager
* This
,
9241 ULONG
* pulStateFlags
);
9245 /*** IUnknown methods ***/
9246 #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
9247 #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p)
9248 #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p)
9249 /*** IAsyncManager methods ***/
9250 #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a)
9251 #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b)
9252 #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a)
9256 #define IAsyncManager_METHODS \
9257 ICOM_MSVTABLE_COMPAT_FIELDS \
9258 /*** IUnknown methods ***/ \
9259 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
9260 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
9261 STDMETHOD_(ULONG,Release)(THIS) PURE; \
9262 /*** IAsyncManager methods ***/ \
9263 STDMETHOD_(HRESULT,CompleteCall)(THIS_ HRESULT Result) PURE; \
9264 STDMETHOD_(HRESULT,GetCallContext)(THIS_ REFIID riid, void** pInterface) PURE; \
9265 STDMETHOD_(HRESULT,GetState)(THIS_ ULONG* pulStateFlags) PURE;
9267 HRESULT CALLBACK
IAsyncManager_CompleteCall_Proxy(
9268 IAsyncManager
* This
,
9270 void __RPC_STUB
IAsyncManager_CompleteCall_Stub(
9271 struct IRpcStubBuffer
* This
,
9272 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9273 PRPC_MESSAGE pRpcMessage
,
9274 DWORD
* pdwStubPhase
);
9275 HRESULT CALLBACK
IAsyncManager_GetCallContext_Proxy(
9276 IAsyncManager
* This
,
9279 void __RPC_STUB
IAsyncManager_GetCallContext_Stub(
9280 struct IRpcStubBuffer
* This
,
9281 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9282 PRPC_MESSAGE pRpcMessage
,
9283 DWORD
* pdwStubPhase
);
9284 HRESULT CALLBACK
IAsyncManager_GetState_Proxy(
9285 IAsyncManager
* This
,
9286 ULONG
* pulStateFlags
);
9287 void __RPC_STUB
IAsyncManager_GetState_Stub(
9288 struct IRpcStubBuffer
* This
,
9289 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
9290 PRPC_MESSAGE pRpcMessage
,
9291 DWORD
* pdwStubPhase
);
9296 #endif /* __WIDL_OBJIDL_H */