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
: IUnknown
{
28 virtual HRESULT CALLBACK
GetUnmarshalClass(
36 virtual HRESULT CALLBACK
GetMarshalSizeMax(
44 virtual HRESULT CALLBACK
MarshalInterface(
52 virtual HRESULT CALLBACK
UnmarshalInterface(
57 virtual HRESULT CALLBACK
ReleaseMarshalData(
60 virtual HRESULT CALLBACK
DisconnectObject(
61 DWORD dwReserved
) = 0;
63 } ICOM_COM_INTERFACE_ATTRIBUTE
;
65 typedef struct IMarshalVtbl IMarshalVtbl
;
67 const IMarshalVtbl
* lpVtbl
;
70 ICOM_MSVTABLE_COMPAT_FIELDS
72 /*** IUnknown methods ***/
73 HRESULT (CALLBACK
*QueryInterface
)(
78 ULONG (CALLBACK
*AddRef
)(
81 ULONG (CALLBACK
*Release
)(
84 /*** IMarshal methods ***/
85 HRESULT (CALLBACK
*GetUnmarshalClass
)(
94 HRESULT (CALLBACK
*GetMarshalSizeMax
)(
103 HRESULT (CALLBACK
*MarshalInterface
)(
112 HRESULT (CALLBACK
*UnmarshalInterface
)(
118 HRESULT (CALLBACK
*ReleaseMarshalData
)(
122 HRESULT (CALLBACK
*DisconnectObject
)(
128 #define IMarshal_IMETHODS \
130 ICOM_METHOD6 (HRESULT,GetUnmarshalClass,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags,CLSID*,pCid) \
131 ICOM_METHOD6 (HRESULT,GetMarshalSizeMax,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags,DWORD*,pSize) \
132 ICOM_METHOD6 (HRESULT,MarshalInterface,IStream*,pStm,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags) \
133 ICOM_METHOD3 (HRESULT,UnmarshalInterface,IStream*,pStm,REFIID,riid,void**,ppv) \
134 ICOM_METHOD1 (HRESULT,ReleaseMarshalData,IStream*,pStm) \
135 ICOM_METHOD1 (HRESULT,DisconnectObject,DWORD,dwReserved)
137 /*** IUnknown methods ***/
138 #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
139 #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
140 #define IMarshal_Release(p) (p)->lpVtbl->Release(p)
141 /*** IMarshal methods ***/
142 #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f)
143 #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f)
144 #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f)
145 #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c)
146 #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a)
147 #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a)
151 HRESULT CALLBACK
IMarshal_GetUnmarshalClass_Proxy(
159 void __RPC_STUB
IMarshal_GetUnmarshalClass_Stub(
160 struct IRpcStubBuffer
* This
,
161 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
162 PRPC_MESSAGE pRpcMessage
,
163 DWORD
* pdwStubPhase
);
164 HRESULT CALLBACK
IMarshal_GetMarshalSizeMax_Proxy(
172 void __RPC_STUB
IMarshal_GetMarshalSizeMax_Stub(
173 struct IRpcStubBuffer
* This
,
174 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
175 PRPC_MESSAGE pRpcMessage
,
176 DWORD
* pdwStubPhase
);
177 HRESULT CALLBACK
IMarshal_MarshalInterface_Proxy(
185 void __RPC_STUB
IMarshal_MarshalInterface_Stub(
186 struct IRpcStubBuffer
* This
,
187 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
188 PRPC_MESSAGE pRpcMessage
,
189 DWORD
* pdwStubPhase
);
190 HRESULT CALLBACK
IMarshal_UnmarshalInterface_Proxy(
195 void __RPC_STUB
IMarshal_UnmarshalInterface_Stub(
196 struct IRpcStubBuffer
* This
,
197 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
198 PRPC_MESSAGE pRpcMessage
,
199 DWORD
* pdwStubPhase
);
200 HRESULT CALLBACK
IMarshal_ReleaseMarshalData_Proxy(
203 void __RPC_STUB
IMarshal_ReleaseMarshalData_Stub(
204 struct IRpcStubBuffer
* This
,
205 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
206 PRPC_MESSAGE pRpcMessage
,
207 DWORD
* pdwStubPhase
);
208 HRESULT CALLBACK
IMarshal_DisconnectObject_Proxy(
211 void __RPC_STUB
IMarshal_DisconnectObject_Stub(
212 struct IRpcStubBuffer
* This
,
213 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
214 PRPC_MESSAGE pRpcMessage
,
215 DWORD
* pdwStubPhase
);
217 typedef struct IStdMarshalInfo IStdMarshalInfo
;
218 typedef IStdMarshalInfo
*LPSTDMARSHALINFO
;
220 /*****************************************************************************
221 * IStdMarshalInfo interface
223 DEFINE_GUID(IID_IStdMarshalInfo
, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
224 #if defined(__cplusplus) && !defined(CINTERFACE)
225 struct IStdMarshalInfo
: IUnknown
{
227 virtual HRESULT CALLBACK
GetClassForHandler(
232 } ICOM_COM_INTERFACE_ATTRIBUTE
;
234 typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl
;
235 struct IStdMarshalInfo
{
236 const IStdMarshalInfoVtbl
* lpVtbl
;
238 struct IStdMarshalInfoVtbl
{
239 ICOM_MSVTABLE_COMPAT_FIELDS
241 /*** IUnknown methods ***/
242 HRESULT (CALLBACK
*QueryInterface
)(
243 IStdMarshalInfo
* This
,
247 ULONG (CALLBACK
*AddRef
)(
248 IStdMarshalInfo
* This
);
250 ULONG (CALLBACK
*Release
)(
251 IStdMarshalInfo
* This
);
253 /*** IStdMarshalInfo methods ***/
254 HRESULT (CALLBACK
*GetClassForHandler
)(
255 IStdMarshalInfo
* This
,
262 #define IStdMarshalInfo_IMETHODS \
264 ICOM_METHOD3 (HRESULT,GetClassForHandler,DWORD,dwDestContext,void*,pvDestContext,CLSID*,pClsid)
266 /*** IUnknown methods ***/
267 #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
268 #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
269 #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p)
270 /*** IStdMarshalInfo methods ***/
271 #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c)
275 HRESULT CALLBACK
IStdMarshalInfo_GetClassForHandler_Proxy(
276 IStdMarshalInfo
* This
,
280 void __RPC_STUB
IStdMarshalInfo_GetClassForHandler_Stub(
281 struct IRpcStubBuffer
* This
,
282 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
283 PRPC_MESSAGE pRpcMessage
,
284 DWORD
* pdwStubPhase
);
286 typedef struct IExternalConnection IExternalConnection
;
287 typedef IExternalConnection
*LPEXTERNALCONNECTION
;
289 typedef enum tagEXTCONN
{
290 EXTCONN_STRONG
= 0x1,
292 EXTCONN_CALLABLE
= 0x4
295 /*****************************************************************************
296 * IExternalConnection interface
298 DEFINE_GUID(IID_IExternalConnection
, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
299 #if defined(__cplusplus) && !defined(CINTERFACE)
300 struct IExternalConnection
: IUnknown
{
302 virtual DWORD CALLBACK
AddConnection(
306 virtual DWORD CALLBACK
ReleaseConnection(
309 BOOL fLastReleaseCloses
) = 0;
311 } ICOM_COM_INTERFACE_ATTRIBUTE
;
313 typedef struct IExternalConnectionVtbl IExternalConnectionVtbl
;
314 struct IExternalConnection
{
315 const IExternalConnectionVtbl
* lpVtbl
;
317 struct IExternalConnectionVtbl
{
318 ICOM_MSVTABLE_COMPAT_FIELDS
320 /*** IUnknown methods ***/
321 HRESULT (CALLBACK
*QueryInterface
)(
322 IExternalConnection
* This
,
326 ULONG (CALLBACK
*AddRef
)(
327 IExternalConnection
* This
);
329 ULONG (CALLBACK
*Release
)(
330 IExternalConnection
* This
);
332 /*** IExternalConnection methods ***/
333 DWORD (CALLBACK
*AddConnection
)(
334 IExternalConnection
* This
,
338 DWORD (CALLBACK
*ReleaseConnection
)(
339 IExternalConnection
* This
,
342 BOOL fLastReleaseCloses
);
346 #define IExternalConnection_IMETHODS \
348 ICOM_METHOD2 (DWORD,AddConnection,DWORD,extconn,DWORD,reserved) \
349 ICOM_METHOD3 (DWORD,ReleaseConnection,DWORD,extconn,DWORD,reserved,BOOL,fLastReleaseCloses)
351 /*** IUnknown methods ***/
352 #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
353 #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
354 #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p)
355 /*** IExternalConnection methods ***/
356 #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b)
357 #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c)
361 DWORD CALLBACK
IExternalConnection_AddConnection_Proxy(
362 IExternalConnection
* This
,
365 void __RPC_STUB
IExternalConnection_AddConnection_Stub(
366 struct IRpcStubBuffer
* This
,
367 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
368 PRPC_MESSAGE pRpcMessage
,
369 DWORD
* pdwStubPhase
);
370 DWORD CALLBACK
IExternalConnection_ReleaseConnection_Proxy(
371 IExternalConnection
* This
,
374 BOOL fLastReleaseCloses
);
375 void __RPC_STUB
IExternalConnection_ReleaseConnection_Stub(
376 struct IRpcStubBuffer
* This
,
377 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
378 PRPC_MESSAGE pRpcMessage
,
379 DWORD
* pdwStubPhase
);
381 typedef struct IMultiQI IMultiQI
;
382 typedef IMultiQI
*LPMULTIQI
;
384 typedef struct tagMULTI_QI
{
390 /*****************************************************************************
393 DEFINE_GUID(IID_IMultiQI
, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
394 #if defined(__cplusplus) && !defined(CINTERFACE)
395 struct IMultiQI
: IUnknown
{
397 virtual HRESULT CALLBACK
QueryMultipleInterfaces(
399 MULTI_QI
* pMQIs
) = 0;
401 } ICOM_COM_INTERFACE_ATTRIBUTE
;
403 typedef struct IMultiQIVtbl IMultiQIVtbl
;
405 const IMultiQIVtbl
* lpVtbl
;
407 struct IMultiQIVtbl
{
408 ICOM_MSVTABLE_COMPAT_FIELDS
410 /*** IUnknown methods ***/
411 HRESULT (CALLBACK
*QueryInterface
)(
416 ULONG (CALLBACK
*AddRef
)(
419 ULONG (CALLBACK
*Release
)(
422 /*** IMultiQI methods ***/
423 HRESULT (CALLBACK
*QueryMultipleInterfaces
)(
430 #define IMultiQI_IMETHODS \
432 ICOM_METHOD2 (HRESULT,QueryMultipleInterfaces,ULONG,cMQIs,MULTI_QI*,pMQIs)
434 /*** IUnknown methods ***/
435 #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
436 #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p)
437 #define IMultiQI_Release(p) (p)->lpVtbl->Release(p)
438 /*** IMultiQI methods ***/
439 #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b)
443 HRESULT CALLBACK
IMultiQI_QueryMultipleInterfaces_Proxy(
447 void __RPC_STUB
IMultiQI_QueryMultipleInterfaces_Stub(
448 struct IRpcStubBuffer
* This
,
449 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
450 PRPC_MESSAGE pRpcMessage
,
451 DWORD
* pdwStubPhase
);
453 typedef struct IMalloc IMalloc
;
454 typedef IMalloc
*LPMALLOC
;
456 /*****************************************************************************
459 DEFINE_GUID(IID_IMalloc
, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
460 #if defined(__cplusplus) && !defined(CINTERFACE)
461 struct IMalloc
: IUnknown
{
463 virtual LPVOID CALLBACK
Alloc(
466 virtual LPVOID CALLBACK
Realloc(
470 virtual void CALLBACK
Free(
473 virtual ULONG CALLBACK
GetSize(
476 virtual int CALLBACK
DidAlloc(
479 virtual void CALLBACK
HeapMinimize(
482 } ICOM_COM_INTERFACE_ATTRIBUTE
;
484 typedef struct IMallocVtbl IMallocVtbl
;
486 const IMallocVtbl
* lpVtbl
;
489 ICOM_MSVTABLE_COMPAT_FIELDS
491 /*** IUnknown methods ***/
492 HRESULT (CALLBACK
*QueryInterface
)(
497 ULONG (CALLBACK
*AddRef
)(
500 ULONG (CALLBACK
*Release
)(
503 /*** IMalloc methods ***/
504 LPVOID (CALLBACK
*Alloc
)(
508 LPVOID (CALLBACK
*Realloc
)(
513 void (CALLBACK
*Free
)(
517 ULONG (CALLBACK
*GetSize
)(
521 int (CALLBACK
*DidAlloc
)(
525 void (CALLBACK
*HeapMinimize
)(
530 #define IMalloc_IMETHODS \
532 ICOM_METHOD1 (LPVOID,Alloc,ULONG,cb) \
533 ICOM_METHOD2 (LPVOID,Realloc,LPVOID,pv,ULONG,cb) \
534 ICOM_VMETHOD1(Free,LPVOID,pv) \
535 ICOM_METHOD1 (ULONG,GetSize,LPVOID,pv) \
536 ICOM_METHOD1 (int,DidAlloc,LPVOID,pv) \
537 ICOM_VMETHOD (HeapMinimize)
539 /*** IUnknown methods ***/
540 #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
541 #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p)
542 #define IMalloc_Release(p) (p)->lpVtbl->Release(p)
543 /*** IMalloc methods ***/
544 #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a)
545 #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b)
546 #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a)
547 #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
548 #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a)
549 #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p)
553 LPVOID CALLBACK
IMalloc_Alloc_Proxy(
556 void __RPC_STUB
IMalloc_Alloc_Stub(
557 struct IRpcStubBuffer
* This
,
558 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
559 PRPC_MESSAGE pRpcMessage
,
560 DWORD
* pdwStubPhase
);
561 LPVOID CALLBACK
IMalloc_Realloc_Proxy(
565 void __RPC_STUB
IMalloc_Realloc_Stub(
566 struct IRpcStubBuffer
* This
,
567 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
568 PRPC_MESSAGE pRpcMessage
,
569 DWORD
* pdwStubPhase
);
570 void CALLBACK
IMalloc_Free_Proxy(
573 void __RPC_STUB
IMalloc_Free_Stub(
574 struct IRpcStubBuffer
* This
,
575 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
576 PRPC_MESSAGE pRpcMessage
,
577 DWORD
* pdwStubPhase
);
578 ULONG CALLBACK
IMalloc_GetSize_Proxy(
581 void __RPC_STUB
IMalloc_GetSize_Stub(
582 struct IRpcStubBuffer
* This
,
583 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
584 PRPC_MESSAGE pRpcMessage
,
585 DWORD
* pdwStubPhase
);
586 int CALLBACK
IMalloc_DidAlloc_Proxy(
589 void __RPC_STUB
IMalloc_DidAlloc_Stub(
590 struct IRpcStubBuffer
* This
,
591 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
592 PRPC_MESSAGE pRpcMessage
,
593 DWORD
* pdwStubPhase
);
594 void CALLBACK
IMalloc_HeapMinimize_Proxy(
596 void __RPC_STUB
IMalloc_HeapMinimize_Stub(
597 struct IRpcStubBuffer
* This
,
598 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
599 PRPC_MESSAGE pRpcMessage
,
600 DWORD
* pdwStubPhase
);
602 typedef struct IMallocSpy IMallocSpy
;
603 typedef IMallocSpy
*LPMALLOCSPY
;
605 /*****************************************************************************
606 * IMallocSpy interface
608 DEFINE_GUID(IID_IMallocSpy
, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
609 #if defined(__cplusplus) && !defined(CINTERFACE)
610 struct IMallocSpy
: IUnknown
{
612 virtual ULONG CALLBACK
PreAlloc(
613 ULONG cbRequest
) = 0;
615 virtual LPVOID CALLBACK
PostAlloc(
618 virtual LPVOID CALLBACK
PreFree(
622 virtual void CALLBACK
PostFree(
625 virtual ULONG CALLBACK
PreRealloc(
628 LPVOID
* ppNewRequest
,
631 virtual LPVOID CALLBACK
PostRealloc(
635 virtual LPVOID CALLBACK
PreGetSize(
639 virtual ULONG CALLBACK
PostGetSize(
643 virtual LPVOID CALLBACK
PreDidAlloc(
647 virtual int CALLBACK
PostDidAlloc(
652 virtual void CALLBACK
PreHeapMinimize(
655 virtual void CALLBACK
PostHeapMinimize(
658 } ICOM_COM_INTERFACE_ATTRIBUTE
;
660 typedef struct IMallocSpyVtbl IMallocSpyVtbl
;
662 const IMallocSpyVtbl
* lpVtbl
;
664 struct IMallocSpyVtbl
{
665 ICOM_MSVTABLE_COMPAT_FIELDS
667 /*** IUnknown methods ***/
668 HRESULT (CALLBACK
*QueryInterface
)(
673 ULONG (CALLBACK
*AddRef
)(
676 ULONG (CALLBACK
*Release
)(
679 /*** IMallocSpy methods ***/
680 ULONG (CALLBACK
*PreAlloc
)(
684 LPVOID (CALLBACK
*PostAlloc
)(
688 LPVOID (CALLBACK
*PreFree
)(
693 void (CALLBACK
*PostFree
)(
697 ULONG (CALLBACK
*PreRealloc
)(
701 LPVOID
* ppNewRequest
,
704 LPVOID (CALLBACK
*PostRealloc
)(
709 LPVOID (CALLBACK
*PreGetSize
)(
714 ULONG (CALLBACK
*PostGetSize
)(
719 LPVOID (CALLBACK
*PreDidAlloc
)(
724 int (CALLBACK
*PostDidAlloc
)(
730 void (CALLBACK
*PreHeapMinimize
)(
733 void (CALLBACK
*PostHeapMinimize
)(
738 #define IMallocSpy_IMETHODS \
740 ICOM_METHOD1 (ULONG,PreAlloc,ULONG,cbRequest) \
741 ICOM_METHOD1 (LPVOID,PostAlloc,LPVOID,pActual) \
742 ICOM_METHOD2 (LPVOID,PreFree,LPVOID,pRequest,BOOL,fSpyed) \
743 ICOM_VMETHOD1(PostFree,BOOL,fSpyed) \
744 ICOM_METHOD4 (ULONG,PreRealloc,LPVOID,pRequest,ULONG,cbRequest,LPVOID*,ppNewRequest,BOOL,fSpyed) \
745 ICOM_METHOD2 (LPVOID,PostRealloc,LPVOID,pActual,BOOL,fSpyed) \
746 ICOM_METHOD2 (LPVOID,PreGetSize,LPVOID,pRequest,BOOL,fSpyed) \
747 ICOM_METHOD2 (ULONG,PostGetSize,ULONG,cbActual,BOOL,fSpyed) \
748 ICOM_METHOD2 (LPVOID,PreDidAlloc,LPVOID,pRequest,BOOL,fSpyed) \
749 ICOM_METHOD3 (int,PostDidAlloc,LPVOID,pRequest,BOOL,fSpyed,int,fActual) \
750 ICOM_VMETHOD (PreHeapMinimize) \
751 ICOM_VMETHOD (PostHeapMinimize)
753 /*** IUnknown methods ***/
754 #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
755 #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p)
756 #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p)
757 /*** IMallocSpy methods ***/
758 #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a)
759 #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a)
760 #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b)
761 #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a)
762 #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d)
763 #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b)
764 #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b)
765 #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b)
766 #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b)
767 #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c)
768 #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p)
769 #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p)
773 ULONG CALLBACK
IMallocSpy_PreAlloc_Proxy(
776 void __RPC_STUB
IMallocSpy_PreAlloc_Stub(
777 struct IRpcStubBuffer
* This
,
778 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
779 PRPC_MESSAGE pRpcMessage
,
780 DWORD
* pdwStubPhase
);
781 LPVOID CALLBACK
IMallocSpy_PostAlloc_Proxy(
784 void __RPC_STUB
IMallocSpy_PostAlloc_Stub(
785 struct IRpcStubBuffer
* This
,
786 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
787 PRPC_MESSAGE pRpcMessage
,
788 DWORD
* pdwStubPhase
);
789 LPVOID CALLBACK
IMallocSpy_PreFree_Proxy(
793 void __RPC_STUB
IMallocSpy_PreFree_Stub(
794 struct IRpcStubBuffer
* This
,
795 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
796 PRPC_MESSAGE pRpcMessage
,
797 DWORD
* pdwStubPhase
);
798 void CALLBACK
IMallocSpy_PostFree_Proxy(
801 void __RPC_STUB
IMallocSpy_PostFree_Stub(
802 struct IRpcStubBuffer
* This
,
803 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
804 PRPC_MESSAGE pRpcMessage
,
805 DWORD
* pdwStubPhase
);
806 ULONG CALLBACK
IMallocSpy_PreRealloc_Proxy(
810 LPVOID
* ppNewRequest
,
812 void __RPC_STUB
IMallocSpy_PreRealloc_Stub(
813 struct IRpcStubBuffer
* This
,
814 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
815 PRPC_MESSAGE pRpcMessage
,
816 DWORD
* pdwStubPhase
);
817 LPVOID CALLBACK
IMallocSpy_PostRealloc_Proxy(
821 void __RPC_STUB
IMallocSpy_PostRealloc_Stub(
822 struct IRpcStubBuffer
* This
,
823 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
824 PRPC_MESSAGE pRpcMessage
,
825 DWORD
* pdwStubPhase
);
826 LPVOID CALLBACK
IMallocSpy_PreGetSize_Proxy(
830 void __RPC_STUB
IMallocSpy_PreGetSize_Stub(
831 struct IRpcStubBuffer
* This
,
832 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
833 PRPC_MESSAGE pRpcMessage
,
834 DWORD
* pdwStubPhase
);
835 ULONG CALLBACK
IMallocSpy_PostGetSize_Proxy(
839 void __RPC_STUB
IMallocSpy_PostGetSize_Stub(
840 struct IRpcStubBuffer
* This
,
841 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
842 PRPC_MESSAGE pRpcMessage
,
843 DWORD
* pdwStubPhase
);
844 LPVOID CALLBACK
IMallocSpy_PreDidAlloc_Proxy(
848 void __RPC_STUB
IMallocSpy_PreDidAlloc_Stub(
849 struct IRpcStubBuffer
* This
,
850 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
851 PRPC_MESSAGE pRpcMessage
,
852 DWORD
* pdwStubPhase
);
853 int CALLBACK
IMallocSpy_PostDidAlloc_Proxy(
858 void __RPC_STUB
IMallocSpy_PostDidAlloc_Stub(
859 struct IRpcStubBuffer
* This
,
860 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
861 PRPC_MESSAGE pRpcMessage
,
862 DWORD
* pdwStubPhase
);
863 void CALLBACK
IMallocSpy_PreHeapMinimize_Proxy(
865 void __RPC_STUB
IMallocSpy_PreHeapMinimize_Stub(
866 struct IRpcStubBuffer
* This
,
867 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
868 PRPC_MESSAGE pRpcMessage
,
869 DWORD
* pdwStubPhase
);
870 void CALLBACK
IMallocSpy_PostHeapMinimize_Proxy(
872 void __RPC_STUB
IMallocSpy_PostHeapMinimize_Stub(
873 struct IRpcStubBuffer
* This
,
874 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
875 PRPC_MESSAGE pRpcMessage
,
876 DWORD
* pdwStubPhase
);
878 typedef struct IEnumUnknown IEnumUnknown
;
879 typedef IEnumUnknown
*LPENUMUNKNOWN
;
881 /*****************************************************************************
882 * IEnumUnknown interface
884 DEFINE_GUID(IID_IEnumUnknown
, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
885 #if defined(__cplusplus) && !defined(CINTERFACE)
886 struct IEnumUnknown
: IUnknown
{
888 virtual HRESULT CALLBACK
Next(
891 ULONG
* pceltFetched
) = 0;
893 virtual HRESULT CALLBACK
Skip(
896 virtual HRESULT CALLBACK
Reset(
899 virtual HRESULT CALLBACK
Clone(
900 IEnumUnknown
** ppenum
) = 0;
902 } ICOM_COM_INTERFACE_ATTRIBUTE
;
904 typedef struct IEnumUnknownVtbl IEnumUnknownVtbl
;
905 struct IEnumUnknown
{
906 const IEnumUnknownVtbl
* lpVtbl
;
908 struct IEnumUnknownVtbl
{
909 ICOM_MSVTABLE_COMPAT_FIELDS
911 /*** IUnknown methods ***/
912 HRESULT (CALLBACK
*QueryInterface
)(
917 ULONG (CALLBACK
*AddRef
)(
920 ULONG (CALLBACK
*Release
)(
923 /*** IEnumUnknown methods ***/
924 HRESULT (CALLBACK
*Next
)(
928 ULONG
* pceltFetched
);
930 HRESULT (CALLBACK
*Skip
)(
934 HRESULT (CALLBACK
*Reset
)(
937 HRESULT (CALLBACK
*Clone
)(
939 IEnumUnknown
** ppenum
);
943 #define IEnumUnknown_IMETHODS \
945 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,IUnknown**,rgelt,ULONG*,pceltFetched) \
946 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
947 ICOM_METHOD (HRESULT,Reset) \
948 ICOM_METHOD1 (HRESULT,Clone,IEnumUnknown**,ppenum)
950 /*** IUnknown methods ***/
951 #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
952 #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
953 #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p)
954 /*** IEnumUnknown methods ***/
955 #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
956 #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a)
957 #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p)
958 #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a)
962 HRESULT CALLBACK
IEnumUnknown_RemoteNext_Proxy(
966 ULONG
* pceltFetched
);
967 void __RPC_STUB
IEnumUnknown_RemoteNext_Stub(
968 struct IRpcStubBuffer
* This
,
969 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
970 PRPC_MESSAGE pRpcMessage
,
971 DWORD
* pdwStubPhase
);
972 HRESULT CALLBACK
IEnumUnknown_Next_Proxy(
976 ULONG
* pceltFetched
);
977 HRESULT __RPC_STUB
IEnumUnknown_Next_Stub(
981 ULONG
* pceltFetched
);
982 HRESULT CALLBACK
IEnumUnknown_Skip_Proxy(
985 void __RPC_STUB
IEnumUnknown_Skip_Stub(
986 struct IRpcStubBuffer
* This
,
987 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
988 PRPC_MESSAGE pRpcMessage
,
989 DWORD
* pdwStubPhase
);
990 HRESULT CALLBACK
IEnumUnknown_Reset_Proxy(
992 void __RPC_STUB
IEnumUnknown_Reset_Stub(
993 struct IRpcStubBuffer
* This
,
994 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
995 PRPC_MESSAGE pRpcMessage
,
996 DWORD
* pdwStubPhase
);
997 HRESULT CALLBACK
IEnumUnknown_Clone_Proxy(
999 IEnumUnknown
** ppenum
);
1000 void __RPC_STUB
IEnumUnknown_Clone_Stub(
1001 struct IRpcStubBuffer
* This
,
1002 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1003 PRPC_MESSAGE pRpcMessage
,
1004 DWORD
* pdwStubPhase
);
1006 typedef struct ISurrogate ISurrogate
;
1007 typedef ISurrogate
*LPSURROGATE
;
1009 /*****************************************************************************
1010 * ISurrogate interface
1012 DEFINE_GUID(IID_ISurrogate
, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1013 #if defined(__cplusplus) && !defined(CINTERFACE)
1014 struct ISurrogate
: IUnknown
{
1016 virtual HRESULT CALLBACK
LoadDllServer(
1017 REFCLSID Clsid
) = 0;
1019 virtual HRESULT CALLBACK
FreeSurrogate(
1022 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1024 typedef struct ISurrogateVtbl ISurrogateVtbl
;
1026 const ISurrogateVtbl
* lpVtbl
;
1028 struct ISurrogateVtbl
{
1029 ICOM_MSVTABLE_COMPAT_FIELDS
1031 /*** IUnknown methods ***/
1032 HRESULT (CALLBACK
*QueryInterface
)(
1037 ULONG (CALLBACK
*AddRef
)(
1040 ULONG (CALLBACK
*Release
)(
1043 /*** ISurrogate methods ***/
1044 HRESULT (CALLBACK
*LoadDllServer
)(
1048 HRESULT (CALLBACK
*FreeSurrogate
)(
1053 #define ISurrogate_IMETHODS \
1055 ICOM_METHOD1 (HRESULT,LoadDllServer,REFCLSID,Clsid) \
1056 ICOM_METHOD (HRESULT,FreeSurrogate)
1058 /*** IUnknown methods ***/
1059 #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1060 #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p)
1061 #define ISurrogate_Release(p) (p)->lpVtbl->Release(p)
1062 /*** ISurrogate methods ***/
1063 #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a)
1064 #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p)
1068 HRESULT CALLBACK
ISurrogate_LoadDllServer_Proxy(
1071 void __RPC_STUB
ISurrogate_LoadDllServer_Stub(
1072 struct IRpcStubBuffer
* This
,
1073 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1074 PRPC_MESSAGE pRpcMessage
,
1075 DWORD
* pdwStubPhase
);
1076 HRESULT CALLBACK
ISurrogate_FreeSurrogate_Proxy(
1078 void __RPC_STUB
ISurrogate_FreeSurrogate_Stub(
1079 struct IRpcStubBuffer
* This
,
1080 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1081 PRPC_MESSAGE pRpcMessage
,
1082 DWORD
* pdwStubPhase
);
1084 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable
;
1085 typedef IGlobalInterfaceTable
*LPGLOBALINTERFACETABLE
;
1087 /*****************************************************************************
1088 * IGlobalInterfaceTable interface
1090 DEFINE_GUID(IID_IGlobalInterfaceTable
, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1091 #if defined(__cplusplus) && !defined(CINTERFACE)
1092 struct IGlobalInterfaceTable
: IUnknown
{
1094 virtual HRESULT CALLBACK
RegisterInterfaceInGlobal(
1097 DWORD
* pdwCookie
) = 0;
1099 virtual HRESULT CALLBACK
RevokeInterfaceFromGlobal(
1100 DWORD dwCookie
) = 0;
1102 virtual HRESULT CALLBACK
GetInterfaceFromGlobal(
1107 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1109 typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl
;
1110 struct IGlobalInterfaceTable
{
1111 const IGlobalInterfaceTableVtbl
* lpVtbl
;
1113 struct IGlobalInterfaceTableVtbl
{
1114 ICOM_MSVTABLE_COMPAT_FIELDS
1116 /*** IUnknown methods ***/
1117 HRESULT (CALLBACK
*QueryInterface
)(
1118 IGlobalInterfaceTable
* This
,
1122 ULONG (CALLBACK
*AddRef
)(
1123 IGlobalInterfaceTable
* This
);
1125 ULONG (CALLBACK
*Release
)(
1126 IGlobalInterfaceTable
* This
);
1128 /*** IGlobalInterfaceTable methods ***/
1129 HRESULT (CALLBACK
*RegisterInterfaceInGlobal
)(
1130 IGlobalInterfaceTable
* This
,
1135 HRESULT (CALLBACK
*RevokeInterfaceFromGlobal
)(
1136 IGlobalInterfaceTable
* This
,
1139 HRESULT (CALLBACK
*GetInterfaceFromGlobal
)(
1140 IGlobalInterfaceTable
* This
,
1147 #define IGlobalInterfaceTable_IMETHODS \
1149 ICOM_METHOD3 (HRESULT,RegisterInterfaceInGlobal,IUnknown*,pUnk,REFIID,riid,DWORD*,pdwCookie) \
1150 ICOM_METHOD1 (HRESULT,RevokeInterfaceFromGlobal,DWORD,dwCookie) \
1151 ICOM_METHOD3 (HRESULT,GetInterfaceFromGlobal,DWORD,dwCookie,REFIID,riid,void**,ppv)
1153 /*** IUnknown methods ***/
1154 #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1155 #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1156 #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p)
1157 /*** IGlobalInterfaceTable methods ***/
1158 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c)
1159 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a)
1160 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c)
1164 HRESULT CALLBACK
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
1165 IGlobalInterfaceTable
* This
,
1169 void __RPC_STUB
IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
1170 struct IRpcStubBuffer
* This
,
1171 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1172 PRPC_MESSAGE pRpcMessage
,
1173 DWORD
* pdwStubPhase
);
1174 HRESULT CALLBACK
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
1175 IGlobalInterfaceTable
* This
,
1177 void __RPC_STUB
IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
1178 struct IRpcStubBuffer
* This
,
1179 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1180 PRPC_MESSAGE pRpcMessage
,
1181 DWORD
* pdwStubPhase
);
1182 HRESULT CALLBACK
IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
1183 IGlobalInterfaceTable
* This
,
1187 void __RPC_STUB
IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
1188 struct IRpcStubBuffer
* This
,
1189 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1190 PRPC_MESSAGE pRpcMessage
,
1191 DWORD
* pdwStubPhase
);
1193 typedef struct IBindCtx IBindCtx
;
1194 typedef IBindCtx
*LPBINDCTX
;
1196 typedef IBindCtx
*LPBC
;
1198 typedef struct tagBIND_OPTS
{
1202 DWORD dwTickCountDeadline
;
1203 } BIND_OPTS
, *LPBIND_OPTS
;
1205 typedef struct tagBIND_OPTS2
{
1209 DWORD dwTickCountDeadline
;
1211 DWORD dwClassContext
;
1213 COSERVERINFO
*pServerInfo
;
1214 } BIND_OPTS2
, *LPBIND_OPTS2
;
1216 typedef enum tagBIND_FLAGS
{
1217 BIND_MAYBOTHERUSER
= 1,
1218 BIND_JUSTTESTEXISTENCE
= 2
1221 /*****************************************************************************
1222 * IBindCtx interface
1224 DEFINE_GUID(IID_IBindCtx
, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1225 #if defined(__cplusplus) && !defined(CINTERFACE)
1226 struct IBindCtx
: IUnknown
{
1228 virtual HRESULT CALLBACK
RegisterObjectBound(
1229 IUnknown
* punk
) = 0;
1231 virtual HRESULT CALLBACK
RevokeObjectBound(
1232 IUnknown
* punk
) = 0;
1234 virtual HRESULT CALLBACK
ReleaseBoundObjects(
1237 virtual HRESULT CALLBACK
SetBindOptions(
1238 BIND_OPTS
* pbindopts
) = 0;
1240 virtual HRESULT CALLBACK
GetBindOptions(
1241 BIND_OPTS
* pbindopts
) = 0;
1243 virtual HRESULT CALLBACK
GetRunningObjectTable(
1244 IRunningObjectTable
** pprot
) = 0;
1246 virtual HRESULT CALLBACK
RegisterObjectParam(
1248 IUnknown
* punk
) = 0;
1250 virtual HRESULT CALLBACK
GetObjectParam(
1252 IUnknown
** ppunk
) = 0;
1254 virtual HRESULT CALLBACK
EnumObjectParam(
1255 IEnumString
** ppenum
) = 0;
1257 virtual HRESULT CALLBACK
RevokeObjectParam(
1258 LPOLESTR pszKey
) = 0;
1260 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1262 typedef struct IBindCtxVtbl IBindCtxVtbl
;
1264 const IBindCtxVtbl
* lpVtbl
;
1266 struct IBindCtxVtbl
{
1267 ICOM_MSVTABLE_COMPAT_FIELDS
1269 /*** IUnknown methods ***/
1270 HRESULT (CALLBACK
*QueryInterface
)(
1275 ULONG (CALLBACK
*AddRef
)(
1278 ULONG (CALLBACK
*Release
)(
1281 /*** IBindCtx methods ***/
1282 HRESULT (CALLBACK
*RegisterObjectBound
)(
1286 HRESULT (CALLBACK
*RevokeObjectBound
)(
1290 HRESULT (CALLBACK
*ReleaseBoundObjects
)(
1293 HRESULT (CALLBACK
*SetBindOptions
)(
1295 BIND_OPTS
* pbindopts
);
1297 HRESULT (CALLBACK
*GetBindOptions
)(
1299 BIND_OPTS
* pbindopts
);
1301 HRESULT (CALLBACK
*GetRunningObjectTable
)(
1303 IRunningObjectTable
** pprot
);
1305 HRESULT (CALLBACK
*RegisterObjectParam
)(
1310 HRESULT (CALLBACK
*GetObjectParam
)(
1315 HRESULT (CALLBACK
*EnumObjectParam
)(
1317 IEnumString
** ppenum
);
1319 HRESULT (CALLBACK
*RevokeObjectParam
)(
1325 #define IBindCtx_IMETHODS \
1327 ICOM_METHOD1 (HRESULT,RegisterObjectBound,IUnknown*,punk) \
1328 ICOM_METHOD1 (HRESULT,RevokeObjectBound,IUnknown*,punk) \
1329 ICOM_METHOD (HRESULT,ReleaseBoundObjects) \
1330 ICOM_METHOD1 (HRESULT,SetBindOptions,BIND_OPTS*,pbindopts) \
1331 ICOM_METHOD1 (HRESULT,GetBindOptions,BIND_OPTS*,pbindopts) \
1332 ICOM_METHOD1 (HRESULT,GetRunningObjectTable,IRunningObjectTable**,pprot) \
1333 ICOM_METHOD2 (HRESULT,RegisterObjectParam,LPOLESTR,pszKey,IUnknown*,punk) \
1334 ICOM_METHOD2 (HRESULT,GetObjectParam,LPOLESTR,pszKey,IUnknown**,ppunk) \
1335 ICOM_METHOD1 (HRESULT,EnumObjectParam,IEnumString**,ppenum) \
1336 ICOM_METHOD1 (HRESULT,RevokeObjectParam,LPOLESTR,pszKey)
1338 /*** IUnknown methods ***/
1339 #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1340 #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p)
1341 #define IBindCtx_Release(p) (p)->lpVtbl->Release(p)
1342 /*** IBindCtx methods ***/
1343 #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a)
1344 #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a)
1345 #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p)
1346 #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a)
1347 #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a)
1348 #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a)
1349 #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b)
1350 #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b)
1351 #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a)
1352 #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a)
1356 HRESULT CALLBACK
IBindCtx_RegisterObjectBound_Proxy(
1359 void __RPC_STUB
IBindCtx_RegisterObjectBound_Stub(
1360 struct IRpcStubBuffer
* This
,
1361 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1362 PRPC_MESSAGE pRpcMessage
,
1363 DWORD
* pdwStubPhase
);
1364 HRESULT CALLBACK
IBindCtx_RevokeObjectBound_Proxy(
1367 void __RPC_STUB
IBindCtx_RevokeObjectBound_Stub(
1368 struct IRpcStubBuffer
* This
,
1369 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1370 PRPC_MESSAGE pRpcMessage
,
1371 DWORD
* pdwStubPhase
);
1372 HRESULT CALLBACK
IBindCtx_ReleaseBoundObjects_Proxy(
1374 void __RPC_STUB
IBindCtx_ReleaseBoundObjects_Stub(
1375 struct IRpcStubBuffer
* This
,
1376 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1377 PRPC_MESSAGE pRpcMessage
,
1378 DWORD
* pdwStubPhase
);
1379 HRESULT CALLBACK
IBindCtx_RemoteSetBindOptions_Proxy(
1381 BIND_OPTS2
* pbindopts
);
1382 void __RPC_STUB
IBindCtx_RemoteSetBindOptions_Stub(
1383 struct IRpcStubBuffer
* This
,
1384 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1385 PRPC_MESSAGE pRpcMessage
,
1386 DWORD
* pdwStubPhase
);
1387 HRESULT CALLBACK
IBindCtx_SetBindOptions_Proxy(
1389 BIND_OPTS
* pbindopts
);
1390 HRESULT __RPC_STUB
IBindCtx_SetBindOptions_Stub(
1392 BIND_OPTS2
* pbindopts
);
1393 HRESULT CALLBACK
IBindCtx_RemoteGetBindOptions_Proxy(
1395 BIND_OPTS2
* pbindopts
);
1396 void __RPC_STUB
IBindCtx_RemoteGetBindOptions_Stub(
1397 struct IRpcStubBuffer
* This
,
1398 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1399 PRPC_MESSAGE pRpcMessage
,
1400 DWORD
* pdwStubPhase
);
1401 HRESULT CALLBACK
IBindCtx_GetBindOptions_Proxy(
1403 BIND_OPTS
* pbindopts
);
1404 HRESULT __RPC_STUB
IBindCtx_GetBindOptions_Stub(
1406 BIND_OPTS2
* pbindopts
);
1407 HRESULT CALLBACK
IBindCtx_GetRunningObjectTable_Proxy(
1409 IRunningObjectTable
** pprot
);
1410 void __RPC_STUB
IBindCtx_GetRunningObjectTable_Stub(
1411 struct IRpcStubBuffer
* This
,
1412 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1413 PRPC_MESSAGE pRpcMessage
,
1414 DWORD
* pdwStubPhase
);
1415 HRESULT CALLBACK
IBindCtx_RegisterObjectParam_Proxy(
1419 void __RPC_STUB
IBindCtx_RegisterObjectParam_Stub(
1420 struct IRpcStubBuffer
* This
,
1421 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1422 PRPC_MESSAGE pRpcMessage
,
1423 DWORD
* pdwStubPhase
);
1424 HRESULT CALLBACK
IBindCtx_GetObjectParam_Proxy(
1428 void __RPC_STUB
IBindCtx_GetObjectParam_Stub(
1429 struct IRpcStubBuffer
* This
,
1430 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1431 PRPC_MESSAGE pRpcMessage
,
1432 DWORD
* pdwStubPhase
);
1433 HRESULT CALLBACK
IBindCtx_EnumObjectParam_Proxy(
1435 IEnumString
** ppenum
);
1436 void __RPC_STUB
IBindCtx_EnumObjectParam_Stub(
1437 struct IRpcStubBuffer
* This
,
1438 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1439 PRPC_MESSAGE pRpcMessage
,
1440 DWORD
* pdwStubPhase
);
1441 HRESULT CALLBACK
IBindCtx_RevokeObjectParam_Proxy(
1444 void __RPC_STUB
IBindCtx_RevokeObjectParam_Stub(
1445 struct IRpcStubBuffer
* This
,
1446 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1447 PRPC_MESSAGE pRpcMessage
,
1448 DWORD
* pdwStubPhase
);
1450 typedef struct IEnumMoniker IEnumMoniker
;
1451 typedef IEnumMoniker
*LPENUMMONIKER
;
1453 /*****************************************************************************
1454 * IEnumMoniker interface
1456 DEFINE_GUID(IID_IEnumMoniker
, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1457 #if defined(__cplusplus) && !defined(CINTERFACE)
1458 struct IEnumMoniker
: IUnknown
{
1460 virtual HRESULT CALLBACK
Next(
1463 ULONG
* pceltFetched
) = 0;
1465 virtual HRESULT CALLBACK
Skip(
1468 virtual HRESULT CALLBACK
Reset(
1471 virtual HRESULT CALLBACK
Clone(
1472 IEnumMoniker
** ppenum
) = 0;
1474 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1476 typedef struct IEnumMonikerVtbl IEnumMonikerVtbl
;
1477 struct IEnumMoniker
{
1478 const IEnumMonikerVtbl
* lpVtbl
;
1480 struct IEnumMonikerVtbl
{
1481 ICOM_MSVTABLE_COMPAT_FIELDS
1483 /*** IUnknown methods ***/
1484 HRESULT (CALLBACK
*QueryInterface
)(
1489 ULONG (CALLBACK
*AddRef
)(
1490 IEnumMoniker
* This
);
1492 ULONG (CALLBACK
*Release
)(
1493 IEnumMoniker
* This
);
1495 /*** IEnumMoniker methods ***/
1496 HRESULT (CALLBACK
*Next
)(
1500 ULONG
* pceltFetched
);
1502 HRESULT (CALLBACK
*Skip
)(
1506 HRESULT (CALLBACK
*Reset
)(
1507 IEnumMoniker
* This
);
1509 HRESULT (CALLBACK
*Clone
)(
1511 IEnumMoniker
** ppenum
);
1515 #define IEnumMoniker_IMETHODS \
1517 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,IMoniker**,rgelt,ULONG*,pceltFetched) \
1518 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
1519 ICOM_METHOD (HRESULT,Reset) \
1520 ICOM_METHOD1 (HRESULT,Clone,IEnumMoniker**,ppenum)
1522 /*** IUnknown methods ***/
1523 #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1524 #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1525 #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p)
1526 /*** IEnumMoniker methods ***/
1527 #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1528 #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1529 #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p)
1530 #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1534 HRESULT CALLBACK
IEnumMoniker_RemoteNext_Proxy(
1538 ULONG
* pceltFetched
);
1539 void __RPC_STUB
IEnumMoniker_RemoteNext_Stub(
1540 struct IRpcStubBuffer
* This
,
1541 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1542 PRPC_MESSAGE pRpcMessage
,
1543 DWORD
* pdwStubPhase
);
1544 HRESULT CALLBACK
IEnumMoniker_Next_Proxy(
1548 ULONG
* pceltFetched
);
1549 HRESULT __RPC_STUB
IEnumMoniker_Next_Stub(
1553 ULONG
* pceltFetched
);
1554 HRESULT CALLBACK
IEnumMoniker_Skip_Proxy(
1557 void __RPC_STUB
IEnumMoniker_Skip_Stub(
1558 struct IRpcStubBuffer
* This
,
1559 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1560 PRPC_MESSAGE pRpcMessage
,
1561 DWORD
* pdwStubPhase
);
1562 HRESULT CALLBACK
IEnumMoniker_Reset_Proxy(
1563 IEnumMoniker
* This
);
1564 void __RPC_STUB
IEnumMoniker_Reset_Stub(
1565 struct IRpcStubBuffer
* This
,
1566 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1567 PRPC_MESSAGE pRpcMessage
,
1568 DWORD
* pdwStubPhase
);
1569 HRESULT CALLBACK
IEnumMoniker_Clone_Proxy(
1571 IEnumMoniker
** ppenum
);
1572 void __RPC_STUB
IEnumMoniker_Clone_Stub(
1573 struct IRpcStubBuffer
* This
,
1574 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1575 PRPC_MESSAGE pRpcMessage
,
1576 DWORD
* pdwStubPhase
);
1578 typedef struct IRunnableObject IRunnableObject
;
1579 typedef IRunnableObject
*LPRUNNABLEOBJECT
;
1581 /*****************************************************************************
1582 * IRunnableObject interface
1584 DEFINE_GUID(IID_IRunnableObject
, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1585 #if defined(__cplusplus) && !defined(CINTERFACE)
1586 struct IRunnableObject
: IUnknown
{
1588 virtual HRESULT CALLBACK
GetRunningClass(
1589 LPCLSID lpClsid
) = 0;
1591 virtual HRESULT CALLBACK
Run(
1594 virtual BOOL CALLBACK
IsRunning(
1597 virtual HRESULT CALLBACK
LockRunning(
1599 BOOL fLastUnlockCloses
) = 0;
1601 virtual HRESULT CALLBACK
SetContainedObject(
1602 BOOL fContained
) = 0;
1604 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1606 typedef struct IRunnableObjectVtbl IRunnableObjectVtbl
;
1607 struct IRunnableObject
{
1608 const IRunnableObjectVtbl
* lpVtbl
;
1610 struct IRunnableObjectVtbl
{
1611 ICOM_MSVTABLE_COMPAT_FIELDS
1613 /*** IUnknown methods ***/
1614 HRESULT (CALLBACK
*QueryInterface
)(
1615 IRunnableObject
* This
,
1619 ULONG (CALLBACK
*AddRef
)(
1620 IRunnableObject
* This
);
1622 ULONG (CALLBACK
*Release
)(
1623 IRunnableObject
* This
);
1625 /*** IRunnableObject methods ***/
1626 HRESULT (CALLBACK
*GetRunningClass
)(
1627 IRunnableObject
* This
,
1630 HRESULT (CALLBACK
*Run
)(
1631 IRunnableObject
* This
,
1634 BOOL (CALLBACK
*IsRunning
)(
1635 IRunnableObject
* This
);
1637 HRESULT (CALLBACK
*LockRunning
)(
1638 IRunnableObject
* This
,
1640 BOOL fLastUnlockCloses
);
1642 HRESULT (CALLBACK
*SetContainedObject
)(
1643 IRunnableObject
* This
,
1648 #define IRunnableObject_IMETHODS \
1650 ICOM_METHOD1 (HRESULT,GetRunningClass,LPCLSID,lpClsid) \
1651 ICOM_METHOD1 (HRESULT,Run,LPBINDCTX,pbc) \
1652 ICOM_METHOD (BOOL,IsRunning) \
1653 ICOM_METHOD2 (HRESULT,LockRunning,BOOL,fLock,BOOL,fLastUnlockCloses) \
1654 ICOM_METHOD1 (HRESULT,SetContainedObject,BOOL,fContained)
1656 /*** IUnknown methods ***/
1657 #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1658 #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p)
1659 #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p)
1660 /*** IRunnableObject methods ***/
1661 #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a)
1662 #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a)
1663 #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p)
1664 #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b)
1665 #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a)
1669 HRESULT CALLBACK
IRunnableObject_GetRunningClass_Proxy(
1670 IRunnableObject
* This
,
1672 void __RPC_STUB
IRunnableObject_GetRunningClass_Stub(
1673 struct IRpcStubBuffer
* This
,
1674 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1675 PRPC_MESSAGE pRpcMessage
,
1676 DWORD
* pdwStubPhase
);
1677 HRESULT CALLBACK
IRunnableObject_Run_Proxy(
1678 IRunnableObject
* This
,
1680 void __RPC_STUB
IRunnableObject_Run_Stub(
1681 struct IRpcStubBuffer
* This
,
1682 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1683 PRPC_MESSAGE pRpcMessage
,
1684 DWORD
* pdwStubPhase
);
1685 HRESULT CALLBACK
IRunnableObject_RemoteIsRunning_Proxy(
1686 IRunnableObject
* This
);
1687 void __RPC_STUB
IRunnableObject_RemoteIsRunning_Stub(
1688 struct IRpcStubBuffer
* This
,
1689 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1690 PRPC_MESSAGE pRpcMessage
,
1691 DWORD
* pdwStubPhase
);
1692 BOOL CALLBACK
IRunnableObject_IsRunning_Proxy(
1693 IRunnableObject
* This
);
1694 HRESULT __RPC_STUB
IRunnableObject_IsRunning_Stub(
1695 IRunnableObject
* This
);
1696 HRESULT CALLBACK
IRunnableObject_LockRunning_Proxy(
1697 IRunnableObject
* This
,
1699 BOOL fLastUnlockCloses
);
1700 void __RPC_STUB
IRunnableObject_LockRunning_Stub(
1701 struct IRpcStubBuffer
* This
,
1702 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1703 PRPC_MESSAGE pRpcMessage
,
1704 DWORD
* pdwStubPhase
);
1705 HRESULT CALLBACK
IRunnableObject_SetContainedObject_Proxy(
1706 IRunnableObject
* This
,
1708 void __RPC_STUB
IRunnableObject_SetContainedObject_Stub(
1709 struct IRpcStubBuffer
* This
,
1710 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1711 PRPC_MESSAGE pRpcMessage
,
1712 DWORD
* pdwStubPhase
);
1717 typedef IRunningObjectTable
*LPRUNNINGOBJECTTABLE
;
1719 /*****************************************************************************
1720 * IRunningObjectTable interface
1722 DEFINE_GUID(IID_IRunningObjectTable
, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1723 #if defined(__cplusplus) && !defined(CINTERFACE)
1724 struct IRunningObjectTable
: IUnknown
{
1726 virtual HRESULT CALLBACK
Register(
1728 IUnknown
* punkObject
,
1729 IMoniker
* pmkObjectName
,
1730 DWORD
* pdwRegister
) = 0;
1732 virtual HRESULT CALLBACK
Revoke(
1733 DWORD dwRegister
) = 0;
1735 virtual HRESULT CALLBACK
IsRunning(
1736 IMoniker
* pmkObjectName
) = 0;
1738 virtual HRESULT CALLBACK
GetObject(
1739 IMoniker
* pmkObjectName
,
1740 IUnknown
** ppunkObject
) = 0;
1742 virtual HRESULT CALLBACK
NoteChangeTime(
1744 FILETIME
* pfiletime
) = 0;
1746 virtual HRESULT CALLBACK
GetTimeOfLastChange(
1747 IMoniker
* pmkObjectName
,
1748 FILETIME
* pfiletime
) = 0;
1750 virtual HRESULT CALLBACK
EnumRunning(
1751 IEnumMoniker
** ppenumMoniker
) = 0;
1753 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1755 typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl
;
1756 struct IRunningObjectTable
{
1757 const IRunningObjectTableVtbl
* lpVtbl
;
1759 struct IRunningObjectTableVtbl
{
1760 ICOM_MSVTABLE_COMPAT_FIELDS
1762 /*** IUnknown methods ***/
1763 HRESULT (CALLBACK
*QueryInterface
)(
1764 IRunningObjectTable
* This
,
1768 ULONG (CALLBACK
*AddRef
)(
1769 IRunningObjectTable
* This
);
1771 ULONG (CALLBACK
*Release
)(
1772 IRunningObjectTable
* This
);
1774 /*** IRunningObjectTable methods ***/
1775 HRESULT (CALLBACK
*Register
)(
1776 IRunningObjectTable
* This
,
1778 IUnknown
* punkObject
,
1779 IMoniker
* pmkObjectName
,
1780 DWORD
* pdwRegister
);
1782 HRESULT (CALLBACK
*Revoke
)(
1783 IRunningObjectTable
* This
,
1786 HRESULT (CALLBACK
*IsRunning
)(
1787 IRunningObjectTable
* This
,
1788 IMoniker
* pmkObjectName
);
1790 HRESULT (CALLBACK
*GetObject
)(
1791 IRunningObjectTable
* This
,
1792 IMoniker
* pmkObjectName
,
1793 IUnknown
** ppunkObject
);
1795 HRESULT (CALLBACK
*NoteChangeTime
)(
1796 IRunningObjectTable
* This
,
1798 FILETIME
* pfiletime
);
1800 HRESULT (CALLBACK
*GetTimeOfLastChange
)(
1801 IRunningObjectTable
* This
,
1802 IMoniker
* pmkObjectName
,
1803 FILETIME
* pfiletime
);
1805 HRESULT (CALLBACK
*EnumRunning
)(
1806 IRunningObjectTable
* This
,
1807 IEnumMoniker
** ppenumMoniker
);
1811 #define IRunningObjectTable_IMETHODS \
1813 ICOM_METHOD4 (HRESULT,Register,DWORD,grfFlags,IUnknown*,punkObject,IMoniker*,pmkObjectName,DWORD*,pdwRegister) \
1814 ICOM_METHOD1 (HRESULT,Revoke,DWORD,dwRegister) \
1815 ICOM_METHOD1 (HRESULT,IsRunning,IMoniker*,pmkObjectName) \
1816 ICOM_METHOD2 (HRESULT,GetObject,IMoniker*,pmkObjectName,IUnknown**,ppunkObject) \
1817 ICOM_METHOD2 (HRESULT,NoteChangeTime,DWORD,dwRegister,FILETIME*,pfiletime) \
1818 ICOM_METHOD2 (HRESULT,GetTimeOfLastChange,IMoniker*,pmkObjectName,FILETIME*,pfiletime) \
1819 ICOM_METHOD1 (HRESULT,EnumRunning,IEnumMoniker**,ppenumMoniker)
1821 /*** IUnknown methods ***/
1822 #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1823 #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p)
1824 #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p)
1825 /*** IRunningObjectTable methods ***/
1826 #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d)
1827 #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a)
1828 #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
1829 #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
1830 #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b)
1831 #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b)
1832 #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a)
1836 HRESULT CALLBACK
IRunningObjectTable_Register_Proxy(
1837 IRunningObjectTable
* This
,
1839 IUnknown
* punkObject
,
1840 IMoniker
* pmkObjectName
,
1841 DWORD
* pdwRegister
);
1842 void __RPC_STUB
IRunningObjectTable_Register_Stub(
1843 struct IRpcStubBuffer
* This
,
1844 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1845 PRPC_MESSAGE pRpcMessage
,
1846 DWORD
* pdwStubPhase
);
1847 HRESULT CALLBACK
IRunningObjectTable_Revoke_Proxy(
1848 IRunningObjectTable
* This
,
1850 void __RPC_STUB
IRunningObjectTable_Revoke_Stub(
1851 struct IRpcStubBuffer
* This
,
1852 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1853 PRPC_MESSAGE pRpcMessage
,
1854 DWORD
* pdwStubPhase
);
1855 HRESULT CALLBACK
IRunningObjectTable_IsRunning_Proxy(
1856 IRunningObjectTable
* This
,
1857 IMoniker
* pmkObjectName
);
1858 void __RPC_STUB
IRunningObjectTable_IsRunning_Stub(
1859 struct IRpcStubBuffer
* This
,
1860 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1861 PRPC_MESSAGE pRpcMessage
,
1862 DWORD
* pdwStubPhase
);
1863 HRESULT CALLBACK
IRunningObjectTable_GetObject_Proxy(
1864 IRunningObjectTable
* This
,
1865 IMoniker
* pmkObjectName
,
1866 IUnknown
** ppunkObject
);
1867 void __RPC_STUB
IRunningObjectTable_GetObject_Stub(
1868 struct IRpcStubBuffer
* This
,
1869 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1870 PRPC_MESSAGE pRpcMessage
,
1871 DWORD
* pdwStubPhase
);
1872 HRESULT CALLBACK
IRunningObjectTable_NoteChangeTime_Proxy(
1873 IRunningObjectTable
* This
,
1875 FILETIME
* pfiletime
);
1876 void __RPC_STUB
IRunningObjectTable_NoteChangeTime_Stub(
1877 struct IRpcStubBuffer
* This
,
1878 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1879 PRPC_MESSAGE pRpcMessage
,
1880 DWORD
* pdwStubPhase
);
1881 HRESULT CALLBACK
IRunningObjectTable_GetTimeOfLastChange_Proxy(
1882 IRunningObjectTable
* This
,
1883 IMoniker
* pmkObjectName
,
1884 FILETIME
* pfiletime
);
1885 void __RPC_STUB
IRunningObjectTable_GetTimeOfLastChange_Stub(
1886 struct IRpcStubBuffer
* This
,
1887 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1888 PRPC_MESSAGE pRpcMessage
,
1889 DWORD
* pdwStubPhase
);
1890 HRESULT CALLBACK
IRunningObjectTable_EnumRunning_Proxy(
1891 IRunningObjectTable
* This
,
1892 IEnumMoniker
** ppenumMoniker
);
1893 void __RPC_STUB
IRunningObjectTable_EnumRunning_Stub(
1894 struct IRpcStubBuffer
* This
,
1895 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1896 PRPC_MESSAGE pRpcMessage
,
1897 DWORD
* pdwStubPhase
);
1899 typedef struct IPersist IPersist
;
1900 typedef IPersist
*LPPERSIST
;
1902 /*****************************************************************************
1903 * IPersist interface
1905 DEFINE_GUID(IID_IPersist
, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1906 #if defined(__cplusplus) && !defined(CINTERFACE)
1907 struct IPersist
: IUnknown
{
1909 virtual HRESULT CALLBACK
GetClassID(
1910 CLSID
* pClassID
) = 0;
1912 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1914 typedef struct IPersistVtbl IPersistVtbl
;
1916 const IPersistVtbl
* lpVtbl
;
1918 struct IPersistVtbl
{
1919 ICOM_MSVTABLE_COMPAT_FIELDS
1921 /*** IUnknown methods ***/
1922 HRESULT (CALLBACK
*QueryInterface
)(
1927 ULONG (CALLBACK
*AddRef
)(
1930 ULONG (CALLBACK
*Release
)(
1933 /*** IPersist methods ***/
1934 HRESULT (CALLBACK
*GetClassID
)(
1940 #define IPersist_IMETHODS \
1942 ICOM_METHOD1 (HRESULT,GetClassID,CLSID*,pClassID)
1944 /*** IUnknown methods ***/
1945 #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1946 #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p)
1947 #define IPersist_Release(p) (p)->lpVtbl->Release(p)
1948 /*** IPersist methods ***/
1949 #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
1953 HRESULT CALLBACK
IPersist_GetClassID_Proxy(
1956 void __RPC_STUB
IPersist_GetClassID_Stub(
1957 struct IRpcStubBuffer
* This
,
1958 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1959 PRPC_MESSAGE pRpcMessage
,
1960 DWORD
* pdwStubPhase
);
1962 typedef struct IPersistStream IPersistStream
;
1963 typedef IPersistStream
*LPPERSISTSTREAM
;
1965 /*****************************************************************************
1966 * IPersistStream interface
1968 DEFINE_GUID(IID_IPersistStream
, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1969 #if defined(__cplusplus) && !defined(CINTERFACE)
1970 struct IPersistStream
: IPersist
{
1972 virtual HRESULT CALLBACK
IsDirty(
1975 virtual HRESULT CALLBACK
Load(
1978 virtual HRESULT CALLBACK
Save(
1980 BOOL fClearDirty
) = 0;
1982 virtual HRESULT CALLBACK
GetSizeMax(
1983 ULARGE_INTEGER
* pcbSize
) = 0;
1985 } ICOM_COM_INTERFACE_ATTRIBUTE
;
1987 typedef struct IPersistStreamVtbl IPersistStreamVtbl
;
1988 struct IPersistStream
{
1989 const IPersistStreamVtbl
* lpVtbl
;
1991 struct IPersistStreamVtbl
{
1992 ICOM_MSVTABLE_COMPAT_FIELDS
1994 /*** IUnknown methods ***/
1995 HRESULT (CALLBACK
*QueryInterface
)(
1996 IPersistStream
* This
,
2000 ULONG (CALLBACK
*AddRef
)(
2001 IPersistStream
* This
);
2003 ULONG (CALLBACK
*Release
)(
2004 IPersistStream
* This
);
2006 /*** IPersist methods ***/
2007 HRESULT (CALLBACK
*GetClassID
)(
2008 IPersistStream
* This
,
2011 /*** IPersistStream methods ***/
2012 HRESULT (CALLBACK
*IsDirty
)(
2013 IPersistStream
* This
);
2015 HRESULT (CALLBACK
*Load
)(
2016 IPersistStream
* This
,
2019 HRESULT (CALLBACK
*Save
)(
2020 IPersistStream
* This
,
2024 HRESULT (CALLBACK
*GetSizeMax
)(
2025 IPersistStream
* This
,
2026 ULARGE_INTEGER
* pcbSize
);
2030 #define IPersistStream_IMETHODS \
2032 ICOM_METHOD (HRESULT,IsDirty) \
2033 ICOM_METHOD1 (HRESULT,Load,IStream*,pStm) \
2034 ICOM_METHOD2 (HRESULT,Save,IStream*,pStm,BOOL,fClearDirty) \
2035 ICOM_METHOD1 (HRESULT,GetSizeMax,ULARGE_INTEGER*,pcbSize)
2037 /*** IUnknown methods ***/
2038 #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2039 #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2040 #define IPersistStream_Release(p) (p)->lpVtbl->Release(p)
2041 /*** IPersist methods ***/
2042 #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2043 /*** IPersistStream methods ***/
2044 #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2045 #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a)
2046 #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2047 #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2051 HRESULT CALLBACK
IPersistStream_IsDirty_Proxy(
2052 IPersistStream
* This
);
2053 void __RPC_STUB
IPersistStream_IsDirty_Stub(
2054 struct IRpcStubBuffer
* This
,
2055 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2056 PRPC_MESSAGE pRpcMessage
,
2057 DWORD
* pdwStubPhase
);
2058 HRESULT CALLBACK
IPersistStream_Load_Proxy(
2059 IPersistStream
* This
,
2061 void __RPC_STUB
IPersistStream_Load_Stub(
2062 struct IRpcStubBuffer
* This
,
2063 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2064 PRPC_MESSAGE pRpcMessage
,
2065 DWORD
* pdwStubPhase
);
2066 HRESULT CALLBACK
IPersistStream_Save_Proxy(
2067 IPersistStream
* This
,
2070 void __RPC_STUB
IPersistStream_Save_Stub(
2071 struct IRpcStubBuffer
* This
,
2072 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2073 PRPC_MESSAGE pRpcMessage
,
2074 DWORD
* pdwStubPhase
);
2075 HRESULT CALLBACK
IPersistStream_GetSizeMax_Proxy(
2076 IPersistStream
* This
,
2077 ULARGE_INTEGER
* pcbSize
);
2078 void __RPC_STUB
IPersistStream_GetSizeMax_Stub(
2079 struct IRpcStubBuffer
* This
,
2080 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2081 PRPC_MESSAGE pRpcMessage
,
2082 DWORD
* pdwStubPhase
);
2084 typedef IMoniker
*LPMONIKER
;
2086 typedef enum tagMKSYS
{
2088 MKSYS_GENERICCOMPOSITE
= 1,
2089 MKSYS_FILEMONIKER
= 2,
2090 MKSYS_ANTIMONIKER
= 3,
2091 MKSYS_ITEMMONIKER
= 4,
2092 MKSYS_POINTERMONIKER
= 5,
2093 MKSYS_CLASSMONIKER
= 7
2096 typedef enum tagMKREDUCE
{
2097 MKRREDUCE_ONE
= 3 << 16,
2098 MKRREDUCE_TOUSER
= 2 << 16,
2099 MKRREDUCE_THROUGHUSER
= 1 << 16,
2103 /*****************************************************************************
2104 * IMoniker interface
2106 DEFINE_GUID(IID_IMoniker
, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2107 #if defined(__cplusplus) && !defined(CINTERFACE)
2108 struct IMoniker
: IPersistStream
{
2110 virtual HRESULT CALLBACK
BindToObject(
2112 IMoniker
* pmkToLeft
,
2114 void** ppvResult
) = 0;
2116 virtual HRESULT CALLBACK
BindToStorage(
2118 IMoniker
* pmkToLeft
,
2122 virtual HRESULT CALLBACK
Reduce(
2124 DWORD dwReduceHowFar
,
2125 IMoniker
** ppmkToLeft
,
2126 IMoniker
** ppmkReduced
) = 0;
2128 virtual HRESULT CALLBACK
ComposeWith(
2130 BOOL fOnlyIfNotGeneric
,
2131 IMoniker
** ppmkComposite
) = 0;
2133 virtual HRESULT CALLBACK
Enum(
2135 IEnumMoniker
** ppenumMoniker
) = 0;
2137 virtual HRESULT CALLBACK
IsEqual(
2138 IMoniker
* pmkOtherMoniker
) = 0;
2140 virtual HRESULT CALLBACK
Hash(
2141 DWORD
* pdwHash
) = 0;
2143 virtual HRESULT CALLBACK
IsRunning(
2145 IMoniker
* pmkToLeft
,
2146 IMoniker
* pmkNewlyRunning
) = 0;
2148 virtual HRESULT CALLBACK
GetTimeOfLastChange(
2150 IMoniker
* pmkToLeft
,
2151 FILETIME
* pFileTime
) = 0;
2153 virtual HRESULT CALLBACK
Inverse(
2154 IMoniker
** ppmk
) = 0;
2156 virtual HRESULT CALLBACK
CommonPrefixWith(
2158 IMoniker
** ppmkPrefix
) = 0;
2160 virtual HRESULT CALLBACK
RelativePathTo(
2162 IMoniker
** ppmkRelPath
) = 0;
2164 virtual HRESULT CALLBACK
GetDisplayName(
2166 IMoniker
* pmkToLeft
,
2167 LPOLESTR
* ppszDisplayName
) = 0;
2169 virtual HRESULT CALLBACK
ParseDisplayName(
2171 IMoniker
* pmkToLeft
,
2172 LPOLESTR pszDisplayName
,
2174 IMoniker
** ppmkOut
) = 0;
2176 virtual HRESULT CALLBACK
IsSystemMoniker(
2177 DWORD
* pdwMksys
) = 0;
2179 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2181 typedef struct IMonikerVtbl IMonikerVtbl
;
2183 const IMonikerVtbl
* lpVtbl
;
2185 struct IMonikerVtbl
{
2186 ICOM_MSVTABLE_COMPAT_FIELDS
2188 /*** IUnknown methods ***/
2189 HRESULT (CALLBACK
*QueryInterface
)(
2194 ULONG (CALLBACK
*AddRef
)(
2197 ULONG (CALLBACK
*Release
)(
2200 /*** IPersist methods ***/
2201 HRESULT (CALLBACK
*GetClassID
)(
2205 /*** IPersistStream methods ***/
2206 HRESULT (CALLBACK
*IsDirty
)(
2209 HRESULT (CALLBACK
*Load
)(
2213 HRESULT (CALLBACK
*Save
)(
2218 HRESULT (CALLBACK
*GetSizeMax
)(
2220 ULARGE_INTEGER
* pcbSize
);
2222 /*** IMoniker methods ***/
2223 HRESULT (CALLBACK
*BindToObject
)(
2226 IMoniker
* pmkToLeft
,
2230 HRESULT (CALLBACK
*BindToStorage
)(
2233 IMoniker
* pmkToLeft
,
2237 HRESULT (CALLBACK
*Reduce
)(
2240 DWORD dwReduceHowFar
,
2241 IMoniker
** ppmkToLeft
,
2242 IMoniker
** ppmkReduced
);
2244 HRESULT (CALLBACK
*ComposeWith
)(
2247 BOOL fOnlyIfNotGeneric
,
2248 IMoniker
** ppmkComposite
);
2250 HRESULT (CALLBACK
*Enum
)(
2253 IEnumMoniker
** ppenumMoniker
);
2255 HRESULT (CALLBACK
*IsEqual
)(
2257 IMoniker
* pmkOtherMoniker
);
2259 HRESULT (CALLBACK
*Hash
)(
2263 HRESULT (CALLBACK
*IsRunning
)(
2266 IMoniker
* pmkToLeft
,
2267 IMoniker
* pmkNewlyRunning
);
2269 HRESULT (CALLBACK
*GetTimeOfLastChange
)(
2272 IMoniker
* pmkToLeft
,
2273 FILETIME
* pFileTime
);
2275 HRESULT (CALLBACK
*Inverse
)(
2279 HRESULT (CALLBACK
*CommonPrefixWith
)(
2282 IMoniker
** ppmkPrefix
);
2284 HRESULT (CALLBACK
*RelativePathTo
)(
2287 IMoniker
** ppmkRelPath
);
2289 HRESULT (CALLBACK
*GetDisplayName
)(
2292 IMoniker
* pmkToLeft
,
2293 LPOLESTR
* ppszDisplayName
);
2295 HRESULT (CALLBACK
*ParseDisplayName
)(
2298 IMoniker
* pmkToLeft
,
2299 LPOLESTR pszDisplayName
,
2301 IMoniker
** ppmkOut
);
2303 HRESULT (CALLBACK
*IsSystemMoniker
)(
2309 #define IMoniker_IMETHODS \
2310 IPersistStream_IMETHODS \
2311 ICOM_METHOD4 (HRESULT,BindToObject,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riidResult,void**,ppvResult) \
2312 ICOM_METHOD4 (HRESULT,BindToStorage,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riid,void**,ppvObj) \
2313 ICOM_METHOD4 (HRESULT,Reduce,IBindCtx*,pbc,DWORD,dwReduceHowFar,IMoniker**,ppmkToLeft,IMoniker**,ppmkReduced) \
2314 ICOM_METHOD3 (HRESULT,ComposeWith,IMoniker*,pmkRight,BOOL,fOnlyIfNotGeneric,IMoniker**,ppmkComposite) \
2315 ICOM_METHOD2 (HRESULT,Enum,BOOL,fForward,IEnumMoniker**,ppenumMoniker) \
2316 ICOM_METHOD1 (HRESULT,IsEqual,IMoniker*,pmkOtherMoniker) \
2317 ICOM_METHOD1 (HRESULT,Hash,DWORD*,pdwHash) \
2318 ICOM_METHOD3 (HRESULT,IsRunning,IBindCtx*,pbc,IMoniker*,pmkToLeft,IMoniker*,pmkNewlyRunning) \
2319 ICOM_METHOD3 (HRESULT,GetTimeOfLastChange,IBindCtx*,pbc,IMoniker*,pmkToLeft,FILETIME*,pFileTime) \
2320 ICOM_METHOD1 (HRESULT,Inverse,IMoniker**,ppmk) \
2321 ICOM_METHOD2 (HRESULT,CommonPrefixWith,IMoniker*,pmkOther,IMoniker**,ppmkPrefix) \
2322 ICOM_METHOD2 (HRESULT,RelativePathTo,IMoniker*,pmkOther,IMoniker**,ppmkRelPath) \
2323 ICOM_METHOD3 (HRESULT,GetDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR*,ppszDisplayName) \
2324 ICOM_METHOD5 (HRESULT,ParseDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR,pszDisplayName,ULONG*,pchEaten,IMoniker**,ppmkOut) \
2325 ICOM_METHOD1 (HRESULT,IsSystemMoniker,DWORD*,pdwMksys)
2327 /*** IUnknown methods ***/
2328 #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2329 #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
2330 #define IMoniker_Release(p) (p)->lpVtbl->Release(p)
2331 /*** IPersist methods ***/
2332 #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2333 /*** IPersistStream methods ***/
2334 #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
2335 #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a)
2336 #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
2337 #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a)
2338 /*** IMoniker methods ***/
2339 #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
2340 #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
2341 #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d)
2342 #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c)
2343 #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b)
2344 #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
2345 #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a)
2346 #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c)
2347 #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c)
2348 #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a)
2349 #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b)
2350 #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b)
2351 #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c)
2352 #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e)
2353 #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a)
2357 HRESULT CALLBACK
IMoniker_RemoteBindToObject_Proxy(
2360 IMoniker
* pmkToLeft
,
2362 IUnknown
** ppvResult
);
2363 void __RPC_STUB
IMoniker_RemoteBindToObject_Stub(
2364 struct IRpcStubBuffer
* This
,
2365 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2366 PRPC_MESSAGE pRpcMessage
,
2367 DWORD
* pdwStubPhase
);
2368 HRESULT CALLBACK
IMoniker_BindToObject_Proxy(
2371 IMoniker
* pmkToLeft
,
2374 HRESULT __RPC_STUB
IMoniker_BindToObject_Stub(
2377 IMoniker
* pmkToLeft
,
2379 IUnknown
** ppvResult
);
2380 HRESULT CALLBACK
IMoniker_RemoteBindToStorage_Proxy(
2383 IMoniker
* pmkToLeft
,
2386 void __RPC_STUB
IMoniker_RemoteBindToStorage_Stub(
2387 struct IRpcStubBuffer
* This
,
2388 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2389 PRPC_MESSAGE pRpcMessage
,
2390 DWORD
* pdwStubPhase
);
2391 HRESULT CALLBACK
IMoniker_BindToStorage_Proxy(
2394 IMoniker
* pmkToLeft
,
2397 HRESULT __RPC_STUB
IMoniker_BindToStorage_Stub(
2400 IMoniker
* pmkToLeft
,
2403 HRESULT CALLBACK
IMoniker_Reduce_Proxy(
2406 DWORD dwReduceHowFar
,
2407 IMoniker
** ppmkToLeft
,
2408 IMoniker
** ppmkReduced
);
2409 void __RPC_STUB
IMoniker_Reduce_Stub(
2410 struct IRpcStubBuffer
* This
,
2411 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2412 PRPC_MESSAGE pRpcMessage
,
2413 DWORD
* pdwStubPhase
);
2414 HRESULT CALLBACK
IMoniker_ComposeWith_Proxy(
2417 BOOL fOnlyIfNotGeneric
,
2418 IMoniker
** ppmkComposite
);
2419 void __RPC_STUB
IMoniker_ComposeWith_Stub(
2420 struct IRpcStubBuffer
* This
,
2421 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2422 PRPC_MESSAGE pRpcMessage
,
2423 DWORD
* pdwStubPhase
);
2424 HRESULT CALLBACK
IMoniker_Enum_Proxy(
2427 IEnumMoniker
** ppenumMoniker
);
2428 void __RPC_STUB
IMoniker_Enum_Stub(
2429 struct IRpcStubBuffer
* This
,
2430 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2431 PRPC_MESSAGE pRpcMessage
,
2432 DWORD
* pdwStubPhase
);
2433 HRESULT CALLBACK
IMoniker_IsEqual_Proxy(
2435 IMoniker
* pmkOtherMoniker
);
2436 void __RPC_STUB
IMoniker_IsEqual_Stub(
2437 struct IRpcStubBuffer
* This
,
2438 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2439 PRPC_MESSAGE pRpcMessage
,
2440 DWORD
* pdwStubPhase
);
2441 HRESULT CALLBACK
IMoniker_Hash_Proxy(
2444 void __RPC_STUB
IMoniker_Hash_Stub(
2445 struct IRpcStubBuffer
* This
,
2446 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2447 PRPC_MESSAGE pRpcMessage
,
2448 DWORD
* pdwStubPhase
);
2449 HRESULT CALLBACK
IMoniker_IsRunning_Proxy(
2452 IMoniker
* pmkToLeft
,
2453 IMoniker
* pmkNewlyRunning
);
2454 void __RPC_STUB
IMoniker_IsRunning_Stub(
2455 struct IRpcStubBuffer
* This
,
2456 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2457 PRPC_MESSAGE pRpcMessage
,
2458 DWORD
* pdwStubPhase
);
2459 HRESULT CALLBACK
IMoniker_GetTimeOfLastChange_Proxy(
2462 IMoniker
* pmkToLeft
,
2463 FILETIME
* pFileTime
);
2464 void __RPC_STUB
IMoniker_GetTimeOfLastChange_Stub(
2465 struct IRpcStubBuffer
* This
,
2466 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2467 PRPC_MESSAGE pRpcMessage
,
2468 DWORD
* pdwStubPhase
);
2469 HRESULT CALLBACK
IMoniker_Inverse_Proxy(
2472 void __RPC_STUB
IMoniker_Inverse_Stub(
2473 struct IRpcStubBuffer
* This
,
2474 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2475 PRPC_MESSAGE pRpcMessage
,
2476 DWORD
* pdwStubPhase
);
2477 HRESULT CALLBACK
IMoniker_CommonPrefixWith_Proxy(
2480 IMoniker
** ppmkPrefix
);
2481 void __RPC_STUB
IMoniker_CommonPrefixWith_Stub(
2482 struct IRpcStubBuffer
* This
,
2483 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2484 PRPC_MESSAGE pRpcMessage
,
2485 DWORD
* pdwStubPhase
);
2486 HRESULT CALLBACK
IMoniker_RelativePathTo_Proxy(
2489 IMoniker
** ppmkRelPath
);
2490 void __RPC_STUB
IMoniker_RelativePathTo_Stub(
2491 struct IRpcStubBuffer
* This
,
2492 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2493 PRPC_MESSAGE pRpcMessage
,
2494 DWORD
* pdwStubPhase
);
2495 HRESULT CALLBACK
IMoniker_GetDisplayName_Proxy(
2498 IMoniker
* pmkToLeft
,
2499 LPOLESTR
* ppszDisplayName
);
2500 void __RPC_STUB
IMoniker_GetDisplayName_Stub(
2501 struct IRpcStubBuffer
* This
,
2502 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2503 PRPC_MESSAGE pRpcMessage
,
2504 DWORD
* pdwStubPhase
);
2505 HRESULT CALLBACK
IMoniker_ParseDisplayName_Proxy(
2508 IMoniker
* pmkToLeft
,
2509 LPOLESTR pszDisplayName
,
2511 IMoniker
** ppmkOut
);
2512 void __RPC_STUB
IMoniker_ParseDisplayName_Stub(
2513 struct IRpcStubBuffer
* This
,
2514 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2515 PRPC_MESSAGE pRpcMessage
,
2516 DWORD
* pdwStubPhase
);
2517 HRESULT CALLBACK
IMoniker_IsSystemMoniker_Proxy(
2520 void __RPC_STUB
IMoniker_IsSystemMoniker_Stub(
2521 struct IRpcStubBuffer
* This
,
2522 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2523 PRPC_MESSAGE pRpcMessage
,
2524 DWORD
* pdwStubPhase
);
2526 typedef struct IROTData IROTData
;
2527 /*****************************************************************************
2528 * IROTData interface
2530 DEFINE_GUID(IID_IROTData
, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
2531 #if defined(__cplusplus) && !defined(CINTERFACE)
2532 struct IROTData
: IUnknown
{
2534 virtual HRESULT CALLBACK
GetComparisonData(
2537 ULONG
* pcbData
) = 0;
2539 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2541 typedef struct IROTDataVtbl IROTDataVtbl
;
2543 const IROTDataVtbl
* lpVtbl
;
2545 struct IROTDataVtbl
{
2546 ICOM_MSVTABLE_COMPAT_FIELDS
2548 /*** IUnknown methods ***/
2549 HRESULT (CALLBACK
*QueryInterface
)(
2554 ULONG (CALLBACK
*AddRef
)(
2557 ULONG (CALLBACK
*Release
)(
2560 /*** IROTData methods ***/
2561 HRESULT (CALLBACK
*GetComparisonData
)(
2569 #define IROTData_IMETHODS \
2571 ICOM_METHOD3 (HRESULT,GetComparisonData,byte*,pbData,ULONG,cbMax,ULONG*,pcbData)
2573 /*** IUnknown methods ***/
2574 #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2575 #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p)
2576 #define IROTData_Release(p) (p)->lpVtbl->Release(p)
2577 /*** IROTData methods ***/
2578 #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c)
2582 HRESULT CALLBACK
IROTData_GetComparisonData_Proxy(
2587 void __RPC_STUB
IROTData_GetComparisonData_Stub(
2588 struct IRpcStubBuffer
* This
,
2589 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2590 PRPC_MESSAGE pRpcMessage
,
2591 DWORD
* pdwStubPhase
);
2593 typedef IEnumString
*LPENUMSTRING
;
2595 /*****************************************************************************
2596 * IEnumString interface
2598 DEFINE_GUID(IID_IEnumString
, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2599 #if defined(__cplusplus) && !defined(CINTERFACE)
2600 struct IEnumString
: IUnknown
{
2602 virtual HRESULT CALLBACK
Next(
2605 ULONG
* pceltFetched
) = 0;
2607 virtual HRESULT CALLBACK
Skip(
2610 virtual HRESULT CALLBACK
Reset(
2613 virtual HRESULT CALLBACK
Clone(
2614 IEnumString
** ppenum
) = 0;
2616 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2618 typedef struct IEnumStringVtbl IEnumStringVtbl
;
2619 struct IEnumString
{
2620 const IEnumStringVtbl
* lpVtbl
;
2622 struct IEnumStringVtbl
{
2623 ICOM_MSVTABLE_COMPAT_FIELDS
2625 /*** IUnknown methods ***/
2626 HRESULT (CALLBACK
*QueryInterface
)(
2631 ULONG (CALLBACK
*AddRef
)(
2634 ULONG (CALLBACK
*Release
)(
2637 /*** IEnumString methods ***/
2638 HRESULT (CALLBACK
*Next
)(
2642 ULONG
* pceltFetched
);
2644 HRESULT (CALLBACK
*Skip
)(
2648 HRESULT (CALLBACK
*Reset
)(
2651 HRESULT (CALLBACK
*Clone
)(
2653 IEnumString
** ppenum
);
2657 #define IEnumString_IMETHODS \
2659 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,LPOLESTR*,rgelt,ULONG*,pceltFetched) \
2660 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
2661 ICOM_METHOD (HRESULT,Reset) \
2662 ICOM_METHOD1 (HRESULT,Clone,IEnumString**,ppenum)
2664 /*** IUnknown methods ***/
2665 #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2666 #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p)
2667 #define IEnumString_Release(p) (p)->lpVtbl->Release(p)
2668 /*** IEnumString methods ***/
2669 #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
2670 #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a)
2671 #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p)
2672 #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a)
2676 HRESULT CALLBACK
IEnumString_RemoteNext_Proxy(
2680 ULONG
* pceltFetched
);
2681 void __RPC_STUB
IEnumString_RemoteNext_Stub(
2682 struct IRpcStubBuffer
* This
,
2683 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2684 PRPC_MESSAGE pRpcMessage
,
2685 DWORD
* pdwStubPhase
);
2686 HRESULT CALLBACK
IEnumString_Next_Proxy(
2690 ULONG
* pceltFetched
);
2691 HRESULT __RPC_STUB
IEnumString_Next_Stub(
2695 ULONG
* pceltFetched
);
2696 HRESULT CALLBACK
IEnumString_Skip_Proxy(
2699 void __RPC_STUB
IEnumString_Skip_Stub(
2700 struct IRpcStubBuffer
* This
,
2701 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2702 PRPC_MESSAGE pRpcMessage
,
2703 DWORD
* pdwStubPhase
);
2704 HRESULT CALLBACK
IEnumString_Reset_Proxy(
2706 void __RPC_STUB
IEnumString_Reset_Stub(
2707 struct IRpcStubBuffer
* This
,
2708 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2709 PRPC_MESSAGE pRpcMessage
,
2710 DWORD
* pdwStubPhase
);
2711 HRESULT CALLBACK
IEnumString_Clone_Proxy(
2713 IEnumString
** ppenum
);
2714 void __RPC_STUB
IEnumString_Clone_Stub(
2715 struct IRpcStubBuffer
* This
,
2716 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2717 PRPC_MESSAGE pRpcMessage
,
2718 DWORD
* pdwStubPhase
);
2720 typedef struct IClassActivator IClassActivator
;
2721 /*****************************************************************************
2722 * IClassActivator interface
2724 DEFINE_GUID(IID_IClassActivator
, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2725 #if defined(__cplusplus) && !defined(CINTERFACE)
2726 struct IClassActivator
: IUnknown
{
2728 virtual HRESULT CALLBACK
GetClassObject(
2730 DWORD dwClassContext
,
2735 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2737 typedef struct IClassActivatorVtbl IClassActivatorVtbl
;
2738 struct IClassActivator
{
2739 const IClassActivatorVtbl
* lpVtbl
;
2741 struct IClassActivatorVtbl
{
2742 ICOM_MSVTABLE_COMPAT_FIELDS
2744 /*** IUnknown methods ***/
2745 HRESULT (CALLBACK
*QueryInterface
)(
2746 IClassActivator
* This
,
2750 ULONG (CALLBACK
*AddRef
)(
2751 IClassActivator
* This
);
2753 ULONG (CALLBACK
*Release
)(
2754 IClassActivator
* This
);
2756 /*** IClassActivator methods ***/
2757 HRESULT (CALLBACK
*GetClassObject
)(
2758 IClassActivator
* This
,
2760 DWORD dwClassContext
,
2767 #define IClassActivator_IMETHODS \
2769 ICOM_METHOD5 (HRESULT,GetClassObject,REFCLSID,rclsid,DWORD,dwClassContext,LCID,locale,REFIID,riid,void**,ppv)
2771 /*** IUnknown methods ***/
2772 #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2773 #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p)
2774 #define IClassActivator_Release(p) (p)->lpVtbl->Release(p)
2775 /*** IClassActivator methods ***/
2776 #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e)
2780 HRESULT CALLBACK
IClassActivator_GetClassObject_Proxy(
2781 IClassActivator
* This
,
2783 DWORD dwClassContext
,
2787 void __RPC_STUB
IClassActivator_GetClassObject_Stub(
2788 struct IRpcStubBuffer
* This
,
2789 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2790 PRPC_MESSAGE pRpcMessage
,
2791 DWORD
* pdwStubPhase
);
2793 typedef struct ISequentialStream ISequentialStream
;
2794 /*****************************************************************************
2795 * ISequentialStream interface
2797 DEFINE_GUID(IID_ISequentialStream
, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
2798 #if defined(__cplusplus) && !defined(CINTERFACE)
2799 struct ISequentialStream
: IUnknown
{
2801 virtual HRESULT CALLBACK
Read(
2804 ULONG
* pcbRead
) = 0;
2806 virtual HRESULT CALLBACK
Write(
2809 ULONG
* pcbWritten
) = 0;
2811 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2813 typedef struct ISequentialStreamVtbl ISequentialStreamVtbl
;
2814 struct ISequentialStream
{
2815 const ISequentialStreamVtbl
* lpVtbl
;
2817 struct ISequentialStreamVtbl
{
2818 ICOM_MSVTABLE_COMPAT_FIELDS
2820 /*** IUnknown methods ***/
2821 HRESULT (CALLBACK
*QueryInterface
)(
2822 ISequentialStream
* This
,
2826 ULONG (CALLBACK
*AddRef
)(
2827 ISequentialStream
* This
);
2829 ULONG (CALLBACK
*Release
)(
2830 ISequentialStream
* This
);
2832 /*** ISequentialStream methods ***/
2833 HRESULT (CALLBACK
*Read
)(
2834 ISequentialStream
* This
,
2839 HRESULT (CALLBACK
*Write
)(
2840 ISequentialStream
* This
,
2847 #define ISequentialStream_IMETHODS \
2849 ICOM_METHOD3 (HRESULT,Read,void*,pv,ULONG,cb,ULONG*,pcbRead) \
2850 ICOM_METHOD3 (HRESULT,Write,const void*,pv,ULONG,cb,ULONG*,pcbWritten)
2852 /*** IUnknown methods ***/
2853 #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2854 #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p)
2855 #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p)
2856 /*** ISequentialStream methods ***/
2857 #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
2858 #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
2862 HRESULT CALLBACK
ISequentialStream_RemoteRead_Proxy(
2863 ISequentialStream
* This
,
2867 void __RPC_STUB
ISequentialStream_RemoteRead_Stub(
2868 struct IRpcStubBuffer
* This
,
2869 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2870 PRPC_MESSAGE pRpcMessage
,
2871 DWORD
* pdwStubPhase
);
2872 HRESULT CALLBACK
ISequentialStream_Read_Proxy(
2873 ISequentialStream
* This
,
2877 HRESULT __RPC_STUB
ISequentialStream_Read_Stub(
2878 ISequentialStream
* This
,
2882 HRESULT CALLBACK
ISequentialStream_RemoteWrite_Proxy(
2883 ISequentialStream
* This
,
2887 void __RPC_STUB
ISequentialStream_RemoteWrite_Stub(
2888 struct IRpcStubBuffer
* This
,
2889 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2890 PRPC_MESSAGE pRpcMessage
,
2891 DWORD
* pdwStubPhase
);
2892 HRESULT CALLBACK
ISequentialStream_Write_Proxy(
2893 ISequentialStream
* This
,
2897 HRESULT __RPC_STUB
ISequentialStream_Write_Stub(
2898 ISequentialStream
* This
,
2903 typedef IStream
*LPSTREAM
;
2905 typedef struct tagSTATSTG
{
2908 ULARGE_INTEGER cbSize
;
2913 DWORD grfLocksSupported
;
2919 typedef enum tagSTGTY
{
2922 STGTY_LOCKBYTES
= 3,
2926 typedef enum tagSTREAM_SEEK
{
2927 STREAM_SEEK_SET
= 0,
2928 STREAM_SEEK_CUR
= 1,
2936 typedef enum tagLOCKTYPE
{
2942 /*****************************************************************************
2945 DEFINE_GUID(IID_IStream
, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2946 #if defined(__cplusplus) && !defined(CINTERFACE)
2947 struct IStream
: ISequentialStream
{
2949 virtual HRESULT CALLBACK
Seek(
2950 LARGE_INTEGER dlibMove
,
2952 ULARGE_INTEGER
* plibNewPosition
) = 0;
2954 virtual HRESULT CALLBACK
SetSize(
2955 ULARGE_INTEGER libNewSize
) = 0;
2957 virtual HRESULT CALLBACK
CopyTo(
2960 ULARGE_INTEGER
* pcbRead
,
2961 ULARGE_INTEGER
* pcbWritten
) = 0;
2963 virtual HRESULT CALLBACK
Commit(
2964 DWORD grfCommitFlags
) = 0;
2966 virtual HRESULT CALLBACK
Revert(
2969 virtual HRESULT CALLBACK
LockRegion(
2970 ULARGE_INTEGER libOffset
,
2972 DWORD dwLockType
) = 0;
2974 virtual HRESULT CALLBACK
UnlockRegion(
2975 ULARGE_INTEGER libOffset
,
2977 DWORD dwLockType
) = 0;
2979 virtual HRESULT CALLBACK
Stat(
2981 DWORD grfStatFlag
) = 0;
2983 virtual HRESULT CALLBACK
Clone(
2984 IStream
** ppstm
) = 0;
2986 } ICOM_COM_INTERFACE_ATTRIBUTE
;
2988 typedef struct IStreamVtbl IStreamVtbl
;
2990 const IStreamVtbl
* lpVtbl
;
2992 struct IStreamVtbl
{
2993 ICOM_MSVTABLE_COMPAT_FIELDS
2995 /*** IUnknown methods ***/
2996 HRESULT (CALLBACK
*QueryInterface
)(
3001 ULONG (CALLBACK
*AddRef
)(
3004 ULONG (CALLBACK
*Release
)(
3007 /*** ISequentialStream methods ***/
3008 HRESULT (CALLBACK
*Read
)(
3014 HRESULT (CALLBACK
*Write
)(
3020 /*** IStream methods ***/
3021 HRESULT (CALLBACK
*Seek
)(
3023 LARGE_INTEGER dlibMove
,
3025 ULARGE_INTEGER
* plibNewPosition
);
3027 HRESULT (CALLBACK
*SetSize
)(
3029 ULARGE_INTEGER libNewSize
);
3031 HRESULT (CALLBACK
*CopyTo
)(
3035 ULARGE_INTEGER
* pcbRead
,
3036 ULARGE_INTEGER
* pcbWritten
);
3038 HRESULT (CALLBACK
*Commit
)(
3040 DWORD grfCommitFlags
);
3042 HRESULT (CALLBACK
*Revert
)(
3045 HRESULT (CALLBACK
*LockRegion
)(
3047 ULARGE_INTEGER libOffset
,
3051 HRESULT (CALLBACK
*UnlockRegion
)(
3053 ULARGE_INTEGER libOffset
,
3057 HRESULT (CALLBACK
*Stat
)(
3062 HRESULT (CALLBACK
*Clone
)(
3068 #define IStream_IMETHODS \
3069 ISequentialStream_IMETHODS \
3070 ICOM_METHOD3 (HRESULT,Seek,LARGE_INTEGER,dlibMove,DWORD,dwOrigin,ULARGE_INTEGER*,plibNewPosition) \
3071 ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,libNewSize) \
3072 ICOM_METHOD4 (HRESULT,CopyTo,IStream*,pstm,ULARGE_INTEGER,cb,ULARGE_INTEGER*,pcbRead,ULARGE_INTEGER*,pcbWritten) \
3073 ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
3074 ICOM_METHOD (HRESULT,Revert) \
3075 ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
3076 ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
3077 ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag) \
3078 ICOM_METHOD1 (HRESULT,Clone,IStream**,ppstm)
3080 /*** IUnknown methods ***/
3081 #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3082 #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p)
3083 #define IStream_Release(p) (p)->lpVtbl->Release(p)
3084 /*** ISequentialStream methods ***/
3085 #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3086 #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3087 /*** IStream methods ***/
3088 #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3089 #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3090 #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3091 #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3092 #define IStream_Revert(p) (p)->lpVtbl->Revert(p)
3093 #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3094 #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3095 #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3096 #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3100 HRESULT CALLBACK
IStream_RemoteSeek_Proxy(
3102 LARGE_INTEGER dlibMove
,
3104 ULARGE_INTEGER
* plibNewPosition
);
3105 void __RPC_STUB
IStream_RemoteSeek_Stub(
3106 struct IRpcStubBuffer
* This
,
3107 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3108 PRPC_MESSAGE pRpcMessage
,
3109 DWORD
* pdwStubPhase
);
3110 HRESULT CALLBACK
IStream_Seek_Proxy(
3112 LARGE_INTEGER dlibMove
,
3114 ULARGE_INTEGER
* plibNewPosition
);
3115 HRESULT __RPC_STUB
IStream_Seek_Stub(
3117 LARGE_INTEGER dlibMove
,
3119 ULARGE_INTEGER
* plibNewPosition
);
3120 HRESULT CALLBACK
IStream_SetSize_Proxy(
3122 ULARGE_INTEGER libNewSize
);
3123 void __RPC_STUB
IStream_SetSize_Stub(
3124 struct IRpcStubBuffer
* This
,
3125 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3126 PRPC_MESSAGE pRpcMessage
,
3127 DWORD
* pdwStubPhase
);
3128 HRESULT CALLBACK
IStream_RemoteCopyTo_Proxy(
3132 ULARGE_INTEGER
* pcbRead
,
3133 ULARGE_INTEGER
* pcbWritten
);
3134 void __RPC_STUB
IStream_RemoteCopyTo_Stub(
3135 struct IRpcStubBuffer
* This
,
3136 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3137 PRPC_MESSAGE pRpcMessage
,
3138 DWORD
* pdwStubPhase
);
3139 HRESULT CALLBACK
IStream_CopyTo_Proxy(
3143 ULARGE_INTEGER
* pcbRead
,
3144 ULARGE_INTEGER
* pcbWritten
);
3145 HRESULT __RPC_STUB
IStream_CopyTo_Stub(
3149 ULARGE_INTEGER
* pcbRead
,
3150 ULARGE_INTEGER
* pcbWritten
);
3151 HRESULT CALLBACK
IStream_Commit_Proxy(
3153 DWORD grfCommitFlags
);
3154 void __RPC_STUB
IStream_Commit_Stub(
3155 struct IRpcStubBuffer
* This
,
3156 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3157 PRPC_MESSAGE pRpcMessage
,
3158 DWORD
* pdwStubPhase
);
3159 HRESULT CALLBACK
IStream_Revert_Proxy(
3161 void __RPC_STUB
IStream_Revert_Stub(
3162 struct IRpcStubBuffer
* This
,
3163 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3164 PRPC_MESSAGE pRpcMessage
,
3165 DWORD
* pdwStubPhase
);
3166 HRESULT CALLBACK
IStream_LockRegion_Proxy(
3168 ULARGE_INTEGER libOffset
,
3171 void __RPC_STUB
IStream_LockRegion_Stub(
3172 struct IRpcStubBuffer
* This
,
3173 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3174 PRPC_MESSAGE pRpcMessage
,
3175 DWORD
* pdwStubPhase
);
3176 HRESULT CALLBACK
IStream_UnlockRegion_Proxy(
3178 ULARGE_INTEGER libOffset
,
3181 void __RPC_STUB
IStream_UnlockRegion_Stub(
3182 struct IRpcStubBuffer
* This
,
3183 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3184 PRPC_MESSAGE pRpcMessage
,
3185 DWORD
* pdwStubPhase
);
3186 HRESULT CALLBACK
IStream_Stat_Proxy(
3190 void __RPC_STUB
IStream_Stat_Stub(
3191 struct IRpcStubBuffer
* This
,
3192 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3193 PRPC_MESSAGE pRpcMessage
,
3194 DWORD
* pdwStubPhase
);
3195 HRESULT CALLBACK
IStream_Clone_Proxy(
3198 void __RPC_STUB
IStream_Clone_Stub(
3199 struct IRpcStubBuffer
* This
,
3200 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3201 PRPC_MESSAGE pRpcMessage
,
3202 DWORD
* pdwStubPhase
);
3204 typedef IStream16
*LPSTREAM16
;
3206 typedef struct tagSTATSTG16
{
3207 LPOLESTR16 pwcsName
;
3209 ULARGE_INTEGER cbSize
;
3214 DWORD grfLocksSupported
;
3220 /*****************************************************************************
3221 * IStream16 interface
3223 #if defined(__cplusplus) && !defined(CINTERFACE)
3224 struct IStream16
: ISequentialStream
{
3226 virtual HRESULT CALLBACK
Seek(
3227 LARGE_INTEGER dlibMove
,
3229 ULARGE_INTEGER
* plibNewPosition
) = 0;
3231 virtual HRESULT CALLBACK
SetSize(
3232 ULARGE_INTEGER libNewSize
) = 0;
3234 virtual HRESULT CALLBACK
CopyTo(
3237 ULARGE_INTEGER
* pcbRead
,
3238 ULARGE_INTEGER
* pcbWritten
) = 0;
3240 virtual HRESULT CALLBACK
Commit(
3241 DWORD grfCommitFlags
) = 0;
3243 virtual HRESULT CALLBACK
Revert(
3246 virtual HRESULT CALLBACK
LockRegion(
3247 ULARGE_INTEGER libOffset
,
3249 DWORD dwLockType
) = 0;
3251 virtual HRESULT CALLBACK
UnlockRegion(
3252 ULARGE_INTEGER libOffset
,
3254 DWORD dwLockType
) = 0;
3256 virtual HRESULT CALLBACK
Stat(
3258 DWORD grfStatFlag
) = 0;
3260 virtual HRESULT CALLBACK
Clone(
3261 IStream16
** ppstm
) = 0;
3263 } ICOM_COM_INTERFACE_ATTRIBUTE
;
3265 typedef struct IStream16Vtbl IStream16Vtbl
;
3267 const IStream16Vtbl
* lpVtbl
;
3269 struct IStream16Vtbl
{
3270 ICOM_MSVTABLE_COMPAT_FIELDS
3272 /*** IUnknown methods ***/
3273 HRESULT (CALLBACK
*QueryInterface
)(
3278 ULONG (CALLBACK
*AddRef
)(
3281 ULONG (CALLBACK
*Release
)(
3284 /*** ISequentialStream methods ***/
3285 HRESULT (CALLBACK
*Read
)(
3291 HRESULT (CALLBACK
*Write
)(
3297 /*** IStream16 methods ***/
3298 HRESULT (CALLBACK
*Seek
)(
3300 LARGE_INTEGER dlibMove
,
3302 ULARGE_INTEGER
* plibNewPosition
);
3304 HRESULT (CALLBACK
*SetSize
)(
3306 ULARGE_INTEGER libNewSize
);
3308 HRESULT (CALLBACK
*CopyTo
)(
3312 ULARGE_INTEGER
* pcbRead
,
3313 ULARGE_INTEGER
* pcbWritten
);
3315 HRESULT (CALLBACK
*Commit
)(
3317 DWORD grfCommitFlags
);
3319 HRESULT (CALLBACK
*Revert
)(
3322 HRESULT (CALLBACK
*LockRegion
)(
3324 ULARGE_INTEGER libOffset
,
3328 HRESULT (CALLBACK
*UnlockRegion
)(
3330 ULARGE_INTEGER libOffset
,
3334 HRESULT (CALLBACK
*Stat
)(
3339 HRESULT (CALLBACK
*Clone
)(
3345 #define IStream16_IMETHODS \
3346 ISequentialStream_IMETHODS \
3347 ICOM_METHOD3 (HRESULT,Seek,LARGE_INTEGER,dlibMove,DWORD,dwOrigin,ULARGE_INTEGER*,plibNewPosition) \
3348 ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,libNewSize) \
3349 ICOM_METHOD4 (HRESULT,CopyTo,IStream16*,pstm,ULARGE_INTEGER,cb,ULARGE_INTEGER*,pcbRead,ULARGE_INTEGER*,pcbWritten) \
3350 ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
3351 ICOM_METHOD (HRESULT,Revert) \
3352 ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
3353 ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
3354 ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag) \
3355 ICOM_METHOD1 (HRESULT,Clone,IStream16**,ppstm)
3357 /*** IUnknown methods ***/
3358 #define IStream16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3359 #define IStream16_AddRef(p) (p)->lpVtbl->AddRef(p)
3360 #define IStream16_Release(p) (p)->lpVtbl->Release(p)
3361 /*** ISequentialStream methods ***/
3362 #define IStream16_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
3363 #define IStream16_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
3364 /*** IStream16 methods ***/
3365 #define IStream16_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
3366 #define IStream16_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
3367 #define IStream16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3368 #define IStream16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3369 #define IStream16_Revert(p) (p)->lpVtbl->Revert(p)
3370 #define IStream16_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
3371 #define IStream16_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
3372 #define IStream16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3373 #define IStream16_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3377 HRESULT CALLBACK
IStream16_RemoteSeek_Proxy(
3379 LARGE_INTEGER dlibMove
,
3381 ULARGE_INTEGER
* plibNewPosition
);
3382 void __RPC_STUB
IStream16_RemoteSeek_Stub(
3383 struct IRpcStubBuffer
* This
,
3384 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3385 PRPC_MESSAGE pRpcMessage
,
3386 DWORD
* pdwStubPhase
);
3387 HRESULT CALLBACK
IStream16_Seek_Proxy(
3389 LARGE_INTEGER dlibMove
,
3391 ULARGE_INTEGER
* plibNewPosition
);
3392 HRESULT __RPC_STUB
IStream16_Seek_Stub(
3394 LARGE_INTEGER dlibMove
,
3396 ULARGE_INTEGER
* plibNewPosition
);
3397 HRESULT CALLBACK
IStream16_SetSize_Proxy(
3399 ULARGE_INTEGER libNewSize
);
3400 void __RPC_STUB
IStream16_SetSize_Stub(
3401 struct IRpcStubBuffer
* This
,
3402 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3403 PRPC_MESSAGE pRpcMessage
,
3404 DWORD
* pdwStubPhase
);
3405 HRESULT CALLBACK
IStream16_RemoteCopyTo_Proxy(
3409 ULARGE_INTEGER
* pcbRead
,
3410 ULARGE_INTEGER
* pcbWritten
);
3411 void __RPC_STUB
IStream16_RemoteCopyTo_Stub(
3412 struct IRpcStubBuffer
* This
,
3413 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3414 PRPC_MESSAGE pRpcMessage
,
3415 DWORD
* pdwStubPhase
);
3416 HRESULT CALLBACK
IStream16_CopyTo_Proxy(
3420 ULARGE_INTEGER
* pcbRead
,
3421 ULARGE_INTEGER
* pcbWritten
);
3422 HRESULT __RPC_STUB
IStream16_CopyTo_Stub(
3426 ULARGE_INTEGER
* pcbRead
,
3427 ULARGE_INTEGER
* pcbWritten
);
3428 HRESULT CALLBACK
IStream16_Commit_Proxy(
3430 DWORD grfCommitFlags
);
3431 void __RPC_STUB
IStream16_Commit_Stub(
3432 struct IRpcStubBuffer
* This
,
3433 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3434 PRPC_MESSAGE pRpcMessage
,
3435 DWORD
* pdwStubPhase
);
3436 HRESULT CALLBACK
IStream16_Revert_Proxy(
3438 void __RPC_STUB
IStream16_Revert_Stub(
3439 struct IRpcStubBuffer
* This
,
3440 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3441 PRPC_MESSAGE pRpcMessage
,
3442 DWORD
* pdwStubPhase
);
3443 HRESULT CALLBACK
IStream16_LockRegion_Proxy(
3445 ULARGE_INTEGER libOffset
,
3448 void __RPC_STUB
IStream16_LockRegion_Stub(
3449 struct IRpcStubBuffer
* This
,
3450 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3451 PRPC_MESSAGE pRpcMessage
,
3452 DWORD
* pdwStubPhase
);
3453 HRESULT CALLBACK
IStream16_UnlockRegion_Proxy(
3455 ULARGE_INTEGER libOffset
,
3458 void __RPC_STUB
IStream16_UnlockRegion_Stub(
3459 struct IRpcStubBuffer
* This
,
3460 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3461 PRPC_MESSAGE pRpcMessage
,
3462 DWORD
* pdwStubPhase
);
3463 HRESULT CALLBACK
IStream16_Stat_Proxy(
3467 void __RPC_STUB
IStream16_Stat_Stub(
3468 struct IRpcStubBuffer
* This
,
3469 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3470 PRPC_MESSAGE pRpcMessage
,
3471 DWORD
* pdwStubPhase
);
3472 HRESULT CALLBACK
IStream16_Clone_Proxy(
3475 void __RPC_STUB
IStream16_Clone_Stub(
3476 struct IRpcStubBuffer
* This
,
3477 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3478 PRPC_MESSAGE pRpcMessage
,
3479 DWORD
* pdwStubPhase
);
3481 typedef struct IEnumSTATSTG IEnumSTATSTG
;
3482 typedef IEnumSTATSTG
*LPENUMSTATSTG
;
3484 /*****************************************************************************
3485 * IEnumSTATSTG interface
3487 DEFINE_GUID(IID_IEnumSTATSTG
, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3488 #if defined(__cplusplus) && !defined(CINTERFACE)
3489 struct IEnumSTATSTG
: IUnknown
{
3491 virtual HRESULT CALLBACK
Next(
3494 ULONG
* pceltFetched
) = 0;
3496 virtual HRESULT CALLBACK
Skip(
3499 virtual HRESULT CALLBACK
Reset(
3502 virtual HRESULT CALLBACK
Clone(
3503 IEnumSTATSTG
** ppenum
) = 0;
3505 } ICOM_COM_INTERFACE_ATTRIBUTE
;
3507 typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl
;
3508 struct IEnumSTATSTG
{
3509 const IEnumSTATSTGVtbl
* lpVtbl
;
3511 struct IEnumSTATSTGVtbl
{
3512 ICOM_MSVTABLE_COMPAT_FIELDS
3514 /*** IUnknown methods ***/
3515 HRESULT (CALLBACK
*QueryInterface
)(
3520 ULONG (CALLBACK
*AddRef
)(
3521 IEnumSTATSTG
* This
);
3523 ULONG (CALLBACK
*Release
)(
3524 IEnumSTATSTG
* This
);
3526 /*** IEnumSTATSTG methods ***/
3527 HRESULT (CALLBACK
*Next
)(
3531 ULONG
* pceltFetched
);
3533 HRESULT (CALLBACK
*Skip
)(
3537 HRESULT (CALLBACK
*Reset
)(
3538 IEnumSTATSTG
* This
);
3540 HRESULT (CALLBACK
*Clone
)(
3542 IEnumSTATSTG
** ppenum
);
3546 #define IEnumSTATSTG_IMETHODS \
3548 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATSTG*,rgelt,ULONG*,pceltFetched) \
3549 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
3550 ICOM_METHOD (HRESULT,Reset) \
3551 ICOM_METHOD1 (HRESULT,Clone,IEnumSTATSTG**,ppenum)
3553 /*** IUnknown methods ***/
3554 #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3555 #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
3556 #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p)
3557 /*** IEnumSTATSTG methods ***/
3558 #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
3559 #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
3560 #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p)
3561 #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
3565 HRESULT CALLBACK
IEnumSTATSTG_RemoteNext_Proxy(
3569 ULONG
* pceltFetched
);
3570 void __RPC_STUB
IEnumSTATSTG_RemoteNext_Stub(
3571 struct IRpcStubBuffer
* This
,
3572 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3573 PRPC_MESSAGE pRpcMessage
,
3574 DWORD
* pdwStubPhase
);
3575 HRESULT CALLBACK
IEnumSTATSTG_Next_Proxy(
3579 ULONG
* pceltFetched
);
3580 HRESULT __RPC_STUB
IEnumSTATSTG_Next_Stub(
3584 ULONG
* pceltFetched
);
3585 HRESULT CALLBACK
IEnumSTATSTG_Skip_Proxy(
3588 void __RPC_STUB
IEnumSTATSTG_Skip_Stub(
3589 struct IRpcStubBuffer
* This
,
3590 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3591 PRPC_MESSAGE pRpcMessage
,
3592 DWORD
* pdwStubPhase
);
3593 HRESULT CALLBACK
IEnumSTATSTG_Reset_Proxy(
3594 IEnumSTATSTG
* This
);
3595 void __RPC_STUB
IEnumSTATSTG_Reset_Stub(
3596 struct IRpcStubBuffer
* This
,
3597 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3598 PRPC_MESSAGE pRpcMessage
,
3599 DWORD
* pdwStubPhase
);
3600 HRESULT CALLBACK
IEnumSTATSTG_Clone_Proxy(
3602 IEnumSTATSTG
** ppenum
);
3603 void __RPC_STUB
IEnumSTATSTG_Clone_Stub(
3604 struct IRpcStubBuffer
* This
,
3605 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3606 PRPC_MESSAGE pRpcMessage
,
3607 DWORD
* pdwStubPhase
);
3609 typedef struct IStorage IStorage
;
3610 typedef IStorage
*LPSTORAGE
;
3612 typedef struct tagRemSNB
{
3613 unsigned long ulCntStr
;
3614 unsigned long ulCntChar
;
3615 OLECHAR rgString
[1];
3618 typedef RemSNB
*wireSNB
;
3620 typedef OLECHAR
**SNB
;
3621 unsigned long __RPC_USER
SNB_UserSize (unsigned long *, unsigned long, SNB
*);
3622 unsigned char * __RPC_USER
SNB_UserMarshal (unsigned long *, unsigned char *, SNB
*);
3623 unsigned char * __RPC_USER
SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB
*);
3624 void __RPC_USER
SNB_UserFree (unsigned long *, SNB
*);
3626 /*****************************************************************************
3627 * IStorage interface
3629 DEFINE_GUID(IID_IStorage
, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3630 #if defined(__cplusplus) && !defined(CINTERFACE)
3631 struct IStorage
: IUnknown
{
3633 virtual HRESULT CALLBACK
CreateStream(
3638 IStream
** ppstm
) = 0;
3640 virtual HRESULT CALLBACK
OpenStream(
3645 IStream
** ppstm
) = 0;
3647 virtual HRESULT CALLBACK
CreateStorage(
3652 IStorage
** ppstg
) = 0;
3654 virtual HRESULT CALLBACK
OpenStorage(
3656 IStorage
* pstgPriority
,
3660 IStorage
** ppstg
) = 0;
3662 virtual HRESULT CALLBACK
CopyTo(
3664 const IID
* rgiidExclude
,
3666 IStorage
* pstgDest
) = 0;
3668 virtual HRESULT CALLBACK
MoveElementTo(
3671 LPCOLESTR pwcsNewName
,
3672 DWORD grfFlags
) = 0;
3674 virtual HRESULT CALLBACK
Commit(
3675 DWORD grfCommitFlags
) = 0;
3677 virtual HRESULT CALLBACK
Revert(
3680 virtual HRESULT CALLBACK
EnumElements(
3684 IEnumSTATSTG
** ppenum
) = 0;
3686 virtual HRESULT CALLBACK
DestroyElement(
3687 LPCOLESTR pwcsName
) = 0;
3689 virtual HRESULT CALLBACK
RenameElement(
3690 LPCOLESTR pwcsOldName
,
3691 LPCOLESTR pwcsNewName
) = 0;
3693 virtual HRESULT CALLBACK
SetElementTimes(
3695 const FILETIME
* pctime
,
3696 const FILETIME
* patime
,
3697 const FILETIME
* pmtime
) = 0;
3699 virtual HRESULT CALLBACK
SetClass(
3700 REFCLSID clsid
) = 0;
3702 virtual HRESULT CALLBACK
SetStateBits(
3706 virtual HRESULT CALLBACK
Stat(
3708 DWORD grfStatFlag
) = 0;
3710 } ICOM_COM_INTERFACE_ATTRIBUTE
;
3712 typedef struct IStorageVtbl IStorageVtbl
;
3714 const IStorageVtbl
* lpVtbl
;
3716 struct IStorageVtbl
{
3717 ICOM_MSVTABLE_COMPAT_FIELDS
3719 /*** IUnknown methods ***/
3720 HRESULT (CALLBACK
*QueryInterface
)(
3725 ULONG (CALLBACK
*AddRef
)(
3728 ULONG (CALLBACK
*Release
)(
3731 /*** IStorage methods ***/
3732 HRESULT (CALLBACK
*CreateStream
)(
3740 HRESULT (CALLBACK
*OpenStream
)(
3748 HRESULT (CALLBACK
*CreateStorage
)(
3756 HRESULT (CALLBACK
*OpenStorage
)(
3759 IStorage
* pstgPriority
,
3765 HRESULT (CALLBACK
*CopyTo
)(
3768 const IID
* rgiidExclude
,
3770 IStorage
* pstgDest
);
3772 HRESULT (CALLBACK
*MoveElementTo
)(
3776 LPCOLESTR pwcsNewName
,
3779 HRESULT (CALLBACK
*Commit
)(
3781 DWORD grfCommitFlags
);
3783 HRESULT (CALLBACK
*Revert
)(
3786 HRESULT (CALLBACK
*EnumElements
)(
3791 IEnumSTATSTG
** ppenum
);
3793 HRESULT (CALLBACK
*DestroyElement
)(
3795 LPCOLESTR pwcsName
);
3797 HRESULT (CALLBACK
*RenameElement
)(
3799 LPCOLESTR pwcsOldName
,
3800 LPCOLESTR pwcsNewName
);
3802 HRESULT (CALLBACK
*SetElementTimes
)(
3805 const FILETIME
* pctime
,
3806 const FILETIME
* patime
,
3807 const FILETIME
* pmtime
);
3809 HRESULT (CALLBACK
*SetClass
)(
3813 HRESULT (CALLBACK
*SetStateBits
)(
3818 HRESULT (CALLBACK
*Stat
)(
3825 #define IStorage_IMETHODS \
3827 ICOM_METHOD5 (HRESULT,CreateStream,LPCOLESTR,pwcsName,DWORD,grfMode,DWORD,reserved1,DWORD,reserved2,IStream**,ppstm) \
3828 ICOM_METHOD5 (HRESULT,OpenStream,LPCOLESTR,pwcsName,void*,reserved1,DWORD,grfMode,DWORD,reserved2,IStream**,ppstm) \
3829 ICOM_METHOD5 (HRESULT,CreateStorage,LPCOLESTR,pwcsName,DWORD,grfMode,DWORD,dwStgFmt,DWORD,reserved2,IStorage**,ppstg) \
3830 ICOM_METHOD6 (HRESULT,OpenStorage,LPCOLESTR,pwcsName,IStorage*,pstgPriority,DWORD,grfMode,SNB,snbExclude,DWORD,reserved,IStorage**,ppstg) \
3831 ICOM_METHOD4 (HRESULT,CopyTo,DWORD,ciidExclude,const IID*,rgiidExclude,SNB,snbExclude,IStorage*,pstgDest) \
3832 ICOM_METHOD4 (HRESULT,MoveElementTo,LPCOLESTR,pwcsName,IStorage*,pstgDest,LPCOLESTR,pwcsNewName,DWORD,grfFlags) \
3833 ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
3834 ICOM_METHOD (HRESULT,Revert) \
3835 ICOM_METHOD4 (HRESULT,EnumElements,DWORD,reserved1,void*,reserved2,DWORD,reserved3,IEnumSTATSTG**,ppenum) \
3836 ICOM_METHOD1 (HRESULT,DestroyElement,LPCOLESTR,pwcsName) \
3837 ICOM_METHOD2 (HRESULT,RenameElement,LPCOLESTR,pwcsOldName,LPCOLESTR,pwcsNewName) \
3838 ICOM_METHOD4 (HRESULT,SetElementTimes,LPCOLESTR,pwcsName,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
3839 ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
3840 ICOM_METHOD2 (HRESULT,SetStateBits,DWORD,grfStateBits,DWORD,grfMask) \
3841 ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag)
3843 /*** IUnknown methods ***/
3844 #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3845 #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
3846 #define IStorage_Release(p) (p)->lpVtbl->Release(p)
3847 /*** IStorage methods ***/
3848 #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
3849 #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
3850 #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
3851 #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
3852 #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
3853 #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
3854 #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
3855 #define IStorage_Revert(p) (p)->lpVtbl->Revert(p)
3856 #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
3857 #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
3858 #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
3859 #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
3860 #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
3861 #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
3862 #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
3866 HRESULT CALLBACK
IStorage_CreateStream_Proxy(
3873 void __RPC_STUB
IStorage_CreateStream_Stub(
3874 struct IRpcStubBuffer
* This
,
3875 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3876 PRPC_MESSAGE pRpcMessage
,
3877 DWORD
* pdwStubPhase
);
3878 HRESULT CALLBACK
IStorage_RemoteOpenStream_Proxy(
3881 unsigned long cbReserved1
,
3886 void __RPC_STUB
IStorage_RemoteOpenStream_Stub(
3887 struct IRpcStubBuffer
* This
,
3888 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3889 PRPC_MESSAGE pRpcMessage
,
3890 DWORD
* pdwStubPhase
);
3891 HRESULT CALLBACK
IStorage_OpenStream_Proxy(
3898 HRESULT __RPC_STUB
IStorage_OpenStream_Stub(
3901 unsigned long cbReserved1
,
3906 HRESULT CALLBACK
IStorage_CreateStorage_Proxy(
3913 void __RPC_STUB
IStorage_CreateStorage_Stub(
3914 struct IRpcStubBuffer
* This
,
3915 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3916 PRPC_MESSAGE pRpcMessage
,
3917 DWORD
* pdwStubPhase
);
3918 HRESULT CALLBACK
IStorage_OpenStorage_Proxy(
3921 IStorage
* pstgPriority
,
3926 void __RPC_STUB
IStorage_OpenStorage_Stub(
3927 struct IRpcStubBuffer
* This
,
3928 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3929 PRPC_MESSAGE pRpcMessage
,
3930 DWORD
* pdwStubPhase
);
3931 HRESULT CALLBACK
IStorage_CopyTo_Proxy(
3934 const IID
* rgiidExclude
,
3936 IStorage
* pstgDest
);
3937 void __RPC_STUB
IStorage_CopyTo_Stub(
3938 struct IRpcStubBuffer
* This
,
3939 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3940 PRPC_MESSAGE pRpcMessage
,
3941 DWORD
* pdwStubPhase
);
3942 HRESULT CALLBACK
IStorage_MoveElementTo_Proxy(
3946 LPCOLESTR pwcsNewName
,
3948 void __RPC_STUB
IStorage_MoveElementTo_Stub(
3949 struct IRpcStubBuffer
* This
,
3950 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3951 PRPC_MESSAGE pRpcMessage
,
3952 DWORD
* pdwStubPhase
);
3953 HRESULT CALLBACK
IStorage_Commit_Proxy(
3955 DWORD grfCommitFlags
);
3956 void __RPC_STUB
IStorage_Commit_Stub(
3957 struct IRpcStubBuffer
* This
,
3958 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3959 PRPC_MESSAGE pRpcMessage
,
3960 DWORD
* pdwStubPhase
);
3961 HRESULT CALLBACK
IStorage_Revert_Proxy(
3963 void __RPC_STUB
IStorage_Revert_Stub(
3964 struct IRpcStubBuffer
* This
,
3965 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3966 PRPC_MESSAGE pRpcMessage
,
3967 DWORD
* pdwStubPhase
);
3968 HRESULT CALLBACK
IStorage_RemoteEnumElements_Proxy(
3971 unsigned long cbReserved2
,
3974 IEnumSTATSTG
** ppenum
);
3975 void __RPC_STUB
IStorage_RemoteEnumElements_Stub(
3976 struct IRpcStubBuffer
* This
,
3977 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3978 PRPC_MESSAGE pRpcMessage
,
3979 DWORD
* pdwStubPhase
);
3980 HRESULT CALLBACK
IStorage_EnumElements_Proxy(
3985 IEnumSTATSTG
** ppenum
);
3986 HRESULT __RPC_STUB
IStorage_EnumElements_Stub(
3989 unsigned long cbReserved2
,
3992 IEnumSTATSTG
** ppenum
);
3993 HRESULT CALLBACK
IStorage_DestroyElement_Proxy(
3995 LPCOLESTR pwcsName
);
3996 void __RPC_STUB
IStorage_DestroyElement_Stub(
3997 struct IRpcStubBuffer
* This
,
3998 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3999 PRPC_MESSAGE pRpcMessage
,
4000 DWORD
* pdwStubPhase
);
4001 HRESULT CALLBACK
IStorage_RenameElement_Proxy(
4003 LPCOLESTR pwcsOldName
,
4004 LPCOLESTR pwcsNewName
);
4005 void __RPC_STUB
IStorage_RenameElement_Stub(
4006 struct IRpcStubBuffer
* This
,
4007 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4008 PRPC_MESSAGE pRpcMessage
,
4009 DWORD
* pdwStubPhase
);
4010 HRESULT CALLBACK
IStorage_SetElementTimes_Proxy(
4013 const FILETIME
* pctime
,
4014 const FILETIME
* patime
,
4015 const FILETIME
* pmtime
);
4016 void __RPC_STUB
IStorage_SetElementTimes_Stub(
4017 struct IRpcStubBuffer
* This
,
4018 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4019 PRPC_MESSAGE pRpcMessage
,
4020 DWORD
* pdwStubPhase
);
4021 HRESULT CALLBACK
IStorage_SetClass_Proxy(
4024 void __RPC_STUB
IStorage_SetClass_Stub(
4025 struct IRpcStubBuffer
* This
,
4026 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4027 PRPC_MESSAGE pRpcMessage
,
4028 DWORD
* pdwStubPhase
);
4029 HRESULT CALLBACK
IStorage_SetStateBits_Proxy(
4033 void __RPC_STUB
IStorage_SetStateBits_Stub(
4034 struct IRpcStubBuffer
* This
,
4035 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4036 PRPC_MESSAGE pRpcMessage
,
4037 DWORD
* pdwStubPhase
);
4038 HRESULT CALLBACK
IStorage_Stat_Proxy(
4042 void __RPC_STUB
IStorage_Stat_Stub(
4043 struct IRpcStubBuffer
* This
,
4044 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4045 PRPC_MESSAGE pRpcMessage
,
4046 DWORD
* pdwStubPhase
);
4048 typedef struct IStorage16 IStorage16
;
4049 typedef IStorage16
*LPSTORAGE16
;
4051 typedef struct tagRemSNB16
{
4052 unsigned long ulCntStr
;
4053 unsigned long ulCntChar
;
4054 OLECHAR16 rgString
[1];
4057 typedef RemSNB16
*wireSNB16
;
4059 typedef OLECHAR16
**SNB16
;
4060 unsigned long __RPC_USER
SNB16_UserSize (unsigned long *, unsigned long, SNB16
*);
4061 unsigned char * __RPC_USER
SNB16_UserMarshal (unsigned long *, unsigned char *, SNB16
*);
4062 unsigned char * __RPC_USER
SNB16_UserUnmarshal(unsigned long *, unsigned char *, SNB16
*);
4063 void __RPC_USER
SNB16_UserFree (unsigned long *, SNB16
*);
4065 /*****************************************************************************
4066 * IStorage16 interface
4068 #if defined(__cplusplus) && !defined(CINTERFACE)
4069 struct IStorage16
: IUnknown
{
4071 virtual HRESULT CALLBACK
CreateStream(
4072 LPCOLESTR16 pwcsName
,
4076 IStream16
** ppstm
) = 0;
4078 virtual HRESULT CALLBACK
OpenStream(
4079 LPCOLESTR16 pwcsName
,
4083 IStream16
** ppstm
) = 0;
4085 virtual HRESULT CALLBACK
CreateStorage(
4086 LPCOLESTR16 pwcsName
,
4090 IStorage16
** ppstg
) = 0;
4092 virtual HRESULT CALLBACK
OpenStorage(
4093 LPCOLESTR16 pwcsName
,
4094 IStorage16
* pstgPriority
,
4098 IStorage16
** ppstg
) = 0;
4100 virtual HRESULT CALLBACK
CopyTo(
4102 const IID
* rgiidExclude
,
4104 IStorage16
* pstgDest
) = 0;
4106 virtual HRESULT CALLBACK
MoveElementTo(
4107 LPCOLESTR16 pwcsName
,
4108 IStorage16
* pstgDest
,
4109 LPCOLESTR16 pwcsNewName
,
4110 DWORD grfFlags
) = 0;
4112 virtual HRESULT CALLBACK
Commit(
4113 DWORD grfCommitFlags
) = 0;
4115 virtual HRESULT CALLBACK
Revert(
4118 virtual HRESULT CALLBACK
EnumElements(
4122 IEnumSTATSTG
** ppenum
) = 0;
4124 virtual HRESULT CALLBACK
DestroyElement(
4125 LPCOLESTR16 pwcsName
) = 0;
4127 virtual HRESULT CALLBACK
RenameElement(
4128 LPCOLESTR16 pwcsOldName
,
4129 LPCOLESTR16 pwcsNewName
) = 0;
4131 virtual HRESULT CALLBACK
SetElementTimes(
4132 LPCOLESTR16 pwcsName
,
4133 const FILETIME
* pctime
,
4134 const FILETIME
* patime
,
4135 const FILETIME
* pmtime
) = 0;
4137 virtual HRESULT CALLBACK
SetClass(
4138 REFCLSID clsid
) = 0;
4140 virtual HRESULT CALLBACK
SetStateBits(
4144 virtual HRESULT CALLBACK
Stat(
4146 DWORD grfStatFlag
) = 0;
4148 } ICOM_COM_INTERFACE_ATTRIBUTE
;
4150 typedef struct IStorage16Vtbl IStorage16Vtbl
;
4152 const IStorage16Vtbl
* lpVtbl
;
4154 struct IStorage16Vtbl
{
4155 ICOM_MSVTABLE_COMPAT_FIELDS
4157 /*** IUnknown methods ***/
4158 HRESULT (CALLBACK
*QueryInterface
)(
4163 ULONG (CALLBACK
*AddRef
)(
4166 ULONG (CALLBACK
*Release
)(
4169 /*** IStorage16 methods ***/
4170 HRESULT (CALLBACK
*CreateStream
)(
4172 LPCOLESTR16 pwcsName
,
4178 HRESULT (CALLBACK
*OpenStream
)(
4180 LPCOLESTR16 pwcsName
,
4186 HRESULT (CALLBACK
*CreateStorage
)(
4188 LPCOLESTR16 pwcsName
,
4192 IStorage16
** ppstg
);
4194 HRESULT (CALLBACK
*OpenStorage
)(
4196 LPCOLESTR16 pwcsName
,
4197 IStorage16
* pstgPriority
,
4201 IStorage16
** ppstg
);
4203 HRESULT (CALLBACK
*CopyTo
)(
4206 const IID
* rgiidExclude
,
4208 IStorage16
* pstgDest
);
4210 HRESULT (CALLBACK
*MoveElementTo
)(
4212 LPCOLESTR16 pwcsName
,
4213 IStorage16
* pstgDest
,
4214 LPCOLESTR16 pwcsNewName
,
4217 HRESULT (CALLBACK
*Commit
)(
4219 DWORD grfCommitFlags
);
4221 HRESULT (CALLBACK
*Revert
)(
4224 HRESULT (CALLBACK
*EnumElements
)(
4229 IEnumSTATSTG
** ppenum
);
4231 HRESULT (CALLBACK
*DestroyElement
)(
4233 LPCOLESTR16 pwcsName
);
4235 HRESULT (CALLBACK
*RenameElement
)(
4237 LPCOLESTR16 pwcsOldName
,
4238 LPCOLESTR16 pwcsNewName
);
4240 HRESULT (CALLBACK
*SetElementTimes
)(
4242 LPCOLESTR16 pwcsName
,
4243 const FILETIME
* pctime
,
4244 const FILETIME
* patime
,
4245 const FILETIME
* pmtime
);
4247 HRESULT (CALLBACK
*SetClass
)(
4251 HRESULT (CALLBACK
*SetStateBits
)(
4256 HRESULT (CALLBACK
*Stat
)(
4263 #define IStorage16_IMETHODS \
4265 ICOM_METHOD5 (HRESULT,CreateStream,LPCOLESTR16,pwcsName,DWORD,grfMode,DWORD,reserved1,DWORD,reserved2,IStream16**,ppstm) \
4266 ICOM_METHOD5 (HRESULT,OpenStream,LPCOLESTR16,pwcsName,void*,reserved1,DWORD,grfMode,DWORD,reserved2,IStream16**,ppstm) \
4267 ICOM_METHOD5 (HRESULT,CreateStorage,LPCOLESTR16,pwcsName,DWORD,grfMode,DWORD,dwStgFmt,DWORD,reserved2,IStorage16**,ppstg) \
4268 ICOM_METHOD6 (HRESULT,OpenStorage,LPCOLESTR16,pwcsName,IStorage16*,pstgPriority,DWORD,grfMode,SNB16,snbExclude,DWORD,reserved,IStorage16**,ppstg) \
4269 ICOM_METHOD4 (HRESULT,CopyTo,DWORD,ciidExclude,const IID*,rgiidExclude,SNB16,snbExclude,IStorage16*,pstgDest) \
4270 ICOM_METHOD4 (HRESULT,MoveElementTo,LPCOLESTR16,pwcsName,IStorage16*,pstgDest,LPCOLESTR16,pwcsNewName,DWORD,grfFlags) \
4271 ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
4272 ICOM_METHOD (HRESULT,Revert) \
4273 ICOM_METHOD4 (HRESULT,EnumElements,DWORD,reserved1,void*,reserved2,DWORD,reserved3,IEnumSTATSTG**,ppenum) \
4274 ICOM_METHOD1 (HRESULT,DestroyElement,LPCOLESTR16,pwcsName) \
4275 ICOM_METHOD2 (HRESULT,RenameElement,LPCOLESTR16,pwcsOldName,LPCOLESTR16,pwcsNewName) \
4276 ICOM_METHOD4 (HRESULT,SetElementTimes,LPCOLESTR16,pwcsName,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
4277 ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
4278 ICOM_METHOD2 (HRESULT,SetStateBits,DWORD,grfStateBits,DWORD,grfMask) \
4279 ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag)
4281 /*** IUnknown methods ***/
4282 #define IStorage16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4283 #define IStorage16_AddRef(p) (p)->lpVtbl->AddRef(p)
4284 #define IStorage16_Release(p) (p)->lpVtbl->Release(p)
4285 /*** IStorage16 methods ***/
4286 #define IStorage16_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
4287 #define IStorage16_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
4288 #define IStorage16_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
4289 #define IStorage16_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
4290 #define IStorage16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
4291 #define IStorage16_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
4292 #define IStorage16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
4293 #define IStorage16_Revert(p) (p)->lpVtbl->Revert(p)
4294 #define IStorage16_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
4295 #define IStorage16_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
4296 #define IStorage16_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
4297 #define IStorage16_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
4298 #define IStorage16_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
4299 #define IStorage16_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
4300 #define IStorage16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4304 HRESULT CALLBACK
IStorage16_CreateStream_Proxy(
4306 LPCOLESTR16 pwcsName
,
4311 void __RPC_STUB
IStorage16_CreateStream_Stub(
4312 struct IRpcStubBuffer
* This
,
4313 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4314 PRPC_MESSAGE pRpcMessage
,
4315 DWORD
* pdwStubPhase
);
4316 HRESULT CALLBACK
IStorage16_RemoteOpenStream_Proxy(
4318 LPCOLESTR16 pwcsName
,
4319 unsigned long cbReserved1
,
4324 void __RPC_STUB
IStorage16_RemoteOpenStream_Stub(
4325 struct IRpcStubBuffer
* This
,
4326 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4327 PRPC_MESSAGE pRpcMessage
,
4328 DWORD
* pdwStubPhase
);
4329 HRESULT CALLBACK
IStorage16_OpenStream_Proxy(
4331 LPCOLESTR16 pwcsName
,
4336 HRESULT __RPC_STUB
IStorage16_OpenStream_Stub(
4338 LPCOLESTR16 pwcsName
,
4339 unsigned long cbReserved1
,
4344 HRESULT CALLBACK
IStorage16_CreateStorage_Proxy(
4346 LPCOLESTR16 pwcsName
,
4350 IStorage16
** ppstg
);
4351 void __RPC_STUB
IStorage16_CreateStorage_Stub(
4352 struct IRpcStubBuffer
* This
,
4353 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4354 PRPC_MESSAGE pRpcMessage
,
4355 DWORD
* pdwStubPhase
);
4356 HRESULT CALLBACK
IStorage16_OpenStorage_Proxy(
4358 LPCOLESTR16 pwcsName
,
4359 IStorage16
* pstgPriority
,
4363 IStorage16
** ppstg
);
4364 void __RPC_STUB
IStorage16_OpenStorage_Stub(
4365 struct IRpcStubBuffer
* This
,
4366 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4367 PRPC_MESSAGE pRpcMessage
,
4368 DWORD
* pdwStubPhase
);
4369 HRESULT CALLBACK
IStorage16_CopyTo_Proxy(
4372 const IID
* rgiidExclude
,
4374 IStorage16
* pstgDest
);
4375 void __RPC_STUB
IStorage16_CopyTo_Stub(
4376 struct IRpcStubBuffer
* This
,
4377 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4378 PRPC_MESSAGE pRpcMessage
,
4379 DWORD
* pdwStubPhase
);
4380 HRESULT CALLBACK
IStorage16_MoveElementTo_Proxy(
4382 LPCOLESTR16 pwcsName
,
4383 IStorage16
* pstgDest
,
4384 LPCOLESTR16 pwcsNewName
,
4386 void __RPC_STUB
IStorage16_MoveElementTo_Stub(
4387 struct IRpcStubBuffer
* This
,
4388 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4389 PRPC_MESSAGE pRpcMessage
,
4390 DWORD
* pdwStubPhase
);
4391 HRESULT CALLBACK
IStorage16_Commit_Proxy(
4393 DWORD grfCommitFlags
);
4394 void __RPC_STUB
IStorage16_Commit_Stub(
4395 struct IRpcStubBuffer
* This
,
4396 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4397 PRPC_MESSAGE pRpcMessage
,
4398 DWORD
* pdwStubPhase
);
4399 HRESULT CALLBACK
IStorage16_Revert_Proxy(
4401 void __RPC_STUB
IStorage16_Revert_Stub(
4402 struct IRpcStubBuffer
* This
,
4403 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4404 PRPC_MESSAGE pRpcMessage
,
4405 DWORD
* pdwStubPhase
);
4406 HRESULT CALLBACK
IStorage16_RemoteEnumElements_Proxy(
4409 unsigned long cbReserved2
,
4412 IEnumSTATSTG
** ppenum
);
4413 void __RPC_STUB
IStorage16_RemoteEnumElements_Stub(
4414 struct IRpcStubBuffer
* This
,
4415 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4416 PRPC_MESSAGE pRpcMessage
,
4417 DWORD
* pdwStubPhase
);
4418 HRESULT CALLBACK
IStorage16_EnumElements_Proxy(
4423 IEnumSTATSTG
** ppenum
);
4424 HRESULT __RPC_STUB
IStorage16_EnumElements_Stub(
4427 unsigned long cbReserved2
,
4430 IEnumSTATSTG
** ppenum
);
4431 HRESULT CALLBACK
IStorage16_DestroyElement_Proxy(
4433 LPCOLESTR16 pwcsName
);
4434 void __RPC_STUB
IStorage16_DestroyElement_Stub(
4435 struct IRpcStubBuffer
* This
,
4436 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4437 PRPC_MESSAGE pRpcMessage
,
4438 DWORD
* pdwStubPhase
);
4439 HRESULT CALLBACK
IStorage16_RenameElement_Proxy(
4441 LPCOLESTR16 pwcsOldName
,
4442 LPCOLESTR16 pwcsNewName
);
4443 void __RPC_STUB
IStorage16_RenameElement_Stub(
4444 struct IRpcStubBuffer
* This
,
4445 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4446 PRPC_MESSAGE pRpcMessage
,
4447 DWORD
* pdwStubPhase
);
4448 HRESULT CALLBACK
IStorage16_SetElementTimes_Proxy(
4450 LPCOLESTR16 pwcsName
,
4451 const FILETIME
* pctime
,
4452 const FILETIME
* patime
,
4453 const FILETIME
* pmtime
);
4454 void __RPC_STUB
IStorage16_SetElementTimes_Stub(
4455 struct IRpcStubBuffer
* This
,
4456 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4457 PRPC_MESSAGE pRpcMessage
,
4458 DWORD
* pdwStubPhase
);
4459 HRESULT CALLBACK
IStorage16_SetClass_Proxy(
4462 void __RPC_STUB
IStorage16_SetClass_Stub(
4463 struct IRpcStubBuffer
* This
,
4464 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4465 PRPC_MESSAGE pRpcMessage
,
4466 DWORD
* pdwStubPhase
);
4467 HRESULT CALLBACK
IStorage16_SetStateBits_Proxy(
4471 void __RPC_STUB
IStorage16_SetStateBits_Stub(
4472 struct IRpcStubBuffer
* This
,
4473 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4474 PRPC_MESSAGE pRpcMessage
,
4475 DWORD
* pdwStubPhase
);
4476 HRESULT CALLBACK
IStorage16_Stat_Proxy(
4480 void __RPC_STUB
IStorage16_Stat_Stub(
4481 struct IRpcStubBuffer
* This
,
4482 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4483 PRPC_MESSAGE pRpcMessage
,
4484 DWORD
* pdwStubPhase
);
4486 typedef struct IPersistFile IPersistFile
;
4487 typedef IPersistFile
*LPPERSISTFILE
;
4489 /*****************************************************************************
4490 * IPersistFile interface
4492 DEFINE_GUID(IID_IPersistFile
, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4493 #if defined(__cplusplus) && !defined(CINTERFACE)
4494 struct IPersistFile
: IPersist
{
4496 virtual HRESULT CALLBACK
IsDirty(
4499 virtual HRESULT CALLBACK
Load(
4500 LPCOLESTR pszFileName
,
4503 virtual HRESULT CALLBACK
Save(
4504 LPCOLESTR pszFileName
,
4505 BOOL fRemember
) = 0;
4507 virtual HRESULT CALLBACK
SaveCompleted(
4508 LPCOLESTR pszFileName
) = 0;
4510 virtual HRESULT CALLBACK
GetCurFile(
4511 LPOLESTR
* ppszFileName
) = 0;
4513 } ICOM_COM_INTERFACE_ATTRIBUTE
;
4515 typedef struct IPersistFileVtbl IPersistFileVtbl
;
4516 struct IPersistFile
{
4517 const IPersistFileVtbl
* lpVtbl
;
4519 struct IPersistFileVtbl
{
4520 ICOM_MSVTABLE_COMPAT_FIELDS
4522 /*** IUnknown methods ***/
4523 HRESULT (CALLBACK
*QueryInterface
)(
4528 ULONG (CALLBACK
*AddRef
)(
4529 IPersistFile
* This
);
4531 ULONG (CALLBACK
*Release
)(
4532 IPersistFile
* This
);
4534 /*** IPersist methods ***/
4535 HRESULT (CALLBACK
*GetClassID
)(
4539 /*** IPersistFile methods ***/
4540 HRESULT (CALLBACK
*IsDirty
)(
4541 IPersistFile
* This
);
4543 HRESULT (CALLBACK
*Load
)(
4545 LPCOLESTR pszFileName
,
4548 HRESULT (CALLBACK
*Save
)(
4550 LPCOLESTR pszFileName
,
4553 HRESULT (CALLBACK
*SaveCompleted
)(
4555 LPCOLESTR pszFileName
);
4557 HRESULT (CALLBACK
*GetCurFile
)(
4559 LPOLESTR
* ppszFileName
);
4563 #define IPersistFile_IMETHODS \
4565 ICOM_METHOD (HRESULT,IsDirty) \
4566 ICOM_METHOD2 (HRESULT,Load,LPCOLESTR,pszFileName,DWORD,dwMode) \
4567 ICOM_METHOD2 (HRESULT,Save,LPCOLESTR,pszFileName,BOOL,fRemember) \
4568 ICOM_METHOD1 (HRESULT,SaveCompleted,LPCOLESTR,pszFileName) \
4569 ICOM_METHOD1 (HRESULT,GetCurFile,LPOLESTR*,ppszFileName)
4571 /*** IUnknown methods ***/
4572 #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4573 #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p)
4574 #define IPersistFile_Release(p) (p)->lpVtbl->Release(p)
4575 /*** IPersist methods ***/
4576 #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4577 /*** IPersistFile methods ***/
4578 #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4579 #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b)
4580 #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4581 #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4582 #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a)
4586 HRESULT CALLBACK
IPersistFile_IsDirty_Proxy(
4587 IPersistFile
* This
);
4588 void __RPC_STUB
IPersistFile_IsDirty_Stub(
4589 struct IRpcStubBuffer
* This
,
4590 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4591 PRPC_MESSAGE pRpcMessage
,
4592 DWORD
* pdwStubPhase
);
4593 HRESULT CALLBACK
IPersistFile_Load_Proxy(
4595 LPCOLESTR pszFileName
,
4597 void __RPC_STUB
IPersistFile_Load_Stub(
4598 struct IRpcStubBuffer
* This
,
4599 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4600 PRPC_MESSAGE pRpcMessage
,
4601 DWORD
* pdwStubPhase
);
4602 HRESULT CALLBACK
IPersistFile_Save_Proxy(
4604 LPCOLESTR pszFileName
,
4606 void __RPC_STUB
IPersistFile_Save_Stub(
4607 struct IRpcStubBuffer
* This
,
4608 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4609 PRPC_MESSAGE pRpcMessage
,
4610 DWORD
* pdwStubPhase
);
4611 HRESULT CALLBACK
IPersistFile_SaveCompleted_Proxy(
4613 LPCOLESTR pszFileName
);
4614 void __RPC_STUB
IPersistFile_SaveCompleted_Stub(
4615 struct IRpcStubBuffer
* This
,
4616 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4617 PRPC_MESSAGE pRpcMessage
,
4618 DWORD
* pdwStubPhase
);
4619 HRESULT CALLBACK
IPersistFile_GetCurFile_Proxy(
4621 LPOLESTR
* ppszFileName
);
4622 void __RPC_STUB
IPersistFile_GetCurFile_Stub(
4623 struct IRpcStubBuffer
* This
,
4624 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4625 PRPC_MESSAGE pRpcMessage
,
4626 DWORD
* pdwStubPhase
);
4628 typedef struct IPersistStorage IPersistStorage
;
4629 typedef IPersistStorage
*LPPERSISTSTORAGE
;
4631 /*****************************************************************************
4632 * IPersistStorage interface
4634 DEFINE_GUID(IID_IPersistStorage
, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4635 #if defined(__cplusplus) && !defined(CINTERFACE)
4636 struct IPersistStorage
: IPersist
{
4638 virtual HRESULT CALLBACK
IsDirty(
4641 virtual HRESULT CALLBACK
InitNew(
4642 IStorage
* pStg
) = 0;
4644 virtual HRESULT CALLBACK
Load(
4645 IStorage
* pStg
) = 0;
4647 virtual HRESULT CALLBACK
Save(
4649 BOOL fSameAsLoad
) = 0;
4651 virtual HRESULT CALLBACK
SaveCompleted(
4652 IStorage
* pStgNew
) = 0;
4654 virtual HRESULT CALLBACK
HandsOffStorage(
4657 } ICOM_COM_INTERFACE_ATTRIBUTE
;
4659 typedef struct IPersistStorageVtbl IPersistStorageVtbl
;
4660 struct IPersistStorage
{
4661 const IPersistStorageVtbl
* lpVtbl
;
4663 struct IPersistStorageVtbl
{
4664 ICOM_MSVTABLE_COMPAT_FIELDS
4666 /*** IUnknown methods ***/
4667 HRESULT (CALLBACK
*QueryInterface
)(
4668 IPersistStorage
* This
,
4672 ULONG (CALLBACK
*AddRef
)(
4673 IPersistStorage
* This
);
4675 ULONG (CALLBACK
*Release
)(
4676 IPersistStorage
* This
);
4678 /*** IPersist methods ***/
4679 HRESULT (CALLBACK
*GetClassID
)(
4680 IPersistStorage
* This
,
4683 /*** IPersistStorage methods ***/
4684 HRESULT (CALLBACK
*IsDirty
)(
4685 IPersistStorage
* This
);
4687 HRESULT (CALLBACK
*InitNew
)(
4688 IPersistStorage
* This
,
4691 HRESULT (CALLBACK
*Load
)(
4692 IPersistStorage
* This
,
4695 HRESULT (CALLBACK
*Save
)(
4696 IPersistStorage
* This
,
4700 HRESULT (CALLBACK
*SaveCompleted
)(
4701 IPersistStorage
* This
,
4704 HRESULT (CALLBACK
*HandsOffStorage
)(
4705 IPersistStorage
* This
);
4709 #define IPersistStorage_IMETHODS \
4711 ICOM_METHOD (HRESULT,IsDirty) \
4712 ICOM_METHOD1 (HRESULT,InitNew,IStorage*,pStg) \
4713 ICOM_METHOD1 (HRESULT,Load,IStorage*,pStg) \
4714 ICOM_METHOD2 (HRESULT,Save,IStorage*,pStgSave,BOOL,fSameAsLoad) \
4715 ICOM_METHOD1 (HRESULT,SaveCompleted,IStorage*,pStgNew) \
4716 ICOM_METHOD (HRESULT,HandsOffStorage)
4718 /*** IUnknown methods ***/
4719 #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4720 #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4721 #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p)
4722 /*** IPersist methods ***/
4723 #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
4724 /*** IPersistStorage methods ***/
4725 #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p)
4726 #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a)
4727 #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a)
4728 #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b)
4729 #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a)
4730 #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p)
4734 HRESULT CALLBACK
IPersistStorage_IsDirty_Proxy(
4735 IPersistStorage
* This
);
4736 void __RPC_STUB
IPersistStorage_IsDirty_Stub(
4737 struct IRpcStubBuffer
* This
,
4738 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4739 PRPC_MESSAGE pRpcMessage
,
4740 DWORD
* pdwStubPhase
);
4741 HRESULT CALLBACK
IPersistStorage_InitNew_Proxy(
4742 IPersistStorage
* This
,
4744 void __RPC_STUB
IPersistStorage_InitNew_Stub(
4745 struct IRpcStubBuffer
* This
,
4746 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4747 PRPC_MESSAGE pRpcMessage
,
4748 DWORD
* pdwStubPhase
);
4749 HRESULT CALLBACK
IPersistStorage_Load_Proxy(
4750 IPersistStorage
* This
,
4752 void __RPC_STUB
IPersistStorage_Load_Stub(
4753 struct IRpcStubBuffer
* This
,
4754 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4755 PRPC_MESSAGE pRpcMessage
,
4756 DWORD
* pdwStubPhase
);
4757 HRESULT CALLBACK
IPersistStorage_Save_Proxy(
4758 IPersistStorage
* This
,
4761 void __RPC_STUB
IPersistStorage_Save_Stub(
4762 struct IRpcStubBuffer
* This
,
4763 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4764 PRPC_MESSAGE pRpcMessage
,
4765 DWORD
* pdwStubPhase
);
4766 HRESULT CALLBACK
IPersistStorage_SaveCompleted_Proxy(
4767 IPersistStorage
* This
,
4769 void __RPC_STUB
IPersistStorage_SaveCompleted_Stub(
4770 struct IRpcStubBuffer
* This
,
4771 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4772 PRPC_MESSAGE pRpcMessage
,
4773 DWORD
* pdwStubPhase
);
4774 HRESULT CALLBACK
IPersistStorage_HandsOffStorage_Proxy(
4775 IPersistStorage
* This
);
4776 void __RPC_STUB
IPersistStorage_HandsOffStorage_Stub(
4777 struct IRpcStubBuffer
* This
,
4778 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4779 PRPC_MESSAGE pRpcMessage
,
4780 DWORD
* pdwStubPhase
);
4782 typedef struct IRootStorage IRootStorage
;
4783 typedef IRootStorage
*LPROOTSTORAGE
;
4785 /*****************************************************************************
4786 * IRootStorage interface
4788 DEFINE_GUID(IID_IRootStorage
, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4789 #if defined(__cplusplus) && !defined(CINTERFACE)
4790 struct IRootStorage
: IUnknown
{
4792 virtual HRESULT CALLBACK
SwitchToFile(
4793 LPOLESTR pszFile
) = 0;
4795 } ICOM_COM_INTERFACE_ATTRIBUTE
;
4797 typedef struct IRootStorageVtbl IRootStorageVtbl
;
4798 struct IRootStorage
{
4799 const IRootStorageVtbl
* lpVtbl
;
4801 struct IRootStorageVtbl
{
4802 ICOM_MSVTABLE_COMPAT_FIELDS
4804 /*** IUnknown methods ***/
4805 HRESULT (CALLBACK
*QueryInterface
)(
4810 ULONG (CALLBACK
*AddRef
)(
4811 IRootStorage
* This
);
4813 ULONG (CALLBACK
*Release
)(
4814 IRootStorage
* This
);
4816 /*** IRootStorage methods ***/
4817 HRESULT (CALLBACK
*SwitchToFile
)(
4823 #define IRootStorage_IMETHODS \
4825 ICOM_METHOD1 (HRESULT,SwitchToFile,LPOLESTR,pszFile)
4827 /*** IUnknown methods ***/
4828 #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4829 #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
4830 #define IRootStorage_Release(p) (p)->lpVtbl->Release(p)
4831 /*** IRootStorage methods ***/
4832 #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a)
4836 HRESULT CALLBACK
IRootStorage_SwitchToFile_Proxy(
4839 void __RPC_STUB
IRootStorage_SwitchToFile_Stub(
4840 struct IRpcStubBuffer
* This
,
4841 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4842 PRPC_MESSAGE pRpcMessage
,
4843 DWORD
* pdwStubPhase
);
4845 typedef struct ILockBytes ILockBytes
;
4846 typedef ILockBytes
*LPLOCKBYTES
;
4848 /*****************************************************************************
4849 * ILockBytes interface
4851 DEFINE_GUID(IID_ILockBytes
, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4852 #if defined(__cplusplus) && !defined(CINTERFACE)
4853 struct ILockBytes
: IUnknown
{
4855 virtual HRESULT CALLBACK
ReadAt(
4856 ULARGE_INTEGER ulOffset
,
4859 ULONG
* pcbRead
) = 0;
4861 virtual HRESULT CALLBACK
WriteAt(
4862 ULARGE_INTEGER ulOffset
,
4865 ULONG
* pcbWritten
) = 0;
4867 virtual HRESULT CALLBACK
Flush(
4870 virtual HRESULT CALLBACK
SetSize(
4871 ULARGE_INTEGER cb
) = 0;
4873 virtual HRESULT CALLBACK
LockRegion(
4874 ULARGE_INTEGER libOffset
,
4876 DWORD dwLockType
) = 0;
4878 virtual HRESULT CALLBACK
UnlockRegion(
4879 ULARGE_INTEGER libOffset
,
4881 DWORD dwLockType
) = 0;
4883 virtual HRESULT CALLBACK
Stat(
4885 DWORD grfStatFlag
) = 0;
4887 } ICOM_COM_INTERFACE_ATTRIBUTE
;
4889 typedef struct ILockBytesVtbl ILockBytesVtbl
;
4891 const ILockBytesVtbl
* lpVtbl
;
4893 struct ILockBytesVtbl
{
4894 ICOM_MSVTABLE_COMPAT_FIELDS
4896 /*** IUnknown methods ***/
4897 HRESULT (CALLBACK
*QueryInterface
)(
4902 ULONG (CALLBACK
*AddRef
)(
4905 ULONG (CALLBACK
*Release
)(
4908 /*** ILockBytes methods ***/
4909 HRESULT (CALLBACK
*ReadAt
)(
4911 ULARGE_INTEGER ulOffset
,
4916 HRESULT (CALLBACK
*WriteAt
)(
4918 ULARGE_INTEGER ulOffset
,
4923 HRESULT (CALLBACK
*Flush
)(
4926 HRESULT (CALLBACK
*SetSize
)(
4930 HRESULT (CALLBACK
*LockRegion
)(
4932 ULARGE_INTEGER libOffset
,
4936 HRESULT (CALLBACK
*UnlockRegion
)(
4938 ULARGE_INTEGER libOffset
,
4942 HRESULT (CALLBACK
*Stat
)(
4949 #define ILockBytes_IMETHODS \
4951 ICOM_METHOD4 (HRESULT,ReadAt,ULARGE_INTEGER,ulOffset,void*,pv,ULONG,cb,ULONG*,pcbRead) \
4952 ICOM_METHOD4 (HRESULT,WriteAt,ULARGE_INTEGER,ulOffset,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
4953 ICOM_METHOD (HRESULT,Flush) \
4954 ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,cb) \
4955 ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
4956 ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
4957 ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag)
4959 /*** IUnknown methods ***/
4960 #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4961 #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
4962 #define ILockBytes_Release(p) (p)->lpVtbl->Release(p)
4963 /*** ILockBytes methods ***/
4964 #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d)
4965 #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d)
4966 #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p)
4967 #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
4968 #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
4969 #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
4970 #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
4974 HRESULT CALLBACK
ILockBytes_RemoteReadAt_Proxy(
4976 ULARGE_INTEGER ulOffset
,
4980 void __RPC_STUB
ILockBytes_RemoteReadAt_Stub(
4981 struct IRpcStubBuffer
* This
,
4982 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4983 PRPC_MESSAGE pRpcMessage
,
4984 DWORD
* pdwStubPhase
);
4985 HRESULT CALLBACK
ILockBytes_ReadAt_Proxy(
4987 ULARGE_INTEGER ulOffset
,
4991 HRESULT __RPC_STUB
ILockBytes_ReadAt_Stub(
4993 ULARGE_INTEGER ulOffset
,
4997 HRESULT CALLBACK
ILockBytes_RemoteWriteAt_Proxy(
4999 ULARGE_INTEGER ulOffset
,
5003 void __RPC_STUB
ILockBytes_RemoteWriteAt_Stub(
5004 struct IRpcStubBuffer
* This
,
5005 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5006 PRPC_MESSAGE pRpcMessage
,
5007 DWORD
* pdwStubPhase
);
5008 HRESULT CALLBACK
ILockBytes_WriteAt_Proxy(
5010 ULARGE_INTEGER ulOffset
,
5014 HRESULT __RPC_STUB
ILockBytes_WriteAt_Stub(
5016 ULARGE_INTEGER ulOffset
,
5020 HRESULT CALLBACK
ILockBytes_Flush_Proxy(
5022 void __RPC_STUB
ILockBytes_Flush_Stub(
5023 struct IRpcStubBuffer
* This
,
5024 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5025 PRPC_MESSAGE pRpcMessage
,
5026 DWORD
* pdwStubPhase
);
5027 HRESULT CALLBACK
ILockBytes_SetSize_Proxy(
5030 void __RPC_STUB
ILockBytes_SetSize_Stub(
5031 struct IRpcStubBuffer
* This
,
5032 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5033 PRPC_MESSAGE pRpcMessage
,
5034 DWORD
* pdwStubPhase
);
5035 HRESULT CALLBACK
ILockBytes_LockRegion_Proxy(
5037 ULARGE_INTEGER libOffset
,
5040 void __RPC_STUB
ILockBytes_LockRegion_Stub(
5041 struct IRpcStubBuffer
* This
,
5042 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5043 PRPC_MESSAGE pRpcMessage
,
5044 DWORD
* pdwStubPhase
);
5045 HRESULT CALLBACK
ILockBytes_UnlockRegion_Proxy(
5047 ULARGE_INTEGER libOffset
,
5050 void __RPC_STUB
ILockBytes_UnlockRegion_Stub(
5051 struct IRpcStubBuffer
* This
,
5052 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5053 PRPC_MESSAGE pRpcMessage
,
5054 DWORD
* pdwStubPhase
);
5055 HRESULT CALLBACK
ILockBytes_Stat_Proxy(
5059 void __RPC_STUB
ILockBytes_Stat_Stub(
5060 struct IRpcStubBuffer
* This
,
5061 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5062 PRPC_MESSAGE pRpcMessage
,
5063 DWORD
* pdwStubPhase
);
5065 typedef struct IFillLockBytes IFillLockBytes
;
5066 /*****************************************************************************
5067 * IFillLockBytes interface
5069 DEFINE_GUID(IID_IFillLockBytes
, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
5070 #if defined(__cplusplus) && !defined(CINTERFACE)
5071 struct IFillLockBytes
: IUnknown
{
5073 virtual HRESULT CALLBACK
FillAppend(
5076 ULONG
* pcbWritten
) = 0;
5078 virtual HRESULT CALLBACK
FillAt(
5079 ULARGE_INTEGER ulOffset
,
5082 ULONG
* pcbWritten
) = 0;
5084 virtual HRESULT CALLBACK
SetFillSize(
5085 ULARGE_INTEGER ulSize
) = 0;
5087 virtual HRESULT CALLBACK
Terminate(
5088 BOOL bCanceled
) = 0;
5090 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5092 typedef struct IFillLockBytesVtbl IFillLockBytesVtbl
;
5093 struct IFillLockBytes
{
5094 const IFillLockBytesVtbl
* lpVtbl
;
5096 struct IFillLockBytesVtbl
{
5097 ICOM_MSVTABLE_COMPAT_FIELDS
5099 /*** IUnknown methods ***/
5100 HRESULT (CALLBACK
*QueryInterface
)(
5101 IFillLockBytes
* This
,
5105 ULONG (CALLBACK
*AddRef
)(
5106 IFillLockBytes
* This
);
5108 ULONG (CALLBACK
*Release
)(
5109 IFillLockBytes
* This
);
5111 /*** IFillLockBytes methods ***/
5112 HRESULT (CALLBACK
*FillAppend
)(
5113 IFillLockBytes
* This
,
5118 HRESULT (CALLBACK
*FillAt
)(
5119 IFillLockBytes
* This
,
5120 ULARGE_INTEGER ulOffset
,
5125 HRESULT (CALLBACK
*SetFillSize
)(
5126 IFillLockBytes
* This
,
5127 ULARGE_INTEGER ulSize
);
5129 HRESULT (CALLBACK
*Terminate
)(
5130 IFillLockBytes
* This
,
5135 #define IFillLockBytes_IMETHODS \
5137 ICOM_METHOD3 (HRESULT,FillAppend,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
5138 ICOM_METHOD4 (HRESULT,FillAt,ULARGE_INTEGER,ulOffset,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
5139 ICOM_METHOD1 (HRESULT,SetFillSize,ULARGE_INTEGER,ulSize) \
5140 ICOM_METHOD1 (HRESULT,Terminate,BOOL,bCanceled)
5142 /*** IUnknown methods ***/
5143 #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5144 #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p)
5145 #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p)
5146 /*** IFillLockBytes methods ***/
5147 #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c)
5148 #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d)
5149 #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a)
5150 #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
5154 HRESULT CALLBACK
IFillLockBytes_RemoteFillAppend_Proxy(
5155 IFillLockBytes
* This
,
5159 void __RPC_STUB
IFillLockBytes_RemoteFillAppend_Stub(
5160 struct IRpcStubBuffer
* This
,
5161 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5162 PRPC_MESSAGE pRpcMessage
,
5163 DWORD
* pdwStubPhase
);
5164 HRESULT CALLBACK
IFillLockBytes_FillAppend_Proxy(
5165 IFillLockBytes
* This
,
5169 HRESULT __RPC_STUB
IFillLockBytes_FillAppend_Stub(
5170 IFillLockBytes
* This
,
5174 HRESULT CALLBACK
IFillLockBytes_RemoteFillAt_Proxy(
5175 IFillLockBytes
* This
,
5176 ULARGE_INTEGER ulOffset
,
5180 void __RPC_STUB
IFillLockBytes_RemoteFillAt_Stub(
5181 struct IRpcStubBuffer
* This
,
5182 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5183 PRPC_MESSAGE pRpcMessage
,
5184 DWORD
* pdwStubPhase
);
5185 HRESULT CALLBACK
IFillLockBytes_FillAt_Proxy(
5186 IFillLockBytes
* This
,
5187 ULARGE_INTEGER ulOffset
,
5191 HRESULT __RPC_STUB
IFillLockBytes_FillAt_Stub(
5192 IFillLockBytes
* This
,
5193 ULARGE_INTEGER ulOffset
,
5197 HRESULT CALLBACK
IFillLockBytes_SetFillSize_Proxy(
5198 IFillLockBytes
* This
,
5199 ULARGE_INTEGER ulSize
);
5200 void __RPC_STUB
IFillLockBytes_SetFillSize_Stub(
5201 struct IRpcStubBuffer
* This
,
5202 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5203 PRPC_MESSAGE pRpcMessage
,
5204 DWORD
* pdwStubPhase
);
5205 HRESULT CALLBACK
IFillLockBytes_Terminate_Proxy(
5206 IFillLockBytes
* This
,
5208 void __RPC_STUB
IFillLockBytes_Terminate_Stub(
5209 struct IRpcStubBuffer
* This
,
5210 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5211 PRPC_MESSAGE pRpcMessage
,
5212 DWORD
* pdwStubPhase
);
5214 typedef struct IProgressNotify IProgressNotify
;
5215 /*****************************************************************************
5216 * IProgressNotify interface
5218 DEFINE_GUID(IID_IProgressNotify
, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5219 #if defined(__cplusplus) && !defined(CINTERFACE)
5220 struct IProgressNotify
: IUnknown
{
5222 virtual HRESULT CALLBACK
OnProgress(
5223 DWORD dwProgressCurrent
,
5224 DWORD dwProgressMaximum
,
5228 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5230 typedef struct IProgressNotifyVtbl IProgressNotifyVtbl
;
5231 struct IProgressNotify
{
5232 const IProgressNotifyVtbl
* lpVtbl
;
5234 struct IProgressNotifyVtbl
{
5235 ICOM_MSVTABLE_COMPAT_FIELDS
5237 /*** IUnknown methods ***/
5238 HRESULT (CALLBACK
*QueryInterface
)(
5239 IProgressNotify
* This
,
5243 ULONG (CALLBACK
*AddRef
)(
5244 IProgressNotify
* This
);
5246 ULONG (CALLBACK
*Release
)(
5247 IProgressNotify
* This
);
5249 /*** IProgressNotify methods ***/
5250 HRESULT (CALLBACK
*OnProgress
)(
5251 IProgressNotify
* This
,
5252 DWORD dwProgressCurrent
,
5253 DWORD dwProgressMaximum
,
5259 #define IProgressNotify_IMETHODS \
5261 ICOM_METHOD4 (HRESULT,OnProgress,DWORD,dwProgressCurrent,DWORD,dwProgressMaximum,BOOL,fAccurate,BOOL,fOwner)
5263 /*** IUnknown methods ***/
5264 #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5265 #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
5266 #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p)
5267 /*** IProgressNotify methods ***/
5268 #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
5272 HRESULT CALLBACK
IProgressNotify_OnProgress_Proxy(
5273 IProgressNotify
* This
,
5274 DWORD dwProgressCurrent
,
5275 DWORD dwProgressMaximum
,
5278 void __RPC_STUB
IProgressNotify_OnProgress_Stub(
5279 struct IRpcStubBuffer
* This
,
5280 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5281 PRPC_MESSAGE pRpcMessage
,
5282 DWORD
* pdwStubPhase
);
5284 typedef struct ILayoutStorage ILayoutStorage
;
5285 typedef struct tagStorageLayout
{
5287 OLECHAR
*pwcsElementName
;
5288 LARGE_INTEGER cOffset
;
5289 LARGE_INTEGER cBytes
;
5292 /*****************************************************************************
5293 * ILayoutStorage interface
5295 DEFINE_GUID(IID_ILayoutStorage
, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
5296 #if defined(__cplusplus) && !defined(CINTERFACE)
5297 struct ILayoutStorage
: IUnknown
{
5299 virtual HRESULT CALLBACK
LayoutScript(
5300 StorageLayout
* pStorageLayout
,
5302 DWORD glfInterleavedFlag
) = 0;
5304 virtual HRESULT CALLBACK
BeginMonitor(
5307 virtual HRESULT CALLBACK
EndMonitor(
5310 virtual HRESULT CALLBACK
ReLayoutDocfile(
5311 OLECHAR
* pwcsNewDfName
) = 0;
5313 virtual HRESULT CALLBACK
ReLayoutDocfileOnILockBytes(
5314 ILockBytes
* pILockBytes
) = 0;
5316 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5318 typedef struct ILayoutStorageVtbl ILayoutStorageVtbl
;
5319 struct ILayoutStorage
{
5320 const ILayoutStorageVtbl
* lpVtbl
;
5322 struct ILayoutStorageVtbl
{
5323 ICOM_MSVTABLE_COMPAT_FIELDS
5325 /*** IUnknown methods ***/
5326 HRESULT (CALLBACK
*QueryInterface
)(
5327 ILayoutStorage
* This
,
5331 ULONG (CALLBACK
*AddRef
)(
5332 ILayoutStorage
* This
);
5334 ULONG (CALLBACK
*Release
)(
5335 ILayoutStorage
* This
);
5337 /*** ILayoutStorage methods ***/
5338 HRESULT (CALLBACK
*LayoutScript
)(
5339 ILayoutStorage
* This
,
5340 StorageLayout
* pStorageLayout
,
5342 DWORD glfInterleavedFlag
);
5344 HRESULT (CALLBACK
*BeginMonitor
)(
5345 ILayoutStorage
* This
);
5347 HRESULT (CALLBACK
*EndMonitor
)(
5348 ILayoutStorage
* This
);
5350 HRESULT (CALLBACK
*ReLayoutDocfile
)(
5351 ILayoutStorage
* This
,
5352 OLECHAR
* pwcsNewDfName
);
5354 HRESULT (CALLBACK
*ReLayoutDocfileOnILockBytes
)(
5355 ILayoutStorage
* This
,
5356 ILockBytes
* pILockBytes
);
5360 #define ILayoutStorage_IMETHODS \
5362 ICOM_METHOD3 (HRESULT,LayoutScript,StorageLayout*,pStorageLayout,DWORD,nEntries,DWORD,glfInterleavedFlag) \
5363 ICOM_METHOD (HRESULT,BeginMonitor) \
5364 ICOM_METHOD (HRESULT,EndMonitor) \
5365 ICOM_METHOD1 (HRESULT,ReLayoutDocfile,OLECHAR*,pwcsNewDfName) \
5366 ICOM_METHOD1 (HRESULT,ReLayoutDocfileOnILockBytes,ILockBytes*,pILockBytes)
5368 /*** IUnknown methods ***/
5369 #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5370 #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
5371 #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p)
5372 /*** ILayoutStorage methods ***/
5373 #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c)
5374 #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p)
5375 #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p)
5376 #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a)
5377 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a)
5381 HRESULT CALLBACK
ILayoutStorage_LayoutScript_Proxy(
5382 ILayoutStorage
* This
,
5383 StorageLayout
* pStorageLayout
,
5385 DWORD glfInterleavedFlag
);
5386 void __RPC_STUB
ILayoutStorage_LayoutScript_Stub(
5387 struct IRpcStubBuffer
* This
,
5388 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5389 PRPC_MESSAGE pRpcMessage
,
5390 DWORD
* pdwStubPhase
);
5391 HRESULT CALLBACK
ILayoutStorage_BeginMonitor_Proxy(
5392 ILayoutStorage
* This
);
5393 void __RPC_STUB
ILayoutStorage_BeginMonitor_Stub(
5394 struct IRpcStubBuffer
* This
,
5395 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5396 PRPC_MESSAGE pRpcMessage
,
5397 DWORD
* pdwStubPhase
);
5398 HRESULT CALLBACK
ILayoutStorage_EndMonitor_Proxy(
5399 ILayoutStorage
* This
);
5400 void __RPC_STUB
ILayoutStorage_EndMonitor_Stub(
5401 struct IRpcStubBuffer
* This
,
5402 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5403 PRPC_MESSAGE pRpcMessage
,
5404 DWORD
* pdwStubPhase
);
5405 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfile_Proxy(
5406 ILayoutStorage
* This
,
5407 OLECHAR
* pwcsNewDfName
);
5408 void __RPC_STUB
ILayoutStorage_ReLayoutDocfile_Stub(
5409 struct IRpcStubBuffer
* This
,
5410 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5411 PRPC_MESSAGE pRpcMessage
,
5412 DWORD
* pdwStubPhase
);
5413 HRESULT CALLBACK
ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
5414 ILayoutStorage
* This
,
5415 ILockBytes
* pILockBytes
);
5416 void __RPC_STUB
ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
5417 struct IRpcStubBuffer
* This
,
5418 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5419 PRPC_MESSAGE pRpcMessage
,
5420 DWORD
* pdwStubPhase
);
5422 typedef struct IEnumFORMATETC IEnumFORMATETC
;
5423 typedef IEnumFORMATETC
*LPENUMFORMATETC
;
5425 typedef struct tagDVTARGETDEVICE
{
5427 WORD tdDriverNameOffset
;
5428 WORD tdDeviceNameOffset
;
5429 WORD tdPortNameOffset
;
5430 WORD tdExtDevmodeOffset
;
5434 typedef CLIPFORMAT
*LPCLIPFORMAT
;
5436 typedef struct tagFORMATETC
{
5437 CLIPFORMAT cfFormat
;
5438 DVTARGETDEVICE
*ptd
;
5442 } FORMATETC
, *LPFORMATETC
;
5444 /*****************************************************************************
5445 * IEnumFORMATETC interface
5447 DEFINE_GUID(IID_IEnumFORMATETC
, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5448 #if defined(__cplusplus) && !defined(CINTERFACE)
5449 struct IEnumFORMATETC
: IUnknown
{
5451 virtual HRESULT CALLBACK
Next(
5454 ULONG
* pceltFetched
) = 0;
5456 virtual HRESULT CALLBACK
Skip(
5459 virtual HRESULT CALLBACK
Reset(
5462 virtual HRESULT CALLBACK
Clone(
5463 IEnumFORMATETC
** ppenum
) = 0;
5465 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5467 typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl
;
5468 struct IEnumFORMATETC
{
5469 const IEnumFORMATETCVtbl
* lpVtbl
;
5471 struct IEnumFORMATETCVtbl
{
5472 ICOM_MSVTABLE_COMPAT_FIELDS
5474 /*** IUnknown methods ***/
5475 HRESULT (CALLBACK
*QueryInterface
)(
5476 IEnumFORMATETC
* This
,
5480 ULONG (CALLBACK
*AddRef
)(
5481 IEnumFORMATETC
* This
);
5483 ULONG (CALLBACK
*Release
)(
5484 IEnumFORMATETC
* This
);
5486 /*** IEnumFORMATETC methods ***/
5487 HRESULT (CALLBACK
*Next
)(
5488 IEnumFORMATETC
* This
,
5491 ULONG
* pceltFetched
);
5493 HRESULT (CALLBACK
*Skip
)(
5494 IEnumFORMATETC
* This
,
5497 HRESULT (CALLBACK
*Reset
)(
5498 IEnumFORMATETC
* This
);
5500 HRESULT (CALLBACK
*Clone
)(
5501 IEnumFORMATETC
* This
,
5502 IEnumFORMATETC
** ppenum
);
5506 #define IEnumFORMATETC_IMETHODS \
5508 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,FORMATETC*,rgelt,ULONG*,pceltFetched) \
5509 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
5510 ICOM_METHOD (HRESULT,Reset) \
5511 ICOM_METHOD1 (HRESULT,Clone,IEnumFORMATETC**,ppenum)
5513 /*** IUnknown methods ***/
5514 #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5515 #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p)
5516 #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p)
5517 /*** IEnumFORMATETC methods ***/
5518 #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5519 #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5520 #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p)
5521 #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5525 HRESULT CALLBACK
IEnumFORMATETC_RemoteNext_Proxy(
5526 IEnumFORMATETC
* This
,
5529 ULONG
* pceltFetched
);
5530 void __RPC_STUB
IEnumFORMATETC_RemoteNext_Stub(
5531 struct IRpcStubBuffer
* This
,
5532 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5533 PRPC_MESSAGE pRpcMessage
,
5534 DWORD
* pdwStubPhase
);
5535 HRESULT CALLBACK
IEnumFORMATETC_Next_Proxy(
5536 IEnumFORMATETC
* This
,
5539 ULONG
* pceltFetched
);
5540 HRESULT __RPC_STUB
IEnumFORMATETC_Next_Stub(
5541 IEnumFORMATETC
* This
,
5544 ULONG
* pceltFetched
);
5545 HRESULT CALLBACK
IEnumFORMATETC_Skip_Proxy(
5546 IEnumFORMATETC
* This
,
5548 void __RPC_STUB
IEnumFORMATETC_Skip_Stub(
5549 struct IRpcStubBuffer
* This
,
5550 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5551 PRPC_MESSAGE pRpcMessage
,
5552 DWORD
* pdwStubPhase
);
5553 HRESULT CALLBACK
IEnumFORMATETC_Reset_Proxy(
5554 IEnumFORMATETC
* This
);
5555 void __RPC_STUB
IEnumFORMATETC_Reset_Stub(
5556 struct IRpcStubBuffer
* This
,
5557 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5558 PRPC_MESSAGE pRpcMessage
,
5559 DWORD
* pdwStubPhase
);
5560 HRESULT CALLBACK
IEnumFORMATETC_Clone_Proxy(
5561 IEnumFORMATETC
* This
,
5562 IEnumFORMATETC
** ppenum
);
5563 void __RPC_STUB
IEnumFORMATETC_Clone_Stub(
5564 struct IRpcStubBuffer
* This
,
5565 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5566 PRPC_MESSAGE pRpcMessage
,
5567 DWORD
* pdwStubPhase
);
5569 typedef struct IEnumSTATDATA IEnumSTATDATA
;
5570 typedef IEnumSTATDATA
*LPENUMSTATDATA
;
5572 typedef enum tagADVF
{
5574 ADVF_PRIMEFIRST
= 2,
5576 ADVF_DATAONSTOP
= 64,
5577 ADVFCACHE_NOHANDLER
= 8,
5578 ADVFCACHE_FORCEBUILTIN
= 16,
5579 ADVFCACHE_ONSAVE
= 32
5582 typedef struct tagSTATDATA
{
5583 FORMATETC formatetc
;
5585 IAdviseSink
*pAdvSink
;
5587 } STATDATA
, *LPSTATDATA
;
5589 /*****************************************************************************
5590 * IEnumSTATDATA interface
5592 DEFINE_GUID(IID_IEnumSTATDATA
, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5593 #if defined(__cplusplus) && !defined(CINTERFACE)
5594 struct IEnumSTATDATA
: IUnknown
{
5596 virtual HRESULT CALLBACK
Next(
5599 ULONG
* pceltFetched
) = 0;
5601 virtual HRESULT CALLBACK
Skip(
5604 virtual HRESULT CALLBACK
Reset(
5607 virtual HRESULT CALLBACK
Clone(
5608 IEnumSTATDATA
** ppenum
) = 0;
5610 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5612 typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl
;
5613 struct IEnumSTATDATA
{
5614 const IEnumSTATDATAVtbl
* lpVtbl
;
5616 struct IEnumSTATDATAVtbl
{
5617 ICOM_MSVTABLE_COMPAT_FIELDS
5619 /*** IUnknown methods ***/
5620 HRESULT (CALLBACK
*QueryInterface
)(
5621 IEnumSTATDATA
* This
,
5625 ULONG (CALLBACK
*AddRef
)(
5626 IEnumSTATDATA
* This
);
5628 ULONG (CALLBACK
*Release
)(
5629 IEnumSTATDATA
* This
);
5631 /*** IEnumSTATDATA methods ***/
5632 HRESULT (CALLBACK
*Next
)(
5633 IEnumSTATDATA
* This
,
5636 ULONG
* pceltFetched
);
5638 HRESULT (CALLBACK
*Skip
)(
5639 IEnumSTATDATA
* This
,
5642 HRESULT (CALLBACK
*Reset
)(
5643 IEnumSTATDATA
* This
);
5645 HRESULT (CALLBACK
*Clone
)(
5646 IEnumSTATDATA
* This
,
5647 IEnumSTATDATA
** ppenum
);
5651 #define IEnumSTATDATA_IMETHODS \
5653 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATDATA*,rgelt,ULONG*,pceltFetched) \
5654 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
5655 ICOM_METHOD (HRESULT,Reset) \
5656 ICOM_METHOD1 (HRESULT,Clone,IEnumSTATDATA**,ppenum)
5658 /*** IUnknown methods ***/
5659 #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5660 #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p)
5661 #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p)
5662 /*** IEnumSTATDATA methods ***/
5663 #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
5664 #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a)
5665 #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p)
5666 #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a)
5670 HRESULT CALLBACK
IEnumSTATDATA_RemoteNext_Proxy(
5671 IEnumSTATDATA
* This
,
5674 ULONG
* pceltFetched
);
5675 void __RPC_STUB
IEnumSTATDATA_RemoteNext_Stub(
5676 struct IRpcStubBuffer
* This
,
5677 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5678 PRPC_MESSAGE pRpcMessage
,
5679 DWORD
* pdwStubPhase
);
5680 HRESULT CALLBACK
IEnumSTATDATA_Next_Proxy(
5681 IEnumSTATDATA
* This
,
5684 ULONG
* pceltFetched
);
5685 HRESULT __RPC_STUB
IEnumSTATDATA_Next_Stub(
5686 IEnumSTATDATA
* This
,
5689 ULONG
* pceltFetched
);
5690 HRESULT CALLBACK
IEnumSTATDATA_Skip_Proxy(
5691 IEnumSTATDATA
* This
,
5693 void __RPC_STUB
IEnumSTATDATA_Skip_Stub(
5694 struct IRpcStubBuffer
* This
,
5695 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5696 PRPC_MESSAGE pRpcMessage
,
5697 DWORD
* pdwStubPhase
);
5698 HRESULT CALLBACK
IEnumSTATDATA_Reset_Proxy(
5699 IEnumSTATDATA
* This
);
5700 void __RPC_STUB
IEnumSTATDATA_Reset_Stub(
5701 struct IRpcStubBuffer
* This
,
5702 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5703 PRPC_MESSAGE pRpcMessage
,
5704 DWORD
* pdwStubPhase
);
5705 HRESULT CALLBACK
IEnumSTATDATA_Clone_Proxy(
5706 IEnumSTATDATA
* This
,
5707 IEnumSTATDATA
** ppenum
);
5708 void __RPC_STUB
IEnumSTATDATA_Clone_Stub(
5709 struct IRpcStubBuffer
* This
,
5710 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5711 PRPC_MESSAGE pRpcMessage
,
5712 DWORD
* pdwStubPhase
);
5714 typedef IAdviseSink
*LPADVISESINK
;
5716 typedef enum tagTYMED
{
5727 typedef struct tagRemSTGMEDIUM
{
5730 unsigned long pData
;
5731 unsigned long pUnkForRelease
;
5732 unsigned long cbData
;
5736 typedef struct tagSTGMEDIUM
{
5740 HMETAFILEPICT hMetaFilePict
;
5741 HENHMETAFILE hEnhMetaFile
;
5743 LPOLESTR lpszFileName
;
5747 IUnknown
*pUnkForRelease
;
5750 typedef struct _GDI_OBJECT
{
5753 wireHBITMAP hBitmap
;
5754 wireHPALETTE hPalette
;
5755 wireHGLOBAL hGeneric
;
5759 typedef struct _userSTGMEDIUM
{
5760 struct _STGMEDIUM_UNION
{
5763 wireHMETAFILEPICT hMetaFilePict
;
5764 wireHENHMETAFILE hHEnhMetaFile
;
5765 GDI_OBJECT
*hGdiHandle
;
5766 wireHGLOBAL hGlobal
;
5767 LPOLESTR lpszFileName
;
5772 IUnknown
*pUnkForRelease
;
5775 typedef userSTGMEDIUM
*wireSTGMEDIUM
;
5777 typedef uSTGMEDIUM STGMEDIUM
;
5778 unsigned long __RPC_USER
STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM
*);
5779 unsigned char * __RPC_USER
STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM
*);
5780 unsigned char * __RPC_USER
STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM
*);
5781 void __RPC_USER
STGMEDIUM_UserFree (unsigned long *, STGMEDIUM
*);
5783 typedef userSTGMEDIUM
*wireASYNC_STGMEDIUM
;
5785 typedef STGMEDIUM ASYNC_STGMEDIUM
;
5786 unsigned long __RPC_USER
ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM
*);
5787 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
5788 unsigned char * __RPC_USER
ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM
*);
5789 void __RPC_USER
ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM
*);
5791 typedef STGMEDIUM
*LPSTGMEDIUM
;
5793 typedef struct _userFLAG_STGMEDIUM
{
5795 long fPassOwnership
;
5796 userSTGMEDIUM Stgmed
;
5797 } userFLAG_STGMEDIUM
;
5799 typedef userFLAG_STGMEDIUM
*wireFLAG_STGMEDIUM
;
5801 typedef struct _FLAG_STGMEDIUM
{
5803 long fPassOwnership
;
5806 unsigned long __RPC_USER
FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM
*);
5807 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
5808 unsigned char * __RPC_USER
FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM
*);
5809 void __RPC_USER
FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM
*);
5811 /*****************************************************************************
5812 * IAdviseSink interface
5814 DEFINE_GUID(IID_IAdviseSink
, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5815 #if defined(__cplusplus) && !defined(CINTERFACE)
5816 struct IAdviseSink
: IUnknown
{
5818 virtual void CALLBACK
OnDataChange(
5819 FORMATETC
* pFormatetc
,
5820 STGMEDIUM
* pStgmed
) = 0;
5822 virtual void CALLBACK
OnViewChange(
5826 virtual void CALLBACK
OnRename(
5829 virtual void CALLBACK
OnSave(
5832 virtual void CALLBACK
OnClose(
5835 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5837 typedef struct IAdviseSinkVtbl IAdviseSinkVtbl
;
5838 struct IAdviseSink
{
5839 const IAdviseSinkVtbl
* lpVtbl
;
5841 struct IAdviseSinkVtbl
{
5842 ICOM_MSVTABLE_COMPAT_FIELDS
5844 /*** IUnknown methods ***/
5845 HRESULT (CALLBACK
*QueryInterface
)(
5850 ULONG (CALLBACK
*AddRef
)(
5853 ULONG (CALLBACK
*Release
)(
5856 /*** IAdviseSink methods ***/
5857 void (CALLBACK
*OnDataChange
)(
5859 FORMATETC
* pFormatetc
,
5860 STGMEDIUM
* pStgmed
);
5862 void (CALLBACK
*OnViewChange
)(
5867 void (CALLBACK
*OnRename
)(
5871 void (CALLBACK
*OnSave
)(
5874 void (CALLBACK
*OnClose
)(
5879 #define IAdviseSink_IMETHODS \
5881 ICOM_VMETHOD2(OnDataChange,FORMATETC*,pFormatetc,STGMEDIUM*,pStgmed) \
5882 ICOM_VMETHOD2(OnViewChange,DWORD,dwAspect,LONG,lindex) \
5883 ICOM_VMETHOD1(OnRename,IMoniker*,pmk) \
5884 ICOM_VMETHOD (OnSave) \
5885 ICOM_VMETHOD (OnClose)
5887 /*** IUnknown methods ***/
5888 #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
5889 #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
5890 #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p)
5891 /*** IAdviseSink methods ***/
5892 #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
5893 #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
5894 #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
5895 #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p)
5896 #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p)
5900 HRESULT CALLBACK
IAdviseSink_RemoteOnDataChange_Proxy(
5902 IAsyncManager
** ppIAM
,
5903 FORMATETC
* pFormatetc
,
5904 ASYNC_STGMEDIUM
* pStgmed
);
5905 void __RPC_STUB
IAdviseSink_RemoteOnDataChange_Stub(
5906 struct IRpcStubBuffer
* This
,
5907 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5908 PRPC_MESSAGE pRpcMessage
,
5909 DWORD
* pdwStubPhase
);
5910 void CALLBACK
IAdviseSink_OnDataChange_Proxy(
5912 FORMATETC
* pFormatetc
,
5913 STGMEDIUM
* pStgmed
);
5914 HRESULT __RPC_STUB
IAdviseSink_OnDataChange_Stub(
5916 IAsyncManager
** ppIAM
,
5917 FORMATETC
* pFormatetc
,
5918 ASYNC_STGMEDIUM
* pStgmed
);
5919 HRESULT CALLBACK
IAdviseSink_RemoteOnViewChange_Proxy(
5921 IAsyncManager
** ppIAM
,
5924 void __RPC_STUB
IAdviseSink_RemoteOnViewChange_Stub(
5925 struct IRpcStubBuffer
* This
,
5926 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5927 PRPC_MESSAGE pRpcMessage
,
5928 DWORD
* pdwStubPhase
);
5929 void CALLBACK
IAdviseSink_OnViewChange_Proxy(
5933 HRESULT __RPC_STUB
IAdviseSink_OnViewChange_Stub(
5935 IAsyncManager
** ppIAM
,
5938 HRESULT CALLBACK
IAdviseSink_RemoteOnRename_Proxy(
5940 IAsyncManager
** ppIAM
,
5942 void __RPC_STUB
IAdviseSink_RemoteOnRename_Stub(
5943 struct IRpcStubBuffer
* This
,
5944 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5945 PRPC_MESSAGE pRpcMessage
,
5946 DWORD
* pdwStubPhase
);
5947 void CALLBACK
IAdviseSink_OnRename_Proxy(
5950 HRESULT __RPC_STUB
IAdviseSink_OnRename_Stub(
5952 IAsyncManager
** ppIAM
,
5954 HRESULT CALLBACK
IAdviseSink_RemoteOnSave_Proxy(
5956 IAsyncManager
** ppIAM
);
5957 void __RPC_STUB
IAdviseSink_RemoteOnSave_Stub(
5958 struct IRpcStubBuffer
* This
,
5959 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5960 PRPC_MESSAGE pRpcMessage
,
5961 DWORD
* pdwStubPhase
);
5962 void CALLBACK
IAdviseSink_OnSave_Proxy(
5964 HRESULT __RPC_STUB
IAdviseSink_OnSave_Stub(
5966 IAsyncManager
** ppIAM
);
5967 HRESULT CALLBACK
IAdviseSink_RemoteOnClose_Proxy(
5969 void __RPC_STUB
IAdviseSink_RemoteOnClose_Stub(
5970 struct IRpcStubBuffer
* This
,
5971 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
5972 PRPC_MESSAGE pRpcMessage
,
5973 DWORD
* pdwStubPhase
);
5974 void CALLBACK
IAdviseSink_OnClose_Proxy(
5976 HRESULT __RPC_STUB
IAdviseSink_OnClose_Stub(
5979 typedef struct IAdviseSink2 IAdviseSink2
;
5980 typedef IAdviseSink2
*LPADVISESINK2
;
5982 /*****************************************************************************
5983 * IAdviseSink2 interface
5985 DEFINE_GUID(IID_IAdviseSink2
, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5986 #if defined(__cplusplus) && !defined(CINTERFACE)
5987 struct IAdviseSink2
: IAdviseSink
{
5989 virtual void CALLBACK
OnLinkSrcChange(
5992 } ICOM_COM_INTERFACE_ATTRIBUTE
;
5994 typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl
;
5995 struct IAdviseSink2
{
5996 const IAdviseSink2Vtbl
* lpVtbl
;
5998 struct IAdviseSink2Vtbl
{
5999 ICOM_MSVTABLE_COMPAT_FIELDS
6001 /*** IUnknown methods ***/
6002 HRESULT (CALLBACK
*QueryInterface
)(
6007 ULONG (CALLBACK
*AddRef
)(
6008 IAdviseSink2
* This
);
6010 ULONG (CALLBACK
*Release
)(
6011 IAdviseSink2
* This
);
6013 /*** IAdviseSink methods ***/
6014 void (CALLBACK
*OnDataChange
)(
6016 FORMATETC
* pFormatetc
,
6017 STGMEDIUM
* pStgmed
);
6019 void (CALLBACK
*OnViewChange
)(
6024 void (CALLBACK
*OnRename
)(
6028 void (CALLBACK
*OnSave
)(
6029 IAdviseSink2
* This
);
6031 void (CALLBACK
*OnClose
)(
6032 IAdviseSink2
* This
);
6034 /*** IAdviseSink2 methods ***/
6035 void (CALLBACK
*OnLinkSrcChange
)(
6041 #define IAdviseSink2_IMETHODS \
6042 IAdviseSink_IMETHODS \
6043 ICOM_VMETHOD1(OnLinkSrcChange,IMoniker*,pmk)
6045 /*** IUnknown methods ***/
6046 #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6047 #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p)
6048 #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p)
6049 /*** IAdviseSink methods ***/
6050 #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b)
6051 #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b)
6052 #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a)
6053 #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p)
6054 #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p)
6055 /*** IAdviseSink2 methods ***/
6056 #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a)
6060 HRESULT CALLBACK
IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
6062 IAsyncManager
** ppIAM
,
6064 void __RPC_STUB
IAdviseSink2_RemoteOnLinkSrcChange_Stub(
6065 struct IRpcStubBuffer
* This
,
6066 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6067 PRPC_MESSAGE pRpcMessage
,
6068 DWORD
* pdwStubPhase
);
6069 void CALLBACK
IAdviseSink2_OnLinkSrcChange_Proxy(
6072 HRESULT __RPC_STUB
IAdviseSink2_OnLinkSrcChange_Stub(
6074 IAsyncManager
** ppIAM
,
6077 typedef struct IDataObject IDataObject
;
6078 typedef IDataObject
*LPDATAOBJECT
;
6080 typedef enum tagDATADIR
{
6085 /*****************************************************************************
6086 * IDataObject interface
6088 DEFINE_GUID(IID_IDataObject
, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6089 #if defined(__cplusplus) && !defined(CINTERFACE)
6090 struct IDataObject
: IUnknown
{
6092 virtual HRESULT CALLBACK
GetData(
6093 FORMATETC
* pformatetcIn
,
6094 STGMEDIUM
* pmedium
) = 0;
6096 virtual HRESULT CALLBACK
GetDataHere(
6097 FORMATETC
* pformatetc
,
6098 STGMEDIUM
* pmedium
) = 0;
6100 virtual HRESULT CALLBACK
QueryGetData(
6101 FORMATETC
* pformatetc
) = 0;
6103 virtual HRESULT CALLBACK
GetCanonicalFormatEtc(
6104 FORMATETC
* pformatectIn
,
6105 FORMATETC
* pformatetcOut
) = 0;
6107 virtual HRESULT CALLBACK
SetData(
6108 FORMATETC
* pformatetc
,
6112 virtual HRESULT CALLBACK
EnumFormatEtc(
6114 IEnumFORMATETC
** ppenumFormatEtc
) = 0;
6116 virtual HRESULT CALLBACK
DAdvise(
6117 FORMATETC
* pformatetc
,
6119 IAdviseSink
* pAdvSink
,
6120 DWORD
* pdwConnection
) = 0;
6122 virtual HRESULT CALLBACK
DUnadvise(
6123 DWORD dwConnection
) = 0;
6125 virtual HRESULT CALLBACK
EnumDAdvise(
6126 IEnumSTATDATA
** ppenumAdvise
) = 0;
6128 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6130 typedef struct IDataObjectVtbl IDataObjectVtbl
;
6131 struct IDataObject
{
6132 const IDataObjectVtbl
* lpVtbl
;
6134 struct IDataObjectVtbl
{
6135 ICOM_MSVTABLE_COMPAT_FIELDS
6137 /*** IUnknown methods ***/
6138 HRESULT (CALLBACK
*QueryInterface
)(
6143 ULONG (CALLBACK
*AddRef
)(
6146 ULONG (CALLBACK
*Release
)(
6149 /*** IDataObject methods ***/
6150 HRESULT (CALLBACK
*GetData
)(
6152 FORMATETC
* pformatetcIn
,
6153 STGMEDIUM
* pmedium
);
6155 HRESULT (CALLBACK
*GetDataHere
)(
6157 FORMATETC
* pformatetc
,
6158 STGMEDIUM
* pmedium
);
6160 HRESULT (CALLBACK
*QueryGetData
)(
6162 FORMATETC
* pformatetc
);
6164 HRESULT (CALLBACK
*GetCanonicalFormatEtc
)(
6166 FORMATETC
* pformatectIn
,
6167 FORMATETC
* pformatetcOut
);
6169 HRESULT (CALLBACK
*SetData
)(
6171 FORMATETC
* pformatetc
,
6175 HRESULT (CALLBACK
*EnumFormatEtc
)(
6178 IEnumFORMATETC
** ppenumFormatEtc
);
6180 HRESULT (CALLBACK
*DAdvise
)(
6182 FORMATETC
* pformatetc
,
6184 IAdviseSink
* pAdvSink
,
6185 DWORD
* pdwConnection
);
6187 HRESULT (CALLBACK
*DUnadvise
)(
6189 DWORD dwConnection
);
6191 HRESULT (CALLBACK
*EnumDAdvise
)(
6193 IEnumSTATDATA
** ppenumAdvise
);
6197 #define IDataObject_IMETHODS \
6199 ICOM_METHOD2 (HRESULT,GetData,FORMATETC*,pformatetcIn,STGMEDIUM*,pmedium) \
6200 ICOM_METHOD2 (HRESULT,GetDataHere,FORMATETC*,pformatetc,STGMEDIUM*,pmedium) \
6201 ICOM_METHOD1 (HRESULT,QueryGetData,FORMATETC*,pformatetc) \
6202 ICOM_METHOD2 (HRESULT,GetCanonicalFormatEtc,FORMATETC*,pformatectIn,FORMATETC*,pformatetcOut) \
6203 ICOM_METHOD3 (HRESULT,SetData,FORMATETC*,pformatetc,STGMEDIUM*,pmedium,BOOL,fRelease) \
6204 ICOM_METHOD2 (HRESULT,EnumFormatEtc,DWORD,dwDirection,IEnumFORMATETC**,ppenumFormatEtc) \
6205 ICOM_METHOD4 (HRESULT,DAdvise,FORMATETC*,pformatetc,DWORD,advf,IAdviseSink*,pAdvSink,DWORD*,pdwConnection) \
6206 ICOM_METHOD1 (HRESULT,DUnadvise,DWORD,dwConnection) \
6207 ICOM_METHOD1 (HRESULT,EnumDAdvise,IEnumSTATDATA**,ppenumAdvise)
6209 /*** IUnknown methods ***/
6210 #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6211 #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p)
6212 #define IDataObject_Release(p) (p)->lpVtbl->Release(p)
6213 /*** IDataObject methods ***/
6214 #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b)
6215 #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b)
6216 #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a)
6217 #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b)
6218 #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
6219 #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b)
6220 #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d)
6221 #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a)
6222 #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a)
6226 HRESULT CALLBACK
IDataObject_RemoteGetData_Proxy(
6228 FORMATETC
* pformatetcIn
,
6229 STGMEDIUM
* pRemoteMedium
);
6230 void __RPC_STUB
IDataObject_RemoteGetData_Stub(
6231 struct IRpcStubBuffer
* This
,
6232 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6233 PRPC_MESSAGE pRpcMessage
,
6234 DWORD
* pdwStubPhase
);
6235 HRESULT CALLBACK
IDataObject_GetData_Proxy(
6237 FORMATETC
* pformatetcIn
,
6238 STGMEDIUM
* pmedium
);
6239 HRESULT __RPC_STUB
IDataObject_GetData_Stub(
6241 FORMATETC
* pformatetcIn
,
6242 STGMEDIUM
* pRemoteMedium
);
6243 HRESULT CALLBACK
IDataObject_RemoteGetDataHere_Proxy(
6245 FORMATETC
* pformatetc
,
6246 STGMEDIUM
* pRemoteMedium
);
6247 void __RPC_STUB
IDataObject_RemoteGetDataHere_Stub(
6248 struct IRpcStubBuffer
* This
,
6249 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6250 PRPC_MESSAGE pRpcMessage
,
6251 DWORD
* pdwStubPhase
);
6252 HRESULT CALLBACK
IDataObject_GetDataHere_Proxy(
6254 FORMATETC
* pformatetc
,
6255 STGMEDIUM
* pmedium
);
6256 HRESULT __RPC_STUB
IDataObject_GetDataHere_Stub(
6258 FORMATETC
* pformatetc
,
6259 STGMEDIUM
* pRemoteMedium
);
6260 HRESULT CALLBACK
IDataObject_QueryGetData_Proxy(
6262 FORMATETC
* pformatetc
);
6263 void __RPC_STUB
IDataObject_QueryGetData_Stub(
6264 struct IRpcStubBuffer
* This
,
6265 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6266 PRPC_MESSAGE pRpcMessage
,
6267 DWORD
* pdwStubPhase
);
6268 HRESULT CALLBACK
IDataObject_GetCanonicalFormatEtc_Proxy(
6270 FORMATETC
* pformatectIn
,
6271 FORMATETC
* pformatetcOut
);
6272 void __RPC_STUB
IDataObject_GetCanonicalFormatEtc_Stub(
6273 struct IRpcStubBuffer
* This
,
6274 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6275 PRPC_MESSAGE pRpcMessage
,
6276 DWORD
* pdwStubPhase
);
6277 HRESULT CALLBACK
IDataObject_RemoteSetData_Proxy(
6279 FORMATETC
* pformatetc
,
6280 FLAG_STGMEDIUM
* pmedium
,
6282 void __RPC_STUB
IDataObject_RemoteSetData_Stub(
6283 struct IRpcStubBuffer
* This
,
6284 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6285 PRPC_MESSAGE pRpcMessage
,
6286 DWORD
* pdwStubPhase
);
6287 HRESULT CALLBACK
IDataObject_SetData_Proxy(
6289 FORMATETC
* pformatetc
,
6292 HRESULT __RPC_STUB
IDataObject_SetData_Stub(
6294 FORMATETC
* pformatetc
,
6295 FLAG_STGMEDIUM
* pmedium
,
6297 HRESULT CALLBACK
IDataObject_EnumFormatEtc_Proxy(
6300 IEnumFORMATETC
** ppenumFormatEtc
);
6301 void __RPC_STUB
IDataObject_EnumFormatEtc_Stub(
6302 struct IRpcStubBuffer
* This
,
6303 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6304 PRPC_MESSAGE pRpcMessage
,
6305 DWORD
* pdwStubPhase
);
6306 HRESULT CALLBACK
IDataObject_DAdvise_Proxy(
6308 FORMATETC
* pformatetc
,
6310 IAdviseSink
* pAdvSink
,
6311 DWORD
* pdwConnection
);
6312 void __RPC_STUB
IDataObject_DAdvise_Stub(
6313 struct IRpcStubBuffer
* This
,
6314 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6315 PRPC_MESSAGE pRpcMessage
,
6316 DWORD
* pdwStubPhase
);
6317 HRESULT CALLBACK
IDataObject_DUnadvise_Proxy(
6319 DWORD dwConnection
);
6320 void __RPC_STUB
IDataObject_DUnadvise_Stub(
6321 struct IRpcStubBuffer
* This
,
6322 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6323 PRPC_MESSAGE pRpcMessage
,
6324 DWORD
* pdwStubPhase
);
6325 HRESULT CALLBACK
IDataObject_EnumDAdvise_Proxy(
6327 IEnumSTATDATA
** ppenumAdvise
);
6328 void __RPC_STUB
IDataObject_EnumDAdvise_Stub(
6329 struct IRpcStubBuffer
* This
,
6330 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6331 PRPC_MESSAGE pRpcMessage
,
6332 DWORD
* pdwStubPhase
);
6334 typedef struct IDataAdviseHolder IDataAdviseHolder
;
6335 typedef IDataAdviseHolder
*LPDATAADVISEHOLDER
;
6337 /*****************************************************************************
6338 * IDataAdviseHolder interface
6340 DEFINE_GUID(IID_IDataAdviseHolder
, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6341 #if defined(__cplusplus) && !defined(CINTERFACE)
6342 struct IDataAdviseHolder
: IUnknown
{
6344 virtual HRESULT CALLBACK
Advise(
6345 IDataObject
* pDataObject
,
6348 IAdviseSink
* pAdvise
,
6349 DWORD
* pdwConnection
) = 0;
6351 virtual HRESULT CALLBACK
Unadvise(
6352 DWORD dwConnection
) = 0;
6354 virtual HRESULT CALLBACK
EnumAdvise(
6355 IEnumSTATDATA
** ppenumAdvise
) = 0;
6357 virtual HRESULT CALLBACK
SendOnDataChange(
6358 IDataObject
* pDataObject
,
6362 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6364 typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl
;
6365 struct IDataAdviseHolder
{
6366 const IDataAdviseHolderVtbl
* lpVtbl
;
6368 struct IDataAdviseHolderVtbl
{
6369 ICOM_MSVTABLE_COMPAT_FIELDS
6371 /*** IUnknown methods ***/
6372 HRESULT (CALLBACK
*QueryInterface
)(
6373 IDataAdviseHolder
* This
,
6377 ULONG (CALLBACK
*AddRef
)(
6378 IDataAdviseHolder
* This
);
6380 ULONG (CALLBACK
*Release
)(
6381 IDataAdviseHolder
* This
);
6383 /*** IDataAdviseHolder methods ***/
6384 HRESULT (CALLBACK
*Advise
)(
6385 IDataAdviseHolder
* This
,
6386 IDataObject
* pDataObject
,
6389 IAdviseSink
* pAdvise
,
6390 DWORD
* pdwConnection
);
6392 HRESULT (CALLBACK
*Unadvise
)(
6393 IDataAdviseHolder
* This
,
6394 DWORD dwConnection
);
6396 HRESULT (CALLBACK
*EnumAdvise
)(
6397 IDataAdviseHolder
* This
,
6398 IEnumSTATDATA
** ppenumAdvise
);
6400 HRESULT (CALLBACK
*SendOnDataChange
)(
6401 IDataAdviseHolder
* This
,
6402 IDataObject
* pDataObject
,
6408 #define IDataAdviseHolder_IMETHODS \
6410 ICOM_METHOD5 (HRESULT,Advise,IDataObject*,pDataObject,FORMATETC*,pFetc,DWORD,advf,IAdviseSink*,pAdvise,DWORD*,pdwConnection) \
6411 ICOM_METHOD1 (HRESULT,Unadvise,DWORD,dwConnection) \
6412 ICOM_METHOD1 (HRESULT,EnumAdvise,IEnumSTATDATA**,ppenumAdvise) \
6413 ICOM_METHOD3 (HRESULT,SendOnDataChange,IDataObject*,pDataObject,DWORD,dwReserved,DWORD,advf)
6415 /*** IUnknown methods ***/
6416 #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6417 #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
6418 #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
6419 /*** IDataAdviseHolder methods ***/
6420 #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
6421 #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
6422 #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
6423 #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c)
6427 HRESULT CALLBACK
IDataAdviseHolder_Advise_Proxy(
6428 IDataAdviseHolder
* This
,
6429 IDataObject
* pDataObject
,
6432 IAdviseSink
* pAdvise
,
6433 DWORD
* pdwConnection
);
6434 void __RPC_STUB
IDataAdviseHolder_Advise_Stub(
6435 struct IRpcStubBuffer
* This
,
6436 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6437 PRPC_MESSAGE pRpcMessage
,
6438 DWORD
* pdwStubPhase
);
6439 HRESULT CALLBACK
IDataAdviseHolder_Unadvise_Proxy(
6440 IDataAdviseHolder
* This
,
6441 DWORD dwConnection
);
6442 void __RPC_STUB
IDataAdviseHolder_Unadvise_Stub(
6443 struct IRpcStubBuffer
* This
,
6444 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6445 PRPC_MESSAGE pRpcMessage
,
6446 DWORD
* pdwStubPhase
);
6447 HRESULT CALLBACK
IDataAdviseHolder_EnumAdvise_Proxy(
6448 IDataAdviseHolder
* This
,
6449 IEnumSTATDATA
** ppenumAdvise
);
6450 void __RPC_STUB
IDataAdviseHolder_EnumAdvise_Stub(
6451 struct IRpcStubBuffer
* This
,
6452 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6453 PRPC_MESSAGE pRpcMessage
,
6454 DWORD
* pdwStubPhase
);
6455 HRESULT CALLBACK
IDataAdviseHolder_SendOnDataChange_Proxy(
6456 IDataAdviseHolder
* This
,
6457 IDataObject
* pDataObject
,
6460 void __RPC_STUB
IDataAdviseHolder_SendOnDataChange_Stub(
6461 struct IRpcStubBuffer
* This
,
6462 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6463 PRPC_MESSAGE pRpcMessage
,
6464 DWORD
* pdwStubPhase
);
6466 typedef struct IMessageFilter IMessageFilter
;
6467 typedef IMessageFilter
*LPMESSAGEFILTER
;
6469 typedef enum tagCALLTYPE
{
6470 CALLTYPE_TOPLEVEL
= 1,
6471 CALLTYPE_NESTED
= 2,
6473 CALLTYPE_TOPLEVEL_CALLPENDING
= 4,
6474 CALLTYPE_ASYNC_CALLPENDING
= 5
6477 typedef enum tagSERVERCALL
{
6478 SERVERCALL_ISHANDLED
= 0,
6479 SERVERCALL_REJECTED
= 1,
6480 SERVERCALL_RETRYLATER
= 2
6483 typedef enum tagPENDINGTYPE
{
6484 PENDINGTYPE_TOPLEVEL
= 1,
6485 PENDINGTYPE_NESTED
= 2
6488 typedef enum tagPENDINGMSG
{
6489 PENDINGMSG_CANCELCALL
= 0,
6490 PENDINGMSG_WAITNOPROCESS
= 1,
6491 PENDINGMSG_WAITDEFPROCESS
= 2
6494 typedef struct tagINTERFACEINFO
{
6498 } INTERFACEINFO
, *LPINTERFACEINFO
;
6500 /*****************************************************************************
6501 * IMessageFilter interface
6503 DEFINE_GUID(IID_IMessageFilter
, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6504 #if defined(__cplusplus) && !defined(CINTERFACE)
6505 struct IMessageFilter
: IUnknown
{
6507 virtual DWORD CALLBACK
HandleInComingCall(
6511 LPINTERFACEINFO lpInterfaceInfo
) = 0;
6513 virtual DWORD CALLBACK
RetryRejectedCall(
6516 DWORD dwRejectType
) = 0;
6518 virtual DWORD CALLBACK
MessagePending(
6521 DWORD dwPendingType
) = 0;
6523 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6525 typedef struct IMessageFilterVtbl IMessageFilterVtbl
;
6526 struct IMessageFilter
{
6527 const IMessageFilterVtbl
* lpVtbl
;
6529 struct IMessageFilterVtbl
{
6530 ICOM_MSVTABLE_COMPAT_FIELDS
6532 /*** IUnknown methods ***/
6533 HRESULT (CALLBACK
*QueryInterface
)(
6534 IMessageFilter
* This
,
6538 ULONG (CALLBACK
*AddRef
)(
6539 IMessageFilter
* This
);
6541 ULONG (CALLBACK
*Release
)(
6542 IMessageFilter
* This
);
6544 /*** IMessageFilter methods ***/
6545 DWORD (CALLBACK
*HandleInComingCall
)(
6546 IMessageFilter
* This
,
6550 LPINTERFACEINFO lpInterfaceInfo
);
6552 DWORD (CALLBACK
*RetryRejectedCall
)(
6553 IMessageFilter
* This
,
6556 DWORD dwRejectType
);
6558 DWORD (CALLBACK
*MessagePending
)(
6559 IMessageFilter
* This
,
6562 DWORD dwPendingType
);
6566 #define IMessageFilter_IMETHODS \
6568 ICOM_METHOD4 (DWORD,HandleInComingCall,DWORD,dwCallType,HTASK,htaskCaller,DWORD,dwTickCount,LPINTERFACEINFO,lpInterfaceInfo) \
6569 ICOM_METHOD3 (DWORD,RetryRejectedCall,HTASK,htaskCallee,DWORD,dwTickCount,DWORD,dwRejectType) \
6570 ICOM_METHOD3 (DWORD,MessagePending,HTASK,htaskCallee,DWORD,dwTickCount,DWORD,dwPendingType)
6572 /*** IUnknown methods ***/
6573 #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6574 #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p)
6575 #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p)
6576 /*** IMessageFilter methods ***/
6577 #define IMessageFilter_HandleInComingCall(p,a,b,c,d) (p)->lpVtbl->HandleInComingCall(p,a,b,c,d)
6578 #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c)
6579 #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c)
6583 DWORD CALLBACK
IMessageFilter_HandleInComingCall_Proxy(
6584 IMessageFilter
* This
,
6588 LPINTERFACEINFO lpInterfaceInfo
);
6589 void __RPC_STUB
IMessageFilter_HandleInComingCall_Stub(
6590 struct IRpcStubBuffer
* This
,
6591 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6592 PRPC_MESSAGE pRpcMessage
,
6593 DWORD
* pdwStubPhase
);
6594 DWORD CALLBACK
IMessageFilter_RetryRejectedCall_Proxy(
6595 IMessageFilter
* This
,
6598 DWORD dwRejectType
);
6599 void __RPC_STUB
IMessageFilter_RetryRejectedCall_Stub(
6600 struct IRpcStubBuffer
* This
,
6601 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6602 PRPC_MESSAGE pRpcMessage
,
6603 DWORD
* pdwStubPhase
);
6604 DWORD CALLBACK
IMessageFilter_MessagePending_Proxy(
6605 IMessageFilter
* This
,
6608 DWORD dwPendingType
);
6609 void __RPC_STUB
IMessageFilter_MessagePending_Stub(
6610 struct IRpcStubBuffer
* This
,
6611 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6612 PRPC_MESSAGE pRpcMessage
,
6613 DWORD
* pdwStubPhase
);
6615 typedef struct IRpcChannelBuffer IRpcChannelBuffer
;
6616 typedef IRpcChannelBuffer
*LPRPCCHANNELBUFFER
;
6618 typedef unsigned long RPCOLEDATAREP
;
6620 typedef struct tagRPCOLEMESSAGE
{
6622 RPCOLEDATAREP dataRepresentation
;
6630 typedef RPCOLEMESSAGE
*PRPCOLEMESSAGE
;
6632 /*****************************************************************************
6633 * IRpcChannelBuffer interface
6635 DEFINE_GUID(IID_IRpcChannelBuffer
, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
6636 #if defined(__cplusplus) && !defined(CINTERFACE)
6637 struct IRpcChannelBuffer
: IUnknown
{
6639 virtual HRESULT CALLBACK
GetBuffer(
6640 RPCOLEMESSAGE
* pMessage
,
6643 virtual HRESULT CALLBACK
SendReceive(
6644 RPCOLEMESSAGE
* pMessage
,
6645 ULONG
* pStatus
) = 0;
6647 virtual HRESULT CALLBACK
FreeBuffer(
6648 RPCOLEMESSAGE
* pMessage
) = 0;
6650 virtual HRESULT CALLBACK
GetDestCtx(
6651 DWORD
* pdwDestContext
,
6652 void** ppvDestContext
) = 0;
6654 virtual HRESULT CALLBACK
IsConnected(
6657 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6659 typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl
;
6660 struct IRpcChannelBuffer
{
6661 const IRpcChannelBufferVtbl
* lpVtbl
;
6663 struct IRpcChannelBufferVtbl
{
6664 ICOM_MSVTABLE_COMPAT_FIELDS
6666 /*** IUnknown methods ***/
6667 HRESULT (CALLBACK
*QueryInterface
)(
6668 IRpcChannelBuffer
* This
,
6672 ULONG (CALLBACK
*AddRef
)(
6673 IRpcChannelBuffer
* This
);
6675 ULONG (CALLBACK
*Release
)(
6676 IRpcChannelBuffer
* This
);
6678 /*** IRpcChannelBuffer methods ***/
6679 HRESULT (CALLBACK
*GetBuffer
)(
6680 IRpcChannelBuffer
* This
,
6681 RPCOLEMESSAGE
* pMessage
,
6684 HRESULT (CALLBACK
*SendReceive
)(
6685 IRpcChannelBuffer
* This
,
6686 RPCOLEMESSAGE
* pMessage
,
6689 HRESULT (CALLBACK
*FreeBuffer
)(
6690 IRpcChannelBuffer
* This
,
6691 RPCOLEMESSAGE
* pMessage
);
6693 HRESULT (CALLBACK
*GetDestCtx
)(
6694 IRpcChannelBuffer
* This
,
6695 DWORD
* pdwDestContext
,
6696 void** ppvDestContext
);
6698 HRESULT (CALLBACK
*IsConnected
)(
6699 IRpcChannelBuffer
* This
);
6703 #define IRpcChannelBuffer_IMETHODS \
6705 ICOM_METHOD2 (HRESULT,GetBuffer,RPCOLEMESSAGE*,pMessage,REFIID,riid) \
6706 ICOM_METHOD2 (HRESULT,SendReceive,RPCOLEMESSAGE*,pMessage,ULONG*,pStatus) \
6707 ICOM_METHOD1 (HRESULT,FreeBuffer,RPCOLEMESSAGE*,pMessage) \
6708 ICOM_METHOD2 (HRESULT,GetDestCtx,DWORD*,pdwDestContext,void**,ppvDestContext) \
6709 ICOM_METHOD (HRESULT,IsConnected)
6711 /*** IUnknown methods ***/
6712 #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6713 #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
6714 #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p)
6715 /*** IRpcChannelBuffer methods ***/
6716 #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6717 #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6718 #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6719 #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6720 #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6724 HRESULT CALLBACK
IRpcChannelBuffer_GetBuffer_Proxy(
6725 IRpcChannelBuffer
* This
,
6726 RPCOLEMESSAGE
* pMessage
,
6728 void __RPC_STUB
IRpcChannelBuffer_GetBuffer_Stub(
6729 struct IRpcStubBuffer
* This
,
6730 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6731 PRPC_MESSAGE pRpcMessage
,
6732 DWORD
* pdwStubPhase
);
6733 HRESULT CALLBACK
IRpcChannelBuffer_SendReceive_Proxy(
6734 IRpcChannelBuffer
* This
,
6735 RPCOLEMESSAGE
* pMessage
,
6737 void __RPC_STUB
IRpcChannelBuffer_SendReceive_Stub(
6738 struct IRpcStubBuffer
* This
,
6739 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6740 PRPC_MESSAGE pRpcMessage
,
6741 DWORD
* pdwStubPhase
);
6742 HRESULT CALLBACK
IRpcChannelBuffer_FreeBuffer_Proxy(
6743 IRpcChannelBuffer
* This
,
6744 RPCOLEMESSAGE
* pMessage
);
6745 void __RPC_STUB
IRpcChannelBuffer_FreeBuffer_Stub(
6746 struct IRpcStubBuffer
* This
,
6747 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6748 PRPC_MESSAGE pRpcMessage
,
6749 DWORD
* pdwStubPhase
);
6750 HRESULT CALLBACK
IRpcChannelBuffer_GetDestCtx_Proxy(
6751 IRpcChannelBuffer
* This
,
6752 DWORD
* pdwDestContext
,
6753 void** ppvDestContext
);
6754 void __RPC_STUB
IRpcChannelBuffer_GetDestCtx_Stub(
6755 struct IRpcStubBuffer
* This
,
6756 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6757 PRPC_MESSAGE pRpcMessage
,
6758 DWORD
* pdwStubPhase
);
6759 HRESULT CALLBACK
IRpcChannelBuffer_IsConnected_Proxy(
6760 IRpcChannelBuffer
* This
);
6761 void __RPC_STUB
IRpcChannelBuffer_IsConnected_Stub(
6762 struct IRpcStubBuffer
* This
,
6763 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6764 PRPC_MESSAGE pRpcMessage
,
6765 DWORD
* pdwStubPhase
);
6767 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2
;
6768 typedef IRpcChannelBuffer2
*LPRPCCHANNELBUFFER2
;
6770 /*****************************************************************************
6771 * IRpcChannelBuffer2 interface
6773 DEFINE_GUID(IID_IRpcChannelBuffer2
, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
6774 #if defined(__cplusplus) && !defined(CINTERFACE)
6775 struct IRpcChannelBuffer2
: IRpcChannelBuffer
{
6777 virtual HRESULT CALLBACK
GetProtocolVersion(
6778 DWORD
* pdwVersion
) = 0;
6780 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6782 typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl
;
6783 struct IRpcChannelBuffer2
{
6784 const IRpcChannelBuffer2Vtbl
* lpVtbl
;
6786 struct IRpcChannelBuffer2Vtbl
{
6787 ICOM_MSVTABLE_COMPAT_FIELDS
6789 /*** IUnknown methods ***/
6790 HRESULT (CALLBACK
*QueryInterface
)(
6791 IRpcChannelBuffer2
* This
,
6795 ULONG (CALLBACK
*AddRef
)(
6796 IRpcChannelBuffer2
* This
);
6798 ULONG (CALLBACK
*Release
)(
6799 IRpcChannelBuffer2
* This
);
6801 /*** IRpcChannelBuffer methods ***/
6802 HRESULT (CALLBACK
*GetBuffer
)(
6803 IRpcChannelBuffer2
* This
,
6804 RPCOLEMESSAGE
* pMessage
,
6807 HRESULT (CALLBACK
*SendReceive
)(
6808 IRpcChannelBuffer2
* This
,
6809 RPCOLEMESSAGE
* pMessage
,
6812 HRESULT (CALLBACK
*FreeBuffer
)(
6813 IRpcChannelBuffer2
* This
,
6814 RPCOLEMESSAGE
* pMessage
);
6816 HRESULT (CALLBACK
*GetDestCtx
)(
6817 IRpcChannelBuffer2
* This
,
6818 DWORD
* pdwDestContext
,
6819 void** ppvDestContext
);
6821 HRESULT (CALLBACK
*IsConnected
)(
6822 IRpcChannelBuffer2
* This
);
6824 /*** IRpcChannelBuffer2 methods ***/
6825 HRESULT (CALLBACK
*GetProtocolVersion
)(
6826 IRpcChannelBuffer2
* This
,
6831 #define IRpcChannelBuffer2_IMETHODS \
6832 IRpcChannelBuffer_IMETHODS \
6833 ICOM_METHOD1 (HRESULT,GetProtocolVersion,DWORD*,pdwVersion)
6835 /*** IUnknown methods ***/
6836 #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
6837 #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p)
6838 #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p)
6839 /*** IRpcChannelBuffer methods ***/
6840 #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
6841 #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
6842 #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
6843 #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
6844 #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p)
6845 /*** IRpcChannelBuffer2 methods ***/
6846 #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
6850 HRESULT CALLBACK
IRpcChannelBuffer2_GetProtocolVersion_Proxy(
6851 IRpcChannelBuffer2
* This
,
6853 void __RPC_STUB
IRpcChannelBuffer2_GetProtocolVersion_Stub(
6854 struct IRpcStubBuffer
* This
,
6855 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
6856 PRPC_MESSAGE pRpcMessage
,
6857 DWORD
* pdwStubPhase
);
6859 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3
;
6860 typedef IRpcChannelBuffer3
*LPRPCCHANNELBUFFER3
;
6862 /*****************************************************************************
6863 * IRpcChannelBuffer3 interface
6865 DEFINE_GUID(IID_IRpcChannelBuffer3
, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
6866 #if defined(__cplusplus) && !defined(CINTERFACE)
6867 struct IRpcChannelBuffer3
: IRpcChannelBuffer2
{
6869 virtual HRESULT CALLBACK
Send(
6870 RPCOLEMESSAGE
* pMsg
,
6871 ULONG
* pulStatus
) = 0;
6873 virtual HRESULT CALLBACK
Receive(
6874 RPCOLEMESSAGE
* pMsg
,
6876 ULONG
* pulStatus
) = 0;
6878 virtual HRESULT CALLBACK
Cancel(
6879 RPCOLEMESSAGE
* pMsg
) = 0;
6881 virtual HRESULT CALLBACK
GetCallContext(
6882 RPCOLEMESSAGE
* pMsg
,
6884 void** pInterface
) = 0;
6886 virtual HRESULT CALLBACK
GetDestCtxEx(
6887 RPCOLEMESSAGE
* pMsg
,
6888 DWORD
* pdwDestContext
,
6889 void** ppvDestContext
) = 0;
6891 virtual HRESULT CALLBACK
GetState(
6892 RPCOLEMESSAGE
* pMsg
,
6895 virtual HRESULT CALLBACK
RegisterAsync(
6896 RPCOLEMESSAGE
* pMsg
,
6897 IAsyncManager
* pAsyncMgr
) = 0;
6899 } ICOM_COM_INTERFACE_ATTRIBUTE
;
6901 typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl
;
6902 struct IRpcChannelBuffer3
{
6903 const IRpcChannelBuffer3Vtbl
* lpVtbl
;
6905 struct IRpcChannelBuffer3Vtbl
{
6906 ICOM_MSVTABLE_COMPAT_FIELDS
6908 /*** IUnknown methods ***/
6909 HRESULT (CALLBACK
*QueryInterface
)(
6910 IRpcChannelBuffer3
* This
,
6914 ULONG (CALLBACK
*AddRef
)(
6915 IRpcChannelBuffer3
* This
);
6917 ULONG (CALLBACK
*Release
)(
6918 IRpcChannelBuffer3
* This
);
6920 /*** IRpcChannelBuffer methods ***/
6921 HRESULT (CALLBACK
*GetBuffer
)(
6922 IRpcChannelBuffer3
* This
,
6923 RPCOLEMESSAGE
* pMessage
,
6926 HRESULT (CALLBACK
*SendReceive
)(
6927 IRpcChannelBuffer3
* This
,
6928 RPCOLEMESSAGE
* pMessage
,
6931 HRESULT (CALLBACK
*FreeBuffer
)(
6932 IRpcChannelBuffer3
* This
,
6933 RPCOLEMESSAGE
* pMessage
);
6935 HRESULT (CALLBACK
*GetDestCtx
)(
6936 IRpcChannelBuffer3
* This
,
6937 DWORD
* pdwDestContext
,
6938 void** ppvDestContext
);
6940 HRESULT (CALLBACK
*IsConnected
)(
6941 IRpcChannelBuffer3
* This
);
6943 /*** IRpcChannelBuffer2 methods ***/
6944 HRESULT (CALLBACK
*GetProtocolVersion
)(
6945 IRpcChannelBuffer3
* This
,
6948 /*** IRpcChannelBuffer3 methods ***/
6949 HRESULT (CALLBACK
*Send
)(
6950 IRpcChannelBuffer3
* This
,
6951 RPCOLEMESSAGE
* pMsg
,
6954 HRESULT (CALLBACK
*Receive
)(
6955 IRpcChannelBuffer3
* This
,
6956 RPCOLEMESSAGE
* pMsg
,
6960 HRESULT (CALLBACK
*Cancel
)(
6961 IRpcChannelBuffer3
* This
,
6962 RPCOLEMESSAGE
* pMsg
);
6964 HRESULT (CALLBACK
*GetCallContext
)(
6965 IRpcChannelBuffer3
* This
,
6966 RPCOLEMESSAGE
* pMsg
,
6970 HRESULT (CALLBACK
*GetDestCtxEx
)(
6971 IRpcChannelBuffer3
* This
,
6972 RPCOLEMESSAGE
* pMsg
,
6973 DWORD
* pdwDestContext
,
6974 void** ppvDestContext
);
6976 HRESULT (CALLBACK
*GetState
)(
6977 IRpcChannelBuffer3
* This
,
6978 RPCOLEMESSAGE
* pMsg
,
6981 HRESULT (CALLBACK
*RegisterAsync
)(
6982 IRpcChannelBuffer3
* This
,
6983 RPCOLEMESSAGE
* pMsg
,
6984 IAsyncManager
* pAsyncMgr
);
6988 #define IRpcChannelBuffer3_IMETHODS \
6989 IRpcChannelBuffer2_IMETHODS \
6990 ICOM_METHOD2 (HRESULT,Send,RPCOLEMESSAGE*,pMsg,ULONG*,pulStatus) \
6991 ICOM_METHOD3 (HRESULT,Receive,RPCOLEMESSAGE*,pMsg,ULONG,ulSize,ULONG*,pulStatus) \
6992 ICOM_METHOD1 (HRESULT,Cancel,RPCOLEMESSAGE*,pMsg) \
6993 ICOM_METHOD3 (HRESULT,GetCallContext,RPCOLEMESSAGE*,pMsg,REFIID,riid,void**,pInterface) \
6994 ICOM_METHOD3 (HRESULT,GetDestCtxEx,RPCOLEMESSAGE*,pMsg,DWORD*,pdwDestContext,void**,ppvDestContext) \
6995 ICOM_METHOD2 (HRESULT,GetState,RPCOLEMESSAGE*,pMsg,DWORD*,pState) \
6996 ICOM_METHOD2 (HRESULT,RegisterAsync,RPCOLEMESSAGE*,pMsg,IAsyncManager*,pAsyncMgr)
6998 /*** IUnknown methods ***/
6999 #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7000 #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p)
7001 #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p)
7002 /*** IRpcChannelBuffer methods ***/
7003 #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b)
7004 #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b)
7005 #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a)
7006 #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b)
7007 #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p)
7008 /*** IRpcChannelBuffer2 methods ***/
7009 #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a)
7010 /*** IRpcChannelBuffer3 methods ***/
7011 #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b)
7012 #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c)
7013 #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a)
7014 #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c)
7015 #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c)
7016 #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b)
7017 #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b)
7021 HRESULT CALLBACK
IRpcChannelBuffer3_Send_Proxy(
7022 IRpcChannelBuffer3
* This
,
7023 RPCOLEMESSAGE
* pMsg
,
7025 void __RPC_STUB
IRpcChannelBuffer3_Send_Stub(
7026 struct IRpcStubBuffer
* This
,
7027 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7028 PRPC_MESSAGE pRpcMessage
,
7029 DWORD
* pdwStubPhase
);
7030 HRESULT CALLBACK
IRpcChannelBuffer3_Receive_Proxy(
7031 IRpcChannelBuffer3
* This
,
7032 RPCOLEMESSAGE
* pMsg
,
7035 void __RPC_STUB
IRpcChannelBuffer3_Receive_Stub(
7036 struct IRpcStubBuffer
* This
,
7037 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7038 PRPC_MESSAGE pRpcMessage
,
7039 DWORD
* pdwStubPhase
);
7040 HRESULT CALLBACK
IRpcChannelBuffer3_Cancel_Proxy(
7041 IRpcChannelBuffer3
* This
,
7042 RPCOLEMESSAGE
* pMsg
);
7043 void __RPC_STUB
IRpcChannelBuffer3_Cancel_Stub(
7044 struct IRpcStubBuffer
* This
,
7045 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7046 PRPC_MESSAGE pRpcMessage
,
7047 DWORD
* pdwStubPhase
);
7048 HRESULT CALLBACK
IRpcChannelBuffer3_GetCallContext_Proxy(
7049 IRpcChannelBuffer3
* This
,
7050 RPCOLEMESSAGE
* pMsg
,
7053 void __RPC_STUB
IRpcChannelBuffer3_GetCallContext_Stub(
7054 struct IRpcStubBuffer
* This
,
7055 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7056 PRPC_MESSAGE pRpcMessage
,
7057 DWORD
* pdwStubPhase
);
7058 HRESULT CALLBACK
IRpcChannelBuffer3_GetDestCtxEx_Proxy(
7059 IRpcChannelBuffer3
* This
,
7060 RPCOLEMESSAGE
* pMsg
,
7061 DWORD
* pdwDestContext
,
7062 void** ppvDestContext
);
7063 void __RPC_STUB
IRpcChannelBuffer3_GetDestCtxEx_Stub(
7064 struct IRpcStubBuffer
* This
,
7065 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7066 PRPC_MESSAGE pRpcMessage
,
7067 DWORD
* pdwStubPhase
);
7068 HRESULT CALLBACK
IRpcChannelBuffer3_GetState_Proxy(
7069 IRpcChannelBuffer3
* This
,
7070 RPCOLEMESSAGE
* pMsg
,
7072 void __RPC_STUB
IRpcChannelBuffer3_GetState_Stub(
7073 struct IRpcStubBuffer
* This
,
7074 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7075 PRPC_MESSAGE pRpcMessage
,
7076 DWORD
* pdwStubPhase
);
7077 HRESULT CALLBACK
IRpcChannelBuffer3_RegisterAsync_Proxy(
7078 IRpcChannelBuffer3
* This
,
7079 RPCOLEMESSAGE
* pMsg
,
7080 IAsyncManager
* pAsyncMgr
);
7081 void __RPC_STUB
IRpcChannelBuffer3_RegisterAsync_Stub(
7082 struct IRpcStubBuffer
* This
,
7083 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7084 PRPC_MESSAGE pRpcMessage
,
7085 DWORD
* pdwStubPhase
);
7087 typedef struct IRpcProxyBuffer IRpcProxyBuffer
;
7088 typedef IRpcProxyBuffer
*LPRPCPROXYBUFFER
;
7090 /*****************************************************************************
7091 * IRpcProxyBuffer interface
7093 DEFINE_GUID(IID_IRpcProxyBuffer
, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7094 #if defined(__cplusplus) && !defined(CINTERFACE)
7095 struct IRpcProxyBuffer
: IUnknown
{
7097 virtual HRESULT CALLBACK
Connect(
7098 IRpcChannelBuffer
* pRpcChannelBuffer
) = 0;
7100 virtual void CALLBACK
Disconnect(
7103 } ICOM_COM_INTERFACE_ATTRIBUTE
;
7105 typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl
;
7106 struct IRpcProxyBuffer
{
7107 const IRpcProxyBufferVtbl
* lpVtbl
;
7109 struct IRpcProxyBufferVtbl
{
7110 ICOM_MSVTABLE_COMPAT_FIELDS
7112 /*** IUnknown methods ***/
7113 HRESULT (CALLBACK
*QueryInterface
)(
7114 IRpcProxyBuffer
* This
,
7118 ULONG (CALLBACK
*AddRef
)(
7119 IRpcProxyBuffer
* This
);
7121 ULONG (CALLBACK
*Release
)(
7122 IRpcProxyBuffer
* This
);
7124 /*** IRpcProxyBuffer methods ***/
7125 HRESULT (CALLBACK
*Connect
)(
7126 IRpcProxyBuffer
* This
,
7127 IRpcChannelBuffer
* pRpcChannelBuffer
);
7129 void (CALLBACK
*Disconnect
)(
7130 IRpcProxyBuffer
* This
);
7134 #define IRpcProxyBuffer_IMETHODS \
7136 ICOM_METHOD1 (HRESULT,Connect,IRpcChannelBuffer*,pRpcChannelBuffer) \
7137 ICOM_VMETHOD (Disconnect)
7139 /*** IUnknown methods ***/
7140 #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7141 #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7142 #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p)
7143 /*** IRpcProxyBuffer methods ***/
7144 #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7145 #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7149 HRESULT CALLBACK
IRpcProxyBuffer_Connect_Proxy(
7150 IRpcProxyBuffer
* This
,
7151 IRpcChannelBuffer
* pRpcChannelBuffer
);
7152 void __RPC_STUB
IRpcProxyBuffer_Connect_Stub(
7153 struct IRpcStubBuffer
* This
,
7154 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7155 PRPC_MESSAGE pRpcMessage
,
7156 DWORD
* pdwStubPhase
);
7157 void CALLBACK
IRpcProxyBuffer_Disconnect_Proxy(
7158 IRpcProxyBuffer
* This
);
7159 void __RPC_STUB
IRpcProxyBuffer_Disconnect_Stub(
7160 struct IRpcStubBuffer
* This
,
7161 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7162 PRPC_MESSAGE pRpcMessage
,
7163 DWORD
* pdwStubPhase
);
7165 typedef struct IRpcStubBuffer IRpcStubBuffer
;
7166 typedef IRpcStubBuffer
*LPRPCSTUBBUFFER
;
7168 /*****************************************************************************
7169 * IRpcStubBuffer interface
7171 DEFINE_GUID(IID_IRpcStubBuffer
, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7172 #if defined(__cplusplus) && !defined(CINTERFACE)
7173 struct IRpcStubBuffer
: IUnknown
{
7175 virtual HRESULT CALLBACK
Connect(
7176 IUnknown
* pUnkServer
) = 0;
7178 virtual void CALLBACK
Disconnect(
7181 virtual HRESULT CALLBACK
Invoke(
7182 RPCOLEMESSAGE
* _prpcmsg
,
7183 IRpcChannelBuffer
* _pRpcChannelBuffer
) = 0;
7185 virtual IRpcStubBuffer
* CALLBACK
IsIIDSupported(
7188 virtual ULONG CALLBACK
CountRefs(
7191 virtual HRESULT CALLBACK
DebugServerQueryInterface(
7194 virtual void CALLBACK
DebugServerRelease(
7197 } ICOM_COM_INTERFACE_ATTRIBUTE
;
7199 typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl
;
7200 struct IRpcStubBuffer
{
7201 const IRpcStubBufferVtbl
* lpVtbl
;
7203 struct IRpcStubBufferVtbl
{
7204 ICOM_MSVTABLE_COMPAT_FIELDS
7206 /*** IUnknown methods ***/
7207 HRESULT (CALLBACK
*QueryInterface
)(
7208 IRpcStubBuffer
* This
,
7212 ULONG (CALLBACK
*AddRef
)(
7213 IRpcStubBuffer
* This
);
7215 ULONG (CALLBACK
*Release
)(
7216 IRpcStubBuffer
* This
);
7218 /*** IRpcStubBuffer methods ***/
7219 HRESULT (CALLBACK
*Connect
)(
7220 IRpcStubBuffer
* This
,
7221 IUnknown
* pUnkServer
);
7223 void (CALLBACK
*Disconnect
)(
7224 IRpcStubBuffer
* This
);
7226 HRESULT (CALLBACK
*Invoke
)(
7227 IRpcStubBuffer
* This
,
7228 RPCOLEMESSAGE
* _prpcmsg
,
7229 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7231 IRpcStubBuffer
* (CALLBACK
*IsIIDSupported
)(
7232 IRpcStubBuffer
* This
,
7235 ULONG (CALLBACK
*CountRefs
)(
7236 IRpcStubBuffer
* This
);
7238 HRESULT (CALLBACK
*DebugServerQueryInterface
)(
7239 IRpcStubBuffer
* This
,
7242 void (CALLBACK
*DebugServerRelease
)(
7243 IRpcStubBuffer
* This
,
7248 #define IRpcStubBuffer_IMETHODS \
7250 ICOM_METHOD1 (HRESULT,Connect,IUnknown*,pUnkServer) \
7251 ICOM_VMETHOD (Disconnect) \
7252 ICOM_METHOD2 (HRESULT,Invoke,RPCOLEMESSAGE*,_prpcmsg,IRpcChannelBuffer*,_pRpcChannelBuffer) \
7253 ICOM_METHOD1 (IRpcStubBuffer*,IsIIDSupported,REFIID,riid) \
7254 ICOM_METHOD (ULONG,CountRefs) \
7255 ICOM_METHOD1 (HRESULT,DebugServerQueryInterface,void**,ppv) \
7256 ICOM_VMETHOD1(DebugServerRelease,void*,pv)
7258 /*** IUnknown methods ***/
7259 #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7260 #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7261 #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p)
7262 /*** IRpcStubBuffer methods ***/
7263 #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a)
7264 #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p)
7265 #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b)
7266 #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a)
7267 #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p)
7268 #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a)
7269 #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a)
7273 HRESULT CALLBACK
IRpcStubBuffer_Connect_Proxy(
7274 IRpcStubBuffer
* This
,
7275 IUnknown
* pUnkServer
);
7276 void __RPC_STUB
IRpcStubBuffer_Connect_Stub(
7277 struct IRpcStubBuffer
* This
,
7278 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7279 PRPC_MESSAGE pRpcMessage
,
7280 DWORD
* pdwStubPhase
);
7281 void CALLBACK
IRpcStubBuffer_Disconnect_Proxy(
7282 IRpcStubBuffer
* This
);
7283 void __RPC_STUB
IRpcStubBuffer_Disconnect_Stub(
7284 struct IRpcStubBuffer
* This
,
7285 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7286 PRPC_MESSAGE pRpcMessage
,
7287 DWORD
* pdwStubPhase
);
7288 HRESULT CALLBACK
IRpcStubBuffer_Invoke_Proxy(
7289 IRpcStubBuffer
* This
,
7290 RPCOLEMESSAGE
* _prpcmsg
,
7291 IRpcChannelBuffer
* _pRpcChannelBuffer
);
7292 void __RPC_STUB
IRpcStubBuffer_Invoke_Stub(
7293 struct IRpcStubBuffer
* This
,
7294 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7295 PRPC_MESSAGE pRpcMessage
,
7296 DWORD
* pdwStubPhase
);
7297 IRpcStubBuffer
* CALLBACK
IRpcStubBuffer_IsIIDSupported_Proxy(
7298 IRpcStubBuffer
* This
,
7300 void __RPC_STUB
IRpcStubBuffer_IsIIDSupported_Stub(
7301 struct IRpcStubBuffer
* This
,
7302 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7303 PRPC_MESSAGE pRpcMessage
,
7304 DWORD
* pdwStubPhase
);
7305 ULONG CALLBACK
IRpcStubBuffer_CountRefs_Proxy(
7306 IRpcStubBuffer
* This
);
7307 void __RPC_STUB
IRpcStubBuffer_CountRefs_Stub(
7308 struct IRpcStubBuffer
* This
,
7309 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7310 PRPC_MESSAGE pRpcMessage
,
7311 DWORD
* pdwStubPhase
);
7312 HRESULT CALLBACK
IRpcStubBuffer_DebugServerQueryInterface_Proxy(
7313 IRpcStubBuffer
* This
,
7315 void __RPC_STUB
IRpcStubBuffer_DebugServerQueryInterface_Stub(
7316 struct IRpcStubBuffer
* This
,
7317 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7318 PRPC_MESSAGE pRpcMessage
,
7319 DWORD
* pdwStubPhase
);
7320 void CALLBACK
IRpcStubBuffer_DebugServerRelease_Proxy(
7321 IRpcStubBuffer
* This
,
7323 void __RPC_STUB
IRpcStubBuffer_DebugServerRelease_Stub(
7324 struct IRpcStubBuffer
* This
,
7325 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7326 PRPC_MESSAGE pRpcMessage
,
7327 DWORD
* pdwStubPhase
);
7329 typedef struct IPSFactoryBuffer IPSFactoryBuffer
;
7330 typedef IPSFactoryBuffer
*LPPSFACTORYBUFFER
;
7332 /*****************************************************************************
7333 * IPSFactoryBuffer interface
7335 DEFINE_GUID(IID_IPSFactoryBuffer
, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
7336 #if defined(__cplusplus) && !defined(CINTERFACE)
7337 struct IPSFactoryBuffer
: IUnknown
{
7339 virtual HRESULT CALLBACK
CreateProxy(
7340 IUnknown
* pUnkOuter
,
7342 IRpcProxyBuffer
** ppProxy
,
7345 virtual HRESULT CALLBACK
CreateStub(
7347 IUnknown
* pUnkServer
,
7348 IRpcStubBuffer
** ppStub
) = 0;
7350 } ICOM_COM_INTERFACE_ATTRIBUTE
;
7352 typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl
;
7353 struct IPSFactoryBuffer
{
7354 const IPSFactoryBufferVtbl
* lpVtbl
;
7356 struct IPSFactoryBufferVtbl
{
7357 ICOM_MSVTABLE_COMPAT_FIELDS
7359 /*** IUnknown methods ***/
7360 HRESULT (CALLBACK
*QueryInterface
)(
7361 IPSFactoryBuffer
* This
,
7365 ULONG (CALLBACK
*AddRef
)(
7366 IPSFactoryBuffer
* This
);
7368 ULONG (CALLBACK
*Release
)(
7369 IPSFactoryBuffer
* This
);
7371 /*** IPSFactoryBuffer methods ***/
7372 HRESULT (CALLBACK
*CreateProxy
)(
7373 IPSFactoryBuffer
* This
,
7374 IUnknown
* pUnkOuter
,
7376 IRpcProxyBuffer
** ppProxy
,
7379 HRESULT (CALLBACK
*CreateStub
)(
7380 IPSFactoryBuffer
* This
,
7382 IUnknown
* pUnkServer
,
7383 IRpcStubBuffer
** ppStub
);
7387 #define IPSFactoryBuffer_IMETHODS \
7389 ICOM_METHOD4 (HRESULT,CreateProxy,IUnknown*,pUnkOuter,REFIID,riid,IRpcProxyBuffer**,ppProxy,void**,ppv) \
7390 ICOM_METHOD3 (HRESULT,CreateStub,REFIID,riid,IUnknown*,pUnkServer,IRpcStubBuffer**,ppStub)
7392 /*** IUnknown methods ***/
7393 #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7394 #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
7395 #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p)
7396 /*** IPSFactoryBuffer methods ***/
7397 #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d)
7398 #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c)
7402 HRESULT CALLBACK
IPSFactoryBuffer_CreateProxy_Proxy(
7403 IPSFactoryBuffer
* This
,
7404 IUnknown
* pUnkOuter
,
7406 IRpcProxyBuffer
** ppProxy
,
7408 void __RPC_STUB
IPSFactoryBuffer_CreateProxy_Stub(
7409 struct IRpcStubBuffer
* This
,
7410 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7411 PRPC_MESSAGE pRpcMessage
,
7412 DWORD
* pdwStubPhase
);
7413 HRESULT CALLBACK
IPSFactoryBuffer_CreateStub_Proxy(
7414 IPSFactoryBuffer
* This
,
7416 IUnknown
* pUnkServer
,
7417 IRpcStubBuffer
** ppStub
);
7418 void __RPC_STUB
IPSFactoryBuffer_CreateStub_Stub(
7419 struct IRpcStubBuffer
* This
,
7420 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7421 PRPC_MESSAGE pRpcMessage
,
7422 DWORD
* pdwStubPhase
);
7424 typedef struct IChannelHook IChannelHook
;
7425 typedef IChannelHook
*LPCHANNELHOOK
;
7427 typedef struct SChannelHookCallInfo
{
7434 } SChannelHookCallInfo
;
7436 /*****************************************************************************
7437 * IChannelHook interface
7439 DEFINE_GUID(IID_IChannelHook
, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
7440 #if defined(__cplusplus) && !defined(CINTERFACE)
7441 struct IChannelHook
: IUnknown
{
7443 virtual void CALLBACK
ClientGetSize(
7446 ULONG
* pDataSize
) = 0;
7448 virtual void CALLBACK
ClientFillBuffer(
7452 void* pDataBuffer
) = 0;
7454 virtual void CALLBACK
ClientNotify(
7460 HRESULT hrFault
) = 0;
7462 virtual void CALLBACK
ServerNotify(
7467 DWORD lDataRep
) = 0;
7469 virtual void CALLBACK
ServerGetSize(
7473 ULONG
* pDataSize
) = 0;
7475 virtual void CALLBACK
ServerFillBuffer(
7480 HRESULT hrFault
) = 0;
7482 } ICOM_COM_INTERFACE_ATTRIBUTE
;
7484 typedef struct IChannelHookVtbl IChannelHookVtbl
;
7485 struct IChannelHook
{
7486 const IChannelHookVtbl
* lpVtbl
;
7488 struct IChannelHookVtbl
{
7489 ICOM_MSVTABLE_COMPAT_FIELDS
7491 /*** IUnknown methods ***/
7492 HRESULT (CALLBACK
*QueryInterface
)(
7497 ULONG (CALLBACK
*AddRef
)(
7498 IChannelHook
* This
);
7500 ULONG (CALLBACK
*Release
)(
7501 IChannelHook
* This
);
7503 /*** IChannelHook methods ***/
7504 void (CALLBACK
*ClientGetSize
)(
7510 void (CALLBACK
*ClientFillBuffer
)(
7517 void (CALLBACK
*ClientNotify
)(
7526 void (CALLBACK
*ServerNotify
)(
7534 void (CALLBACK
*ServerGetSize
)(
7541 void (CALLBACK
*ServerFillBuffer
)(
7551 #define IChannelHook_IMETHODS \
7553 ICOM_VMETHOD3(ClientGetSize,REFGUID,uExtent,REFIID,riid,ULONG*,pDataSize) \
7554 ICOM_VMETHOD4(ClientFillBuffer,REFGUID,uExtent,REFIID,riid,ULONG*,pDataSize,void*,pDataBuffer) \
7555 ICOM_VMETHOD6(ClientNotify,REFGUID,uExtent,REFIID,riid,ULONG,cbDataSize,void*,pDataBuffer,DWORD,lDataRep,HRESULT,hrFault) \
7556 ICOM_VMETHOD5(ServerNotify,REFGUID,uExtent,REFIID,riid,ULONG,cbDataSize,void*,pDataBuffer,DWORD,lDataRep) \
7557 ICOM_VMETHOD4(ServerGetSize,REFGUID,uExtent,REFIID,riid,HRESULT,hrFault,ULONG*,pDataSize) \
7558 ICOM_VMETHOD5(ServerFillBuffer,REFGUID,uExtent,REFIID,riid,ULONG*,pDataSize,void*,pDataBuffer,HRESULT,hrFault)
7560 /*** IUnknown methods ***/
7561 #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
7562 #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p)
7563 #define IChannelHook_Release(p) (p)->lpVtbl->Release(p)
7564 /*** IChannelHook methods ***/
7565 #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c)
7566 #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d)
7567 #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f)
7568 #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e)
7569 #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d)
7570 #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e)
7574 void CALLBACK
IChannelHook_ClientGetSize_Proxy(
7579 void __RPC_STUB
IChannelHook_ClientGetSize_Stub(
7580 struct IRpcStubBuffer
* This
,
7581 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7582 PRPC_MESSAGE pRpcMessage
,
7583 DWORD
* pdwStubPhase
);
7584 void CALLBACK
IChannelHook_ClientFillBuffer_Proxy(
7590 void __RPC_STUB
IChannelHook_ClientFillBuffer_Stub(
7591 struct IRpcStubBuffer
* This
,
7592 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7593 PRPC_MESSAGE pRpcMessage
,
7594 DWORD
* pdwStubPhase
);
7595 void CALLBACK
IChannelHook_ClientNotify_Proxy(
7603 void __RPC_STUB
IChannelHook_ClientNotify_Stub(
7604 struct IRpcStubBuffer
* This
,
7605 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7606 PRPC_MESSAGE pRpcMessage
,
7607 DWORD
* pdwStubPhase
);
7608 void CALLBACK
IChannelHook_ServerNotify_Proxy(
7615 void __RPC_STUB
IChannelHook_ServerNotify_Stub(
7616 struct IRpcStubBuffer
* This
,
7617 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7618 PRPC_MESSAGE pRpcMessage
,
7619 DWORD
* pdwStubPhase
);
7620 void CALLBACK
IChannelHook_ServerGetSize_Proxy(
7626 void __RPC_STUB
IChannelHook_ServerGetSize_Stub(
7627 struct IRpcStubBuffer
* This
,
7628 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7629 PRPC_MESSAGE pRpcMessage
,
7630 DWORD
* pdwStubPhase
);
7631 void CALLBACK
IChannelHook_ServerFillBuffer_Proxy(
7638 void __RPC_STUB
IChannelHook_ServerFillBuffer_Stub(
7639 struct IRpcStubBuffer
* This
,
7640 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
7641 PRPC_MESSAGE pRpcMessage
,
7642 DWORD
* pdwStubPhase
);
7644 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG
;
7645 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG
;
7646 typedef struct IPropertyStorage IPropertyStorage
;
7647 typedef IPropertyStorage
*LPPROPERTYSTORAGE
;
7649 extern const FMTID FMTID_SummaryInformation
;
7651 extern const FMTID FMTID_DocSummaryInformation
;
7653 extern const FMTID FMTID_UserDefinedProperties
;
7655 #define PROPSETFLAG_DEFAULT (0)
7657 #define PROPSETFLAG_NONSIMPLE (1)
7659 #define PROPSETFLAG_ANSI (2)
7661 #define PROPSETFLAG_UNBUFFERED (4)
7663 typedef struct tagPROPVARIANT PROPVARIANT
;
7665 typedef struct tagCAUB
{
7667 unsigned char *pElems
;
7670 typedef struct tagCAI
{
7675 typedef struct tagCAUI
{
7680 typedef struct tagCAL
{
7685 typedef struct tagCAUL
{
7690 typedef struct tagCAFLT
{
7695 typedef struct tagCADBL
{
7700 typedef struct tagCACY
{
7705 typedef struct tagCADATE
{
7710 typedef struct tagCABSTR
{
7715 typedef struct tagCABSTRBLOB
{
7720 typedef struct tagCABOOL
{
7722 VARIANT_BOOL
*pElems
;
7725 typedef struct tagCASCODE
{
7730 typedef struct tagCAPROPVARIANT
{
7732 PROPVARIANT
*pElems
;
7735 typedef struct tagCAH
{
7737 LARGE_INTEGER
*pElems
;
7740 typedef struct tagCAUH
{
7742 ULARGE_INTEGER
*pElems
;
7745 typedef struct tagCALPSTR
{
7750 typedef struct tagCALPWSTR
{
7755 typedef struct tagCAFILETIME
{
7760 typedef struct tagCACLIPDATA
{
7765 typedef struct tagCACLSID
{
7770 struct tagPROPVARIANT
{
7779 VARIANT_BOOL boolVal
;
7785 ULARGE_INTEGER uhVal
;
7792 CLIPDATA
*pclipdata
;
7796 BSTRBLOB bstrblobVal
;
7812 CAFILETIME cafiletime
;
7814 CACLIPDATA caclipdata
;
7816 CABSTRBLOB cabstrblob
;
7819 CAPROPVARIANT capropvar
;
7823 typedef struct tagPROPVARIANT
*LPPROPVARIANT
;
7825 #define PRSPEC_INVALID (0x7fffffff)
7827 #define PRSPEC_LPWSTR (0)
7829 #define PRSPEC_PROPID (1)
7831 typedef struct tagPROPSPEC
{
7839 typedef struct tagSTATPROPSTG
{
7840 LPOLESTR lpwstrName
;
7845 typedef struct tagSTATPROPSETSTG
{
7855 /*****************************************************************************
7856 * IPropertyStorage interface
7858 DEFINE_GUID(IID_IPropertyStorage
, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7859 #if defined(__cplusplus) && !defined(CINTERFACE)
7860 struct IPropertyStorage
: IUnknown
{
7862 virtual HRESULT CALLBACK
ReadMultiple(
7864 const PROPSPEC rgpspec
[],
7865 PROPVARIANT rgpropvar
[]) = 0;
7867 virtual HRESULT CALLBACK
WriteMultiple(
7869 const PROPSPEC rgpspec
[],
7870 const PROPVARIANT rgpropvar
[],
7871 PROPID propidNameFirst
) = 0;
7873 virtual HRESULT CALLBACK
DeleteMultiple(
7875 const PROPSPEC rgpspec
[]) = 0;
7877 virtual HRESULT CALLBACK
ReadPropertyNames(
7879 const PROPID rgpropid
[],
7880 LPOLESTR rglpwstrName
[]) = 0;
7882 virtual HRESULT CALLBACK
WritePropertyNames(
7884 const PROPID rgpropid
[],
7885 const LPOLESTR rglpwstrName
[]) = 0;
7887 virtual HRESULT CALLBACK
DeletePropertyNames(
7889 const PROPID rgpropid
[]) = 0;
7891 virtual HRESULT CALLBACK
Commit(
7892 DWORD grfCommitFlags
) = 0;
7894 virtual HRESULT CALLBACK
Revert(
7897 virtual HRESULT CALLBACK
Enum(
7898 IEnumSTATPROPSTG
** ppenum
) = 0;
7900 virtual HRESULT CALLBACK
SetTimes(
7901 const FILETIME
* pctime
,
7902 const FILETIME
* patime
,
7903 const FILETIME
* pmtime
) = 0;
7905 virtual HRESULT CALLBACK
SetClass(
7906 REFCLSID clsid
) = 0;
7908 virtual HRESULT CALLBACK
Stat(
7909 STATPROPSETSTG
* statpsstg
) = 0;
7911 } ICOM_COM_INTERFACE_ATTRIBUTE
;
7913 typedef struct IPropertyStorageVtbl IPropertyStorageVtbl
;
7914 struct IPropertyStorage
{
7915 const IPropertyStorageVtbl
* lpVtbl
;
7917 struct IPropertyStorageVtbl
{
7918 ICOM_MSVTABLE_COMPAT_FIELDS
7920 /*** IUnknown methods ***/
7921 HRESULT (CALLBACK
*QueryInterface
)(
7922 IPropertyStorage
* This
,
7926 ULONG (CALLBACK
*AddRef
)(
7927 IPropertyStorage
* This
);
7929 ULONG (CALLBACK
*Release
)(
7930 IPropertyStorage
* This
);
7932 /*** IPropertyStorage methods ***/
7933 HRESULT (CALLBACK
*ReadMultiple
)(
7934 IPropertyStorage
* This
,
7936 const PROPSPEC rgpspec
[],
7937 PROPVARIANT rgpropvar
[]);
7939 HRESULT (CALLBACK
*WriteMultiple
)(
7940 IPropertyStorage
* This
,
7942 const PROPSPEC rgpspec
[],
7943 const PROPVARIANT rgpropvar
[],
7944 PROPID propidNameFirst
);
7946 HRESULT (CALLBACK
*DeleteMultiple
)(
7947 IPropertyStorage
* This
,
7949 const PROPSPEC rgpspec
[]);
7951 HRESULT (CALLBACK
*ReadPropertyNames
)(
7952 IPropertyStorage
* This
,
7954 const PROPID rgpropid
[],
7955 LPOLESTR rglpwstrName
[]);
7957 HRESULT (CALLBACK
*WritePropertyNames
)(
7958 IPropertyStorage
* This
,
7960 const PROPID rgpropid
[],
7961 const LPOLESTR rglpwstrName
[]);
7963 HRESULT (CALLBACK
*DeletePropertyNames
)(
7964 IPropertyStorage
* This
,
7966 const PROPID rgpropid
[]);
7968 HRESULT (CALLBACK
*Commit
)(
7969 IPropertyStorage
* This
,
7970 DWORD grfCommitFlags
);
7972 HRESULT (CALLBACK
*Revert
)(
7973 IPropertyStorage
* This
);
7975 HRESULT (CALLBACK
*Enum
)(
7976 IPropertyStorage
* This
,
7977 IEnumSTATPROPSTG
** ppenum
);
7979 HRESULT (CALLBACK
*SetTimes
)(
7980 IPropertyStorage
* This
,
7981 const FILETIME
* pctime
,
7982 const FILETIME
* patime
,
7983 const FILETIME
* pmtime
);
7985 HRESULT (CALLBACK
*SetClass
)(
7986 IPropertyStorage
* This
,
7989 HRESULT (CALLBACK
*Stat
)(
7990 IPropertyStorage
* This
,
7991 STATPROPSETSTG
* statpsstg
);
7995 #define IPropertyStorage_IMETHODS \
7997 ICOM_METHOD3 (HRESULT,ReadMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec,PROPVARIANT*,rgpropvar) \
7998 ICOM_METHOD4 (HRESULT,WriteMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec,const PROPVARIANT*,rgpropvar,PROPID,propidNameFirst) \
7999 ICOM_METHOD2 (HRESULT,DeleteMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec) \
8000 ICOM_METHOD3 (HRESULT,ReadPropertyNames,ULONG,cpropid,const PROPID*,rgpropid,LPOLESTR*,rglpwstrName) \
8001 ICOM_METHOD3 (HRESULT,WritePropertyNames,ULONG,cpropid,const PROPID*,rgpropid,const LPOLESTR*,rglpwstrName) \
8002 ICOM_METHOD2 (HRESULT,DeletePropertyNames,ULONG,cpropid,const PROPID*,rgpropid) \
8003 ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
8004 ICOM_METHOD (HRESULT,Revert) \
8005 ICOM_METHOD1 (HRESULT,Enum,IEnumSTATPROPSTG**,ppenum) \
8006 ICOM_METHOD3 (HRESULT,SetTimes,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
8007 ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
8008 ICOM_METHOD1 (HRESULT,Stat,STATPROPSETSTG*,statpsstg)
8010 /*** IUnknown methods ***/
8011 #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8012 #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8013 #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
8014 /*** IPropertyStorage methods ***/
8015 #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
8016 #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
8017 #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
8018 #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
8019 #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
8020 #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
8021 #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
8022 #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
8023 #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8024 #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
8025 #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
8026 #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
8030 HRESULT CALLBACK
IPropertyStorage_ReadMultiple_Proxy(
8031 IPropertyStorage
* This
,
8033 const PROPSPEC rgpspec
[],
8034 PROPVARIANT rgpropvar
[]);
8035 void __RPC_STUB
IPropertyStorage_ReadMultiple_Stub(
8036 struct IRpcStubBuffer
* This
,
8037 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8038 PRPC_MESSAGE pRpcMessage
,
8039 DWORD
* pdwStubPhase
);
8040 HRESULT CALLBACK
IPropertyStorage_WriteMultiple_Proxy(
8041 IPropertyStorage
* This
,
8043 const PROPSPEC rgpspec
[],
8044 const PROPVARIANT rgpropvar
[],
8045 PROPID propidNameFirst
);
8046 void __RPC_STUB
IPropertyStorage_WriteMultiple_Stub(
8047 struct IRpcStubBuffer
* This
,
8048 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8049 PRPC_MESSAGE pRpcMessage
,
8050 DWORD
* pdwStubPhase
);
8051 HRESULT CALLBACK
IPropertyStorage_DeleteMultiple_Proxy(
8052 IPropertyStorage
* This
,
8054 const PROPSPEC rgpspec
[]);
8055 void __RPC_STUB
IPropertyStorage_DeleteMultiple_Stub(
8056 struct IRpcStubBuffer
* This
,
8057 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8058 PRPC_MESSAGE pRpcMessage
,
8059 DWORD
* pdwStubPhase
);
8060 HRESULT CALLBACK
IPropertyStorage_ReadPropertyNames_Proxy(
8061 IPropertyStorage
* This
,
8063 const PROPID rgpropid
[],
8064 LPOLESTR rglpwstrName
[]);
8065 void __RPC_STUB
IPropertyStorage_ReadPropertyNames_Stub(
8066 struct IRpcStubBuffer
* This
,
8067 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8068 PRPC_MESSAGE pRpcMessage
,
8069 DWORD
* pdwStubPhase
);
8070 HRESULT CALLBACK
IPropertyStorage_WritePropertyNames_Proxy(
8071 IPropertyStorage
* This
,
8073 const PROPID rgpropid
[],
8074 const LPOLESTR rglpwstrName
[]);
8075 void __RPC_STUB
IPropertyStorage_WritePropertyNames_Stub(
8076 struct IRpcStubBuffer
* This
,
8077 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8078 PRPC_MESSAGE pRpcMessage
,
8079 DWORD
* pdwStubPhase
);
8080 HRESULT CALLBACK
IPropertyStorage_DeletePropertyNames_Proxy(
8081 IPropertyStorage
* This
,
8083 const PROPID rgpropid
[]);
8084 void __RPC_STUB
IPropertyStorage_DeletePropertyNames_Stub(
8085 struct IRpcStubBuffer
* This
,
8086 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8087 PRPC_MESSAGE pRpcMessage
,
8088 DWORD
* pdwStubPhase
);
8089 HRESULT CALLBACK
IPropertyStorage_Commit_Proxy(
8090 IPropertyStorage
* This
,
8091 DWORD grfCommitFlags
);
8092 void __RPC_STUB
IPropertyStorage_Commit_Stub(
8093 struct IRpcStubBuffer
* This
,
8094 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8095 PRPC_MESSAGE pRpcMessage
,
8096 DWORD
* pdwStubPhase
);
8097 HRESULT CALLBACK
IPropertyStorage_Revert_Proxy(
8098 IPropertyStorage
* This
);
8099 void __RPC_STUB
IPropertyStorage_Revert_Stub(
8100 struct IRpcStubBuffer
* This
,
8101 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8102 PRPC_MESSAGE pRpcMessage
,
8103 DWORD
* pdwStubPhase
);
8104 HRESULT CALLBACK
IPropertyStorage_Enum_Proxy(
8105 IPropertyStorage
* This
,
8106 IEnumSTATPROPSTG
** ppenum
);
8107 void __RPC_STUB
IPropertyStorage_Enum_Stub(
8108 struct IRpcStubBuffer
* This
,
8109 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8110 PRPC_MESSAGE pRpcMessage
,
8111 DWORD
* pdwStubPhase
);
8112 HRESULT CALLBACK
IPropertyStorage_SetTimes_Proxy(
8113 IPropertyStorage
* This
,
8114 const FILETIME
* pctime
,
8115 const FILETIME
* patime
,
8116 const FILETIME
* pmtime
);
8117 void __RPC_STUB
IPropertyStorage_SetTimes_Stub(
8118 struct IRpcStubBuffer
* This
,
8119 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8120 PRPC_MESSAGE pRpcMessage
,
8121 DWORD
* pdwStubPhase
);
8122 HRESULT CALLBACK
IPropertyStorage_SetClass_Proxy(
8123 IPropertyStorage
* This
,
8125 void __RPC_STUB
IPropertyStorage_SetClass_Stub(
8126 struct IRpcStubBuffer
* This
,
8127 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8128 PRPC_MESSAGE pRpcMessage
,
8129 DWORD
* pdwStubPhase
);
8130 HRESULT CALLBACK
IPropertyStorage_Stat_Proxy(
8131 IPropertyStorage
* This
,
8132 STATPROPSETSTG
* statpsstg
);
8133 void __RPC_STUB
IPropertyStorage_Stat_Stub(
8134 struct IRpcStubBuffer
* This
,
8135 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8136 PRPC_MESSAGE pRpcMessage
,
8137 DWORD
* pdwStubPhase
);
8139 typedef struct IPropertySetStorage IPropertySetStorage
;
8140 typedef IPropertySetStorage
*LPPROPERTYSETSTORAGE
;
8142 /*****************************************************************************
8143 * IPropertySetStorage interface
8145 DEFINE_GUID(IID_IPropertySetStorage
, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8146 #if defined(__cplusplus) && !defined(CINTERFACE)
8147 struct IPropertySetStorage
: IUnknown
{
8149 virtual HRESULT CALLBACK
Create(
8151 const CLSID
* pclsid
,
8154 IPropertyStorage
** ppprstg
) = 0;
8156 virtual HRESULT CALLBACK
Open(
8159 IPropertyStorage
** ppprstg
) = 0;
8161 virtual HRESULT CALLBACK
Delete(
8162 REFFMTID rfmtid
) = 0;
8164 virtual HRESULT CALLBACK
Enum(
8165 IEnumSTATPROPSETSTG
** ppenum
) = 0;
8167 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8169 typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl
;
8170 struct IPropertySetStorage
{
8171 const IPropertySetStorageVtbl
* lpVtbl
;
8173 struct IPropertySetStorageVtbl
{
8174 ICOM_MSVTABLE_COMPAT_FIELDS
8176 /*** IUnknown methods ***/
8177 HRESULT (CALLBACK
*QueryInterface
)(
8178 IPropertySetStorage
* This
,
8182 ULONG (CALLBACK
*AddRef
)(
8183 IPropertySetStorage
* This
);
8185 ULONG (CALLBACK
*Release
)(
8186 IPropertySetStorage
* This
);
8188 /*** IPropertySetStorage methods ***/
8189 HRESULT (CALLBACK
*Create
)(
8190 IPropertySetStorage
* This
,
8192 const CLSID
* pclsid
,
8195 IPropertyStorage
** ppprstg
);
8197 HRESULT (CALLBACK
*Open
)(
8198 IPropertySetStorage
* This
,
8201 IPropertyStorage
** ppprstg
);
8203 HRESULT (CALLBACK
*Delete
)(
8204 IPropertySetStorage
* This
,
8207 HRESULT (CALLBACK
*Enum
)(
8208 IPropertySetStorage
* This
,
8209 IEnumSTATPROPSETSTG
** ppenum
);
8213 #define IPropertySetStorage_IMETHODS \
8215 ICOM_METHOD5 (HRESULT,Create,REFFMTID,rfmtid,const CLSID*,pclsid,DWORD,grfFlags,DWORD,grfMode,IPropertyStorage**,ppprstg) \
8216 ICOM_METHOD3 (HRESULT,Open,REFFMTID,rfmtid,DWORD,grfMode,IPropertyStorage**,ppprstg) \
8217 ICOM_METHOD1 (HRESULT,Delete,REFFMTID,rfmtid) \
8218 ICOM_METHOD1 (HRESULT,Enum,IEnumSTATPROPSETSTG**,ppenum)
8220 /*** IUnknown methods ***/
8221 #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8222 #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
8223 #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
8224 /*** IPropertySetStorage methods ***/
8225 #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
8226 #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
8227 #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
8228 #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
8232 HRESULT CALLBACK
IPropertySetStorage_Create_Proxy(
8233 IPropertySetStorage
* This
,
8235 const CLSID
* pclsid
,
8238 IPropertyStorage
** ppprstg
);
8239 void __RPC_STUB
IPropertySetStorage_Create_Stub(
8240 struct IRpcStubBuffer
* This
,
8241 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8242 PRPC_MESSAGE pRpcMessage
,
8243 DWORD
* pdwStubPhase
);
8244 HRESULT CALLBACK
IPropertySetStorage_Open_Proxy(
8245 IPropertySetStorage
* This
,
8248 IPropertyStorage
** ppprstg
);
8249 void __RPC_STUB
IPropertySetStorage_Open_Stub(
8250 struct IRpcStubBuffer
* This
,
8251 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8252 PRPC_MESSAGE pRpcMessage
,
8253 DWORD
* pdwStubPhase
);
8254 HRESULT CALLBACK
IPropertySetStorage_Delete_Proxy(
8255 IPropertySetStorage
* This
,
8257 void __RPC_STUB
IPropertySetStorage_Delete_Stub(
8258 struct IRpcStubBuffer
* This
,
8259 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8260 PRPC_MESSAGE pRpcMessage
,
8261 DWORD
* pdwStubPhase
);
8262 HRESULT CALLBACK
IPropertySetStorage_Enum_Proxy(
8263 IPropertySetStorage
* This
,
8264 IEnumSTATPROPSETSTG
** ppenum
);
8265 void __RPC_STUB
IPropertySetStorage_Enum_Stub(
8266 struct IRpcStubBuffer
* This
,
8267 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8268 PRPC_MESSAGE pRpcMessage
,
8269 DWORD
* pdwStubPhase
);
8271 typedef IEnumSTATPROPSTG
*LPENUMSTATPROPSTG
;
8273 /*****************************************************************************
8274 * IEnumSTATPROPSTG interface
8276 DEFINE_GUID(IID_IEnumSTATPROPSTG
, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8277 #if defined(__cplusplus) && !defined(CINTERFACE)
8278 struct IEnumSTATPROPSTG
: IUnknown
{
8280 virtual HRESULT CALLBACK
Next(
8283 ULONG
* pceltFetched
) = 0;
8285 virtual HRESULT CALLBACK
Skip(
8288 virtual HRESULT CALLBACK
Reset(
8291 virtual HRESULT CALLBACK
Clone(
8292 IEnumSTATPROPSTG
** ppenum
) = 0;
8294 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8296 typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl
;
8297 struct IEnumSTATPROPSTG
{
8298 const IEnumSTATPROPSTGVtbl
* lpVtbl
;
8300 struct IEnumSTATPROPSTGVtbl
{
8301 ICOM_MSVTABLE_COMPAT_FIELDS
8303 /*** IUnknown methods ***/
8304 HRESULT (CALLBACK
*QueryInterface
)(
8305 IEnumSTATPROPSTG
* This
,
8309 ULONG (CALLBACK
*AddRef
)(
8310 IEnumSTATPROPSTG
* This
);
8312 ULONG (CALLBACK
*Release
)(
8313 IEnumSTATPROPSTG
* This
);
8315 /*** IEnumSTATPROPSTG methods ***/
8316 HRESULT (CALLBACK
*Next
)(
8317 IEnumSTATPROPSTG
* This
,
8320 ULONG
* pceltFetched
);
8322 HRESULT (CALLBACK
*Skip
)(
8323 IEnumSTATPROPSTG
* This
,
8326 HRESULT (CALLBACK
*Reset
)(
8327 IEnumSTATPROPSTG
* This
);
8329 HRESULT (CALLBACK
*Clone
)(
8330 IEnumSTATPROPSTG
* This
,
8331 IEnumSTATPROPSTG
** ppenum
);
8335 #define IEnumSTATPROPSTG_IMETHODS \
8337 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATPROPSTG*,rgelt,ULONG*,pceltFetched) \
8338 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
8339 ICOM_METHOD (HRESULT,Reset) \
8340 ICOM_METHOD1 (HRESULT,Clone,IEnumSTATPROPSTG**,ppenum)
8342 /*** IUnknown methods ***/
8343 #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8344 #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8345 #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
8346 /*** IEnumSTATPROPSTG methods ***/
8347 #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8348 #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8349 #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
8350 #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8354 HRESULT CALLBACK
IEnumSTATPROPSTG_RemoteNext_Proxy(
8355 IEnumSTATPROPSTG
* This
,
8358 ULONG
* pceltFetched
);
8359 void __RPC_STUB
IEnumSTATPROPSTG_RemoteNext_Stub(
8360 struct IRpcStubBuffer
* This
,
8361 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8362 PRPC_MESSAGE pRpcMessage
,
8363 DWORD
* pdwStubPhase
);
8364 HRESULT CALLBACK
IEnumSTATPROPSTG_Next_Proxy(
8365 IEnumSTATPROPSTG
* This
,
8368 ULONG
* pceltFetched
);
8369 HRESULT __RPC_STUB
IEnumSTATPROPSTG_Next_Stub(
8370 IEnumSTATPROPSTG
* This
,
8373 ULONG
* pceltFetched
);
8374 HRESULT CALLBACK
IEnumSTATPROPSTG_Skip_Proxy(
8375 IEnumSTATPROPSTG
* This
,
8377 void __RPC_STUB
IEnumSTATPROPSTG_Skip_Stub(
8378 struct IRpcStubBuffer
* This
,
8379 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8380 PRPC_MESSAGE pRpcMessage
,
8381 DWORD
* pdwStubPhase
);
8382 HRESULT CALLBACK
IEnumSTATPROPSTG_Reset_Proxy(
8383 IEnumSTATPROPSTG
* This
);
8384 void __RPC_STUB
IEnumSTATPROPSTG_Reset_Stub(
8385 struct IRpcStubBuffer
* This
,
8386 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8387 PRPC_MESSAGE pRpcMessage
,
8388 DWORD
* pdwStubPhase
);
8389 HRESULT CALLBACK
IEnumSTATPROPSTG_Clone_Proxy(
8390 IEnumSTATPROPSTG
* This
,
8391 IEnumSTATPROPSTG
** ppenum
);
8392 void __RPC_STUB
IEnumSTATPROPSTG_Clone_Stub(
8393 struct IRpcStubBuffer
* This
,
8394 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8395 PRPC_MESSAGE pRpcMessage
,
8396 DWORD
* pdwStubPhase
);
8398 typedef IEnumSTATPROPSETSTG
*LPENUMSTATPROPSETSTG
;
8400 /*****************************************************************************
8401 * IEnumSTATPROPSETSTG interface
8403 DEFINE_GUID(IID_IEnumSTATPROPSETSTG
, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8404 #if defined(__cplusplus) && !defined(CINTERFACE)
8405 struct IEnumSTATPROPSETSTG
: IUnknown
{
8407 virtual HRESULT CALLBACK
Next(
8409 STATPROPSETSTG
* rgelt
,
8410 ULONG
* pceltFetched
) = 0;
8412 virtual HRESULT CALLBACK
Skip(
8415 virtual HRESULT CALLBACK
Reset(
8418 virtual HRESULT CALLBACK
Clone(
8419 IEnumSTATPROPSETSTG
** ppenum
) = 0;
8421 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8423 typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl
;
8424 struct IEnumSTATPROPSETSTG
{
8425 const IEnumSTATPROPSETSTGVtbl
* lpVtbl
;
8427 struct IEnumSTATPROPSETSTGVtbl
{
8428 ICOM_MSVTABLE_COMPAT_FIELDS
8430 /*** IUnknown methods ***/
8431 HRESULT (CALLBACK
*QueryInterface
)(
8432 IEnumSTATPROPSETSTG
* This
,
8436 ULONG (CALLBACK
*AddRef
)(
8437 IEnumSTATPROPSETSTG
* This
);
8439 ULONG (CALLBACK
*Release
)(
8440 IEnumSTATPROPSETSTG
* This
);
8442 /*** IEnumSTATPROPSETSTG methods ***/
8443 HRESULT (CALLBACK
*Next
)(
8444 IEnumSTATPROPSETSTG
* This
,
8446 STATPROPSETSTG
* rgelt
,
8447 ULONG
* pceltFetched
);
8449 HRESULT (CALLBACK
*Skip
)(
8450 IEnumSTATPROPSETSTG
* This
,
8453 HRESULT (CALLBACK
*Reset
)(
8454 IEnumSTATPROPSETSTG
* This
);
8456 HRESULT (CALLBACK
*Clone
)(
8457 IEnumSTATPROPSETSTG
* This
,
8458 IEnumSTATPROPSETSTG
** ppenum
);
8462 #define IEnumSTATPROPSETSTG_IMETHODS \
8464 ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATPROPSETSTG*,rgelt,ULONG*,pceltFetched) \
8465 ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
8466 ICOM_METHOD (HRESULT,Reset) \
8467 ICOM_METHOD1 (HRESULT,Clone,IEnumSTATPROPSETSTG**,ppenum)
8469 /*** IUnknown methods ***/
8470 #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8471 #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
8472 #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
8473 /*** IEnumSTATPROPSETSTG methods ***/
8474 #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
8475 #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
8476 #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
8477 #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
8481 HRESULT CALLBACK
IEnumSTATPROPSETSTG_RemoteNext_Proxy(
8482 IEnumSTATPROPSETSTG
* This
,
8484 STATPROPSETSTG
* rgelt
,
8485 ULONG
* pceltFetched
);
8486 void __RPC_STUB
IEnumSTATPROPSETSTG_RemoteNext_Stub(
8487 struct IRpcStubBuffer
* This
,
8488 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8489 PRPC_MESSAGE pRpcMessage
,
8490 DWORD
* pdwStubPhase
);
8491 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Next_Proxy(
8492 IEnumSTATPROPSETSTG
* This
,
8494 STATPROPSETSTG
* rgelt
,
8495 ULONG
* pceltFetched
);
8496 HRESULT __RPC_STUB
IEnumSTATPROPSETSTG_Next_Stub(
8497 IEnumSTATPROPSETSTG
* This
,
8499 STATPROPSETSTG
* rgelt
,
8500 ULONG
* pceltFetched
);
8501 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Skip_Proxy(
8502 IEnumSTATPROPSETSTG
* This
,
8504 void __RPC_STUB
IEnumSTATPROPSETSTG_Skip_Stub(
8505 struct IRpcStubBuffer
* This
,
8506 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8507 PRPC_MESSAGE pRpcMessage
,
8508 DWORD
* pdwStubPhase
);
8509 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Reset_Proxy(
8510 IEnumSTATPROPSETSTG
* This
);
8511 void __RPC_STUB
IEnumSTATPROPSETSTG_Reset_Stub(
8512 struct IRpcStubBuffer
* This
,
8513 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8514 PRPC_MESSAGE pRpcMessage
,
8515 DWORD
* pdwStubPhase
);
8516 HRESULT CALLBACK
IEnumSTATPROPSETSTG_Clone_Proxy(
8517 IEnumSTATPROPSETSTG
* This
,
8518 IEnumSTATPROPSETSTG
** ppenum
);
8519 void __RPC_STUB
IEnumSTATPROPSETSTG_Clone_Stub(
8520 struct IRpcStubBuffer
* This
,
8521 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8522 PRPC_MESSAGE pRpcMessage
,
8523 DWORD
* pdwStubPhase
);
8525 typedef struct IClientSecurity IClientSecurity
;
8526 typedef struct tagSOLE_AUTHENTICATION_SERVICE
{
8529 OLECHAR
*pPrincipalName
;
8531 } SOLE_AUTHENTICATION_SERVICE
;
8533 typedef SOLE_AUTHENTICATION_SERVICE
*PSOLE_AUTHENTICATION_SERVICE
;
8535 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
{
8537 EOAC_MUTUAL_AUTH
= 0x1,
8538 EOAC_CLOAKING
= 0x10,
8539 EOAC_SECURE_REFS
= 0x2,
8540 EOAC_ACCESS_CONTROL
= 0x4,
8542 } EOLE_AUTHENTICATION_CAPABILITIES
;
8544 /*****************************************************************************
8545 * IClientSecurity interface
8547 DEFINE_GUID(IID_IClientSecurity
, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8548 #if defined(__cplusplus) && !defined(CINTERFACE)
8549 struct IClientSecurity
: IUnknown
{
8551 virtual HRESULT CALLBACK
QueryBlanket(
8555 OLECHAR
** pServerPrincName
,
8559 DWORD
* pCapabilites
) = 0;
8561 virtual HRESULT CALLBACK
SetBlanket(
8565 OLECHAR
* pServerPrincName
,
8569 DWORD Capabilities
) = 0;
8571 virtual HRESULT CALLBACK
CopyProxy(
8573 IUnknown
** ppCopy
) = 0;
8575 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8577 typedef struct IClientSecurityVtbl IClientSecurityVtbl
;
8578 struct IClientSecurity
{
8579 const IClientSecurityVtbl
* lpVtbl
;
8581 struct IClientSecurityVtbl
{
8582 ICOM_MSVTABLE_COMPAT_FIELDS
8584 /*** IUnknown methods ***/
8585 HRESULT (CALLBACK
*QueryInterface
)(
8586 IClientSecurity
* This
,
8590 ULONG (CALLBACK
*AddRef
)(
8591 IClientSecurity
* This
);
8593 ULONG (CALLBACK
*Release
)(
8594 IClientSecurity
* This
);
8596 /*** IClientSecurity methods ***/
8597 HRESULT (CALLBACK
*QueryBlanket
)(
8598 IClientSecurity
* This
,
8602 OLECHAR
** pServerPrincName
,
8606 DWORD
* pCapabilites
);
8608 HRESULT (CALLBACK
*SetBlanket
)(
8609 IClientSecurity
* This
,
8613 OLECHAR
* pServerPrincName
,
8617 DWORD Capabilities
);
8619 HRESULT (CALLBACK
*CopyProxy
)(
8620 IClientSecurity
* This
,
8626 #define IClientSecurity_IMETHODS \
8628 ICOM_METHOD8 (HRESULT,QueryBlanket,IUnknown*,pProxy,DWORD*,pAuthnSvc,DWORD*,pAuthzSvc,OLECHAR**,pServerPrincName,DWORD*,pAuthnLevel,DWORD*,pImpLevel,void**,pAuthInfo,DWORD*,pCapabilites) \
8629 ICOM_METHOD8 (HRESULT,SetBlanket,IUnknown*,pProxy,DWORD,AuthnSvc,DWORD,AuthzSvc,OLECHAR*,pServerPrincName,DWORD,AuthnLevel,DWORD,ImpLevel,void*,pAuthInfo,DWORD,Capabilities) \
8630 ICOM_METHOD2 (HRESULT,CopyProxy,IUnknown*,pProxy,IUnknown**,ppCopy)
8632 /*** IUnknown methods ***/
8633 #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8634 #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8635 #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p)
8636 /*** IClientSecurity methods ***/
8637 #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h)
8638 #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h)
8639 #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b)
8643 HRESULT CALLBACK
IClientSecurity_QueryBlanket_Proxy(
8644 IClientSecurity
* This
,
8648 OLECHAR
** pServerPrincName
,
8652 DWORD
* pCapabilites
);
8653 void __RPC_STUB
IClientSecurity_QueryBlanket_Stub(
8654 struct IRpcStubBuffer
* This
,
8655 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8656 PRPC_MESSAGE pRpcMessage
,
8657 DWORD
* pdwStubPhase
);
8658 HRESULT CALLBACK
IClientSecurity_SetBlanket_Proxy(
8659 IClientSecurity
* This
,
8663 OLECHAR
* pServerPrincName
,
8667 DWORD Capabilities
);
8668 void __RPC_STUB
IClientSecurity_SetBlanket_Stub(
8669 struct IRpcStubBuffer
* This
,
8670 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8671 PRPC_MESSAGE pRpcMessage
,
8672 DWORD
* pdwStubPhase
);
8673 HRESULT CALLBACK
IClientSecurity_CopyProxy_Proxy(
8674 IClientSecurity
* This
,
8677 void __RPC_STUB
IClientSecurity_CopyProxy_Stub(
8678 struct IRpcStubBuffer
* This
,
8679 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8680 PRPC_MESSAGE pRpcMessage
,
8681 DWORD
* pdwStubPhase
);
8683 typedef struct IServerSecurity IServerSecurity
;
8684 /*****************************************************************************
8685 * IServerSecurity interface
8687 DEFINE_GUID(IID_IServerSecurity
, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8688 #if defined(__cplusplus) && !defined(CINTERFACE)
8689 struct IServerSecurity
: IUnknown
{
8691 virtual HRESULT CALLBACK
QueryBlanket(
8694 OLECHAR
** pServerPrincName
,
8698 DWORD
* pCapabilities
) = 0;
8700 virtual HRESULT CALLBACK
ImpersonateClient(
8703 virtual HRESULT CALLBACK
RevertToSelf(
8706 virtual BOOL CALLBACK
IsImpersonating(
8709 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8711 typedef struct IServerSecurityVtbl IServerSecurityVtbl
;
8712 struct IServerSecurity
{
8713 const IServerSecurityVtbl
* lpVtbl
;
8715 struct IServerSecurityVtbl
{
8716 ICOM_MSVTABLE_COMPAT_FIELDS
8718 /*** IUnknown methods ***/
8719 HRESULT (CALLBACK
*QueryInterface
)(
8720 IServerSecurity
* This
,
8724 ULONG (CALLBACK
*AddRef
)(
8725 IServerSecurity
* This
);
8727 ULONG (CALLBACK
*Release
)(
8728 IServerSecurity
* This
);
8730 /*** IServerSecurity methods ***/
8731 HRESULT (CALLBACK
*QueryBlanket
)(
8732 IServerSecurity
* This
,
8735 OLECHAR
** pServerPrincName
,
8739 DWORD
* pCapabilities
);
8741 HRESULT (CALLBACK
*ImpersonateClient
)(
8742 IServerSecurity
* This
);
8744 HRESULT (CALLBACK
*RevertToSelf
)(
8745 IServerSecurity
* This
);
8747 BOOL (CALLBACK
*IsImpersonating
)(
8748 IServerSecurity
* This
);
8752 #define IServerSecurity_IMETHODS \
8754 ICOM_METHOD7 (HRESULT,QueryBlanket,DWORD*,pAuthnSvc,DWORD*,pAuthzSvc,OLECHAR**,pServerPrincName,DWORD*,pAuthnLevel,DWORD*,pImpLevel,void**,pPrivs,DWORD*,pCapabilities) \
8755 ICOM_METHOD (HRESULT,ImpersonateClient) \
8756 ICOM_METHOD (HRESULT,RevertToSelf) \
8757 ICOM_METHOD (BOOL,IsImpersonating)
8759 /*** IUnknown methods ***/
8760 #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8761 #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p)
8762 #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p)
8763 /*** IServerSecurity methods ***/
8764 #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g)
8765 #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p)
8766 #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p)
8767 #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p)
8771 HRESULT CALLBACK
IServerSecurity_QueryBlanket_Proxy(
8772 IServerSecurity
* This
,
8775 OLECHAR
** pServerPrincName
,
8779 DWORD
* pCapabilities
);
8780 void __RPC_STUB
IServerSecurity_QueryBlanket_Stub(
8781 struct IRpcStubBuffer
* This
,
8782 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8783 PRPC_MESSAGE pRpcMessage
,
8784 DWORD
* pdwStubPhase
);
8785 HRESULT CALLBACK
IServerSecurity_ImpersonateClient_Proxy(
8786 IServerSecurity
* This
);
8787 void __RPC_STUB
IServerSecurity_ImpersonateClient_Stub(
8788 struct IRpcStubBuffer
* This
,
8789 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8790 PRPC_MESSAGE pRpcMessage
,
8791 DWORD
* pdwStubPhase
);
8792 HRESULT CALLBACK
IServerSecurity_RevertToSelf_Proxy(
8793 IServerSecurity
* This
);
8794 void __RPC_STUB
IServerSecurity_RevertToSelf_Stub(
8795 struct IRpcStubBuffer
* This
,
8796 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8797 PRPC_MESSAGE pRpcMessage
,
8798 DWORD
* pdwStubPhase
);
8799 BOOL CALLBACK
IServerSecurity_IsImpersonating_Proxy(
8800 IServerSecurity
* This
);
8801 void __RPC_STUB
IServerSecurity_IsImpersonating_Stub(
8802 struct IRpcStubBuffer
* This
,
8803 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8804 PRPC_MESSAGE pRpcMessage
,
8805 DWORD
* pdwStubPhase
);
8807 typedef struct IAsyncSetup IAsyncSetup
;
8808 /*****************************************************************************
8809 * IAsyncSetup interface
8811 DEFINE_GUID(IID_IAsyncSetup
, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8812 #if defined(__cplusplus) && !defined(CINTERFACE)
8813 struct IAsyncSetup
: IUnknown
{
8815 virtual HRESULT CALLBACK
GetAsyncManager(
8820 IAsyncManager
** ppAsyncMgr
) = 0;
8822 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8824 typedef struct IAsyncSetupVtbl IAsyncSetupVtbl
;
8825 struct IAsyncSetup
{
8826 const IAsyncSetupVtbl
* lpVtbl
;
8828 struct IAsyncSetupVtbl
{
8829 ICOM_MSVTABLE_COMPAT_FIELDS
8831 /*** IUnknown methods ***/
8832 HRESULT (CALLBACK
*QueryInterface
)(
8837 ULONG (CALLBACK
*AddRef
)(
8840 ULONG (CALLBACK
*Release
)(
8843 /*** IAsyncSetup methods ***/
8844 HRESULT (CALLBACK
*GetAsyncManager
)(
8850 IAsyncManager
** ppAsyncMgr
);
8854 #define IAsyncSetup_IMETHODS \
8856 ICOM_METHOD5 (HRESULT,GetAsyncManager,REFIID,riid,IUnknown*,pOuter,DWORD,dwFlags,IUnknown**,ppInner,IAsyncManager**,ppAsyncMgr)
8858 /*** IUnknown methods ***/
8859 #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8860 #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p)
8861 #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p)
8862 /*** IAsyncSetup methods ***/
8863 #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e)
8867 HRESULT CALLBACK
IAsyncSetup_GetAsyncManager_Proxy(
8873 IAsyncManager
** ppAsyncMgr
);
8874 void __RPC_STUB
IAsyncSetup_GetAsyncManager_Stub(
8875 struct IRpcStubBuffer
* This
,
8876 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8877 PRPC_MESSAGE pRpcMessage
,
8878 DWORD
* pdwStubPhase
);
8880 typedef enum tagDCOM_CALL_STATE
{
8882 DCOM_CALL_COMPLETE
= 1,
8883 DCOM_CALL_CANCELED
= 2
8886 /*****************************************************************************
8887 * IAsyncManager interface
8889 DEFINE_GUID(IID_IAsyncManager
, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8890 #if defined(__cplusplus) && !defined(CINTERFACE)
8891 struct IAsyncManager
: IUnknown
{
8893 virtual HRESULT CALLBACK
CompleteCall(
8894 HRESULT Result
) = 0;
8896 virtual HRESULT CALLBACK
GetCallContext(
8898 void** pInterface
) = 0;
8900 virtual HRESULT CALLBACK
GetState(
8901 ULONG
* pulStateFlags
) = 0;
8903 } ICOM_COM_INTERFACE_ATTRIBUTE
;
8905 typedef struct IAsyncManagerVtbl IAsyncManagerVtbl
;
8906 struct IAsyncManager
{
8907 const IAsyncManagerVtbl
* lpVtbl
;
8909 struct IAsyncManagerVtbl
{
8910 ICOM_MSVTABLE_COMPAT_FIELDS
8912 /*** IUnknown methods ***/
8913 HRESULT (CALLBACK
*QueryInterface
)(
8914 IAsyncManager
* This
,
8918 ULONG (CALLBACK
*AddRef
)(
8919 IAsyncManager
* This
);
8921 ULONG (CALLBACK
*Release
)(
8922 IAsyncManager
* This
);
8924 /*** IAsyncManager methods ***/
8925 HRESULT (CALLBACK
*CompleteCall
)(
8926 IAsyncManager
* This
,
8929 HRESULT (CALLBACK
*GetCallContext
)(
8930 IAsyncManager
* This
,
8934 HRESULT (CALLBACK
*GetState
)(
8935 IAsyncManager
* This
,
8936 ULONG
* pulStateFlags
);
8940 #define IAsyncManager_IMETHODS \
8942 ICOM_METHOD1 (HRESULT,CompleteCall,HRESULT,Result) \
8943 ICOM_METHOD2 (HRESULT,GetCallContext,REFIID,riid,void**,pInterface) \
8944 ICOM_METHOD1 (HRESULT,GetState,ULONG*,pulStateFlags)
8946 /*** IUnknown methods ***/
8947 #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
8948 #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p)
8949 #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p)
8950 /*** IAsyncManager methods ***/
8951 #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a)
8952 #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b)
8953 #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a)
8957 HRESULT CALLBACK
IAsyncManager_CompleteCall_Proxy(
8958 IAsyncManager
* This
,
8960 void __RPC_STUB
IAsyncManager_CompleteCall_Stub(
8961 struct IRpcStubBuffer
* This
,
8962 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8963 PRPC_MESSAGE pRpcMessage
,
8964 DWORD
* pdwStubPhase
);
8965 HRESULT CALLBACK
IAsyncManager_GetCallContext_Proxy(
8966 IAsyncManager
* This
,
8969 void __RPC_STUB
IAsyncManager_GetCallContext_Stub(
8970 struct IRpcStubBuffer
* This
,
8971 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8972 PRPC_MESSAGE pRpcMessage
,
8973 DWORD
* pdwStubPhase
);
8974 HRESULT CALLBACK
IAsyncManager_GetState_Proxy(
8975 IAsyncManager
* This
,
8976 ULONG
* pulStateFlags
);
8977 void __RPC_STUB
IAsyncManager_GetState_Stub(
8978 struct IRpcStubBuffer
* This
,
8979 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
8980 PRPC_MESSAGE pRpcMessage
,
8981 DWORD
* pdwStubPhase
);
8986 #endif /* __WIDL_OBJIDL_H */