1/*** Autogenerated by WIDL 1.5.25 from include/objidl.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __objidl_h__
16#define __objidl_h__
17
18/* Forward declarations */
19
20#ifndef __IEnumUnknown_FWD_DEFINED__
21#define __IEnumUnknown_FWD_DEFINED__
22typedef interface IEnumUnknown IEnumUnknown;
23#endif
24
25#ifndef __IBindCtx_FWD_DEFINED__
26#define __IBindCtx_FWD_DEFINED__
27typedef interface IBindCtx IBindCtx;
28#endif
29
30#ifndef __IEnumMoniker_FWD_DEFINED__
31#define __IEnumMoniker_FWD_DEFINED__
32typedef interface IEnumMoniker IEnumMoniker;
33#endif
34
35#ifndef __IRunningObjectTable_FWD_DEFINED__
36#define __IRunningObjectTable_FWD_DEFINED__
37typedef interface IRunningObjectTable IRunningObjectTable;
38#endif
39
40#ifndef __IPersist_FWD_DEFINED__
41#define __IPersist_FWD_DEFINED__
42typedef interface IPersist IPersist;
43#endif
44
45#ifndef __IPersistStream_FWD_DEFINED__
46#define __IPersistStream_FWD_DEFINED__
47typedef interface IPersistStream IPersistStream;
48#endif
49
50#ifndef __IMoniker_FWD_DEFINED__
51#define __IMoniker_FWD_DEFINED__
52typedef interface IMoniker IMoniker;
53#endif
54
55#ifndef __IEnumString_FWD_DEFINED__
56#define __IEnumString_FWD_DEFINED__
57typedef interface IEnumString IEnumString;
58#endif
59
60#ifndef __ISequentialStream_FWD_DEFINED__
61#define __ISequentialStream_FWD_DEFINED__
62typedef interface ISequentialStream ISequentialStream;
63#endif
64
65#ifndef __IStream_FWD_DEFINED__
66#define __IStream_FWD_DEFINED__
67typedef interface IStream IStream;
68#endif
69
70#ifndef __IEnumSTATSTG_FWD_DEFINED__
71#define __IEnumSTATSTG_FWD_DEFINED__
72typedef interface IEnumSTATSTG IEnumSTATSTG;
73#endif
74
75#ifndef __IStorage_FWD_DEFINED__
76#define __IStorage_FWD_DEFINED__
77typedef interface IStorage IStorage;
78#endif
79
80#ifndef __IEnumFORMATETC_FWD_DEFINED__
81#define __IEnumFORMATETC_FWD_DEFINED__
82typedef interface IEnumFORMATETC IEnumFORMATETC;
83#endif
84
85#ifndef __IEnumSTATDATA_FWD_DEFINED__
86#define __IEnumSTATDATA_FWD_DEFINED__
87typedef interface IEnumSTATDATA IEnumSTATDATA;
88#endif
89
90#ifndef __IAdviseSink_FWD_DEFINED__
91#define __IAdviseSink_FWD_DEFINED__
92typedef interface IAdviseSink IAdviseSink;
93#endif
94
95#ifndef __IDataObject_FWD_DEFINED__
96#define __IDataObject_FWD_DEFINED__
97typedef interface IDataObject IDataObject;
98#endif
99
100/* Headers for imported files */
101
102#include <unknwn.h>
103#include <wtypes.h>
104
105#ifdef __cplusplus
106extern "C" {
107#endif
108
109#ifndef __IMoniker_FWD_DEFINED__
110#define __IMoniker_FWD_DEFINED__
111typedef interface IMoniker IMoniker;
112#endif
113
114#ifndef __IEnumMoniker_FWD_DEFINED__
115#define __IEnumMoniker_FWD_DEFINED__
116typedef interface IEnumMoniker IEnumMoniker;
117#endif
118
119#ifndef __IRunningObjectTable_FWD_DEFINED__
120#define __IRunningObjectTable_FWD_DEFINED__
121typedef interface IRunningObjectTable IRunningObjectTable;
122#endif
123
124#ifndef __IEnumString_FWD_DEFINED__
125#define __IEnumString_FWD_DEFINED__
126typedef interface IEnumString IEnumString;
127#endif
128
129#ifndef __IStream_FWD_DEFINED__
130#define __IStream_FWD_DEFINED__
131typedef interface IStream IStream;
132#endif
133
134#ifndef __IAdviseSink_FWD_DEFINED__
135#define __IAdviseSink_FWD_DEFINED__
136typedef interface IAdviseSink IAdviseSink;
137#endif
138
139#ifndef __IMarshal_FWD_DEFINED__
140#define __IMarshal_FWD_DEFINED__
141typedef struct IMarshal IMarshal;
142#endif
143
144#ifndef __IMarshal2_FWD_DEFINED__
145#define __IMarshal2_FWD_DEFINED__
146typedef struct IMarshal2 IMarshal2;
147#endif
148
149#ifndef __IMalloc_FWD_DEFINED__
150#define __IMalloc_FWD_DEFINED__
151typedef struct IMalloc IMalloc;
152#endif
153
154#ifndef __IMallocSpy_FWD_DEFINED__
155#define __IMallocSpy_FWD_DEFINED__
156typedef struct IMallocSpy IMallocSpy;
157#endif
158
159#ifndef __IStdMarshalInfo_FWD_DEFINED__
160#define __IStdMarshalInfo_FWD_DEFINED__
161typedef struct IStdMarshalInfo IStdMarshalInfo;
162#endif
163
164#ifndef __IExternalConnection_FWD_DEFINED__
165#define __IExternalConnection_FWD_DEFINED__
166typedef struct IExternalConnection IExternalConnection;
167#endif
168
169#ifndef __IMultiQI_FWD_DEFINED__
170#define __IMultiQI_FWD_DEFINED__
171typedef struct IMultiQI IMultiQI;
172#endif
173
174#ifndef __AsyncIMultiQI_FWD_DEFINED__
175#define __AsyncIMultiQI_FWD_DEFINED__
176typedef struct AsyncIMultiQI AsyncIMultiQI;
177#endif
178
179#ifndef __IInternalUnknown_FWD_DEFINED__
180#define __IInternalUnknown_FWD_DEFINED__
181typedef struct IInternalUnknown IInternalUnknown;
182#endif
183
184#ifndef __IRunnableObject_FWD_DEFINED__
185#define __IRunnableObject_FWD_DEFINED__
186typedef struct IRunnableObject IRunnableObject;
187#endif
188
189#ifndef __IROTData_FWD_DEFINED__
190#define __IROTData_FWD_DEFINED__
191typedef struct IROTData IROTData;
192#endif
193
194#ifndef __IPersistFile_FWD_DEFINED__
195#define __IPersistFile_FWD_DEFINED__
196typedef struct IPersistFile IPersistFile;
197#endif
198
199#ifndef __IPersistStorage_FWD_DEFINED__
200#define __IPersistStorage_FWD_DEFINED__
201typedef struct IPersistStorage IPersistStorage;
202#endif
203
204#ifndef __ILockBytes_FWD_DEFINED__
205#define __ILockBytes_FWD_DEFINED__
206typedef struct ILockBytes ILockBytes;
207#endif
208
209#ifndef __IRootStorage_FWD_DEFINED__
210#define __IRootStorage_FWD_DEFINED__
211typedef struct IRootStorage IRootStorage;
212#endif
213
214#ifndef __AsyncIAdviseSink_FWD_DEFINED__
215#define __AsyncIAdviseSink_FWD_DEFINED__
216typedef struct AsyncIAdviseSink AsyncIAdviseSink;
217#endif
218
219#ifndef __IAdviseSink2_FWD_DEFINED__
220#define __IAdviseSink2_FWD_DEFINED__
221typedef struct IAdviseSink2 IAdviseSink2;
222#endif
223
224#ifndef __AsyncIAdviseSink2_FWD_DEFINED__
225#define __AsyncIAdviseSink2_FWD_DEFINED__
226typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;
227#endif
228
229#ifndef __IDataAdviseHolder_FWD_DEFINED__
230#define __IDataAdviseHolder_FWD_DEFINED__
231typedef struct IDataAdviseHolder IDataAdviseHolder;
232#endif
233
234#ifndef __IMessageFilter_FWD_DEFINED__
235#define __IMessageFilter_FWD_DEFINED__
236typedef struct IMessageFilter IMessageFilter;
237#endif
238
239#ifndef __IRpcChannelBuffer_FWD_DEFINED__
240#define __IRpcChannelBuffer_FWD_DEFINED__
241typedef struct IRpcChannelBuffer IRpcChannelBuffer;
242#endif
243
244#ifndef __IRpcChannelBuffer2_FWD_DEFINED__
245#define __IRpcChannelBuffer2_FWD_DEFINED__
246typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
247#endif
248
249#ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
250#define __IAsyncRpcChannelBuffer_FWD_DEFINED__
251typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
252#endif
253
254#ifndef __IRpcChannelBuffer3_FWD_DEFINED__
255#define __IRpcChannelBuffer3_FWD_DEFINED__
256typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
257#endif
258
259#ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
260#define __IRpcSyntaxNegotiate_FWD_DEFINED__
261typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
262#endif
263
264#ifndef __IRpcProxyBuffer_FWD_DEFINED__
265#define __IRpcProxyBuffer_FWD_DEFINED__
266typedef struct IRpcProxyBuffer IRpcProxyBuffer;
267#endif
268
269#ifndef __IRpcStubBuffer_FWD_DEFINED__
270#define __IRpcStubBuffer_FWD_DEFINED__
271typedef struct IRpcStubBuffer IRpcStubBuffer;
272#endif
273
274#ifndef __IPSFactoryBuffer_FWD_DEFINED__
275#define __IPSFactoryBuffer_FWD_DEFINED__
276typedef struct IPSFactoryBuffer IPSFactoryBuffer;
277#endif
278
279#ifndef __IChannelHook_FWD_DEFINED__
280#define __IChannelHook_FWD_DEFINED__
281typedef struct IChannelHook IChannelHook;
282#endif
283
284#ifndef __IClientSecurity_FWD_DEFINED__
285#define __IClientSecurity_FWD_DEFINED__
286typedef struct IClientSecurity IClientSecurity;
287#endif
288
289#ifndef __IServerSecurity_FWD_DEFINED__
290#define __IServerSecurity_FWD_DEFINED__
291typedef struct IServerSecurity IServerSecurity;
292#endif
293
294#ifndef __IClassActivator_FWD_DEFINED__
295#define __IClassActivator_FWD_DEFINED__
296typedef struct IClassActivator IClassActivator;
297#endif
298
299#ifndef __IRpcOptions_FWD_DEFINED__
300#define __IRpcOptions_FWD_DEFINED__
301typedef struct IRpcOptions IRpcOptions;
302#endif
303
304#ifndef __IFillLockBytes_FWD_DEFINED__
305#define __IFillLockBytes_FWD_DEFINED__
306typedef struct IFillLockBytes IFillLockBytes;
307#endif
308
309#ifndef __IProgressNotify_FWD_DEFINED__
310#define __IProgressNotify_FWD_DEFINED__
311typedef struct IProgressNotify IProgressNotify;
312#endif
313
314#ifndef __ILayoutStorage_FWD_DEFINED__
315#define __ILayoutStorage_FWD_DEFINED__
316typedef struct ILayoutStorage ILayoutStorage;
317#endif
318
319#ifndef __IBlockingLock_FWD_DEFINED__
320#define __IBlockingLock_FWD_DEFINED__
321typedef struct IBlockingLock IBlockingLock;
322#endif
323
324#ifndef __ITimeAndNoticeControl_FWD_DEFINED__
325#define __ITimeAndNoticeControl_FWD_DEFINED__
326typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;
327#endif
328
329#ifndef __IOplockStorage_FWD_DEFINED__
330#define __IOplockStorage_FWD_DEFINED__
331typedef struct IOplockStorage IOplockStorage;
332#endif
333
334#ifndef __ISurrogate_FWD_DEFINED__
335#define __ISurrogate_FWD_DEFINED__
336typedef struct ISurrogate ISurrogate;
337#endif
338
339#ifndef __IGlobalInterfaceTable_FWD_DEFINED__
340#define __IGlobalInterfaceTable_FWD_DEFINED__
341typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
342#endif
343
344#ifndef __IDirectWriterLock_FWD_DEFINED__
345#define __IDirectWriterLock_FWD_DEFINED__
346typedef struct IDirectWriterLock IDirectWriterLock;
347#endif
348
349#ifndef __ISynchronize_FWD_DEFINED__
350#define __ISynchronize_FWD_DEFINED__
351typedef struct ISynchronize ISynchronize;
352#endif
353
354#ifndef __ISynchronizeHandle_FWD_DEFINED__
355#define __ISynchronizeHandle_FWD_DEFINED__
356typedef struct ISynchronizeHandle ISynchronizeHandle;
357#endif
358
359#ifndef __ISynchronizeEvent_FWD_DEFINED__
360#define __ISynchronizeEvent_FWD_DEFINED__
361typedef struct ISynchronizeEvent ISynchronizeEvent;
362#endif
363
364#ifndef __ISynchronizeContainer_FWD_DEFINED__
365#define __ISynchronizeContainer_FWD_DEFINED__
366typedef struct ISynchronizeContainer ISynchronizeContainer;
367#endif
368
369#ifndef __ISynchronizeMutex_FWD_DEFINED__
370#define __ISynchronizeMutex_FWD_DEFINED__
371typedef struct ISynchronizeMutex ISynchronizeMutex;
372#endif
373
374#ifndef __ICancelMethodCalls_FWD_DEFINED__
375#define __ICancelMethodCalls_FWD_DEFINED__
376typedef struct ICancelMethodCalls ICancelMethodCalls;
377#endif
378
379#ifndef __IAsyncManager_FWD_DEFINED__
380#define __IAsyncManager_FWD_DEFINED__
381typedef struct IAsyncManager IAsyncManager;
382#endif
383
384#ifndef __ICallFactory_FWD_DEFINED__
385#define __ICallFactory_FWD_DEFINED__
386typedef struct ICallFactory ICallFactory;
387#endif
388
389#ifndef __IRpcHelper_FWD_DEFINED__
390#define __IRpcHelper_FWD_DEFINED__
391typedef struct IRpcHelper IRpcHelper;
392#endif
393
394#ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
395#define __IReleaseMarshalBuffers_FWD_DEFINED__
396typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;
397#endif
398
399#ifndef __IWaitMultiple_FWD_DEFINED__
400#define __IWaitMultiple_FWD_DEFINED__
401typedef struct IWaitMultiple IWaitMultiple;
402#endif
403
404#ifndef __IUrlMon_FWD_DEFINED__
405#define __IUrlMon_FWD_DEFINED__
406typedef struct IUrlMon IUrlMon;
407#endif
408
409#ifndef __IForegroundTransfer_FWD_DEFINED__
410#define __IForegroundTransfer_FWD_DEFINED__
411typedef struct IForegroundTransfer IForegroundTransfer;
412#endif
413
414#ifndef __IAddrTrackingControl_FWD_DEFINED__
415#define __IAddrTrackingControl_FWD_DEFINED__
416typedef struct IAddrTrackingControl IAddrTrackingControl;
417#endif
418
419#ifndef __IAddrExclusionControl_FWD_DEFINED__
420#define __IAddrExclusionControl_FWD_DEFINED__
421typedef struct IAddrExclusionControl IAddrExclusionControl;
422#endif
423
424#ifndef __IPipeByte_FWD_DEFINED__
425#define __IPipeByte_FWD_DEFINED__
426typedef struct IPipeByte IPipeByte;
427#endif
428
429#ifndef __AsyncIPipeByte_FWD_DEFINED__
430#define __AsyncIPipeByte_FWD_DEFINED__
431typedef struct AsyncIPipeByte AsyncIPipeByte;
432#endif
433
434#ifndef __IPipeLong_FWD_DEFINED__
435#define __IPipeLong_FWD_DEFINED__
436typedef struct IPipeLong IPipeLong;
437#endif
438
439#ifndef __AsyncIPipeLong_FWD_DEFINED__
440#define __AsyncIPipeLong_FWD_DEFINED__
441typedef struct AsyncIPipeLong AsyncIPipeLong;
442#endif
443
444#ifndef __IPipeDouble_FWD_DEFINED__
445#define __IPipeDouble_FWD_DEFINED__
446typedef struct IPipeDouble IPipeDouble;
447#endif
448
449#ifndef __AsyncIPipeDouble_FWD_DEFINED__
450#define __AsyncIPipeDouble_FWD_DEFINED__
451typedef struct AsyncIPipeDouble AsyncIPipeDouble;
452#endif
453
454#ifndef __IThumbnailExtractor_FWD_DEFINED__
455#define __IThumbnailExtractor_FWD_DEFINED__
456typedef struct IThumbnailExtractor IThumbnailExtractor;
457#endif
458
459#ifndef __IDummyHICONIncluder_FWD_DEFINED__
460#define __IDummyHICONIncluder_FWD_DEFINED__
461typedef struct IDummyHICONIncluder IDummyHICONIncluder;
462#endif
463
464#ifndef __IEnumContextProps_FWD_DEFINED__
465#define __IEnumContextProps_FWD_DEFINED__
466typedef struct IEnumContextProps IEnumContextProps;
467#endif
468
469#ifndef __IContext_FWD_DEFINED__
470#define __IContext_FWD_DEFINED__
471typedef struct IContext IContext;
472#endif
473
474#ifndef __IObjContext_FWD_DEFINED__
475#define __IObjContext_FWD_DEFINED__
476typedef struct IObjContext IObjContext;
477#endif
478
479#ifndef __IProcessLock_FWD_DEFINED__
480#define __IProcessLock_FWD_DEFINED__
481typedef struct IProcessLock IProcessLock;
482#endif
483
484#ifndef __ISurrogateService_FWD_DEFINED__
485#define __ISurrogateService_FWD_DEFINED__
486typedef struct ISurrogateService ISurrogateService;
487#endif
488
489#ifndef __IComThreadingInfo_FWD_DEFINED__
490#define __IComThreadingInfo_FWD_DEFINED__
491typedef struct IComThreadingInfo IComThreadingInfo;
492#endif
493
494#ifndef __IProcessInitControl_FWD_DEFINED__
495#define __IProcessInitControl_FWD_DEFINED__
496typedef struct IProcessInitControl IProcessInitControl;
497#endif
498
499#ifndef __IInitializeSpy_FWD_DEFINED__
500#define __IInitializeSpy_FWD_DEFINED__
501typedef struct IInitializeSpy IInitializeSpy;
502#endif
503typedef struct _COSERVERINFO {
504    DWORD dwReserved1;
505    LPWSTR pwszName;
506    COAUTHINFO *pAuthInfo;
507    DWORD dwReserved2;
508} COSERVERINFO;
509  extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
510  extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
511
512#ifndef __IMarshal_INTERFACE_DEFINED__
513#define __IMarshal_INTERFACE_DEFINED__
514  typedef IMarshal *LPMARSHAL;
515
516  EXTERN_C const IID IID_IMarshal;
517#if defined(__cplusplus) && !defined(CINTERFACE)
518  struct IMarshal : public IUnknown {
519  public:
520    virtual HRESULT WINAPI GetUnmarshalClass(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) = 0;
521    virtual HRESULT WINAPI GetMarshalSizeMax(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) = 0;
522    virtual HRESULT WINAPI MarshalInterface(IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) = 0;
523    virtual HRESULT WINAPI UnmarshalInterface(IStream *pStm,REFIID riid,void **ppv) = 0;
524    virtual HRESULT WINAPI ReleaseMarshalData(IStream *pStm) = 0;
525    virtual HRESULT WINAPI DisconnectObject(DWORD dwReserved) = 0;
526  };
527#else
528  typedef struct IMarshalVtbl {
529    BEGIN_INTERFACE
530      HRESULT (WINAPI *QueryInterface)(IMarshal *This,REFIID riid,void **ppvObject);
531      ULONG (WINAPI *AddRef)(IMarshal *This);
532      ULONG (WINAPI *Release)(IMarshal *This);
533      HRESULT (WINAPI *GetUnmarshalClass)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
534      HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
535      HRESULT (WINAPI *MarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
536      HRESULT (WINAPI *UnmarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
537      HRESULT (WINAPI *ReleaseMarshalData)(IMarshal *This,IStream *pStm);
538      HRESULT (WINAPI *DisconnectObject)(IMarshal *This,DWORD dwReserved);
539    END_INTERFACE
540  } IMarshalVtbl;
541  struct IMarshal {
542    CONST_VTBL struct IMarshalVtbl *lpVtbl;
543  };
544#ifdef COBJMACROS
545#define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
546#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
547#define IMarshal_Release(This) (This)->lpVtbl->Release(This)
548#define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
549#define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
550#define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
551#define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
552#define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
553#define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
554#endif
555#endif
556  HRESULT WINAPI IMarshal_GetUnmarshalClass_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
557  void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
558  HRESULT WINAPI IMarshal_GetMarshalSizeMax_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
559  void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
560  HRESULT WINAPI IMarshal_MarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
561  void __RPC_STUB IMarshal_MarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
562  HRESULT WINAPI IMarshal_UnmarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
563  void __RPC_STUB IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
564  HRESULT WINAPI IMarshal_ReleaseMarshalData_Proxy(IMarshal *This,IStream *pStm);
565  void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
566  HRESULT WINAPI IMarshal_DisconnectObject_Proxy(IMarshal *This,DWORD dwReserved);
567  void __RPC_STUB IMarshal_DisconnectObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
568#endif
569
570#ifndef __IMarshal2_INTERFACE_DEFINED__
571#define __IMarshal2_INTERFACE_DEFINED__
572  typedef IMarshal2 *LPMARSHAL2;
573
574  EXTERN_C const IID IID_IMarshal2;
575#if defined(__cplusplus) && !defined(CINTERFACE)
576  struct IMarshal2 : public IMarshal {
577  };
578#else
579  typedef struct IMarshal2Vtbl {
580    BEGIN_INTERFACE
581      HRESULT (WINAPI *QueryInterface)(IMarshal2 *This,REFIID riid,void **ppvObject);
582      ULONG (WINAPI *AddRef)(IMarshal2 *This);
583      ULONG (WINAPI *Release)(IMarshal2 *This);
584      HRESULT (WINAPI *GetUnmarshalClass)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
585      HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
586      HRESULT (WINAPI *MarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
587      HRESULT (WINAPI *UnmarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void **ppv);
588      HRESULT (WINAPI *ReleaseMarshalData)(IMarshal2 *This,IStream *pStm);
589      HRESULT (WINAPI *DisconnectObject)(IMarshal2 *This,DWORD dwReserved);
590    END_INTERFACE
591  } IMarshal2Vtbl;
592  struct IMarshal2 {
593    CONST_VTBL struct IMarshal2Vtbl *lpVtbl;
594  };
595#ifdef COBJMACROS
596#define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
597#define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)
598#define IMarshal2_Release(This) (This)->lpVtbl->Release(This)
599#define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
600#define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
601#define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
602#define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
603#define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
604#define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
605#endif
606#endif
607#endif
608
609#ifndef __IMalloc_INTERFACE_DEFINED__
610#define __IMalloc_INTERFACE_DEFINED__
611  typedef IMalloc *LPMALLOC;
612
613  EXTERN_C const IID IID_IMalloc;
614#if defined(__cplusplus) && !defined(CINTERFACE)
615  struct IMalloc : public IUnknown {
616  public:
617    virtual void *WINAPI Alloc(SIZE_T cb) = 0;
618    virtual void *WINAPI Realloc(void *pv,SIZE_T cb) = 0;
619    virtual void WINAPI Free(void *pv) = 0;
620    virtual SIZE_T WINAPI GetSize(void *pv) = 0;
621    virtual int WINAPI DidAlloc(void *pv) = 0;
622    virtual void WINAPI HeapMinimize(void) = 0;
623  };
624#else
625  typedef struct IMallocVtbl {
626    BEGIN_INTERFACE
627      HRESULT (WINAPI *QueryInterface)(IMalloc *This,REFIID riid,void **ppvObject);
628      ULONG (WINAPI *AddRef)(IMalloc *This);
629      ULONG (WINAPI *Release)(IMalloc *This);
630      void *(WINAPI *Alloc)(IMalloc *This,SIZE_T cb);
631      void *(WINAPI *Realloc)(IMalloc *This,void *pv,SIZE_T cb);
632      void (WINAPI *Free)(IMalloc *This,void *pv);
633      SIZE_T (WINAPI *GetSize)(IMalloc *This,void *pv);
634      int (WINAPI *DidAlloc)(IMalloc *This,void *pv);
635      void (WINAPI *HeapMinimize)(IMalloc *This);
636    END_INTERFACE
637  } IMallocVtbl;
638  struct IMalloc {
639    CONST_VTBL struct IMallocVtbl *lpVtbl;
640  };
641#ifdef COBJMACROS
642#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
643#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
644#define IMalloc_Release(This) (This)->lpVtbl->Release(This)
645#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
646#define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
647#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
648#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
649#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
650#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
651#endif
652#endif
653  void *WINAPI IMalloc_Alloc_Proxy(IMalloc *This,SIZE_T cb);
654  void __RPC_STUB IMalloc_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
655  void *WINAPI IMalloc_Realloc_Proxy(IMalloc *This,void *pv,SIZE_T cb);
656  void __RPC_STUB IMalloc_Realloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
657  void WINAPI IMalloc_Free_Proxy(IMalloc *This,void *pv);
658  void __RPC_STUB IMalloc_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
659  SIZE_T WINAPI IMalloc_GetSize_Proxy(IMalloc *This,void *pv);
660  void __RPC_STUB IMalloc_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
661  int WINAPI IMalloc_DidAlloc_Proxy(IMalloc *This,void *pv);
662  void __RPC_STUB IMalloc_DidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
663  void WINAPI IMalloc_HeapMinimize_Proxy(IMalloc *This);
664  void __RPC_STUB IMalloc_HeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
665#endif
666
667#ifndef __IMallocSpy_INTERFACE_DEFINED__
668#define __IMallocSpy_INTERFACE_DEFINED__
669  typedef IMallocSpy *LPMALLOCSPY;
670
671  EXTERN_C const IID IID_IMallocSpy;
672#if defined(__cplusplus) && !defined(CINTERFACE)
673  struct IMallocSpy : public IUnknown {
674  public:
675    virtual SIZE_T WINAPI PreAlloc(SIZE_T cbRequest) = 0;
676    virtual void *WINAPI PostAlloc(void *pActual) = 0;
677    virtual void *WINAPI PreFree(void *pRequest,WINBOOL fSpyed) = 0;
678    virtual void WINAPI PostFree(WINBOOL fSpyed) = 0;
679    virtual SIZE_T WINAPI PreRealloc(void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) = 0;
680    virtual void *WINAPI PostRealloc(void *pActual,WINBOOL fSpyed) = 0;
681    virtual void *WINAPI PreGetSize(void *pRequest,WINBOOL fSpyed) = 0;
682    virtual SIZE_T WINAPI PostGetSize(SIZE_T cbActual,WINBOOL fSpyed) = 0;
683    virtual void *WINAPI PreDidAlloc(void *pRequest,WINBOOL fSpyed) = 0;
684    virtual int WINAPI PostDidAlloc(void *pRequest,WINBOOL fSpyed,int fActual) = 0;
685    virtual void WINAPI PreHeapMinimize(void) = 0;
686    virtual void WINAPI PostHeapMinimize(void) = 0;
687  };
688#else
689  typedef struct IMallocSpyVtbl {
690    BEGIN_INTERFACE
691      HRESULT (WINAPI *QueryInterface)(IMallocSpy *This,REFIID riid,void **ppvObject);
692      ULONG (WINAPI *AddRef)(IMallocSpy *This);
693      ULONG (WINAPI *Release)(IMallocSpy *This);
694      SIZE_T (WINAPI *PreAlloc)(IMallocSpy *This,SIZE_T cbRequest);
695      void *(WINAPI *PostAlloc)(IMallocSpy *This,void *pActual);
696      void *(WINAPI *PreFree)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
697      void (WINAPI *PostFree)(IMallocSpy *This,WINBOOL fSpyed);
698      SIZE_T (WINAPI *PreRealloc)(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
699      void *(WINAPI *PostRealloc)(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
700      void *(WINAPI *PreGetSize)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
701      SIZE_T (WINAPI *PostGetSize)(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
702      void *(WINAPI *PreDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
703      int (WINAPI *PostDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
704      void (WINAPI *PreHeapMinimize)(IMallocSpy *This);
705      void (WINAPI *PostHeapMinimize)(IMallocSpy *This);
706    END_INTERFACE
707  } IMallocSpyVtbl;
708  struct IMallocSpy {
709    CONST_VTBL struct IMallocSpyVtbl *lpVtbl;
710  };
711#ifdef COBJMACROS
712#define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
713#define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
714#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
715#define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest)
716#define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual)
717#define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed)
718#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
719#define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
720#define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed)
721#define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed)
722#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
723#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
724#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
725#define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This)
726#define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This)
727#endif
728#endif
729  SIZE_T WINAPI IMallocSpy_PreAlloc_Proxy(IMallocSpy *This,SIZE_T cbRequest);
730  void __RPC_STUB IMallocSpy_PreAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
731  void *WINAPI IMallocSpy_PostAlloc_Proxy(IMallocSpy *This,void *pActual);
732  void __RPC_STUB IMallocSpy_PostAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
733  void *WINAPI IMallocSpy_PreFree_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
734  void __RPC_STUB IMallocSpy_PreFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
735  void WINAPI IMallocSpy_PostFree_Proxy(IMallocSpy *This,WINBOOL fSpyed);
736  void __RPC_STUB IMallocSpy_PostFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
737  SIZE_T WINAPI IMallocSpy_PreRealloc_Proxy(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
738  void __RPC_STUB IMallocSpy_PreRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
739  void *WINAPI IMallocSpy_PostRealloc_Proxy(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
740  void __RPC_STUB IMallocSpy_PostRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
741  void *WINAPI IMallocSpy_PreGetSize_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
742  void __RPC_STUB IMallocSpy_PreGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
743  SIZE_T WINAPI IMallocSpy_PostGetSize_Proxy(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
744  void __RPC_STUB IMallocSpy_PostGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
745  void *WINAPI IMallocSpy_PreDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
746  void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
747  int WINAPI IMallocSpy_PostDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
748  void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
749  void WINAPI IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy *This);
750  void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
751  void WINAPI IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy *This);
752  void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
753#endif
754
755#ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
756#define __IStdMarshalInfo_INTERFACE_DEFINED__
757  typedef IStdMarshalInfo *LPSTDMARSHALINFO;
758
759  EXTERN_C const IID IID_IStdMarshalInfo;
760#if defined(__cplusplus) && !defined(CINTERFACE)
761  struct IStdMarshalInfo : public IUnknown {
762  public:
763    virtual HRESULT WINAPI GetClassForHandler(DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) = 0;
764  };
765#else
766  typedef struct IStdMarshalInfoVtbl {
767    BEGIN_INTERFACE
768      HRESULT (WINAPI *QueryInterface)(IStdMarshalInfo *This,REFIID riid,void **ppvObject);
769      ULONG (WINAPI *AddRef)(IStdMarshalInfo *This);
770      ULONG (WINAPI *Release)(IStdMarshalInfo *This);
771      HRESULT (WINAPI *GetClassForHandler)(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
772    END_INTERFACE
773  } IStdMarshalInfoVtbl;
774  struct IStdMarshalInfo {
775    CONST_VTBL struct IStdMarshalInfoVtbl *lpVtbl;
776  };
777#ifdef COBJMACROS
778#define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
779#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
780#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
781#define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
782#endif
783#endif
784  HRESULT WINAPI IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
785  void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
786#endif
787
788#ifndef __IExternalConnection_INTERFACE_DEFINED__
789#define __IExternalConnection_INTERFACE_DEFINED__
790  typedef IExternalConnection *LPEXTERNALCONNECTION;
791
792  typedef enum tagEXTCONN {
793    EXTCONN_STRONG = 0x1,EXTCONN_WEAK = 0x2,EXTCONN_CALLABLE = 0x4
794  } EXTCONN;
795
796  EXTERN_C const IID IID_IExternalConnection;
797#if defined(__cplusplus) && !defined(CINTERFACE)
798  struct IExternalConnection : public IUnknown {
799  public:
800    virtual DWORD WINAPI AddConnection(DWORD extconn,DWORD reserved) = 0;
801    virtual DWORD WINAPI ReleaseConnection(DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) = 0;
802  };
803#else
804  typedef struct IExternalConnectionVtbl {
805    BEGIN_INTERFACE
806      HRESULT (WINAPI *QueryInterface)(IExternalConnection *This,REFIID riid,void **ppvObject);
807      ULONG (WINAPI *AddRef)(IExternalConnection *This);
808      ULONG (WINAPI *Release)(IExternalConnection *This);
809      DWORD (WINAPI *AddConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved);
810      DWORD (WINAPI *ReleaseConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
811    END_INTERFACE
812  } IExternalConnectionVtbl;
813  struct IExternalConnection {
814    CONST_VTBL struct IExternalConnectionVtbl *lpVtbl;
815  };
816#ifdef COBJMACROS
817#define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
818#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
819#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
820#define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)
821#define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
822#endif
823#endif
824  DWORD WINAPI IExternalConnection_AddConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved);
825  void __RPC_STUB IExternalConnection_AddConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
826  DWORD WINAPI IExternalConnection_ReleaseConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
827  void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
828#endif
829
830  typedef IMultiQI *LPMULTIQI;
831
832  typedef struct tagMULTI_QI {
833    const IID *pIID;
834    IUnknown *pItf;
835    HRESULT hr;
836  } MULTI_QI;
837
838  extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
839  extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
840#ifndef __IMultiQI_INTERFACE_DEFINED__
841#define __IMultiQI_INTERFACE_DEFINED__
842  EXTERN_C const IID IID_IMultiQI;
843#if defined(__cplusplus) && !defined(CINTERFACE)
844  struct IMultiQI : public IUnknown {
845  public:
846    virtual HRESULT WINAPI QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
847  };
848#else
849  typedef struct IMultiQIVtbl {
850    BEGIN_INTERFACE
851      HRESULT (WINAPI *QueryInterface)(IMultiQI *This,REFIID riid,void **ppvObject);
852      ULONG (WINAPI *AddRef)(IMultiQI *This);
853      ULONG (WINAPI *Release)(IMultiQI *This);
854      HRESULT (WINAPI *QueryMultipleInterfaces)(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
855    END_INTERFACE
856  } IMultiQIVtbl;
857  struct IMultiQI {
858    CONST_VTBL struct IMultiQIVtbl *lpVtbl;
859  };
860#ifdef COBJMACROS
861#define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
862#define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
863#define IMultiQI_Release(This) (This)->lpVtbl->Release(This)
864#define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)
865#endif
866#endif
867  HRESULT WINAPI IMultiQI_QueryMultipleInterfaces_Proxy(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
868  void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
869#endif
870
871#ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
872#define __AsyncIMultiQI_INTERFACE_DEFINED__
873  EXTERN_C const IID IID_AsyncIMultiQI;
874#if defined(__cplusplus) && !defined(CINTERFACE)
875
876  struct AsyncIMultiQI : public IUnknown {
877  public:
878    virtual HRESULT WINAPI Begin_QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
879    virtual HRESULT WINAPI Finish_QueryMultipleInterfaces(MULTI_QI *pMQIs) = 0;
880  };
881#else
882  typedef struct AsyncIMultiQIVtbl {
883    BEGIN_INTERFACE
884      HRESULT (WINAPI *QueryInterface)(AsyncIMultiQI *This,REFIID riid,void **ppvObject);
885      ULONG (WINAPI *AddRef)(AsyncIMultiQI *This);
886      ULONG (WINAPI *Release)(AsyncIMultiQI *This);
887      HRESULT (WINAPI *Begin_QueryMultipleInterfaces)(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
888      HRESULT (WINAPI *Finish_QueryMultipleInterfaces)(AsyncIMultiQI *This,MULTI_QI *pMQIs);
889    END_INTERFACE
890  } AsyncIMultiQIVtbl;
891  struct AsyncIMultiQI {
892    CONST_VTBL struct AsyncIMultiQIVtbl *lpVtbl;
893  };
894#ifdef COBJMACROS
895#define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
896#define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
897#define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)
898#define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
899#define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)
900#endif
901#endif
902  HRESULT WINAPI AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
903  void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
904  HRESULT WINAPI AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,MULTI_QI *pMQIs);
905  void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
906#endif
907
908#ifndef __IInternalUnknown_INTERFACE_DEFINED__
909#define __IInternalUnknown_INTERFACE_DEFINED__
910  EXTERN_C const IID IID_IInternalUnknown;
911#if defined(__cplusplus) && !defined(CINTERFACE)
912  struct IInternalUnknown : public IUnknown {
913  public:
914    virtual HRESULT WINAPI QueryInternalInterface(REFIID riid,void **ppv) = 0;
915  };
916#else
917  typedef struct IInternalUnknownVtbl {
918    BEGIN_INTERFACE
919      HRESULT (WINAPI *QueryInterface)(IInternalUnknown *This,REFIID riid,void **ppvObject);
920      ULONG (WINAPI *AddRef)(IInternalUnknown *This);
921      ULONG (WINAPI *Release)(IInternalUnknown *This);
922      HRESULT (WINAPI *QueryInternalInterface)(IInternalUnknown *This,REFIID riid,void **ppv);
923    END_INTERFACE
924  } IInternalUnknownVtbl;
925  struct IInternalUnknown {
926    CONST_VTBL struct IInternalUnknownVtbl *lpVtbl;
927  };
928#ifdef COBJMACROS
929#define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
930#define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
931#define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)
932#define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)
933#endif
934#endif
935  HRESULT WINAPI IInternalUnknown_QueryInternalInterface_Proxy(IInternalUnknown *This,REFIID riid,void **ppv);
936  void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
937#endif
938/*****************************************************************************
939 * IEnumUnknown interface
940 */
941#ifndef __IEnumUnknown_INTERFACE_DEFINED__
942#define __IEnumUnknown_INTERFACE_DEFINED__
943
944typedef IEnumUnknown *LPENUMUNKNOWN;
945DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
946#if defined(__cplusplus) && !defined(CINTERFACE)
947MIDL_INTERFACE("00000100-0000-0000-c000-000000000046")
948IEnumUnknown : public IUnknown
949{
950    virtual HRESULT STDMETHODCALLTYPE Next(
951        ULONG celt,
952        IUnknown **rgelt,
953        ULONG *pceltFetched) = 0;
954
955    virtual HRESULT STDMETHODCALLTYPE Skip(
956        ULONG celt) = 0;
957
958    virtual HRESULT STDMETHODCALLTYPE Reset(
959        ) = 0;
960
961    virtual HRESULT STDMETHODCALLTYPE Clone(
962        IEnumUnknown **ppenum) = 0;
963
964};
965#ifdef __CRT_UUID_DECL
966__CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
967#endif
968#else
969typedef struct IEnumUnknownVtbl {
970    BEGIN_INTERFACE
971
972    /*** IUnknown methods ***/
973    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
974        IEnumUnknown* This,
975        REFIID riid,
976        void **ppvObject);
977
978    ULONG (STDMETHODCALLTYPE *AddRef)(
979        IEnumUnknown* This);
980
981    ULONG (STDMETHODCALLTYPE *Release)(
982        IEnumUnknown* This);
983
984    /*** IEnumUnknown methods ***/
985    HRESULT (STDMETHODCALLTYPE *Next)(
986        IEnumUnknown* This,
987        ULONG celt,
988        IUnknown **rgelt,
989        ULONG *pceltFetched);
990
991    HRESULT (STDMETHODCALLTYPE *Skip)(
992        IEnumUnknown* This,
993        ULONG celt);
994
995    HRESULT (STDMETHODCALLTYPE *Reset)(
996        IEnumUnknown* This);
997
998    HRESULT (STDMETHODCALLTYPE *Clone)(
999        IEnumUnknown* This,
1000        IEnumUnknown **ppenum);
1001
1002    END_INTERFACE
1003} IEnumUnknownVtbl;
1004interface IEnumUnknown {
1005    CONST_VTBL IEnumUnknownVtbl* lpVtbl;
1006};
1007
1008#ifdef COBJMACROS
1009#ifndef WIDL_C_INLINE_WRAPPERS
1010/*** IUnknown methods ***/
1011#define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1012#define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
1013#define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
1014/*** IEnumUnknown methods ***/
1015#define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
1016#define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
1017#define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
1018#define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
1019#else
1020/*** IUnknown methods ***/
1021static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) {
1022    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1023}
1024static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) {
1025    return This->lpVtbl->AddRef(This);
1026}
1027static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) {
1028    return This->lpVtbl->Release(This);
1029}
1030/*** IEnumUnknown methods ***/
1031static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) {
1032    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1033}
1034static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) {
1035    return This->lpVtbl->Skip(This,celt);
1036}
1037static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) {
1038    return This->lpVtbl->Reset(This);
1039}
1040static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) {
1041    return This->lpVtbl->Clone(This,ppenum);
1042}
1043#endif
1044#endif
1045
1046#endif
1047
1048HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(
1049    IEnumUnknown* This,
1050    ULONG celt,
1051    IUnknown **rgelt,
1052    ULONG *pceltFetched);
1053void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
1054    IRpcStubBuffer* This,
1055    IRpcChannelBuffer* pRpcChannelBuffer,
1056    PRPC_MESSAGE pRpcMessage,
1057    DWORD* pdwStubPhase);
1058HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(
1059    IEnumUnknown* This,
1060    ULONG celt);
1061void __RPC_STUB IEnumUnknown_Skip_Stub(
1062    IRpcStubBuffer* This,
1063    IRpcChannelBuffer* pRpcChannelBuffer,
1064    PRPC_MESSAGE pRpcMessage,
1065    DWORD* pdwStubPhase);
1066HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(
1067    IEnumUnknown* This);
1068void __RPC_STUB IEnumUnknown_Reset_Stub(
1069    IRpcStubBuffer* This,
1070    IRpcChannelBuffer* pRpcChannelBuffer,
1071    PRPC_MESSAGE pRpcMessage,
1072    DWORD* pdwStubPhase);
1073HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(
1074    IEnumUnknown* This,
1075    IEnumUnknown **ppenum);
1076void __RPC_STUB IEnumUnknown_Clone_Stub(
1077    IRpcStubBuffer* This,
1078    IRpcChannelBuffer* pRpcChannelBuffer,
1079    PRPC_MESSAGE pRpcMessage,
1080    DWORD* pdwStubPhase);
1081HRESULT CALLBACK IEnumUnknown_Next_Proxy(
1082    IEnumUnknown* This,
1083    ULONG celt,
1084    IUnknown **rgelt,
1085    ULONG *pceltFetched);
1086HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
1087    IEnumUnknown* This,
1088    ULONG celt,
1089    IUnknown **rgelt,
1090    ULONG *pceltFetched);
1091
1092#endif  /* __IEnumUnknown_INTERFACE_DEFINED__ */
1093
1094/*****************************************************************************
1095 * IBindCtx interface
1096 */
1097#ifndef __IBindCtx_INTERFACE_DEFINED__
1098#define __IBindCtx_INTERFACE_DEFINED__
1099
1100typedef IBindCtx *LPBC;
1101typedef IBindCtx *LPBINDCTX;
1102typedef struct tagBIND_OPTS {
1103    DWORD cbStruct;
1104    DWORD grfFlags;
1105    DWORD grfMode;
1106    DWORD dwTickCountDeadline;
1107} BIND_OPTS;
1108typedef struct tagBIND_OPTS *LPBIND_OPTS;
1109#if defined(__cplusplus)
1110  typedef struct tagBIND_OPTS2 : tagBIND_OPTS {
1111    DWORD dwTrackFlags;
1112    DWORD dwClassContext;
1113    LCID locale;
1114    COSERVERINFO *pServerInfo;
1115  } BIND_OPTS2, *LPBIND_OPTS2;
1116#else
1117typedef struct tagBIND_OPTS2 {
1118    DWORD cbStruct;
1119    DWORD grfFlags;
1120    DWORD grfMode;
1121    DWORD dwTickCountDeadline;
1122    DWORD dwTrackFlags;
1123    DWORD dwClassContext;
1124    LCID locale;
1125    COSERVERINFO *pServerInfo;
1126} BIND_OPTS2;
1127typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
1128#endif
1129#if defined(__cplusplus)
1130  typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {
1131    HWND hwnd;
1132  } BIND_OPTS3, *LPBIND_OPTS3;
1133#else
1134typedef struct tagBIND_OPTS3 {
1135    DWORD cbStruct;
1136    DWORD grfFlags;
1137    DWORD grfMode;
1138    DWORD dwTickCountDeadline;
1139    DWORD dwTrackFlags;
1140    DWORD dwClassContext;
1141    LCID locale;
1142    COSERVERINFO *pServerInfo;
1143    HWND hwnd;
1144} BIND_OPTS3;
1145typedef struct tagBIND_OPTS3 *LPBIND_OPTS3;
1146#endif
1147typedef enum tagBIND_FLAGS {
1148    BIND_MAYBOTHERUSER = 1,
1149    BIND_JUSTTESTEXISTENCE = 2
1150} BIND_FLAGS;
1151DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1152#if defined(__cplusplus) && !defined(CINTERFACE)
1153MIDL_INTERFACE("0000000e-0000-0000-c000-000000000046")
1154IBindCtx : public IUnknown
1155{
1156    virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
1157        IUnknown *punk) = 0;
1158
1159    virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
1160        IUnknown *punk) = 0;
1161
1162    virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
1163        ) = 0;
1164
1165    virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
1166        BIND_OPTS *pbindopts) = 0;
1167
1168    virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
1169        BIND_OPTS *pbindopts) = 0;
1170
1171    virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
1172        IRunningObjectTable **pprot) = 0;
1173
1174    virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
1175        LPOLESTR pszKey,
1176        IUnknown *punk) = 0;
1177
1178    virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
1179        LPOLESTR pszKey,
1180        IUnknown **ppunk) = 0;
1181
1182    virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
1183        IEnumString **ppenum) = 0;
1184
1185    virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
1186        LPOLESTR pszKey) = 0;
1187
1188};
1189#ifdef __CRT_UUID_DECL
1190__CRT_UUID_DECL(IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1191#endif
1192#else
1193typedef struct IBindCtxVtbl {
1194    BEGIN_INTERFACE
1195
1196    /*** IUnknown methods ***/
1197    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1198        IBindCtx* This,
1199        REFIID riid,
1200        void **ppvObject);
1201
1202    ULONG (STDMETHODCALLTYPE *AddRef)(
1203        IBindCtx* This);
1204
1205    ULONG (STDMETHODCALLTYPE *Release)(
1206        IBindCtx* This);
1207
1208    /*** IBindCtx methods ***/
1209    HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
1210        IBindCtx* This,
1211        IUnknown *punk);
1212
1213    HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
1214        IBindCtx* This,
1215        IUnknown *punk);
1216
1217    HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
1218        IBindCtx* This);
1219
1220    HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
1221        IBindCtx* This,
1222        BIND_OPTS *pbindopts);
1223
1224    HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
1225        IBindCtx* This,
1226        BIND_OPTS *pbindopts);
1227
1228    HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
1229        IBindCtx* This,
1230        IRunningObjectTable **pprot);
1231
1232    HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
1233        IBindCtx* This,
1234        LPOLESTR pszKey,
1235        IUnknown *punk);
1236
1237    HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
1238        IBindCtx* This,
1239        LPOLESTR pszKey,
1240        IUnknown **ppunk);
1241
1242    HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
1243        IBindCtx* This,
1244        IEnumString **ppenum);
1245
1246    HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
1247        IBindCtx* This,
1248        LPOLESTR pszKey);
1249
1250    END_INTERFACE
1251} IBindCtxVtbl;
1252interface IBindCtx {
1253    CONST_VTBL IBindCtxVtbl* lpVtbl;
1254};
1255
1256#ifdef COBJMACROS
1257#ifndef WIDL_C_INLINE_WRAPPERS
1258/*** IUnknown methods ***/
1259#define IBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1260#define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
1261#define IBindCtx_Release(This) (This)->lpVtbl->Release(This)
1262/*** IBindCtx methods ***/
1263#define IBindCtx_RegisterObjectBound(This,punk) (This)->lpVtbl->RegisterObjectBound(This,punk)
1264#define IBindCtx_RevokeObjectBound(This,punk) (This)->lpVtbl->RevokeObjectBound(This,punk)
1265#define IBindCtx_ReleaseBoundObjects(This) (This)->lpVtbl->ReleaseBoundObjects(This)
1266#define IBindCtx_SetBindOptions(This,pbindopts) (This)->lpVtbl->SetBindOptions(This,pbindopts)
1267#define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts)
1268#define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
1269#define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
1270#define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
1271#define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
1272#define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey)
1273#else
1274/*** IUnknown methods ***/
1275static FORCEINLINE HRESULT IBindCtx_QueryInterface(IBindCtx* This,REFIID riid,void **ppvObject) {
1276    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1277}
1278static FORCEINLINE ULONG IBindCtx_AddRef(IBindCtx* This) {
1279    return This->lpVtbl->AddRef(This);
1280}
1281static FORCEINLINE ULONG IBindCtx_Release(IBindCtx* This) {
1282    return This->lpVtbl->Release(This);
1283}
1284/*** IBindCtx methods ***/
1285static FORCEINLINE HRESULT IBindCtx_RegisterObjectBound(IBindCtx* This,IUnknown *punk) {
1286    return This->lpVtbl->RegisterObjectBound(This,punk);
1287}
1288static FORCEINLINE HRESULT IBindCtx_RevokeObjectBound(IBindCtx* This,IUnknown *punk) {
1289    return This->lpVtbl->RevokeObjectBound(This,punk);
1290}
1291static FORCEINLINE HRESULT IBindCtx_ReleaseBoundObjects(IBindCtx* This) {
1292    return This->lpVtbl->ReleaseBoundObjects(This);
1293}
1294static FORCEINLINE HRESULT IBindCtx_SetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
1295    return This->lpVtbl->SetBindOptions(This,pbindopts);
1296}
1297static FORCEINLINE HRESULT IBindCtx_GetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
1298    return This->lpVtbl->GetBindOptions(This,pbindopts);
1299}
1300static FORCEINLINE HRESULT IBindCtx_GetRunningObjectTable(IBindCtx* This,IRunningObjectTable **pprot) {
1301    return This->lpVtbl->GetRunningObjectTable(This,pprot);
1302}
1303static FORCEINLINE HRESULT IBindCtx_RegisterObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown *punk) {
1304    return This->lpVtbl->RegisterObjectParam(This,pszKey,punk);
1305}
1306static FORCEINLINE HRESULT IBindCtx_GetObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown **ppunk) {
1307    return This->lpVtbl->GetObjectParam(This,pszKey,ppunk);
1308}
1309static FORCEINLINE HRESULT IBindCtx_EnumObjectParam(IBindCtx* This,IEnumString **ppenum) {
1310    return This->lpVtbl->EnumObjectParam(This,ppenum);
1311}
1312static FORCEINLINE HRESULT IBindCtx_RevokeObjectParam(IBindCtx* This,LPOLESTR pszKey) {
1313    return This->lpVtbl->RevokeObjectParam(This,pszKey);
1314}
1315#endif
1316#endif
1317
1318#endif
1319
1320HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(
1321    IBindCtx* This,
1322    IUnknown *punk);
1323void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
1324    IRpcStubBuffer* This,
1325    IRpcChannelBuffer* pRpcChannelBuffer,
1326    PRPC_MESSAGE pRpcMessage,
1327    DWORD* pdwStubPhase);
1328HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(
1329    IBindCtx* This,
1330    IUnknown *punk);
1331void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
1332    IRpcStubBuffer* This,
1333    IRpcChannelBuffer* pRpcChannelBuffer,
1334    PRPC_MESSAGE pRpcMessage,
1335    DWORD* pdwStubPhase);
1336HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(
1337    IBindCtx* This);
1338void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
1339    IRpcStubBuffer* This,
1340    IRpcChannelBuffer* pRpcChannelBuffer,
1341    PRPC_MESSAGE pRpcMessage,
1342    DWORD* pdwStubPhase);
1343HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy(
1344    IBindCtx* This,
1345    BIND_OPTS2 *pbindopts);
1346void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
1347    IRpcStubBuffer* This,
1348    IRpcChannelBuffer* pRpcChannelBuffer,
1349    PRPC_MESSAGE pRpcMessage,
1350    DWORD* pdwStubPhase);
1351HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy(
1352    IBindCtx* This,
1353    BIND_OPTS2 *pbindopts);
1354void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
1355    IRpcStubBuffer* This,
1356    IRpcChannelBuffer* pRpcChannelBuffer,
1357    PRPC_MESSAGE pRpcMessage,
1358    DWORD* pdwStubPhase);
1359HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(
1360    IBindCtx* This,
1361    IRunningObjectTable **pprot);
1362void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
1363    IRpcStubBuffer* This,
1364    IRpcChannelBuffer* pRpcChannelBuffer,
1365    PRPC_MESSAGE pRpcMessage,
1366    DWORD* pdwStubPhase);
1367HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(
1368    IBindCtx* This,
1369    LPOLESTR pszKey,
1370    IUnknown *punk);
1371void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
1372    IRpcStubBuffer* This,
1373    IRpcChannelBuffer* pRpcChannelBuffer,
1374    PRPC_MESSAGE pRpcMessage,
1375    DWORD* pdwStubPhase);
1376HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(
1377    IBindCtx* This,
1378    LPOLESTR pszKey,
1379    IUnknown **ppunk);
1380void __RPC_STUB IBindCtx_GetObjectParam_Stub(
1381    IRpcStubBuffer* This,
1382    IRpcChannelBuffer* pRpcChannelBuffer,
1383    PRPC_MESSAGE pRpcMessage,
1384    DWORD* pdwStubPhase);
1385HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(
1386    IBindCtx* This,
1387    IEnumString **ppenum);
1388void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
1389    IRpcStubBuffer* This,
1390    IRpcChannelBuffer* pRpcChannelBuffer,
1391    PRPC_MESSAGE pRpcMessage,
1392    DWORD* pdwStubPhase);
1393HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(
1394    IBindCtx* This,
1395    LPOLESTR pszKey);
1396void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
1397    IRpcStubBuffer* This,
1398    IRpcChannelBuffer* pRpcChannelBuffer,
1399    PRPC_MESSAGE pRpcMessage,
1400    DWORD* pdwStubPhase);
1401HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
1402    IBindCtx* This,
1403    BIND_OPTS *pbindopts);
1404HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
1405    IBindCtx* This,
1406    BIND_OPTS2 *pbindopts);
1407HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
1408    IBindCtx* This,
1409    BIND_OPTS *pbindopts);
1410HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
1411    IBindCtx* This,
1412    BIND_OPTS2 *pbindopts);
1413
1414#endif  /* __IBindCtx_INTERFACE_DEFINED__ */
1415
1416/*****************************************************************************
1417 * IEnumMoniker interface
1418 */
1419#ifndef __IEnumMoniker_INTERFACE_DEFINED__
1420#define __IEnumMoniker_INTERFACE_DEFINED__
1421
1422typedef IEnumMoniker *LPENUMMONIKER;
1423DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1424#if defined(__cplusplus) && !defined(CINTERFACE)
1425MIDL_INTERFACE("00000102-0000-0000-c000-000000000046")
1426IEnumMoniker : public IUnknown
1427{
1428    virtual HRESULT STDMETHODCALLTYPE Next(
1429        ULONG celt,
1430        IMoniker **rgelt,
1431        ULONG *pceltFetched) = 0;
1432
1433    virtual HRESULT STDMETHODCALLTYPE Skip(
1434        ULONG celt) = 0;
1435
1436    virtual HRESULT STDMETHODCALLTYPE Reset(
1437        ) = 0;
1438
1439    virtual HRESULT STDMETHODCALLTYPE Clone(
1440        IEnumMoniker **ppenum) = 0;
1441
1442};
1443#ifdef __CRT_UUID_DECL
1444__CRT_UUID_DECL(IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1445#endif
1446#else
1447typedef struct IEnumMonikerVtbl {
1448    BEGIN_INTERFACE
1449
1450    /*** IUnknown methods ***/
1451    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1452        IEnumMoniker* This,
1453        REFIID riid,
1454        void **ppvObject);
1455
1456    ULONG (STDMETHODCALLTYPE *AddRef)(
1457        IEnumMoniker* This);
1458
1459    ULONG (STDMETHODCALLTYPE *Release)(
1460        IEnumMoniker* This);
1461
1462    /*** IEnumMoniker methods ***/
1463    HRESULT (STDMETHODCALLTYPE *Next)(
1464        IEnumMoniker* This,
1465        ULONG celt,
1466        IMoniker **rgelt,
1467        ULONG *pceltFetched);
1468
1469    HRESULT (STDMETHODCALLTYPE *Skip)(
1470        IEnumMoniker* This,
1471        ULONG celt);
1472
1473    HRESULT (STDMETHODCALLTYPE *Reset)(
1474        IEnumMoniker* This);
1475
1476    HRESULT (STDMETHODCALLTYPE *Clone)(
1477        IEnumMoniker* This,
1478        IEnumMoniker **ppenum);
1479
1480    END_INTERFACE
1481} IEnumMonikerVtbl;
1482interface IEnumMoniker {
1483    CONST_VTBL IEnumMonikerVtbl* lpVtbl;
1484};
1485
1486#ifdef COBJMACROS
1487#ifndef WIDL_C_INLINE_WRAPPERS
1488/*** IUnknown methods ***/
1489#define IEnumMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1490#define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
1491#define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
1492/*** IEnumMoniker methods ***/
1493#define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
1494#define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
1495#define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
1496#define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
1497#else
1498/*** IUnknown methods ***/
1499static FORCEINLINE HRESULT IEnumMoniker_QueryInterface(IEnumMoniker* This,REFIID riid,void **ppvObject) {
1500    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1501}
1502static FORCEINLINE ULONG IEnumMoniker_AddRef(IEnumMoniker* This) {
1503    return This->lpVtbl->AddRef(This);
1504}
1505static FORCEINLINE ULONG IEnumMoniker_Release(IEnumMoniker* This) {
1506    return This->lpVtbl->Release(This);
1507}
1508/*** IEnumMoniker methods ***/
1509static FORCEINLINE HRESULT IEnumMoniker_Next(IEnumMoniker* This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched) {
1510    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1511}
1512static FORCEINLINE HRESULT IEnumMoniker_Skip(IEnumMoniker* This,ULONG celt) {
1513    return This->lpVtbl->Skip(This,celt);
1514}
1515static FORCEINLINE HRESULT IEnumMoniker_Reset(IEnumMoniker* This) {
1516    return This->lpVtbl->Reset(This);
1517}
1518static FORCEINLINE HRESULT IEnumMoniker_Clone(IEnumMoniker* This,IEnumMoniker **ppenum) {
1519    return This->lpVtbl->Clone(This,ppenum);
1520}
1521#endif
1522#endif
1523
1524#endif
1525
1526HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(
1527    IEnumMoniker* This,
1528    ULONG celt,
1529    IMoniker **rgelt,
1530    ULONG *pceltFetched);
1531void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
1532    IRpcStubBuffer* This,
1533    IRpcChannelBuffer* pRpcChannelBuffer,
1534    PRPC_MESSAGE pRpcMessage,
1535    DWORD* pdwStubPhase);
1536HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(
1537    IEnumMoniker* This,
1538    ULONG celt);
1539void __RPC_STUB IEnumMoniker_Skip_Stub(
1540    IRpcStubBuffer* This,
1541    IRpcChannelBuffer* pRpcChannelBuffer,
1542    PRPC_MESSAGE pRpcMessage,
1543    DWORD* pdwStubPhase);
1544HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(
1545    IEnumMoniker* This);
1546void __RPC_STUB IEnumMoniker_Reset_Stub(
1547    IRpcStubBuffer* This,
1548    IRpcChannelBuffer* pRpcChannelBuffer,
1549    PRPC_MESSAGE pRpcMessage,
1550    DWORD* pdwStubPhase);
1551HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(
1552    IEnumMoniker* This,
1553    IEnumMoniker **ppenum);
1554void __RPC_STUB IEnumMoniker_Clone_Stub(
1555    IRpcStubBuffer* This,
1556    IRpcChannelBuffer* pRpcChannelBuffer,
1557    PRPC_MESSAGE pRpcMessage,
1558    DWORD* pdwStubPhase);
1559HRESULT CALLBACK IEnumMoniker_Next_Proxy(
1560    IEnumMoniker* This,
1561    ULONG celt,
1562    IMoniker **rgelt,
1563    ULONG *pceltFetched);
1564HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
1565    IEnumMoniker* This,
1566    ULONG celt,
1567    IMoniker **rgelt,
1568    ULONG *pceltFetched);
1569
1570#endif  /* __IEnumMoniker_INTERFACE_DEFINED__ */
1571
1572#ifndef __IRunnableObject_INTERFACE_DEFINED__
1573#define __IRunnableObject_INTERFACE_DEFINED__
1574  typedef IRunnableObject *LPRUNNABLEOBJECT;
1575
1576  EXTERN_C const IID IID_IRunnableObject;
1577#if defined(__cplusplus) && !defined(CINTERFACE)
1578  struct IRunnableObject : public IUnknown {
1579  public:
1580    virtual HRESULT WINAPI GetRunningClass(LPCLSID lpClsid) = 0;
1581    virtual HRESULT WINAPI Run(LPBINDCTX pbc) = 0;
1582    virtual WINBOOL WINAPI IsRunning(void) = 0;
1583    virtual HRESULT WINAPI LockRunning(WINBOOL fLock,WINBOOL fLastUnlockCloses) = 0;
1584    virtual HRESULT WINAPI SetContainedObject(WINBOOL fContained) = 0;
1585  };
1586#else
1587  typedef struct IRunnableObjectVtbl {
1588    BEGIN_INTERFACE
1589      HRESULT (WINAPI *QueryInterface)(IRunnableObject *This,REFIID riid,void **ppvObject);
1590      ULONG (WINAPI *AddRef)(IRunnableObject *This);
1591      ULONG (WINAPI *Release)(IRunnableObject *This);
1592      HRESULT (WINAPI *GetRunningClass)(IRunnableObject *This,LPCLSID lpClsid);
1593      HRESULT (WINAPI *Run)(IRunnableObject *This,LPBINDCTX pbc);
1594      WINBOOL (WINAPI *IsRunning)(IRunnableObject *This);
1595      HRESULT (WINAPI *LockRunning)(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
1596      HRESULT (WINAPI *SetContainedObject)(IRunnableObject *This,WINBOOL fContained);
1597    END_INTERFACE
1598  } IRunnableObjectVtbl;
1599  struct IRunnableObject {
1600    CONST_VTBL struct IRunnableObjectVtbl *lpVtbl;
1601  };
1602#ifdef COBJMACROS
1603#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1604#define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1605#define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)
1606#define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)
1607#define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)
1608#define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)
1609#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
1610#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
1611#endif
1612#endif
1613  HRESULT WINAPI IRunnableObject_GetRunningClass_Proxy(IRunnableObject *This,LPCLSID lpClsid);
1614  void __RPC_STUB IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1615  HRESULT WINAPI IRunnableObject_Run_Proxy(IRunnableObject *This,LPBINDCTX pbc);
1616  void __RPC_STUB IRunnableObject_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1617  HRESULT WINAPI IRunnableObject_RemoteIsRunning_Proxy(IRunnableObject *This);
1618  void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1619  HRESULT WINAPI IRunnableObject_LockRunning_Proxy(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
1620  void __RPC_STUB IRunnableObject_LockRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1621  HRESULT WINAPI IRunnableObject_SetContainedObject_Proxy(IRunnableObject *This,WINBOOL fContained);
1622  void __RPC_STUB IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1623#endif
1624/*****************************************************************************
1625 * IRunningObjectTable interface
1626 */
1627#ifndef __IRunningObjectTable_INTERFACE_DEFINED__
1628#define __IRunningObjectTable_INTERFACE_DEFINED__
1629
1630typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
1631DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1632#if defined(__cplusplus) && !defined(CINTERFACE)
1633MIDL_INTERFACE("00000010-0000-0000-c000-000000000046")
1634IRunningObjectTable : public IUnknown
1635{
1636    virtual HRESULT STDMETHODCALLTYPE Register(
1637        DWORD grfFlags,
1638        IUnknown *punkObject,
1639        IMoniker *pmkObjectName,
1640        DWORD *pdwRegister) = 0;
1641
1642    virtual HRESULT STDMETHODCALLTYPE Revoke(
1643        DWORD dwRegister) = 0;
1644
1645    virtual HRESULT STDMETHODCALLTYPE IsRunning(
1646        IMoniker *pmkObjectName) = 0;
1647
1648    virtual HRESULT STDMETHODCALLTYPE GetObject(
1649        IMoniker *pmkObjectName,
1650        IUnknown **ppunkObject) = 0;
1651
1652    virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
1653        DWORD dwRegister,
1654        FILETIME *pfiletime) = 0;
1655
1656    virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
1657        IMoniker *pmkObjectName,
1658        FILETIME *pfiletime) = 0;
1659
1660    virtual HRESULT STDMETHODCALLTYPE EnumRunning(
1661        IEnumMoniker **ppenumMoniker) = 0;
1662
1663};
1664#ifdef __CRT_UUID_DECL
1665__CRT_UUID_DECL(IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1666#endif
1667#else
1668typedef struct IRunningObjectTableVtbl {
1669    BEGIN_INTERFACE
1670
1671    /*** IUnknown methods ***/
1672    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1673        IRunningObjectTable* This,
1674        REFIID riid,
1675        void **ppvObject);
1676
1677    ULONG (STDMETHODCALLTYPE *AddRef)(
1678        IRunningObjectTable* This);
1679
1680    ULONG (STDMETHODCALLTYPE *Release)(
1681        IRunningObjectTable* This);
1682
1683    /*** IRunningObjectTable methods ***/
1684    HRESULT (STDMETHODCALLTYPE *Register)(
1685        IRunningObjectTable* This,
1686        DWORD grfFlags,
1687        IUnknown *punkObject,
1688        IMoniker *pmkObjectName,
1689        DWORD *pdwRegister);
1690
1691    HRESULT (STDMETHODCALLTYPE *Revoke)(
1692        IRunningObjectTable* This,
1693        DWORD dwRegister);
1694
1695    HRESULT (STDMETHODCALLTYPE *IsRunning)(
1696        IRunningObjectTable* This,
1697        IMoniker *pmkObjectName);
1698
1699    HRESULT (STDMETHODCALLTYPE *GetObject)(
1700        IRunningObjectTable* This,
1701        IMoniker *pmkObjectName,
1702        IUnknown **ppunkObject);
1703
1704    HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
1705        IRunningObjectTable* This,
1706        DWORD dwRegister,
1707        FILETIME *pfiletime);
1708
1709    HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
1710        IRunningObjectTable* This,
1711        IMoniker *pmkObjectName,
1712        FILETIME *pfiletime);
1713
1714    HRESULT (STDMETHODCALLTYPE *EnumRunning)(
1715        IRunningObjectTable* This,
1716        IEnumMoniker **ppenumMoniker);
1717
1718    END_INTERFACE
1719} IRunningObjectTableVtbl;
1720interface IRunningObjectTable {
1721    CONST_VTBL IRunningObjectTableVtbl* lpVtbl;
1722};
1723
1724#ifdef COBJMACROS
1725#ifndef WIDL_C_INLINE_WRAPPERS
1726/*** IUnknown methods ***/
1727#define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1728#define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
1729#define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
1730/*** IRunningObjectTable methods ***/
1731#define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
1732#define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
1733#define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
1734#define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
1735#define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
1736#define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
1737#define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
1738#else
1739/*** IUnknown methods ***/
1740static FORCEINLINE HRESULT IRunningObjectTable_QueryInterface(IRunningObjectTable* This,REFIID riid,void **ppvObject) {
1741    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1742}
1743static FORCEINLINE ULONG IRunningObjectTable_AddRef(IRunningObjectTable* This) {
1744    return This->lpVtbl->AddRef(This);
1745}
1746static FORCEINLINE ULONG IRunningObjectTable_Release(IRunningObjectTable* This) {
1747    return This->lpVtbl->Release(This);
1748}
1749/*** IRunningObjectTable methods ***/
1750static FORCEINLINE HRESULT IRunningObjectTable_Register(IRunningObjectTable* This,DWORD grfFlags,IUnknown *punkObject,IMoniker *pmkObjectName,DWORD *pdwRegister) {
1751    return This->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister);
1752}
1753static FORCEINLINE HRESULT IRunningObjectTable_Revoke(IRunningObjectTable* This,DWORD dwRegister) {
1754    return This->lpVtbl->Revoke(This,dwRegister);
1755}
1756static FORCEINLINE HRESULT IRunningObjectTable_IsRunning(IRunningObjectTable* This,IMoniker *pmkObjectName) {
1757    return This->lpVtbl->IsRunning(This,pmkObjectName);
1758}
1759static FORCEINLINE HRESULT IRunningObjectTable_GetObject(IRunningObjectTable* This,IMoniker *pmkObjectName,IUnknown **ppunkObject) {
1760    return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject);
1761}
1762static FORCEINLINE HRESULT IRunningObjectTable_NoteChangeTime(IRunningObjectTable* This,DWORD dwRegister,FILETIME *pfiletime) {
1763    return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime);
1764}
1765static FORCEINLINE HRESULT IRunningObjectTable_GetTimeOfLastChange(IRunningObjectTable* This,IMoniker *pmkObjectName,FILETIME *pfiletime) {
1766    return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime);
1767}
1768static FORCEINLINE HRESULT IRunningObjectTable_EnumRunning(IRunningObjectTable* This,IEnumMoniker **ppenumMoniker) {
1769    return This->lpVtbl->EnumRunning(This,ppenumMoniker);
1770}
1771#endif
1772#endif
1773
1774#endif
1775
1776HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(
1777    IRunningObjectTable* This,
1778    DWORD grfFlags,
1779    IUnknown *punkObject,
1780    IMoniker *pmkObjectName,
1781    DWORD *pdwRegister);
1782void __RPC_STUB IRunningObjectTable_Register_Stub(
1783    IRpcStubBuffer* This,
1784    IRpcChannelBuffer* pRpcChannelBuffer,
1785    PRPC_MESSAGE pRpcMessage,
1786    DWORD* pdwStubPhase);
1787HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(
1788    IRunningObjectTable* This,
1789    DWORD dwRegister);
1790void __RPC_STUB IRunningObjectTable_Revoke_Stub(
1791    IRpcStubBuffer* This,
1792    IRpcChannelBuffer* pRpcChannelBuffer,
1793    PRPC_MESSAGE pRpcMessage,
1794    DWORD* pdwStubPhase);
1795HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(
1796    IRunningObjectTable* This,
1797    IMoniker *pmkObjectName);
1798void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
1799    IRpcStubBuffer* This,
1800    IRpcChannelBuffer* pRpcChannelBuffer,
1801    PRPC_MESSAGE pRpcMessage,
1802    DWORD* pdwStubPhase);
1803HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(
1804    IRunningObjectTable* This,
1805    IMoniker *pmkObjectName,
1806    IUnknown **ppunkObject);
1807void __RPC_STUB IRunningObjectTable_GetObject_Stub(
1808    IRpcStubBuffer* This,
1809    IRpcChannelBuffer* pRpcChannelBuffer,
1810    PRPC_MESSAGE pRpcMessage,
1811    DWORD* pdwStubPhase);
1812HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(
1813    IRunningObjectTable* This,
1814    DWORD dwRegister,
1815    FILETIME *pfiletime);
1816void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
1817    IRpcStubBuffer* This,
1818    IRpcChannelBuffer* pRpcChannelBuffer,
1819    PRPC_MESSAGE pRpcMessage,
1820    DWORD* pdwStubPhase);
1821HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(
1822    IRunningObjectTable* This,
1823    IMoniker *pmkObjectName,
1824    FILETIME *pfiletime);
1825void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
1826    IRpcStubBuffer* This,
1827    IRpcChannelBuffer* pRpcChannelBuffer,
1828    PRPC_MESSAGE pRpcMessage,
1829    DWORD* pdwStubPhase);
1830HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(
1831    IRunningObjectTable* This,
1832    IEnumMoniker **ppenumMoniker);
1833void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
1834    IRpcStubBuffer* This,
1835    IRpcChannelBuffer* pRpcChannelBuffer,
1836    PRPC_MESSAGE pRpcMessage,
1837    DWORD* pdwStubPhase);
1838
1839#endif  /* __IRunningObjectTable_INTERFACE_DEFINED__ */
1840
1841/*****************************************************************************
1842 * IPersist interface
1843 */
1844#ifndef __IPersist_INTERFACE_DEFINED__
1845#define __IPersist_INTERFACE_DEFINED__
1846
1847typedef IPersist *LPPERSIST;
1848DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1849#if defined(__cplusplus) && !defined(CINTERFACE)
1850MIDL_INTERFACE("0000010c-0000-0000-c000-000000000046")
1851IPersist : public IUnknown
1852{
1853    virtual HRESULT STDMETHODCALLTYPE GetClassID(
1854        CLSID *pClassID) = 0;
1855
1856};
1857#ifdef __CRT_UUID_DECL
1858__CRT_UUID_DECL(IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1859#endif
1860#else
1861typedef struct IPersistVtbl {
1862    BEGIN_INTERFACE
1863
1864    /*** IUnknown methods ***/
1865    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1866        IPersist* This,
1867        REFIID riid,
1868        void **ppvObject);
1869
1870    ULONG (STDMETHODCALLTYPE *AddRef)(
1871        IPersist* This);
1872
1873    ULONG (STDMETHODCALLTYPE *Release)(
1874        IPersist* This);
1875
1876    /*** IPersist methods ***/
1877    HRESULT (STDMETHODCALLTYPE *GetClassID)(
1878        IPersist* This,
1879        CLSID *pClassID);
1880
1881    END_INTERFACE
1882} IPersistVtbl;
1883interface IPersist {
1884    CONST_VTBL IPersistVtbl* lpVtbl;
1885};
1886
1887#ifdef COBJMACROS
1888#ifndef WIDL_C_INLINE_WRAPPERS
1889/*** IUnknown methods ***/
1890#define IPersist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1891#define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This)
1892#define IPersist_Release(This) (This)->lpVtbl->Release(This)
1893/*** IPersist methods ***/
1894#define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1895#else
1896/*** IUnknown methods ***/
1897static FORCEINLINE HRESULT IPersist_QueryInterface(IPersist* This,REFIID riid,void **ppvObject) {
1898    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1899}
1900static FORCEINLINE ULONG IPersist_AddRef(IPersist* This) {
1901    return This->lpVtbl->AddRef(This);
1902}
1903static FORCEINLINE ULONG IPersist_Release(IPersist* This) {
1904    return This->lpVtbl->Release(This);
1905}
1906/*** IPersist methods ***/
1907static FORCEINLINE HRESULT IPersist_GetClassID(IPersist* This,CLSID *pClassID) {
1908    return This->lpVtbl->GetClassID(This,pClassID);
1909}
1910#endif
1911#endif
1912
1913#endif
1914
1915HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(
1916    IPersist* This,
1917    CLSID *pClassID);
1918void __RPC_STUB IPersist_GetClassID_Stub(
1919    IRpcStubBuffer* This,
1920    IRpcChannelBuffer* pRpcChannelBuffer,
1921    PRPC_MESSAGE pRpcMessage,
1922    DWORD* pdwStubPhase);
1923
1924#endif  /* __IPersist_INTERFACE_DEFINED__ */
1925
1926/*****************************************************************************
1927 * IPersistStream interface
1928 */
1929#ifndef __IPersistStream_INTERFACE_DEFINED__
1930#define __IPersistStream_INTERFACE_DEFINED__
1931
1932typedef IPersistStream *LPPERSISTSTREAM;
1933DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1934#if defined(__cplusplus) && !defined(CINTERFACE)
1935MIDL_INTERFACE("00000109-0000-0000-c000-000000000046")
1936IPersistStream : public IPersist
1937{
1938    virtual HRESULT STDMETHODCALLTYPE IsDirty(
1939        ) = 0;
1940
1941    virtual HRESULT STDMETHODCALLTYPE Load(
1942        IStream *pStm) = 0;
1943
1944    virtual HRESULT STDMETHODCALLTYPE Save(
1945        IStream *pStm,
1946        WINBOOL fClearDirty) = 0;
1947
1948    virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
1949        ULARGE_INTEGER *pcbSize) = 0;
1950
1951};
1952#ifdef __CRT_UUID_DECL
1953__CRT_UUID_DECL(IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1954#endif
1955#else
1956typedef struct IPersistStreamVtbl {
1957    BEGIN_INTERFACE
1958
1959    /*** IUnknown methods ***/
1960    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1961        IPersistStream* This,
1962        REFIID riid,
1963        void **ppvObject);
1964
1965    ULONG (STDMETHODCALLTYPE *AddRef)(
1966        IPersistStream* This);
1967
1968    ULONG (STDMETHODCALLTYPE *Release)(
1969        IPersistStream* This);
1970
1971    /*** IPersist methods ***/
1972    HRESULT (STDMETHODCALLTYPE *GetClassID)(
1973        IPersistStream* This,
1974        CLSID *pClassID);
1975
1976    /*** IPersistStream methods ***/
1977    HRESULT (STDMETHODCALLTYPE *IsDirty)(
1978        IPersistStream* This);
1979
1980    HRESULT (STDMETHODCALLTYPE *Load)(
1981        IPersistStream* This,
1982        IStream *pStm);
1983
1984    HRESULT (STDMETHODCALLTYPE *Save)(
1985        IPersistStream* This,
1986        IStream *pStm,
1987        WINBOOL fClearDirty);
1988
1989    HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
1990        IPersistStream* This,
1991        ULARGE_INTEGER *pcbSize);
1992
1993    END_INTERFACE
1994} IPersistStreamVtbl;
1995interface IPersistStream {
1996    CONST_VTBL IPersistStreamVtbl* lpVtbl;
1997};
1998
1999#ifdef COBJMACROS
2000#ifndef WIDL_C_INLINE_WRAPPERS
2001/*** IUnknown methods ***/
2002#define IPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2003#define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2004#define IPersistStream_Release(This) (This)->lpVtbl->Release(This)
2005/*** IPersist methods ***/
2006#define IPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
2007/*** IPersistStream methods ***/
2008#define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
2009#define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
2010#define IPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
2011#define IPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
2012#else
2013/*** IUnknown methods ***/
2014static FORCEINLINE HRESULT IPersistStream_QueryInterface(IPersistStream* This,REFIID riid,void **ppvObject) {
2015    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2016}
2017static FORCEINLINE ULONG IPersistStream_AddRef(IPersistStream* This) {
2018    return This->lpVtbl->AddRef(This);
2019}
2020static FORCEINLINE ULONG IPersistStream_Release(IPersistStream* This) {
2021    return This->lpVtbl->Release(This);
2022}
2023/*** IPersist methods ***/
2024static FORCEINLINE HRESULT IPersistStream_GetClassID(IPersistStream* This,CLSID *pClassID) {
2025    return This->lpVtbl->GetClassID(This,pClassID);
2026}
2027/*** IPersistStream methods ***/
2028static FORCEINLINE HRESULT IPersistStream_IsDirty(IPersistStream* This) {
2029    return This->lpVtbl->IsDirty(This);
2030}
2031static FORCEINLINE HRESULT IPersistStream_Load(IPersistStream* This,IStream *pStm) {
2032    return This->lpVtbl->Load(This,pStm);
2033}
2034static FORCEINLINE HRESULT IPersistStream_Save(IPersistStream* This,IStream *pStm,WINBOOL fClearDirty) {
2035    return This->lpVtbl->Save(This,pStm,fClearDirty);
2036}
2037static FORCEINLINE HRESULT IPersistStream_GetSizeMax(IPersistStream* This,ULARGE_INTEGER *pcbSize) {
2038    return This->lpVtbl->GetSizeMax(This,pcbSize);
2039}
2040#endif
2041#endif
2042
2043#endif
2044
2045HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(
2046    IPersistStream* This);
2047void __RPC_STUB IPersistStream_IsDirty_Stub(
2048    IRpcStubBuffer* This,
2049    IRpcChannelBuffer* pRpcChannelBuffer,
2050    PRPC_MESSAGE pRpcMessage,
2051    DWORD* pdwStubPhase);
2052HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(
2053    IPersistStream* This,
2054    IStream *pStm);
2055void __RPC_STUB IPersistStream_Load_Stub(
2056    IRpcStubBuffer* This,
2057    IRpcChannelBuffer* pRpcChannelBuffer,
2058    PRPC_MESSAGE pRpcMessage,
2059    DWORD* pdwStubPhase);
2060HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(
2061    IPersistStream* This,
2062    IStream *pStm,
2063    WINBOOL fClearDirty);
2064void __RPC_STUB IPersistStream_Save_Stub(
2065    IRpcStubBuffer* This,
2066    IRpcChannelBuffer* pRpcChannelBuffer,
2067    PRPC_MESSAGE pRpcMessage,
2068    DWORD* pdwStubPhase);
2069HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(
2070    IPersistStream* This,
2071    ULARGE_INTEGER *pcbSize);
2072void __RPC_STUB IPersistStream_GetSizeMax_Stub(
2073    IRpcStubBuffer* This,
2074    IRpcChannelBuffer* pRpcChannelBuffer,
2075    PRPC_MESSAGE pRpcMessage,
2076    DWORD* pdwStubPhase);
2077
2078#endif  /* __IPersistStream_INTERFACE_DEFINED__ */
2079
2080/*****************************************************************************
2081 * IMoniker interface
2082 */
2083#ifndef __IMoniker_INTERFACE_DEFINED__
2084#define __IMoniker_INTERFACE_DEFINED__
2085
2086typedef IMoniker *LPMONIKER;
2087typedef enum tagMKSYS {
2088    MKSYS_NONE = 0,
2089    MKSYS_GENERICCOMPOSITE = 1,
2090    MKSYS_FILEMONIKER = 2,
2091    MKSYS_ANTIMONIKER = 3,
2092    MKSYS_ITEMMONIKER = 4,
2093    MKSYS_POINTERMONIKER = 5,
2094    MKSYS_CLASSMONIKER = 7,
2095    MKSYS_OBJREFMONIKER = 8,
2096    MKSYS_SESSIONMONIKER = 9,
2097    MKSYS_LUAMONIKER = 10
2098} MKSYS;
2099typedef enum tagMKREDUCE {
2100    MKRREDUCE_ONE = 3 << 16,
2101    MKRREDUCE_TOUSER = 2 << 16,
2102    MKRREDUCE_THROUGHUSER = 1 << 16,
2103    MKRREDUCE_ALL = 0
2104} MKRREDUCE;
2105DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2106#if defined(__cplusplus) && !defined(CINTERFACE)
2107MIDL_INTERFACE("0000000f-0000-0000-c000-000000000046")
2108IMoniker : public IPersistStream
2109{
2110    virtual HRESULT STDMETHODCALLTYPE BindToObject(
2111        IBindCtx *pbc,
2112        IMoniker *pmkToLeft,
2113        REFIID riidResult,
2114        void **ppvResult) = 0;
2115
2116    virtual HRESULT STDMETHODCALLTYPE BindToStorage(
2117        IBindCtx *pbc,
2118        IMoniker *pmkToLeft,
2119        REFIID riid,
2120        void **ppvObj) = 0;
2121
2122    virtual HRESULT STDMETHODCALLTYPE Reduce(
2123        IBindCtx *pbc,
2124        DWORD dwReduceHowFar,
2125        IMoniker **ppmkToLeft,
2126        IMoniker **ppmkReduced) = 0;
2127
2128    virtual HRESULT STDMETHODCALLTYPE ComposeWith(
2129        IMoniker *pmkRight,
2130        WINBOOL fOnlyIfNotGeneric,
2131        IMoniker **ppmkComposite) = 0;
2132
2133    virtual HRESULT STDMETHODCALLTYPE Enum(
2134        WINBOOL fForward,
2135        IEnumMoniker **ppenumMoniker) = 0;
2136
2137    virtual HRESULT STDMETHODCALLTYPE IsEqual(
2138        IMoniker *pmkOtherMoniker) = 0;
2139
2140    virtual HRESULT STDMETHODCALLTYPE Hash(
2141        DWORD *pdwHash) = 0;
2142
2143    virtual HRESULT STDMETHODCALLTYPE IsRunning(
2144        IBindCtx *pbc,
2145        IMoniker *pmkToLeft,
2146        IMoniker *pmkNewlyRunning) = 0;
2147
2148    virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
2149        IBindCtx *pbc,
2150        IMoniker *pmkToLeft,
2151        FILETIME *pFileTime) = 0;
2152
2153    virtual HRESULT STDMETHODCALLTYPE Inverse(
2154        IMoniker **ppmk) = 0;
2155
2156    virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
2157        IMoniker *pmkOther,
2158        IMoniker **ppmkPrefix) = 0;
2159
2160    virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
2161        IMoniker *pmkOther,
2162        IMoniker **ppmkRelPath) = 0;
2163
2164    virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
2165        IBindCtx *pbc,
2166        IMoniker *pmkToLeft,
2167        LPOLESTR *ppszDisplayName) = 0;
2168
2169    virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
2170        IBindCtx *pbc,
2171        IMoniker *pmkToLeft,
2172        LPOLESTR pszDisplayName,
2173        ULONG *pchEaten,
2174        IMoniker **ppmkOut) = 0;
2175
2176    virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
2177        DWORD *pdwMksys) = 0;
2178
2179};
2180#ifdef __CRT_UUID_DECL
2181__CRT_UUID_DECL(IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2182#endif
2183#else
2184typedef struct IMonikerVtbl {
2185    BEGIN_INTERFACE
2186
2187    /*** IUnknown methods ***/
2188    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2189        IMoniker* This,
2190        REFIID riid,
2191        void **ppvObject);
2192
2193    ULONG (STDMETHODCALLTYPE *AddRef)(
2194        IMoniker* This);
2195
2196    ULONG (STDMETHODCALLTYPE *Release)(
2197        IMoniker* This);
2198
2199    /*** IPersist methods ***/
2200    HRESULT (STDMETHODCALLTYPE *GetClassID)(
2201        IMoniker* This,
2202        CLSID *pClassID);
2203
2204    /*** IPersistStream methods ***/
2205    HRESULT (STDMETHODCALLTYPE *IsDirty)(
2206        IMoniker* This);
2207
2208    HRESULT (STDMETHODCALLTYPE *Load)(
2209        IMoniker* This,
2210        IStream *pStm);
2211
2212    HRESULT (STDMETHODCALLTYPE *Save)(
2213        IMoniker* This,
2214        IStream *pStm,
2215        WINBOOL fClearDirty);
2216
2217    HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2218        IMoniker* This,
2219        ULARGE_INTEGER *pcbSize);
2220
2221    /*** IMoniker methods ***/
2222    HRESULT (STDMETHODCALLTYPE *BindToObject)(
2223        IMoniker* This,
2224        IBindCtx *pbc,
2225        IMoniker *pmkToLeft,
2226        REFIID riidResult,
2227        void **ppvResult);
2228
2229    HRESULT (STDMETHODCALLTYPE *BindToStorage)(
2230        IMoniker* This,
2231        IBindCtx *pbc,
2232        IMoniker *pmkToLeft,
2233        REFIID riid,
2234        void **ppvObj);
2235
2236    HRESULT (STDMETHODCALLTYPE *Reduce)(
2237        IMoniker* This,
2238        IBindCtx *pbc,
2239        DWORD dwReduceHowFar,
2240        IMoniker **ppmkToLeft,
2241        IMoniker **ppmkReduced);
2242
2243    HRESULT (STDMETHODCALLTYPE *ComposeWith)(
2244        IMoniker* This,
2245        IMoniker *pmkRight,
2246        WINBOOL fOnlyIfNotGeneric,
2247        IMoniker **ppmkComposite);
2248
2249    HRESULT (STDMETHODCALLTYPE *Enum)(
2250        IMoniker* This,
2251        WINBOOL fForward,
2252        IEnumMoniker **ppenumMoniker);
2253
2254    HRESULT (STDMETHODCALLTYPE *IsEqual)(
2255        IMoniker* This,
2256        IMoniker *pmkOtherMoniker);
2257
2258    HRESULT (STDMETHODCALLTYPE *Hash)(
2259        IMoniker* This,
2260        DWORD *pdwHash);
2261
2262    HRESULT (STDMETHODCALLTYPE *IsRunning)(
2263        IMoniker* This,
2264        IBindCtx *pbc,
2265        IMoniker *pmkToLeft,
2266        IMoniker *pmkNewlyRunning);
2267
2268    HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
2269        IMoniker* This,
2270        IBindCtx *pbc,
2271        IMoniker *pmkToLeft,
2272        FILETIME *pFileTime);
2273
2274    HRESULT (STDMETHODCALLTYPE *Inverse)(
2275        IMoniker* This,
2276        IMoniker **ppmk);
2277
2278    HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
2279        IMoniker* This,
2280        IMoniker *pmkOther,
2281        IMoniker **ppmkPrefix);
2282
2283    HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
2284        IMoniker* This,
2285        IMoniker *pmkOther,
2286        IMoniker **ppmkRelPath);
2287
2288    HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2289        IMoniker* This,
2290        IBindCtx *pbc,
2291        IMoniker *pmkToLeft,
2292        LPOLESTR *ppszDisplayName);
2293
2294    HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
2295        IMoniker* This,
2296        IBindCtx *pbc,
2297        IMoniker *pmkToLeft,
2298        LPOLESTR pszDisplayName,
2299        ULONG *pchEaten,
2300        IMoniker **ppmkOut);
2301
2302    HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
2303        IMoniker* This,
2304        DWORD *pdwMksys);
2305
2306    END_INTERFACE
2307} IMonikerVtbl;
2308interface IMoniker {
2309    CONST_VTBL IMonikerVtbl* lpVtbl;
2310};
2311
2312#ifdef COBJMACROS
2313#ifndef WIDL_C_INLINE_WRAPPERS
2314/*** IUnknown methods ***/
2315#define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2316#define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
2317#define IMoniker_Release(This) (This)->lpVtbl->Release(This)
2318/*** IPersist methods ***/
2319#define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
2320/*** IPersistStream methods ***/
2321#define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
2322#define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
2323#define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
2324#define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
2325/*** IMoniker methods ***/
2326#define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) (This)->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
2327#define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
2328#define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
2329#define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
2330#define IMoniker_Enum(This,fForward,ppenumMoniker) (This)->lpVtbl->Enum(This,fForward,ppenumMoniker)
2331#define IMoniker_IsEqual(This,pmkOtherMoniker) (This)->lpVtbl->IsEqual(This,pmkOtherMoniker)
2332#define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
2333#define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) (This)->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
2334#define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
2335#define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
2336#define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
2337#define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
2338#define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
2339#define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
2340#define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
2341#else
2342/*** IUnknown methods ***/
2343static FORCEINLINE HRESULT IMoniker_QueryInterface(IMoniker* This,REFIID riid,void **ppvObject) {
2344    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2345}
2346static FORCEINLINE ULONG IMoniker_AddRef(IMoniker* This) {
2347    return This->lpVtbl->AddRef(This);
2348}
2349static FORCEINLINE ULONG IMoniker_Release(IMoniker* This) {
2350    return This->lpVtbl->Release(This);
2351}
2352/*** IPersist methods ***/
2353static FORCEINLINE HRESULT IMoniker_GetClassID(IMoniker* This,CLSID *pClassID) {
2354    return This->lpVtbl->GetClassID(This,pClassID);
2355}
2356/*** IPersistStream methods ***/
2357static FORCEINLINE HRESULT IMoniker_IsDirty(IMoniker* This) {
2358    return This->lpVtbl->IsDirty(This);
2359}
2360static FORCEINLINE HRESULT IMoniker_Load(IMoniker* This,IStream *pStm) {
2361    return This->lpVtbl->Load(This,pStm);
2362}
2363static FORCEINLINE HRESULT IMoniker_Save(IMoniker* This,IStream *pStm,WINBOOL fClearDirty) {
2364    return This->lpVtbl->Save(This,pStm,fClearDirty);
2365}
2366static FORCEINLINE HRESULT IMoniker_GetSizeMax(IMoniker* This,ULARGE_INTEGER *pcbSize) {
2367    return This->lpVtbl->GetSizeMax(This,pcbSize);
2368}
2369/*** IMoniker methods ***/
2370static FORCEINLINE HRESULT IMoniker_BindToObject(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riidResult,void **ppvResult) {
2371    return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult);
2372}
2373static FORCEINLINE HRESULT IMoniker_BindToStorage(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riid,void **ppvObj) {
2374    return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj);
2375}
2376static FORCEINLINE HRESULT IMoniker_Reduce(IMoniker* This,IBindCtx *pbc,DWORD dwReduceHowFar,IMoniker **ppmkToLeft,IMoniker **ppmkReduced) {
2377    return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced);
2378}
2379static FORCEINLINE HRESULT IMoniker_ComposeWith(IMoniker* This,IMoniker *pmkRight,WINBOOL fOnlyIfNotGeneric,IMoniker **ppmkComposite) {
2380    return This->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite);
2381}
2382static FORCEINLINE HRESULT IMoniker_Enum(IMoniker* This,WINBOOL fForward,IEnumMoniker **ppenumMoniker) {
2383    return This->lpVtbl->Enum(This,fForward,ppenumMoniker);
2384}
2385static FORCEINLINE HRESULT IMoniker_IsEqual(IMoniker* This,IMoniker *pmkOtherMoniker) {
2386    return This->lpVtbl->IsEqual(This,pmkOtherMoniker);
2387}
2388static FORCEINLINE HRESULT IMoniker_Hash(IMoniker* This,DWORD *pdwHash) {
2389    return This->lpVtbl->Hash(This,pdwHash);
2390}
2391static FORCEINLINE HRESULT IMoniker_IsRunning(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,IMoniker *pmkNewlyRunning) {
2392    return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning);
2393}
2394static FORCEINLINE HRESULT IMoniker_GetTimeOfLastChange(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,FILETIME *pFileTime) {
2395    return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime);
2396}
2397static FORCEINLINE HRESULT IMoniker_Inverse(IMoniker* This,IMoniker **ppmk) {
2398    return This->lpVtbl->Inverse(This,ppmk);
2399}
2400static FORCEINLINE HRESULT IMoniker_CommonPrefixWith(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkPrefix) {
2401    return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix);
2402}
2403static FORCEINLINE HRESULT IMoniker_RelativePathTo(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkRelPath) {
2404    return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath);
2405}
2406static FORCEINLINE HRESULT IMoniker_GetDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR *ppszDisplayName) {
2407    return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName);
2408}
2409static FORCEINLINE HRESULT IMoniker_ParseDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
2410    return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut);
2411}
2412static FORCEINLINE HRESULT IMoniker_IsSystemMoniker(IMoniker* This,DWORD *pdwMksys) {
2413    return This->lpVtbl->IsSystemMoniker(This,pdwMksys);
2414}
2415#endif
2416#endif
2417
2418#endif
2419
2420HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(
2421    IMoniker* This,
2422    IBindCtx *pbc,
2423    IMoniker *pmkToLeft,
2424    REFIID riidResult,
2425    IUnknown **ppvResult);
2426void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
2427    IRpcStubBuffer* This,
2428    IRpcChannelBuffer* pRpcChannelBuffer,
2429    PRPC_MESSAGE pRpcMessage,
2430    DWORD* pdwStubPhase);
2431HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(
2432    IMoniker* This,
2433    IBindCtx *pbc,
2434    IMoniker *pmkToLeft,
2435    REFIID riid,
2436    IUnknown **ppvObj);
2437void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
2438    IRpcStubBuffer* This,
2439    IRpcChannelBuffer* pRpcChannelBuffer,
2440    PRPC_MESSAGE pRpcMessage,
2441    DWORD* pdwStubPhase);
2442HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(
2443    IMoniker* This,
2444    IBindCtx *pbc,
2445    DWORD dwReduceHowFar,
2446    IMoniker **ppmkToLeft,
2447    IMoniker **ppmkReduced);
2448void __RPC_STUB IMoniker_Reduce_Stub(
2449    IRpcStubBuffer* This,
2450    IRpcChannelBuffer* pRpcChannelBuffer,
2451    PRPC_MESSAGE pRpcMessage,
2452    DWORD* pdwStubPhase);
2453HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(
2454    IMoniker* This,
2455    IMoniker *pmkRight,
2456    WINBOOL fOnlyIfNotGeneric,
2457    IMoniker **ppmkComposite);
2458void __RPC_STUB IMoniker_ComposeWith_Stub(
2459    IRpcStubBuffer* This,
2460    IRpcChannelBuffer* pRpcChannelBuffer,
2461    PRPC_MESSAGE pRpcMessage,
2462    DWORD* pdwStubPhase);
2463HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(
2464    IMoniker* This,
2465    WINBOOL fForward,
2466    IEnumMoniker **ppenumMoniker);
2467void __RPC_STUB IMoniker_Enum_Stub(
2468    IRpcStubBuffer* This,
2469    IRpcChannelBuffer* pRpcChannelBuffer,
2470    PRPC_MESSAGE pRpcMessage,
2471    DWORD* pdwStubPhase);
2472HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(
2473    IMoniker* This,
2474    IMoniker *pmkOtherMoniker);
2475void __RPC_STUB IMoniker_IsEqual_Stub(
2476    IRpcStubBuffer* This,
2477    IRpcChannelBuffer* pRpcChannelBuffer,
2478    PRPC_MESSAGE pRpcMessage,
2479    DWORD* pdwStubPhase);
2480HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(
2481    IMoniker* This,
2482    DWORD *pdwHash);
2483void __RPC_STUB IMoniker_Hash_Stub(
2484    IRpcStubBuffer* This,
2485    IRpcChannelBuffer* pRpcChannelBuffer,
2486    PRPC_MESSAGE pRpcMessage,
2487    DWORD* pdwStubPhase);
2488HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(
2489    IMoniker* This,
2490    IBindCtx *pbc,
2491    IMoniker *pmkToLeft,
2492    IMoniker *pmkNewlyRunning);
2493void __RPC_STUB IMoniker_IsRunning_Stub(
2494    IRpcStubBuffer* This,
2495    IRpcChannelBuffer* pRpcChannelBuffer,
2496    PRPC_MESSAGE pRpcMessage,
2497    DWORD* pdwStubPhase);
2498HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(
2499    IMoniker* This,
2500    IBindCtx *pbc,
2501    IMoniker *pmkToLeft,
2502    FILETIME *pFileTime);
2503void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
2504    IRpcStubBuffer* This,
2505    IRpcChannelBuffer* pRpcChannelBuffer,
2506    PRPC_MESSAGE pRpcMessage,
2507    DWORD* pdwStubPhase);
2508HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(
2509    IMoniker* This,
2510    IMoniker **ppmk);
2511void __RPC_STUB IMoniker_Inverse_Stub(
2512    IRpcStubBuffer* This,
2513    IRpcChannelBuffer* pRpcChannelBuffer,
2514    PRPC_MESSAGE pRpcMessage,
2515    DWORD* pdwStubPhase);
2516HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(
2517    IMoniker* This,
2518    IMoniker *pmkOther,
2519    IMoniker **ppmkPrefix);
2520void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
2521    IRpcStubBuffer* This,
2522    IRpcChannelBuffer* pRpcChannelBuffer,
2523    PRPC_MESSAGE pRpcMessage,
2524    DWORD* pdwStubPhase);
2525HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(
2526    IMoniker* This,
2527    IMoniker *pmkOther,
2528    IMoniker **ppmkRelPath);
2529void __RPC_STUB IMoniker_RelativePathTo_Stub(
2530    IRpcStubBuffer* This,
2531    IRpcChannelBuffer* pRpcChannelBuffer,
2532    PRPC_MESSAGE pRpcMessage,
2533    DWORD* pdwStubPhase);
2534HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(
2535    IMoniker* This,
2536    IBindCtx *pbc,
2537    IMoniker *pmkToLeft,
2538    LPOLESTR *ppszDisplayName);
2539void __RPC_STUB IMoniker_GetDisplayName_Stub(
2540    IRpcStubBuffer* This,
2541    IRpcChannelBuffer* pRpcChannelBuffer,
2542    PRPC_MESSAGE pRpcMessage,
2543    DWORD* pdwStubPhase);
2544HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(
2545    IMoniker* This,
2546    IBindCtx *pbc,
2547    IMoniker *pmkToLeft,
2548    LPOLESTR pszDisplayName,
2549    ULONG *pchEaten,
2550    IMoniker **ppmkOut);
2551void __RPC_STUB IMoniker_ParseDisplayName_Stub(
2552    IRpcStubBuffer* This,
2553    IRpcChannelBuffer* pRpcChannelBuffer,
2554    PRPC_MESSAGE pRpcMessage,
2555    DWORD* pdwStubPhase);
2556HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(
2557    IMoniker* This,
2558    DWORD *pdwMksys);
2559void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
2560    IRpcStubBuffer* This,
2561    IRpcChannelBuffer* pRpcChannelBuffer,
2562    PRPC_MESSAGE pRpcMessage,
2563    DWORD* pdwStubPhase);
2564HRESULT CALLBACK IMoniker_BindToObject_Proxy(
2565    IMoniker* This,
2566    IBindCtx *pbc,
2567    IMoniker *pmkToLeft,
2568    REFIID riidResult,
2569    void **ppvResult);
2570HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
2571    IMoniker* This,
2572    IBindCtx *pbc,
2573    IMoniker *pmkToLeft,
2574    REFIID riidResult,
2575    IUnknown **ppvResult);
2576HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
2577    IMoniker* This,
2578    IBindCtx *pbc,
2579    IMoniker *pmkToLeft,
2580    REFIID riid,
2581    void **ppvObj);
2582HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
2583    IMoniker* This,
2584    IBindCtx *pbc,
2585    IMoniker *pmkToLeft,
2586    REFIID riid,
2587    IUnknown **ppvObj);
2588
2589#endif  /* __IMoniker_INTERFACE_DEFINED__ */
2590
2591#ifndef __IROTData_INTERFACE_DEFINED__
2592#define __IROTData_INTERFACE_DEFINED__
2593  EXTERN_C const IID IID_IROTData;
2594#if defined(__cplusplus) && !defined(CINTERFACE)
2595  struct IROTData : public IUnknown {
2596  public:
2597    virtual HRESULT WINAPI GetComparisonData(byte *pbData,ULONG cbMax,ULONG *pcbData) = 0;
2598  };
2599#else
2600  typedef struct IROTDataVtbl {
2601    BEGIN_INTERFACE
2602      HRESULT (WINAPI *QueryInterface)(IROTData *This,REFIID riid,void **ppvObject);
2603      ULONG (WINAPI *AddRef)(IROTData *This);
2604      ULONG (WINAPI *Release)(IROTData *This);
2605      HRESULT (WINAPI *GetComparisonData)(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
2606    END_INTERFACE
2607  } IROTDataVtbl;
2608  struct IROTData {
2609    CONST_VTBL struct IROTDataVtbl *lpVtbl;
2610  };
2611#ifdef COBJMACROS
2612#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2613#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
2614#define IROTData_Release(This) (This)->lpVtbl->Release(This)
2615#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
2616#endif
2617#endif
2618  HRESULT WINAPI IROTData_GetComparisonData_Proxy(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
2619  void __RPC_STUB IROTData_GetComparisonData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2620#endif
2621/*****************************************************************************
2622 * IEnumString interface
2623 */
2624#ifndef __IEnumString_INTERFACE_DEFINED__
2625#define __IEnumString_INTERFACE_DEFINED__
2626
2627typedef IEnumString *LPENUMSTRING;
2628DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2629#if defined(__cplusplus) && !defined(CINTERFACE)
2630MIDL_INTERFACE("00000101-0000-0000-c000-000000000046")
2631IEnumString : public IUnknown
2632{
2633    virtual HRESULT STDMETHODCALLTYPE Next(
2634        ULONG celt,
2635        LPOLESTR *rgelt,
2636        ULONG *pceltFetched) = 0;
2637
2638    virtual HRESULT STDMETHODCALLTYPE Skip(
2639        ULONG celt) = 0;
2640
2641    virtual HRESULT STDMETHODCALLTYPE Reset(
2642        ) = 0;
2643
2644    virtual HRESULT STDMETHODCALLTYPE Clone(
2645        IEnumString **ppenum) = 0;
2646
2647};
2648#ifdef __CRT_UUID_DECL
2649__CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2650#endif
2651#else
2652typedef struct IEnumStringVtbl {
2653    BEGIN_INTERFACE
2654
2655    /*** IUnknown methods ***/
2656    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2657        IEnumString* This,
2658        REFIID riid,
2659        void **ppvObject);
2660
2661    ULONG (STDMETHODCALLTYPE *AddRef)(
2662        IEnumString* This);
2663
2664    ULONG (STDMETHODCALLTYPE *Release)(
2665        IEnumString* This);
2666
2667    /*** IEnumString methods ***/
2668    HRESULT (STDMETHODCALLTYPE *Next)(
2669        IEnumString* This,
2670        ULONG celt,
2671        LPOLESTR *rgelt,
2672        ULONG *pceltFetched);
2673
2674    HRESULT (STDMETHODCALLTYPE *Skip)(
2675        IEnumString* This,
2676        ULONG celt);
2677
2678    HRESULT (STDMETHODCALLTYPE *Reset)(
2679        IEnumString* This);
2680
2681    HRESULT (STDMETHODCALLTYPE *Clone)(
2682        IEnumString* This,
2683        IEnumString **ppenum);
2684
2685    END_INTERFACE
2686} IEnumStringVtbl;
2687interface IEnumString {
2688    CONST_VTBL IEnumStringVtbl* lpVtbl;
2689};
2690
2691#ifdef COBJMACROS
2692#ifndef WIDL_C_INLINE_WRAPPERS
2693/*** IUnknown methods ***/
2694#define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2695#define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
2696#define IEnumString_Release(This) (This)->lpVtbl->Release(This)
2697/*** IEnumString methods ***/
2698#define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
2699#define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
2700#define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
2701#define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
2702#else
2703/*** IUnknown methods ***/
2704static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) {
2705    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2706}
2707static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) {
2708    return This->lpVtbl->AddRef(This);
2709}
2710static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) {
2711    return This->lpVtbl->Release(This);
2712}
2713/*** IEnumString methods ***/
2714static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
2715    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
2716}
2717static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) {
2718    return This->lpVtbl->Skip(This,celt);
2719}
2720static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) {
2721    return This->lpVtbl->Reset(This);
2722}
2723static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) {
2724    return This->lpVtbl->Clone(This,ppenum);
2725}
2726#endif
2727#endif
2728
2729#endif
2730
2731HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(
2732    IEnumString* This,
2733    ULONG celt,
2734    LPOLESTR *rgelt,
2735    ULONG *pceltFetched);
2736void __RPC_STUB IEnumString_RemoteNext_Stub(
2737    IRpcStubBuffer* This,
2738    IRpcChannelBuffer* pRpcChannelBuffer,
2739    PRPC_MESSAGE pRpcMessage,
2740    DWORD* pdwStubPhase);
2741HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(
2742    IEnumString* This,
2743    ULONG celt);
2744void __RPC_STUB IEnumString_Skip_Stub(
2745    IRpcStubBuffer* This,
2746    IRpcChannelBuffer* pRpcChannelBuffer,
2747    PRPC_MESSAGE pRpcMessage,
2748    DWORD* pdwStubPhase);
2749HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(
2750    IEnumString* This);
2751void __RPC_STUB IEnumString_Reset_Stub(
2752    IRpcStubBuffer* This,
2753    IRpcChannelBuffer* pRpcChannelBuffer,
2754    PRPC_MESSAGE pRpcMessage,
2755    DWORD* pdwStubPhase);
2756HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(
2757    IEnumString* This,
2758    IEnumString **ppenum);
2759void __RPC_STUB IEnumString_Clone_Stub(
2760    IRpcStubBuffer* This,
2761    IRpcChannelBuffer* pRpcChannelBuffer,
2762    PRPC_MESSAGE pRpcMessage,
2763    DWORD* pdwStubPhase);
2764HRESULT CALLBACK IEnumString_Next_Proxy(
2765    IEnumString* This,
2766    ULONG celt,
2767    LPOLESTR *rgelt,
2768    ULONG *pceltFetched);
2769HRESULT __RPC_STUB IEnumString_Next_Stub(
2770    IEnumString* This,
2771    ULONG celt,
2772    LPOLESTR *rgelt,
2773    ULONG *pceltFetched);
2774
2775#endif  /* __IEnumString_INTERFACE_DEFINED__ */
2776
2777/*****************************************************************************
2778 * ISequentialStream interface
2779 */
2780#ifndef __ISequentialStream_INTERFACE_DEFINED__
2781#define __ISequentialStream_INTERFACE_DEFINED__
2782
2783DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
2784#if defined(__cplusplus) && !defined(CINTERFACE)
2785MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
2786ISequentialStream : public IUnknown
2787{
2788    virtual HRESULT STDMETHODCALLTYPE Read(
2789        void *pv,
2790        ULONG cb,
2791        ULONG *pcbRead) = 0;
2792
2793    virtual HRESULT STDMETHODCALLTYPE Write(
2794        const void *pv,
2795        ULONG cb,
2796        ULONG *pcbWritten) = 0;
2797
2798};
2799#ifdef __CRT_UUID_DECL
2800__CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
2801#endif
2802#else
2803typedef struct ISequentialStreamVtbl {
2804    BEGIN_INTERFACE
2805
2806    /*** IUnknown methods ***/
2807    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2808        ISequentialStream* This,
2809        REFIID riid,
2810        void **ppvObject);
2811
2812    ULONG (STDMETHODCALLTYPE *AddRef)(
2813        ISequentialStream* This);
2814
2815    ULONG (STDMETHODCALLTYPE *Release)(
2816        ISequentialStream* This);
2817
2818    /*** ISequentialStream methods ***/
2819    HRESULT (STDMETHODCALLTYPE *Read)(
2820        ISequentialStream* This,
2821        void *pv,
2822        ULONG cb,
2823        ULONG *pcbRead);
2824
2825    HRESULT (STDMETHODCALLTYPE *Write)(
2826        ISequentialStream* This,
2827        const void *pv,
2828        ULONG cb,
2829        ULONG *pcbWritten);
2830
2831    END_INTERFACE
2832} ISequentialStreamVtbl;
2833interface ISequentialStream {
2834    CONST_VTBL ISequentialStreamVtbl* lpVtbl;
2835};
2836
2837#ifdef COBJMACROS
2838#ifndef WIDL_C_INLINE_WRAPPERS
2839/*** IUnknown methods ***/
2840#define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2841#define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2842#define ISequentialStream_Release(This) (This)->lpVtbl->Release(This)
2843/*** ISequentialStream methods ***/
2844#define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
2845#define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
2846#else
2847/*** IUnknown methods ***/
2848static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) {
2849    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2850}
2851static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) {
2852    return This->lpVtbl->AddRef(This);
2853}
2854static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) {
2855    return This->lpVtbl->Release(This);
2856}
2857/*** ISequentialStream methods ***/
2858static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
2859    return This->lpVtbl->Read(This,pv,cb,pcbRead);
2860}
2861static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
2862    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
2863}
2864#endif
2865#endif
2866
2867#endif
2868
2869HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy(
2870    ISequentialStream* This,
2871    byte *pv,
2872    ULONG cb,
2873    ULONG *pcbRead);
2874void __RPC_STUB ISequentialStream_RemoteRead_Stub(
2875    IRpcStubBuffer* This,
2876    IRpcChannelBuffer* pRpcChannelBuffer,
2877    PRPC_MESSAGE pRpcMessage,
2878    DWORD* pdwStubPhase);
2879HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy(
2880    ISequentialStream* This,
2881    const byte *pv,
2882    ULONG cb,
2883    ULONG *pcbWritten);
2884void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
2885    IRpcStubBuffer* This,
2886    IRpcChannelBuffer* pRpcChannelBuffer,
2887    PRPC_MESSAGE pRpcMessage,
2888    DWORD* pdwStubPhase);
2889HRESULT CALLBACK ISequentialStream_Read_Proxy(
2890    ISequentialStream* This,
2891    void *pv,
2892    ULONG cb,
2893    ULONG *pcbRead);
2894HRESULT __RPC_STUB ISequentialStream_Read_Stub(
2895    ISequentialStream* This,
2896    byte *pv,
2897    ULONG cb,
2898    ULONG *pcbRead);
2899HRESULT CALLBACK ISequentialStream_Write_Proxy(
2900    ISequentialStream* This,
2901    const void *pv,
2902    ULONG cb,
2903    ULONG *pcbWritten);
2904HRESULT __RPC_STUB ISequentialStream_Write_Stub(
2905    ISequentialStream* This,
2906    const byte *pv,
2907    ULONG cb,
2908    ULONG *pcbWritten);
2909
2910#endif  /* __ISequentialStream_INTERFACE_DEFINED__ */
2911
2912/*****************************************************************************
2913 * IStream interface
2914 */
2915#ifndef __IStream_INTERFACE_DEFINED__
2916#define __IStream_INTERFACE_DEFINED__
2917
2918typedef IStream *LPSTREAM;
2919typedef struct tagSTATSTG {
2920    LPOLESTR pwcsName;
2921    DWORD type;
2922    ULARGE_INTEGER cbSize;
2923    FILETIME mtime;
2924    FILETIME ctime;
2925    FILETIME atime;
2926    DWORD grfMode;
2927    DWORD grfLocksSupported;
2928    CLSID clsid;
2929    DWORD grfStateBits;
2930    DWORD reserved;
2931} STATSTG;
2932typedef enum tagSTGTY {
2933    STGTY_STORAGE = 1,
2934    STGTY_STREAM = 2,
2935    STGTY_LOCKBYTES = 3,
2936    STGTY_PROPERTY = 4
2937} STGTY;
2938typedef enum tagSTREAM_SEEK {
2939    STREAM_SEEK_SET = 0,
2940    STREAM_SEEK_CUR = 1,
2941    STREAM_SEEK_END = 2
2942} STREAM_SEEK;
2943typedef enum tagLOCKTYPE {
2944    LOCK_WRITE = 1,
2945    LOCK_EXCLUSIVE = 2,
2946    LOCK_ONLYONCE = 4
2947} LOCKTYPE;
2948DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2949#if defined(__cplusplus) && !defined(CINTERFACE)
2950MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046")
2951IStream : public ISequentialStream
2952{
2953    virtual HRESULT STDMETHODCALLTYPE Seek(
2954        LARGE_INTEGER dlibMove,
2955        DWORD dwOrigin,
2956        ULARGE_INTEGER *plibNewPosition) = 0;
2957
2958    virtual HRESULT STDMETHODCALLTYPE SetSize(
2959        ULARGE_INTEGER libNewSize) = 0;
2960
2961    virtual HRESULT STDMETHODCALLTYPE CopyTo(
2962        IStream *pstm,
2963        ULARGE_INTEGER cb,
2964        ULARGE_INTEGER *pcbRead,
2965        ULARGE_INTEGER *pcbWritten) = 0;
2966
2967    virtual HRESULT STDMETHODCALLTYPE Commit(
2968        DWORD grfCommitFlags) = 0;
2969
2970    virtual HRESULT STDMETHODCALLTYPE Revert(
2971        ) = 0;
2972
2973    virtual HRESULT STDMETHODCALLTYPE LockRegion(
2974        ULARGE_INTEGER libOffset,
2975        ULARGE_INTEGER cb,
2976        DWORD dwLockType) = 0;
2977
2978    virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
2979        ULARGE_INTEGER libOffset,
2980        ULARGE_INTEGER cb,
2981        DWORD dwLockType) = 0;
2982
2983    virtual HRESULT STDMETHODCALLTYPE Stat(
2984        STATSTG *pstatstg,
2985        DWORD grfStatFlag) = 0;
2986
2987    virtual HRESULT STDMETHODCALLTYPE Clone(
2988        IStream **ppstm) = 0;
2989
2990};
2991#ifdef __CRT_UUID_DECL
2992__CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2993#endif
2994#else
2995typedef struct IStreamVtbl {
2996    BEGIN_INTERFACE
2997
2998    /*** IUnknown methods ***/
2999    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3000        IStream* This,
3001        REFIID riid,
3002        void **ppvObject);
3003
3004    ULONG (STDMETHODCALLTYPE *AddRef)(
3005        IStream* This);
3006
3007    ULONG (STDMETHODCALLTYPE *Release)(
3008        IStream* This);
3009
3010    /*** ISequentialStream methods ***/
3011    HRESULT (STDMETHODCALLTYPE *Read)(
3012        IStream* This,
3013        void *pv,
3014        ULONG cb,
3015        ULONG *pcbRead);
3016
3017    HRESULT (STDMETHODCALLTYPE *Write)(
3018        IStream* This,
3019        const void *pv,
3020        ULONG cb,
3021        ULONG *pcbWritten);
3022
3023    /*** IStream methods ***/
3024    HRESULT (STDMETHODCALLTYPE *Seek)(
3025        IStream* This,
3026        LARGE_INTEGER dlibMove,
3027        DWORD dwOrigin,
3028        ULARGE_INTEGER *plibNewPosition);
3029
3030    HRESULT (STDMETHODCALLTYPE *SetSize)(
3031        IStream* This,
3032        ULARGE_INTEGER libNewSize);
3033
3034    HRESULT (STDMETHODCALLTYPE *CopyTo)(
3035        IStream* This,
3036        IStream *pstm,
3037        ULARGE_INTEGER cb,
3038        ULARGE_INTEGER *pcbRead,
3039        ULARGE_INTEGER *pcbWritten);
3040
3041    HRESULT (STDMETHODCALLTYPE *Commit)(
3042        IStream* This,
3043        DWORD grfCommitFlags);
3044
3045    HRESULT (STDMETHODCALLTYPE *Revert)(
3046        IStream* This);
3047
3048    HRESULT (STDMETHODCALLTYPE *LockRegion)(
3049        IStream* This,
3050        ULARGE_INTEGER libOffset,
3051        ULARGE_INTEGER cb,
3052        DWORD dwLockType);
3053
3054    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
3055        IStream* This,
3056        ULARGE_INTEGER libOffset,
3057        ULARGE_INTEGER cb,
3058        DWORD dwLockType);
3059
3060    HRESULT (STDMETHODCALLTYPE *Stat)(
3061        IStream* This,
3062        STATSTG *pstatstg,
3063        DWORD grfStatFlag);
3064
3065    HRESULT (STDMETHODCALLTYPE *Clone)(
3066        IStream* This,
3067        IStream **ppstm);
3068
3069    END_INTERFACE
3070} IStreamVtbl;
3071interface IStream {
3072    CONST_VTBL IStreamVtbl* lpVtbl;
3073};
3074
3075#ifdef COBJMACROS
3076#ifndef WIDL_C_INLINE_WRAPPERS
3077/*** IUnknown methods ***/
3078#define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3079#define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
3080#define IStream_Release(This) (This)->lpVtbl->Release(This)
3081/*** ISequentialStream methods ***/
3082#define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
3083#define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
3084/*** IStream methods ***/
3085#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
3086#define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
3087#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
3088#define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
3089#define IStream_Revert(This) (This)->lpVtbl->Revert(This)
3090#define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
3091#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
3092#define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
3093#define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
3094#else
3095/*** IUnknown methods ***/
3096static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) {
3097    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3098}
3099static FORCEINLINE ULONG IStream_AddRef(IStream* This) {
3100    return This->lpVtbl->AddRef(This);
3101}
3102static FORCEINLINE ULONG IStream_Release(IStream* This) {
3103    return This->lpVtbl->Release(This);
3104}
3105/*** ISequentialStream methods ***/
3106static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
3107    return This->lpVtbl->Read(This,pv,cb,pcbRead);
3108}
3109static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
3110    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
3111}
3112/*** IStream methods ***/
3113static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
3114    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
3115}
3116static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) {
3117    return This->lpVtbl->SetSize(This,libNewSize);
3118}
3119static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
3120    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
3121}
3122static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) {
3123    return This->lpVtbl->Commit(This,grfCommitFlags);
3124}
3125static FORCEINLINE HRESULT IStream_Revert(IStream* This) {
3126    return This->lpVtbl->Revert(This);
3127}
3128static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
3129    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
3130}
3131static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
3132    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
3133}
3134static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
3135    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
3136}
3137static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) {
3138    return This->lpVtbl->Clone(This,ppstm);
3139}
3140#endif
3141#endif
3142
3143#endif
3144
3145HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(
3146    IStream* This,
3147    LARGE_INTEGER dlibMove,
3148    DWORD dwOrigin,
3149    ULARGE_INTEGER *plibNewPosition);
3150void __RPC_STUB IStream_RemoteSeek_Stub(
3151    IRpcStubBuffer* This,
3152    IRpcChannelBuffer* pRpcChannelBuffer,
3153    PRPC_MESSAGE pRpcMessage,
3154    DWORD* pdwStubPhase);
3155HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(
3156    IStream* This,
3157    ULARGE_INTEGER libNewSize);
3158void __RPC_STUB IStream_SetSize_Stub(
3159    IRpcStubBuffer* This,
3160    IRpcChannelBuffer* pRpcChannelBuffer,
3161    PRPC_MESSAGE pRpcMessage,
3162    DWORD* pdwStubPhase);
3163HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(
3164    IStream* This,
3165    IStream *pstm,
3166    ULARGE_INTEGER cb,
3167    ULARGE_INTEGER *pcbRead,
3168    ULARGE_INTEGER *pcbWritten);
3169void __RPC_STUB IStream_RemoteCopyTo_Stub(
3170    IRpcStubBuffer* This,
3171    IRpcChannelBuffer* pRpcChannelBuffer,
3172    PRPC_MESSAGE pRpcMessage,
3173    DWORD* pdwStubPhase);
3174HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(
3175    IStream* This,
3176    DWORD grfCommitFlags);
3177void __RPC_STUB IStream_Commit_Stub(
3178    IRpcStubBuffer* This,
3179    IRpcChannelBuffer* pRpcChannelBuffer,
3180    PRPC_MESSAGE pRpcMessage,
3181    DWORD* pdwStubPhase);
3182HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(
3183    IStream* This);
3184void __RPC_STUB IStream_Revert_Stub(
3185    IRpcStubBuffer* This,
3186    IRpcChannelBuffer* pRpcChannelBuffer,
3187    PRPC_MESSAGE pRpcMessage,
3188    DWORD* pdwStubPhase);
3189HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(
3190    IStream* This,
3191    ULARGE_INTEGER libOffset,
3192    ULARGE_INTEGER cb,
3193    DWORD dwLockType);
3194void __RPC_STUB IStream_LockRegion_Stub(
3195    IRpcStubBuffer* This,
3196    IRpcChannelBuffer* pRpcChannelBuffer,
3197    PRPC_MESSAGE pRpcMessage,
3198    DWORD* pdwStubPhase);
3199HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(
3200    IStream* This,
3201    ULARGE_INTEGER libOffset,
3202    ULARGE_INTEGER cb,
3203    DWORD dwLockType);
3204void __RPC_STUB IStream_UnlockRegion_Stub(
3205    IRpcStubBuffer* This,
3206    IRpcChannelBuffer* pRpcChannelBuffer,
3207    PRPC_MESSAGE pRpcMessage,
3208    DWORD* pdwStubPhase);
3209HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(
3210    IStream* This,
3211    STATSTG *pstatstg,
3212    DWORD grfStatFlag);
3213void __RPC_STUB IStream_Stat_Stub(
3214    IRpcStubBuffer* This,
3215    IRpcChannelBuffer* pRpcChannelBuffer,
3216    PRPC_MESSAGE pRpcMessage,
3217    DWORD* pdwStubPhase);
3218HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(
3219    IStream* This,
3220    IStream **ppstm);
3221void __RPC_STUB IStream_Clone_Stub(
3222    IRpcStubBuffer* This,
3223    IRpcChannelBuffer* pRpcChannelBuffer,
3224    PRPC_MESSAGE pRpcMessage,
3225    DWORD* pdwStubPhase);
3226HRESULT CALLBACK IStream_Seek_Proxy(
3227    IStream* This,
3228    LARGE_INTEGER dlibMove,
3229    DWORD dwOrigin,
3230    ULARGE_INTEGER *plibNewPosition);
3231HRESULT __RPC_STUB IStream_Seek_Stub(
3232    IStream* This,
3233    LARGE_INTEGER dlibMove,
3234    DWORD dwOrigin,
3235    ULARGE_INTEGER *plibNewPosition);
3236HRESULT CALLBACK IStream_CopyTo_Proxy(
3237    IStream* This,
3238    IStream *pstm,
3239    ULARGE_INTEGER cb,
3240    ULARGE_INTEGER *pcbRead,
3241    ULARGE_INTEGER *pcbWritten);
3242HRESULT __RPC_STUB IStream_CopyTo_Stub(
3243    IStream* This,
3244    IStream *pstm,
3245    ULARGE_INTEGER cb,
3246    ULARGE_INTEGER *pcbRead,
3247    ULARGE_INTEGER *pcbWritten);
3248
3249#endif  /* __IStream_INTERFACE_DEFINED__ */
3250
3251/*****************************************************************************
3252 * IEnumSTATSTG interface
3253 */
3254#ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
3255#define __IEnumSTATSTG_INTERFACE_DEFINED__
3256
3257typedef IEnumSTATSTG *LPENUMSTATSTG;
3258DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3259#if defined(__cplusplus) && !defined(CINTERFACE)
3260MIDL_INTERFACE("0000000d-0000-0000-c000-000000000046")
3261IEnumSTATSTG : public IUnknown
3262{
3263    virtual HRESULT STDMETHODCALLTYPE Next(
3264        ULONG celt,
3265        STATSTG *rgelt,
3266        ULONG *pceltFetched) = 0;
3267
3268    virtual HRESULT STDMETHODCALLTYPE Skip(
3269        ULONG celt) = 0;
3270
3271    virtual HRESULT STDMETHODCALLTYPE Reset(
3272        ) = 0;
3273
3274    virtual HRESULT STDMETHODCALLTYPE Clone(
3275        IEnumSTATSTG **ppenum) = 0;
3276
3277};
3278#ifdef __CRT_UUID_DECL
3279__CRT_UUID_DECL(IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3280#endif
3281#else
3282typedef struct IEnumSTATSTGVtbl {
3283    BEGIN_INTERFACE
3284
3285    /*** IUnknown methods ***/
3286    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3287        IEnumSTATSTG* This,
3288        REFIID riid,
3289        void **ppvObject);
3290
3291    ULONG (STDMETHODCALLTYPE *AddRef)(
3292        IEnumSTATSTG* This);
3293
3294    ULONG (STDMETHODCALLTYPE *Release)(
3295        IEnumSTATSTG* This);
3296
3297    /*** IEnumSTATSTG methods ***/
3298    HRESULT (STDMETHODCALLTYPE *Next)(
3299        IEnumSTATSTG* This,
3300        ULONG celt,
3301        STATSTG *rgelt,
3302        ULONG *pceltFetched);
3303
3304    HRESULT (STDMETHODCALLTYPE *Skip)(
3305        IEnumSTATSTG* This,
3306        ULONG celt);
3307
3308    HRESULT (STDMETHODCALLTYPE *Reset)(
3309        IEnumSTATSTG* This);
3310
3311    HRESULT (STDMETHODCALLTYPE *Clone)(
3312        IEnumSTATSTG* This,
3313        IEnumSTATSTG **ppenum);
3314
3315    END_INTERFACE
3316} IEnumSTATSTGVtbl;
3317interface IEnumSTATSTG {
3318    CONST_VTBL IEnumSTATSTGVtbl* lpVtbl;
3319};
3320
3321#ifdef COBJMACROS
3322#ifndef WIDL_C_INLINE_WRAPPERS
3323/*** IUnknown methods ***/
3324#define IEnumSTATSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3325#define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
3326#define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
3327/*** IEnumSTATSTG methods ***/
3328#define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
3329#define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
3330#define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
3331#define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
3332#else
3333/*** IUnknown methods ***/
3334static FORCEINLINE HRESULT IEnumSTATSTG_QueryInterface(IEnumSTATSTG* This,REFIID riid,void **ppvObject) {
3335    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3336}
3337static FORCEINLINE ULONG IEnumSTATSTG_AddRef(IEnumSTATSTG* This) {
3338    return This->lpVtbl->AddRef(This);
3339}
3340static FORCEINLINE ULONG IEnumSTATSTG_Release(IEnumSTATSTG* This) {
3341    return This->lpVtbl->Release(This);
3342}
3343/*** IEnumSTATSTG methods ***/
3344static FORCEINLINE HRESULT IEnumSTATSTG_Next(IEnumSTATSTG* This,ULONG celt,STATSTG *rgelt,ULONG *pceltFetched) {
3345    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
3346}
3347static FORCEINLINE HRESULT IEnumSTATSTG_Skip(IEnumSTATSTG* This,ULONG celt) {
3348    return This->lpVtbl->Skip(This,celt);
3349}
3350static FORCEINLINE HRESULT IEnumSTATSTG_Reset(IEnumSTATSTG* This) {
3351    return This->lpVtbl->Reset(This);
3352}
3353static FORCEINLINE HRESULT IEnumSTATSTG_Clone(IEnumSTATSTG* This,IEnumSTATSTG **ppenum) {
3354    return This->lpVtbl->Clone(This,ppenum);
3355}
3356#endif
3357#endif
3358
3359#endif
3360
3361HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(
3362    IEnumSTATSTG* This,
3363    ULONG celt,
3364    STATSTG *rgelt,
3365    ULONG *pceltFetched);
3366void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
3367    IRpcStubBuffer* This,
3368    IRpcChannelBuffer* pRpcChannelBuffer,
3369    PRPC_MESSAGE pRpcMessage,
3370    DWORD* pdwStubPhase);
3371HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(
3372    IEnumSTATSTG* This,
3373    ULONG celt);
3374void __RPC_STUB IEnumSTATSTG_Skip_Stub(
3375    IRpcStubBuffer* This,
3376    IRpcChannelBuffer* pRpcChannelBuffer,
3377    PRPC_MESSAGE pRpcMessage,
3378    DWORD* pdwStubPhase);
3379HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(
3380    IEnumSTATSTG* This);
3381void __RPC_STUB IEnumSTATSTG_Reset_Stub(
3382    IRpcStubBuffer* This,
3383    IRpcChannelBuffer* pRpcChannelBuffer,
3384    PRPC_MESSAGE pRpcMessage,
3385    DWORD* pdwStubPhase);
3386HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(
3387    IEnumSTATSTG* This,
3388    IEnumSTATSTG **ppenum);
3389void __RPC_STUB IEnumSTATSTG_Clone_Stub(
3390    IRpcStubBuffer* This,
3391    IRpcChannelBuffer* pRpcChannelBuffer,
3392    PRPC_MESSAGE pRpcMessage,
3393    DWORD* pdwStubPhase);
3394HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
3395    IEnumSTATSTG* This,
3396    ULONG celt,
3397    STATSTG *rgelt,
3398    ULONG *pceltFetched);
3399HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
3400    IEnumSTATSTG* This,
3401    ULONG celt,
3402    STATSTG *rgelt,
3403    ULONG *pceltFetched);
3404
3405#endif  /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
3406
3407/*****************************************************************************
3408 * IStorage interface
3409 */
3410#ifndef __IStorage_INTERFACE_DEFINED__
3411#define __IStorage_INTERFACE_DEFINED__
3412
3413typedef IStorage *LPSTORAGE;
3414typedef struct tagRemSNB {
3415    ULONG ulCntStr;
3416    ULONG ulCntChar;
3417    OLECHAR rgString[1];
3418} RemSNB;
3419typedef RemSNB *wireSNB;
3420typedef OLECHAR **SNB;
3421DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3422#if defined(__cplusplus) && !defined(CINTERFACE)
3423MIDL_INTERFACE("0000000b-0000-0000-c000-000000000046")
3424IStorage : public IUnknown
3425{
3426    virtual HRESULT STDMETHODCALLTYPE CreateStream(
3427        LPCOLESTR pwcsName,
3428        DWORD grfMode,
3429        DWORD reserved1,
3430        DWORD reserved2,
3431        IStream **ppstm) = 0;
3432
3433    virtual HRESULT STDMETHODCALLTYPE OpenStream(
3434        LPCOLESTR pwcsName,
3435        void *reserved1,
3436        DWORD grfMode,
3437        DWORD reserved2,
3438        IStream **ppstm) = 0;
3439
3440    virtual HRESULT STDMETHODCALLTYPE CreateStorage(
3441        LPCOLESTR pwcsName,
3442        DWORD grfMode,
3443        DWORD dwStgFmt,
3444        DWORD reserved2,
3445        IStorage **ppstg) = 0;
3446
3447    virtual HRESULT STDMETHODCALLTYPE OpenStorage(
3448        LPCOLESTR pwcsName,
3449        IStorage *pstgPriority,
3450        DWORD grfMode,
3451        SNB snbExclude,
3452        DWORD reserved,
3453        IStorage **ppstg) = 0;
3454
3455    virtual HRESULT STDMETHODCALLTYPE CopyTo(
3456        DWORD ciidExclude,
3457        const IID *rgiidExclude,
3458        SNB snbExclude,
3459        IStorage *pstgDest) = 0;
3460
3461    virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
3462        LPCOLESTR pwcsName,
3463        IStorage *pstgDest,
3464        LPCOLESTR pwcsNewName,
3465        DWORD grfFlags) = 0;
3466
3467    virtual HRESULT STDMETHODCALLTYPE Commit(
3468        DWORD grfCommitFlags) = 0;
3469
3470    virtual HRESULT STDMETHODCALLTYPE Revert(
3471        ) = 0;
3472
3473    virtual HRESULT STDMETHODCALLTYPE EnumElements(
3474        DWORD reserved1,
3475        void *reserved2,
3476        DWORD reserved3,
3477        IEnumSTATSTG **ppenum) = 0;
3478
3479    virtual HRESULT STDMETHODCALLTYPE DestroyElement(
3480        LPCOLESTR pwcsName) = 0;
3481
3482    virtual HRESULT STDMETHODCALLTYPE RenameElement(
3483        LPCOLESTR pwcsOldName,
3484        LPCOLESTR pwcsNewName) = 0;
3485
3486    virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
3487        LPCOLESTR pwcsName,
3488        const FILETIME *pctime,
3489        const FILETIME *patime,
3490        const FILETIME *pmtime) = 0;
3491
3492    virtual HRESULT STDMETHODCALLTYPE SetClass(
3493        REFCLSID clsid) = 0;
3494
3495    virtual HRESULT STDMETHODCALLTYPE SetStateBits(
3496        DWORD grfStateBits,
3497        DWORD grfMask) = 0;
3498
3499    virtual HRESULT STDMETHODCALLTYPE Stat(
3500        STATSTG *pstatstg,
3501        DWORD grfStatFlag) = 0;
3502
3503};
3504#ifdef __CRT_UUID_DECL
3505__CRT_UUID_DECL(IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3506#endif
3507#else
3508typedef struct IStorageVtbl {
3509    BEGIN_INTERFACE
3510
3511    /*** IUnknown methods ***/
3512    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3513        IStorage* This,
3514        REFIID riid,
3515        void **ppvObject);
3516
3517    ULONG (STDMETHODCALLTYPE *AddRef)(
3518        IStorage* This);
3519
3520    ULONG (STDMETHODCALLTYPE *Release)(
3521        IStorage* This);
3522
3523    /*** IStorage methods ***/
3524    HRESULT (STDMETHODCALLTYPE *CreateStream)(
3525        IStorage* This,
3526        LPCOLESTR pwcsName,
3527        DWORD grfMode,
3528        DWORD reserved1,
3529        DWORD reserved2,
3530        IStream **ppstm);
3531
3532    HRESULT (STDMETHODCALLTYPE *OpenStream)(
3533        IStorage* This,
3534        LPCOLESTR pwcsName,
3535        void *reserved1,
3536        DWORD grfMode,
3537        DWORD reserved2,
3538        IStream **ppstm);
3539
3540    HRESULT (STDMETHODCALLTYPE *CreateStorage)(
3541        IStorage* This,
3542        LPCOLESTR pwcsName,
3543        DWORD grfMode,
3544        DWORD dwStgFmt,
3545        DWORD reserved2,
3546        IStorage **ppstg);
3547
3548    HRESULT (STDMETHODCALLTYPE *OpenStorage)(
3549        IStorage* This,
3550        LPCOLESTR pwcsName,
3551        IStorage *pstgPriority,
3552        DWORD grfMode,
3553        SNB snbExclude,
3554        DWORD reserved,
3555        IStorage **ppstg);
3556
3557    HRESULT (STDMETHODCALLTYPE *CopyTo)(
3558        IStorage* This,
3559        DWORD ciidExclude,
3560        const IID *rgiidExclude,
3561        SNB snbExclude,
3562        IStorage *pstgDest);
3563
3564    HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
3565        IStorage* This,
3566        LPCOLESTR pwcsName,
3567        IStorage *pstgDest,
3568        LPCOLESTR pwcsNewName,
3569        DWORD grfFlags);
3570
3571    HRESULT (STDMETHODCALLTYPE *Commit)(
3572        IStorage* This,
3573        DWORD grfCommitFlags);
3574
3575    HRESULT (STDMETHODCALLTYPE *Revert)(
3576        IStorage* This);
3577
3578    HRESULT (STDMETHODCALLTYPE *EnumElements)(
3579        IStorage* This,
3580        DWORD reserved1,
3581        void *reserved2,
3582        DWORD reserved3,
3583        IEnumSTATSTG **ppenum);
3584
3585    HRESULT (STDMETHODCALLTYPE *DestroyElement)(
3586        IStorage* This,
3587        LPCOLESTR pwcsName);
3588
3589    HRESULT (STDMETHODCALLTYPE *RenameElement)(
3590        IStorage* This,
3591        LPCOLESTR pwcsOldName,
3592        LPCOLESTR pwcsNewName);
3593
3594    HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
3595        IStorage* This,
3596        LPCOLESTR pwcsName,
3597        const FILETIME *pctime,
3598        const FILETIME *patime,
3599        const FILETIME *pmtime);
3600
3601    HRESULT (STDMETHODCALLTYPE *SetClass)(
3602        IStorage* This,
3603        REFCLSID clsid);
3604
3605    HRESULT (STDMETHODCALLTYPE *SetStateBits)(
3606        IStorage* This,
3607        DWORD grfStateBits,
3608        DWORD grfMask);
3609
3610    HRESULT (STDMETHODCALLTYPE *Stat)(
3611        IStorage* This,
3612        STATSTG *pstatstg,
3613        DWORD grfStatFlag);
3614
3615    END_INTERFACE
3616} IStorageVtbl;
3617interface IStorage {
3618    CONST_VTBL IStorageVtbl* lpVtbl;
3619};
3620
3621#ifdef COBJMACROS
3622#ifndef WIDL_C_INLINE_WRAPPERS
3623/*** IUnknown methods ***/
3624#define IStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3625#define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
3626#define IStorage_Release(This) (This)->lpVtbl->Release(This)
3627/*** IStorage methods ***/
3628#define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) (This)->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
3629#define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) (This)->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
3630#define IStorage_CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg) (This)->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg)
3631#define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
3632#define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
3633#define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
3634#define IStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
3635#define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
3636#define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
3637#define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName)
3638#define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
3639#define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
3640#define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
3641#define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
3642#define IStorage_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
3643#else
3644/*** IUnknown methods ***/
3645static FORCEINLINE HRESULT IStorage_QueryInterface(IStorage* This,REFIID riid,void **ppvObject) {
3646    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3647}
3648static FORCEINLINE ULONG IStorage_AddRef(IStorage* This) {
3649    return This->lpVtbl->AddRef(This);
3650}
3651static FORCEINLINE ULONG IStorage_Release(IStorage* This) {
3652    return This->lpVtbl->Release(This);
3653}
3654/*** IStorage methods ***/
3655static FORCEINLINE HRESULT IStorage_CreateStream(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStream **ppstm) {
3656    return This->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm);
3657}
3658static FORCEINLINE HRESULT IStorage_OpenStream(IStorage* This,LPCOLESTR pwcsName,void *reserved1,DWORD grfMode,DWORD reserved2,IStream **ppstm) {
3659    return This->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm);
3660}
3661static FORCEINLINE HRESULT IStorage_CreateStorage(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD dwStgFmt,DWORD reserved2,IStorage **ppstg) {
3662    return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg);
3663}
3664static FORCEINLINE HRESULT IStorage_OpenStorage(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstg) {
3665    return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg);
3666}
3667static FORCEINLINE HRESULT IStorage_CopyTo(IStorage* This,DWORD ciidExclude,const IID *rgiidExclude,SNB snbExclude,IStorage *pstgDest) {
3668    return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest);
3669}
3670static FORCEINLINE HRESULT IStorage_MoveElementTo(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgDest,LPCOLESTR pwcsNewName,DWORD grfFlags) {
3671    return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags);
3672}
3673static FORCEINLINE HRESULT IStorage_Commit(IStorage* This,DWORD grfCommitFlags) {
3674    return This->lpVtbl->Commit(This,grfCommitFlags);
3675}
3676static FORCEINLINE HRESULT IStorage_Revert(IStorage* This) {
3677    return This->lpVtbl->Revert(This);
3678}
3679static FORCEINLINE HRESULT IStorage_EnumElements(IStorage* This,DWORD reserved1,void *reserved2,DWORD reserved3,IEnumSTATSTG **ppenum) {
3680    return This->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum);
3681}
3682static FORCEINLINE HRESULT IStorage_DestroyElement(IStorage* This,LPCOLESTR pwcsName) {
3683    return This->lpVtbl->DestroyElement(This,pwcsName);
3684}
3685static FORCEINLINE HRESULT IStorage_RenameElement(IStorage* This,LPCOLESTR pwcsOldName,LPCOLESTR pwcsNewName) {
3686    return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName);
3687}
3688static FORCEINLINE HRESULT IStorage_SetElementTimes(IStorage* This,LPCOLESTR pwcsName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
3689    return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime);
3690}
3691static FORCEINLINE HRESULT IStorage_SetClass(IStorage* This,REFCLSID clsid) {
3692    return This->lpVtbl->SetClass(This,clsid);
3693}
3694static FORCEINLINE HRESULT IStorage_SetStateBits(IStorage* This,DWORD grfStateBits,DWORD grfMask) {
3695    return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask);
3696}
3697static FORCEINLINE HRESULT IStorage_Stat(IStorage* This,STATSTG *pstatstg,DWORD grfStatFlag) {
3698    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
3699}
3700#endif
3701#endif
3702
3703#endif
3704
3705HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(
3706    IStorage* This,
3707    LPCOLESTR pwcsName,
3708    DWORD grfMode,
3709    DWORD reserved1,
3710    DWORD reserved2,
3711    IStream **ppstm);
3712void __RPC_STUB IStorage_CreateStream_Stub(
3713    IRpcStubBuffer* This,
3714    IRpcChannelBuffer* pRpcChannelBuffer,
3715    PRPC_MESSAGE pRpcMessage,
3716    DWORD* pdwStubPhase);
3717HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(
3718    IStorage* This,
3719    LPCOLESTR pwcsName,
3720    ULONG cbReserved1,
3721    byte *reserved1,
3722    DWORD grfMode,
3723    DWORD reserved2,
3724    IStream **ppstm);
3725void __RPC_STUB IStorage_RemoteOpenStream_Stub(
3726    IRpcStubBuffer* This,
3727    IRpcChannelBuffer* pRpcChannelBuffer,
3728    PRPC_MESSAGE pRpcMessage,
3729    DWORD* pdwStubPhase);
3730HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(
3731    IStorage* This,
3732    LPCOLESTR pwcsName,
3733    DWORD grfMode,
3734    DWORD dwStgFmt,
3735    DWORD reserved2,
3736    IStorage **ppstg);
3737void __RPC_STUB IStorage_CreateStorage_Stub(
3738    IRpcStubBuffer* This,
3739    IRpcChannelBuffer* pRpcChannelBuffer,
3740    PRPC_MESSAGE pRpcMessage,
3741    DWORD* pdwStubPhase);
3742HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(
3743    IStorage* This,
3744    LPCOLESTR pwcsName,
3745    IStorage *pstgPriority,
3746    DWORD grfMode,
3747    SNB snbExclude,
3748    DWORD reserved,
3749    IStorage **ppstg);
3750void __RPC_STUB IStorage_OpenStorage_Stub(
3751    IRpcStubBuffer* This,
3752    IRpcChannelBuffer* pRpcChannelBuffer,
3753    PRPC_MESSAGE pRpcMessage,
3754    DWORD* pdwStubPhase);
3755HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(
3756    IStorage* This,
3757    DWORD ciidExclude,
3758    const IID *rgiidExclude,
3759    SNB snbExclude,
3760    IStorage *pstgDest);
3761void __RPC_STUB IStorage_CopyTo_Stub(
3762    IRpcStubBuffer* This,
3763    IRpcChannelBuffer* pRpcChannelBuffer,
3764    PRPC_MESSAGE pRpcMessage,
3765    DWORD* pdwStubPhase);
3766HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(
3767    IStorage* This,
3768    LPCOLESTR pwcsName,
3769    IStorage *pstgDest,
3770    LPCOLESTR pwcsNewName,
3771    DWORD grfFlags);
3772void __RPC_STUB IStorage_MoveElementTo_Stub(
3773    IRpcStubBuffer* This,
3774    IRpcChannelBuffer* pRpcChannelBuffer,
3775    PRPC_MESSAGE pRpcMessage,
3776    DWORD* pdwStubPhase);
3777HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(
3778    IStorage* This,
3779    DWORD grfCommitFlags);
3780void __RPC_STUB IStorage_Commit_Stub(
3781    IRpcStubBuffer* This,
3782    IRpcChannelBuffer* pRpcChannelBuffer,
3783    PRPC_MESSAGE pRpcMessage,
3784    DWORD* pdwStubPhase);
3785HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(
3786    IStorage* This);
3787void __RPC_STUB IStorage_Revert_Stub(
3788    IRpcStubBuffer* This,
3789    IRpcChannelBuffer* pRpcChannelBuffer,
3790    PRPC_MESSAGE pRpcMessage,
3791    DWORD* pdwStubPhase);
3792HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(
3793    IStorage* This,
3794    DWORD reserved1,
3795    ULONG cbReserved2,
3796    byte *reserved2,
3797    DWORD reserved3,
3798    IEnumSTATSTG **ppenum);
3799void __RPC_STUB IStorage_RemoteEnumElements_Stub(
3800    IRpcStubBuffer* This,
3801    IRpcChannelBuffer* pRpcChannelBuffer,
3802    PRPC_MESSAGE pRpcMessage,
3803    DWORD* pdwStubPhase);
3804HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(
3805    IStorage* This,
3806    LPCOLESTR pwcsName);
3807void __RPC_STUB IStorage_DestroyElement_Stub(
3808    IRpcStubBuffer* This,
3809    IRpcChannelBuffer* pRpcChannelBuffer,
3810    PRPC_MESSAGE pRpcMessage,
3811    DWORD* pdwStubPhase);
3812HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(
3813    IStorage* This,
3814    LPCOLESTR pwcsOldName,
3815    LPCOLESTR pwcsNewName);
3816void __RPC_STUB IStorage_RenameElement_Stub(
3817    IRpcStubBuffer* This,
3818    IRpcChannelBuffer* pRpcChannelBuffer,
3819    PRPC_MESSAGE pRpcMessage,
3820    DWORD* pdwStubPhase);
3821HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(
3822    IStorage* This,
3823    LPCOLESTR pwcsName,
3824    const FILETIME *pctime,
3825    const FILETIME *patime,
3826    const FILETIME *pmtime);
3827void __RPC_STUB IStorage_SetElementTimes_Stub(
3828    IRpcStubBuffer* This,
3829    IRpcChannelBuffer* pRpcChannelBuffer,
3830    PRPC_MESSAGE pRpcMessage,
3831    DWORD* pdwStubPhase);
3832HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(
3833    IStorage* This,
3834    REFCLSID clsid);
3835void __RPC_STUB IStorage_SetClass_Stub(
3836    IRpcStubBuffer* This,
3837    IRpcChannelBuffer* pRpcChannelBuffer,
3838    PRPC_MESSAGE pRpcMessage,
3839    DWORD* pdwStubPhase);
3840HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(
3841    IStorage* This,
3842    DWORD grfStateBits,
3843    DWORD grfMask);
3844void __RPC_STUB IStorage_SetStateBits_Stub(
3845    IRpcStubBuffer* This,
3846    IRpcChannelBuffer* pRpcChannelBuffer,
3847    PRPC_MESSAGE pRpcMessage,
3848    DWORD* pdwStubPhase);
3849HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(
3850    IStorage* This,
3851    STATSTG *pstatstg,
3852    DWORD grfStatFlag);
3853void __RPC_STUB IStorage_Stat_Stub(
3854    IRpcStubBuffer* This,
3855    IRpcChannelBuffer* pRpcChannelBuffer,
3856    PRPC_MESSAGE pRpcMessage,
3857    DWORD* pdwStubPhase);
3858HRESULT CALLBACK IStorage_OpenStream_Proxy(
3859    IStorage* This,
3860    LPCOLESTR pwcsName,
3861    void *reserved1,
3862    DWORD grfMode,
3863    DWORD reserved2,
3864    IStream **ppstm);
3865HRESULT __RPC_STUB IStorage_OpenStream_Stub(
3866    IStorage* This,
3867    LPCOLESTR pwcsName,
3868    ULONG cbReserved1,
3869    byte *reserved1,
3870    DWORD grfMode,
3871    DWORD reserved2,
3872    IStream **ppstm);
3873HRESULT CALLBACK IStorage_EnumElements_Proxy(
3874    IStorage* This,
3875    DWORD reserved1,
3876    void *reserved2,
3877    DWORD reserved3,
3878    IEnumSTATSTG **ppenum);
3879HRESULT __RPC_STUB IStorage_EnumElements_Stub(
3880    IStorage* This,
3881    DWORD reserved1,
3882    ULONG cbReserved2,
3883    byte *reserved2,
3884    DWORD reserved3,
3885    IEnumSTATSTG **ppenum);
3886
3887#endif  /* __IStorage_INTERFACE_DEFINED__ */
3888
3889#ifndef __IPersistFile_INTERFACE_DEFINED__
3890#define __IPersistFile_INTERFACE_DEFINED__
3891  typedef IPersistFile *LPPERSISTFILE;
3892
3893  EXTERN_C const IID IID_IPersistFile;
3894#if defined(__cplusplus) && !defined(CINTERFACE)
3895  struct IPersistFile : public IPersist {
3896  public:
3897    virtual HRESULT WINAPI IsDirty(void) = 0;
3898    virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,DWORD dwMode) = 0;
3899    virtual HRESULT WINAPI Save(LPCOLESTR pszFileName,WINBOOL fRemember) = 0;
3900    virtual HRESULT WINAPI SaveCompleted(LPCOLESTR pszFileName) = 0;
3901    virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName) = 0;
3902  };
3903#else
3904  typedef struct IPersistFileVtbl {
3905    BEGIN_INTERFACE
3906      HRESULT (WINAPI *QueryInterface)(IPersistFile *This,REFIID riid,void **ppvObject);
3907      ULONG (WINAPI *AddRef)(IPersistFile *This);
3908      ULONG (WINAPI *Release)(IPersistFile *This);
3909      HRESULT (WINAPI *GetClassID)(IPersistFile *This,CLSID *pClassID);
3910      HRESULT (WINAPI *IsDirty)(IPersistFile *This);
3911      HRESULT (WINAPI *Load)(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
3912      HRESULT (WINAPI *Save)(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
3913      HRESULT (WINAPI *SaveCompleted)(IPersistFile *This,LPCOLESTR pszFileName);
3914      HRESULT (WINAPI *GetCurFile)(IPersistFile *This,LPOLESTR *ppszFileName);
3915    END_INTERFACE
3916  } IPersistFileVtbl;
3917  struct IPersistFile {
3918    CONST_VTBL struct IPersistFileVtbl *lpVtbl;
3919  };
3920#ifdef COBJMACROS
3921#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3922#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
3923#define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
3924#define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3925#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
3926#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
3927#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
3928#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
3929#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
3930#endif
3931#endif
3932  HRESULT WINAPI IPersistFile_IsDirty_Proxy(IPersistFile *This);
3933  void __RPC_STUB IPersistFile_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3934  HRESULT WINAPI IPersistFile_Load_Proxy(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
3935  void __RPC_STUB IPersistFile_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3936  HRESULT WINAPI IPersistFile_Save_Proxy(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
3937  void __RPC_STUB IPersistFile_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3938  HRESULT WINAPI IPersistFile_SaveCompleted_Proxy(IPersistFile *This,LPCOLESTR pszFileName);
3939  void __RPC_STUB IPersistFile_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3940  HRESULT WINAPI IPersistFile_GetCurFile_Proxy(IPersistFile *This,LPOLESTR *ppszFileName);
3941  void __RPC_STUB IPersistFile_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3942#endif
3943
3944#ifndef __IPersistStorage_INTERFACE_DEFINED__
3945#define __IPersistStorage_INTERFACE_DEFINED__
3946  typedef IPersistStorage *LPPERSISTSTORAGE;
3947
3948  EXTERN_C const IID IID_IPersistStorage;
3949#if defined(__cplusplus) && !defined(CINTERFACE)
3950  struct IPersistStorage : public IPersist {
3951  public:
3952    virtual HRESULT WINAPI IsDirty(void) = 0;
3953    virtual HRESULT WINAPI InitNew(IStorage *pStg) = 0;
3954    virtual HRESULT WINAPI Load(IStorage *pStg) = 0;
3955    virtual HRESULT WINAPI Save(IStorage *pStgSave,WINBOOL fSameAsLoad) = 0;
3956    virtual HRESULT WINAPI SaveCompleted(IStorage *pStgNew) = 0;
3957    virtual HRESULT WINAPI HandsOffStorage(void) = 0;
3958  };
3959#else
3960  typedef struct IPersistStorageVtbl {
3961    BEGIN_INTERFACE
3962      HRESULT (WINAPI *QueryInterface)(IPersistStorage *This,REFIID riid,void **ppvObject);
3963      ULONG (WINAPI *AddRef)(IPersistStorage *This);
3964      ULONG (WINAPI *Release)(IPersistStorage *This);
3965      HRESULT (WINAPI *GetClassID)(IPersistStorage *This,CLSID *pClassID);
3966      HRESULT (WINAPI *IsDirty)(IPersistStorage *This);
3967      HRESULT (WINAPI *InitNew)(IPersistStorage *This,IStorage *pStg);
3968      HRESULT (WINAPI *Load)(IPersistStorage *This,IStorage *pStg);
3969      HRESULT (WINAPI *Save)(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
3970      HRESULT (WINAPI *SaveCompleted)(IPersistStorage *This,IStorage *pStgNew);
3971      HRESULT (WINAPI *HandsOffStorage)(IPersistStorage *This);
3972    END_INTERFACE
3973  } IPersistStorageVtbl;
3974  struct IPersistStorage {
3975    CONST_VTBL struct IPersistStorageVtbl *lpVtbl;
3976  };
3977#ifdef COBJMACROS
3978#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3979#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
3980#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
3981#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3982#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
3983#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
3984#define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)
3985#define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
3986#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
3987#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
3988#endif
3989#endif
3990  HRESULT WINAPI IPersistStorage_IsDirty_Proxy(IPersistStorage *This);
3991  void __RPC_STUB IPersistStorage_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3992  HRESULT WINAPI IPersistStorage_InitNew_Proxy(IPersistStorage *This,IStorage *pStg);
3993  void __RPC_STUB IPersistStorage_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3994  HRESULT WINAPI IPersistStorage_Load_Proxy(IPersistStorage *This,IStorage *pStg);
3995  void __RPC_STUB IPersistStorage_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3996  HRESULT WINAPI IPersistStorage_Save_Proxy(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
3997  void __RPC_STUB IPersistStorage_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3998  HRESULT WINAPI IPersistStorage_SaveCompleted_Proxy(IPersistStorage *This,IStorage *pStgNew);
3999  void __RPC_STUB IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4000  HRESULT WINAPI IPersistStorage_HandsOffStorage_Proxy(IPersistStorage *This);
4001  void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4002#endif
4003
4004#ifndef __ILockBytes_INTERFACE_DEFINED__
4005#define __ILockBytes_INTERFACE_DEFINED__
4006  typedef ILockBytes *LPLOCKBYTES;
4007
4008  EXTERN_C const IID IID_ILockBytes;
4009#if defined(__cplusplus) && !defined(CINTERFACE)
4010  struct ILockBytes : public IUnknown {
4011  public:
4012    virtual HRESULT WINAPI ReadAt(ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) = 0;
4013    virtual HRESULT WINAPI WriteAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
4014    virtual HRESULT WINAPI Flush(void) = 0;
4015    virtual HRESULT WINAPI SetSize(ULARGE_INTEGER cb) = 0;
4016    virtual HRESULT WINAPI LockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
4017    virtual HRESULT WINAPI UnlockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
4018    virtual HRESULT WINAPI Stat(STATSTG *pstatstg,DWORD grfStatFlag) = 0;
4019  };
4020#else
4021  typedef struct ILockBytesVtbl {
4022    BEGIN_INTERFACE
4023      HRESULT (WINAPI *QueryInterface)(ILockBytes *This,REFIID riid,void **ppvObject);
4024      ULONG (WINAPI *AddRef)(ILockBytes *This);
4025      ULONG (WINAPI *Release)(ILockBytes *This);
4026      HRESULT (WINAPI *ReadAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
4027      HRESULT (WINAPI *WriteAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
4028      HRESULT (WINAPI *Flush)(ILockBytes *This);
4029      HRESULT (WINAPI *SetSize)(ILockBytes *This,ULARGE_INTEGER cb);
4030      HRESULT (WINAPI *LockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
4031      HRESULT (WINAPI *UnlockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
4032      HRESULT (WINAPI *Stat)(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
4033    END_INTERFACE
4034  } ILockBytesVtbl;
4035  struct ILockBytes {
4036    CONST_VTBL struct ILockBytesVtbl *lpVtbl;
4037  };
4038#ifdef COBJMACROS
4039#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4040#define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
4041#define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
4042#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
4043#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
4044#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
4045#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
4046#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4047#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4048#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4049#endif
4050#endif
4051  HRESULT WINAPI ILockBytes_RemoteReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
4052  void __RPC_STUB ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4053  HRESULT WINAPI ILockBytes_RemoteWriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
4054  void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4055  HRESULT WINAPI ILockBytes_Flush_Proxy(ILockBytes *This);
4056  void __RPC_STUB ILockBytes_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4057  HRESULT WINAPI ILockBytes_SetSize_Proxy(ILockBytes *This,ULARGE_INTEGER cb);
4058  void __RPC_STUB ILockBytes_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4059  HRESULT WINAPI ILockBytes_LockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
4060  void __RPC_STUB ILockBytes_LockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4061  HRESULT WINAPI ILockBytes_UnlockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
4062  void __RPC_STUB ILockBytes_UnlockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4063  HRESULT WINAPI ILockBytes_Stat_Proxy(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
4064  void __RPC_STUB ILockBytes_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4065#endif
4066/*****************************************************************************
4067 * IEnumFORMATETC interface
4068 */
4069#ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
4070#define __IEnumFORMATETC_INTERFACE_DEFINED__
4071
4072typedef IEnumFORMATETC *LPENUMFORMATETC;
4073typedef struct tagDVTARGETDEVICE {
4074    DWORD tdSize;
4075    WORD tdDriverNameOffset;
4076    WORD tdDeviceNameOffset;
4077    WORD tdPortNameOffset;
4078    WORD tdExtDevmodeOffset;
4079    BYTE tdData[1];
4080} DVTARGETDEVICE;
4081typedef CLIPFORMAT *LPCLIPFORMAT;
4082typedef struct tagFORMATETC {
4083    CLIPFORMAT cfFormat;
4084    DVTARGETDEVICE *ptd;
4085    DWORD dwAspect;
4086    LONG lindex;
4087    DWORD tymed;
4088} FORMATETC;
4089typedef struct tagFORMATETC *LPFORMATETC;
4090DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4091#if defined(__cplusplus) && !defined(CINTERFACE)
4092MIDL_INTERFACE("00000103-0000-0000-c000-000000000046")
4093IEnumFORMATETC : public IUnknown
4094{
4095    virtual HRESULT STDMETHODCALLTYPE Next(
4096        ULONG celt,
4097        FORMATETC *rgelt,
4098        ULONG *pceltFetched) = 0;
4099
4100    virtual HRESULT STDMETHODCALLTYPE Skip(
4101        ULONG celt) = 0;
4102
4103    virtual HRESULT STDMETHODCALLTYPE Reset(
4104        ) = 0;
4105
4106    virtual HRESULT STDMETHODCALLTYPE Clone(
4107        IEnumFORMATETC **ppenum) = 0;
4108
4109};
4110#ifdef __CRT_UUID_DECL
4111__CRT_UUID_DECL(IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4112#endif
4113#else
4114typedef struct IEnumFORMATETCVtbl {
4115    BEGIN_INTERFACE
4116
4117    /*** IUnknown methods ***/
4118    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4119        IEnumFORMATETC* This,
4120        REFIID riid,
4121        void **ppvObject);
4122
4123    ULONG (STDMETHODCALLTYPE *AddRef)(
4124        IEnumFORMATETC* This);
4125
4126    ULONG (STDMETHODCALLTYPE *Release)(
4127        IEnumFORMATETC* This);
4128
4129    /*** IEnumFORMATETC methods ***/
4130    HRESULT (STDMETHODCALLTYPE *Next)(
4131        IEnumFORMATETC* This,
4132        ULONG celt,
4133        FORMATETC *rgelt,
4134        ULONG *pceltFetched);
4135
4136    HRESULT (STDMETHODCALLTYPE *Skip)(
4137        IEnumFORMATETC* This,
4138        ULONG celt);
4139
4140    HRESULT (STDMETHODCALLTYPE *Reset)(
4141        IEnumFORMATETC* This);
4142
4143    HRESULT (STDMETHODCALLTYPE *Clone)(
4144        IEnumFORMATETC* This,
4145        IEnumFORMATETC **ppenum);
4146
4147    END_INTERFACE
4148} IEnumFORMATETCVtbl;
4149interface IEnumFORMATETC {
4150    CONST_VTBL IEnumFORMATETCVtbl* lpVtbl;
4151};
4152
4153#ifdef COBJMACROS
4154#ifndef WIDL_C_INLINE_WRAPPERS
4155/*** IUnknown methods ***/
4156#define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4157#define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
4158#define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
4159/*** IEnumFORMATETC methods ***/
4160#define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
4161#define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
4162#define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
4163#define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
4164#else
4165/*** IUnknown methods ***/
4166static FORCEINLINE HRESULT IEnumFORMATETC_QueryInterface(IEnumFORMATETC* This,REFIID riid,void **ppvObject) {
4167    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4168}
4169static FORCEINLINE ULONG IEnumFORMATETC_AddRef(IEnumFORMATETC* This) {
4170    return This->lpVtbl->AddRef(This);
4171}
4172static FORCEINLINE ULONG IEnumFORMATETC_Release(IEnumFORMATETC* This) {
4173    return This->lpVtbl->Release(This);
4174}
4175/*** IEnumFORMATETC methods ***/
4176static FORCEINLINE HRESULT IEnumFORMATETC_Next(IEnumFORMATETC* This,ULONG celt,FORMATETC *rgelt,ULONG *pceltFetched) {
4177    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
4178}
4179static FORCEINLINE HRESULT IEnumFORMATETC_Skip(IEnumFORMATETC* This,ULONG celt) {
4180    return This->lpVtbl->Skip(This,celt);
4181}
4182static FORCEINLINE HRESULT IEnumFORMATETC_Reset(IEnumFORMATETC* This) {
4183    return This->lpVtbl->Reset(This);
4184}
4185static FORCEINLINE HRESULT IEnumFORMATETC_Clone(IEnumFORMATETC* This,IEnumFORMATETC **ppenum) {
4186    return This->lpVtbl->Clone(This,ppenum);
4187}
4188#endif
4189#endif
4190
4191#endif
4192
4193HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(
4194    IEnumFORMATETC* This,
4195    ULONG celt,
4196    FORMATETC *rgelt,
4197    ULONG *pceltFetched);
4198void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
4199    IRpcStubBuffer* This,
4200    IRpcChannelBuffer* pRpcChannelBuffer,
4201    PRPC_MESSAGE pRpcMessage,
4202    DWORD* pdwStubPhase);
4203HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(
4204    IEnumFORMATETC* This,
4205    ULONG celt);
4206void __RPC_STUB IEnumFORMATETC_Skip_Stub(
4207    IRpcStubBuffer* This,
4208    IRpcChannelBuffer* pRpcChannelBuffer,
4209    PRPC_MESSAGE pRpcMessage,
4210    DWORD* pdwStubPhase);
4211HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(
4212    IEnumFORMATETC* This);
4213void __RPC_STUB IEnumFORMATETC_Reset_Stub(
4214    IRpcStubBuffer* This,
4215    IRpcChannelBuffer* pRpcChannelBuffer,
4216    PRPC_MESSAGE pRpcMessage,
4217    DWORD* pdwStubPhase);
4218HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(
4219    IEnumFORMATETC* This,
4220    IEnumFORMATETC **ppenum);
4221void __RPC_STUB IEnumFORMATETC_Clone_Stub(
4222    IRpcStubBuffer* This,
4223    IRpcChannelBuffer* pRpcChannelBuffer,
4224    PRPC_MESSAGE pRpcMessage,
4225    DWORD* pdwStubPhase);
4226HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
4227    IEnumFORMATETC* This,
4228    ULONG celt,
4229    FORMATETC *rgelt,
4230    ULONG *pceltFetched);
4231HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
4232    IEnumFORMATETC* This,
4233    ULONG celt,
4234    FORMATETC *rgelt,
4235    ULONG *pceltFetched);
4236
4237#endif  /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
4238
4239/*****************************************************************************
4240 * IEnumSTATDATA interface
4241 */
4242#ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
4243#define __IEnumSTATDATA_INTERFACE_DEFINED__
4244
4245typedef IEnumSTATDATA *LPENUMSTATDATA;
4246typedef enum tagADVF {
4247    ADVF_NODATA = 1,
4248    ADVF_PRIMEFIRST = 2,
4249    ADVF_ONLYONCE = 4,
4250    ADVF_DATAONSTOP = 64,
4251    ADVFCACHE_NOHANDLER = 8,
4252    ADVFCACHE_FORCEBUILTIN = 16,
4253    ADVFCACHE_ONSAVE = 32
4254} ADVF;
4255typedef struct tagSTATDATA {
4256    FORMATETC formatetc;
4257    DWORD advf;
4258    IAdviseSink *pAdvSink;
4259    DWORD dwConnection;
4260} STATDATA;
4261typedef STATDATA *LPSTATDATA;
4262DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4263#if defined(__cplusplus) && !defined(CINTERFACE)
4264MIDL_INTERFACE("00000105-0000-0000-c000-000000000046")
4265IEnumSTATDATA : public IUnknown
4266{
4267    virtual HRESULT STDMETHODCALLTYPE Next(
4268        ULONG celt,
4269        STATDATA *rgelt,
4270        ULONG *pceltFetched) = 0;
4271
4272    virtual HRESULT STDMETHODCALLTYPE Skip(
4273        ULONG celt) = 0;
4274
4275    virtual HRESULT STDMETHODCALLTYPE Reset(
4276        ) = 0;
4277
4278    virtual HRESULT STDMETHODCALLTYPE Clone(
4279        IEnumSTATDATA **ppenum) = 0;
4280
4281};
4282#ifdef __CRT_UUID_DECL
4283__CRT_UUID_DECL(IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4284#endif
4285#else
4286typedef struct IEnumSTATDATAVtbl {
4287    BEGIN_INTERFACE
4288
4289    /*** IUnknown methods ***/
4290    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4291        IEnumSTATDATA* This,
4292        REFIID riid,
4293        void **ppvObject);
4294
4295    ULONG (STDMETHODCALLTYPE *AddRef)(
4296        IEnumSTATDATA* This);
4297
4298    ULONG (STDMETHODCALLTYPE *Release)(
4299        IEnumSTATDATA* This);
4300
4301    /*** IEnumSTATDATA methods ***/
4302    HRESULT (STDMETHODCALLTYPE *Next)(
4303        IEnumSTATDATA* This,
4304        ULONG celt,
4305        STATDATA *rgelt,
4306        ULONG *pceltFetched);
4307
4308    HRESULT (STDMETHODCALLTYPE *Skip)(
4309        IEnumSTATDATA* This,
4310        ULONG celt);
4311
4312    HRESULT (STDMETHODCALLTYPE *Reset)(
4313        IEnumSTATDATA* This);
4314
4315    HRESULT (STDMETHODCALLTYPE *Clone)(
4316        IEnumSTATDATA* This,
4317        IEnumSTATDATA **ppenum);
4318
4319    END_INTERFACE
4320} IEnumSTATDATAVtbl;
4321interface IEnumSTATDATA {
4322    CONST_VTBL IEnumSTATDATAVtbl* lpVtbl;
4323};
4324
4325#ifdef COBJMACROS
4326#ifndef WIDL_C_INLINE_WRAPPERS
4327/*** IUnknown methods ***/
4328#define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4329#define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
4330#define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
4331/*** IEnumSTATDATA methods ***/
4332#define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
4333#define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
4334#define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
4335#define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
4336#else
4337/*** IUnknown methods ***/
4338static FORCEINLINE HRESULT IEnumSTATDATA_QueryInterface(IEnumSTATDATA* This,REFIID riid,void **ppvObject) {
4339    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4340}
4341static FORCEINLINE ULONG IEnumSTATDATA_AddRef(IEnumSTATDATA* This) {
4342    return This->lpVtbl->AddRef(This);
4343}
4344static FORCEINLINE ULONG IEnumSTATDATA_Release(IEnumSTATDATA* This) {
4345    return This->lpVtbl->Release(This);
4346}
4347/*** IEnumSTATDATA methods ***/
4348static FORCEINLINE HRESULT IEnumSTATDATA_Next(IEnumSTATDATA* This,ULONG celt,STATDATA *rgelt,ULONG *pceltFetched) {
4349    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
4350}
4351static FORCEINLINE HRESULT IEnumSTATDATA_Skip(IEnumSTATDATA* This,ULONG celt) {
4352    return This->lpVtbl->Skip(This,celt);
4353}
4354static FORCEINLINE HRESULT IEnumSTATDATA_Reset(IEnumSTATDATA* This) {
4355    return This->lpVtbl->Reset(This);
4356}
4357static FORCEINLINE HRESULT IEnumSTATDATA_Clone(IEnumSTATDATA* This,IEnumSTATDATA **ppenum) {
4358    return This->lpVtbl->Clone(This,ppenum);
4359}
4360#endif
4361#endif
4362
4363#endif
4364
4365HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(
4366    IEnumSTATDATA* This,
4367    ULONG celt,
4368    STATDATA *rgelt,
4369    ULONG *pceltFetched);
4370void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
4371    IRpcStubBuffer* This,
4372    IRpcChannelBuffer* pRpcChannelBuffer,
4373    PRPC_MESSAGE pRpcMessage,
4374    DWORD* pdwStubPhase);
4375HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(
4376    IEnumSTATDATA* This,
4377    ULONG celt);
4378void __RPC_STUB IEnumSTATDATA_Skip_Stub(
4379    IRpcStubBuffer* This,
4380    IRpcChannelBuffer* pRpcChannelBuffer,
4381    PRPC_MESSAGE pRpcMessage,
4382    DWORD* pdwStubPhase);
4383HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(
4384    IEnumSTATDATA* This);
4385void __RPC_STUB IEnumSTATDATA_Reset_Stub(
4386    IRpcStubBuffer* This,
4387    IRpcChannelBuffer* pRpcChannelBuffer,
4388    PRPC_MESSAGE pRpcMessage,
4389    DWORD* pdwStubPhase);
4390HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(
4391    IEnumSTATDATA* This,
4392    IEnumSTATDATA **ppenum);
4393void __RPC_STUB IEnumSTATDATA_Clone_Stub(
4394    IRpcStubBuffer* This,
4395    IRpcChannelBuffer* pRpcChannelBuffer,
4396    PRPC_MESSAGE pRpcMessage,
4397    DWORD* pdwStubPhase);
4398HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
4399    IEnumSTATDATA* This,
4400    ULONG celt,
4401    STATDATA *rgelt,
4402    ULONG *pceltFetched);
4403HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
4404    IEnumSTATDATA* This,
4405    ULONG celt,
4406    STATDATA *rgelt,
4407    ULONG *pceltFetched);
4408
4409#endif  /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
4410
4411#ifndef __IRootStorage_INTERFACE_DEFINED__
4412#define __IRootStorage_INTERFACE_DEFINED__
4413  typedef IRootStorage *LPROOTSTORAGE;
4414
4415  EXTERN_C const IID IID_IRootStorage;
4416#if defined(__cplusplus) && !defined(CINTERFACE)
4417  struct IRootStorage : public IUnknown {
4418  public:
4419    virtual HRESULT WINAPI SwitchToFile(LPOLESTR pszFile) = 0;
4420  };
4421#else
4422  typedef struct IRootStorageVtbl {
4423    BEGIN_INTERFACE
4424      HRESULT (WINAPI *QueryInterface)(IRootStorage *This,REFIID riid,void **ppvObject);
4425      ULONG (WINAPI *AddRef)(IRootStorage *This);
4426      ULONG (WINAPI *Release)(IRootStorage *This);
4427      HRESULT (WINAPI *SwitchToFile)(IRootStorage *This,LPOLESTR pszFile);
4428    END_INTERFACE
4429  } IRootStorageVtbl;
4430  struct IRootStorage {
4431    CONST_VTBL struct IRootStorageVtbl *lpVtbl;
4432  };
4433#ifdef COBJMACROS
4434#define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4435#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
4436#define IRootStorage_Release(This) (This)->lpVtbl->Release(This)
4437#define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)
4438#endif
4439#endif
4440  HRESULT WINAPI IRootStorage_SwitchToFile_Proxy(IRootStorage *This,LPOLESTR pszFile);
4441  void __RPC_STUB IRootStorage_SwitchToFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4442#endif
4443/*****************************************************************************
4444 * IAdviseSink interface
4445 */
4446#ifndef __IAdviseSink_INTERFACE_DEFINED__
4447#define __IAdviseSink_INTERFACE_DEFINED__
4448
4449typedef IAdviseSink *LPADVISESINK;
4450typedef enum tagTYMED {
4451    TYMED_HGLOBAL = 1,
4452    TYMED_FILE = 2,
4453    TYMED_ISTREAM = 4,
4454    TYMED_ISTORAGE = 8,
4455    TYMED_GDI = 16,
4456    TYMED_MFPICT = 32,
4457    TYMED_ENHMF = 64,
4458    TYMED_NULL = 0
4459} TYMED;
4460typedef struct tagRemSTGMEDIUM {
4461    DWORD tymed;
4462    DWORD dwHandleType;
4463    ULONG pData;
4464    ULONG pUnkForRelease;
4465    ULONG cbData;
4466    byte data[1];
4467} RemSTGMEDIUM;
4468#if 0
4469typedef struct tagSTGMEDIUM {
4470    DWORD tymed;
4471    union {
4472        HBITMAP hBitmap;
4473        HMETAFILEPICT hMetaFilePict;
4474        HENHMETAFILE hEnhMetaFile;
4475        HGLOBAL hGlobal;
4476        LPOLESTR lpszFileName;
4477        IStream *pstm;
4478        IStorage *pstg;
4479    } DUMMYUNIONNAME;
4480    IUnknown *pUnkForRelease;
4481} uSTGMEDIUM;
4482#else
4483  typedef struct tagSTGMEDIUM {
4484    DWORD tymed;
4485    __C89_NAMELESS union {
4486      HBITMAP hBitmap;
4487      HMETAFILEPICT hMetaFilePict;
4488      HENHMETAFILE hEnhMetaFile;
4489      HGLOBAL hGlobal;
4490      LPOLESTR lpszFileName;
4491      IStream *pstm;
4492      IStorage *pstg;
4493    } DUMMYUNIONNAME;
4494    IUnknown *pUnkForRelease;
4495  } uSTGMEDIUM;
4496#endif
4497typedef struct _GDI_OBJECT {
4498    DWORD ObjectType;
4499    union {
4500        wireHBITMAP hBitmap;
4501        wireHPALETTE hPalette;
4502        wireHGLOBAL hGeneric;
4503    } u;
4504} GDI_OBJECT;
4505#if 0
4506typedef struct _userSTGMEDIUM {
4507    struct _STGMEDIUM_UNION {
4508        DWORD tymed;
4509        union {
4510            wireHMETAFILEPICT hMetaFilePict;
4511            wireHENHMETAFILE hHEnhMetaFile;
4512            GDI_OBJECT *hGdiHandle;
4513            wireHGLOBAL hGlobal;
4514            LPOLESTR lpszFileName;
4515            BYTE_BLOB *pstm;
4516            BYTE_BLOB *pstg;
4517        } u;
4518    } DUMMYUNIONNAME;
4519    IUnknown *pUnkForRelease;
4520} userSTGMEDIUM;
4521#else
4522typedef struct _userSTGMEDIUM {
4523    __C89_NAMELESS struct _STGMEDIUM_UNION {
4524        DWORD tymed;
4525        union {
4526            wireHMETAFILEPICT hMetaFilePict;
4527            wireHENHMETAFILE hHEnhMetaFile;
4528            GDI_OBJECT *hGdiHandle;
4529            wireHGLOBAL hGlobal;
4530            LPOLESTR lpszFileName;
4531            BYTE_BLOB *pstm;
4532            BYTE_BLOB *pstg;
4533        } u;
4534    } DUMMYUNIONNAME;
4535    IUnknown *pUnkForRelease;
4536} userSTGMEDIUM;
4537#endif
4538typedef userSTGMEDIUM *wireSTGMEDIUM;
4539typedef uSTGMEDIUM STGMEDIUM;
4540typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
4541typedef STGMEDIUM ASYNC_STGMEDIUM;
4542typedef STGMEDIUM *LPSTGMEDIUM;
4543typedef struct _userFLAG_STGMEDIUM {
4544    LONG ContextFlags;
4545    LONG fPassOwnership;
4546    userSTGMEDIUM Stgmed;
4547} userFLAG_STGMEDIUM;
4548typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
4549typedef struct _FLAG_STGMEDIUM {
4550    LONG ContextFlags;
4551    LONG fPassOwnership;
4552    STGMEDIUM Stgmed;
4553} FLAG_STGMEDIUM;
4554DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4555#if defined(__cplusplus) && !defined(CINTERFACE)
4556MIDL_INTERFACE("0000010f-0000-0000-c000-000000000046")
4557IAdviseSink : public IUnknown
4558{
4559    virtual void STDMETHODCALLTYPE OnDataChange(
4560        FORMATETC *pFormatetc,
4561        STGMEDIUM *pStgmed) = 0;
4562
4563    virtual void STDMETHODCALLTYPE OnViewChange(
4564        DWORD dwAspect,
4565        LONG lindex) = 0;
4566
4567    virtual void STDMETHODCALLTYPE OnRename(
4568        IMoniker *pmk) = 0;
4569
4570    virtual void STDMETHODCALLTYPE OnSave(
4571        ) = 0;
4572
4573    virtual void STDMETHODCALLTYPE OnClose(
4574        ) = 0;
4575
4576};
4577#ifdef __CRT_UUID_DECL
4578__CRT_UUID_DECL(IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4579#endif
4580#else
4581typedef struct IAdviseSinkVtbl {
4582    BEGIN_INTERFACE
4583
4584    /*** IUnknown methods ***/
4585    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4586        IAdviseSink* This,
4587        REFIID riid,
4588        void **ppvObject);
4589
4590    ULONG (STDMETHODCALLTYPE *AddRef)(
4591        IAdviseSink* This);
4592
4593    ULONG (STDMETHODCALLTYPE *Release)(
4594        IAdviseSink* This);
4595
4596    /*** IAdviseSink methods ***/
4597    void (STDMETHODCALLTYPE *OnDataChange)(
4598        IAdviseSink* This,
4599        FORMATETC *pFormatetc,
4600        STGMEDIUM *pStgmed);
4601
4602    void (STDMETHODCALLTYPE *OnViewChange)(
4603        IAdviseSink* This,
4604        DWORD dwAspect,
4605        LONG lindex);
4606
4607    void (STDMETHODCALLTYPE *OnRename)(
4608        IAdviseSink* This,
4609        IMoniker *pmk);
4610
4611    void (STDMETHODCALLTYPE *OnSave)(
4612        IAdviseSink* This);
4613
4614    void (STDMETHODCALLTYPE *OnClose)(
4615        IAdviseSink* This);
4616
4617    END_INTERFACE
4618} IAdviseSinkVtbl;
4619interface IAdviseSink {
4620    CONST_VTBL IAdviseSinkVtbl* lpVtbl;
4621};
4622
4623#ifdef COBJMACROS
4624#ifndef WIDL_C_INLINE_WRAPPERS
4625/*** IUnknown methods ***/
4626#define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4627#define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
4628#define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
4629/*** IAdviseSink methods ***/
4630#define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
4631#define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
4632#define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
4633#define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
4634#define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
4635#else
4636/*** IUnknown methods ***/
4637static FORCEINLINE HRESULT IAdviseSink_QueryInterface(IAdviseSink* This,REFIID riid,void **ppvObject) {
4638    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4639}
4640static FORCEINLINE ULONG IAdviseSink_AddRef(IAdviseSink* This) {
4641    return This->lpVtbl->AddRef(This);
4642}
4643static FORCEINLINE ULONG IAdviseSink_Release(IAdviseSink* This) {
4644    return This->lpVtbl->Release(This);
4645}
4646/*** IAdviseSink methods ***/
4647static FORCEINLINE void IAdviseSink_OnDataChange(IAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
4648    This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
4649}
4650static FORCEINLINE void IAdviseSink_OnViewChange(IAdviseSink* This,DWORD dwAspect,LONG lindex) {
4651    This->lpVtbl->OnViewChange(This,dwAspect,lindex);
4652}
4653static FORCEINLINE void IAdviseSink_OnRename(IAdviseSink* This,IMoniker *pmk) {
4654    This->lpVtbl->OnRename(This,pmk);
4655}
4656static FORCEINLINE void IAdviseSink_OnSave(IAdviseSink* This) {
4657    This->lpVtbl->OnSave(This);
4658}
4659static FORCEINLINE void IAdviseSink_OnClose(IAdviseSink* This) {
4660    This->lpVtbl->OnClose(This);
4661}
4662#endif
4663#endif
4664
4665#endif
4666
4667HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(
4668    IAdviseSink* This,
4669    FORMATETC *pFormatetc,
4670    ASYNC_STGMEDIUM *pStgmed);
4671void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
4672    IRpcStubBuffer* This,
4673    IRpcChannelBuffer* pRpcChannelBuffer,
4674    PRPC_MESSAGE pRpcMessage,
4675    DWORD* pdwStubPhase);
4676HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(
4677    IAdviseSink* This,
4678    DWORD dwAspect,
4679    LONG lindex);
4680void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
4681    IRpcStubBuffer* This,
4682    IRpcChannelBuffer* pRpcChannelBuffer,
4683    PRPC_MESSAGE pRpcMessage,
4684    DWORD* pdwStubPhase);
4685HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(
4686    IAdviseSink* This,
4687    IMoniker *pmk);
4688void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
4689    IRpcStubBuffer* This,
4690    IRpcChannelBuffer* pRpcChannelBuffer,
4691    PRPC_MESSAGE pRpcMessage,
4692    DWORD* pdwStubPhase);
4693HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(
4694    IAdviseSink* This);
4695void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
4696    IRpcStubBuffer* This,
4697    IRpcChannelBuffer* pRpcChannelBuffer,
4698    PRPC_MESSAGE pRpcMessage,
4699    DWORD* pdwStubPhase);
4700HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(
4701    IAdviseSink* This);
4702void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
4703    IRpcStubBuffer* This,
4704    IRpcChannelBuffer* pRpcChannelBuffer,
4705    PRPC_MESSAGE pRpcMessage,
4706    DWORD* pdwStubPhase);
4707void CALLBACK IAdviseSink_OnDataChange_Proxy(
4708    IAdviseSink* This,
4709    FORMATETC *pFormatetc,
4710    STGMEDIUM *pStgmed);
4711HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
4712    IAdviseSink* This,
4713    FORMATETC *pFormatetc,
4714    ASYNC_STGMEDIUM *pStgmed);
4715void CALLBACK IAdviseSink_OnViewChange_Proxy(
4716    IAdviseSink* This,
4717    DWORD dwAspect,
4718    LONG lindex);
4719HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
4720    IAdviseSink* This,
4721    DWORD dwAspect,
4722    LONG lindex);
4723void CALLBACK IAdviseSink_OnRename_Proxy(
4724    IAdviseSink* This,
4725    IMoniker *pmk);
4726HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
4727    IAdviseSink* This,
4728    IMoniker *pmk);
4729void CALLBACK IAdviseSink_OnSave_Proxy(
4730    IAdviseSink* This);
4731HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
4732    IAdviseSink* This);
4733void CALLBACK IAdviseSink_OnClose_Proxy(
4734    IAdviseSink* This);
4735HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
4736    IAdviseSink* This);
4737
4738#endif  /* __IAdviseSink_INTERFACE_DEFINED__ */
4739
4740#ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__
4741#define __AsyncIAdviseSink_INTERFACE_DEFINED__
4742  EXTERN_C const IID IID_AsyncIAdviseSink;
4743#if defined(__cplusplus) && !defined(CINTERFACE)
4744  struct AsyncIAdviseSink : public IUnknown {
4745  public:
4746    virtual void WINAPI Begin_OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed) = 0;
4747    virtual void WINAPI Finish_OnDataChange(void) = 0;
4748    virtual void WINAPI Begin_OnViewChange(DWORD dwAspect,LONG lindex) = 0;
4749    virtual void WINAPI Finish_OnViewChange(void) = 0;
4750    virtual void WINAPI Begin_OnRename(IMoniker *pmk) = 0;
4751    virtual void WINAPI Finish_OnRename(void) = 0;
4752    virtual void WINAPI Begin_OnSave(void) = 0;
4753    virtual void WINAPI Finish_OnSave(void) = 0;
4754    virtual void WINAPI Begin_OnClose(void) = 0;
4755    virtual void WINAPI Finish_OnClose(void) = 0;
4756  };
4757#else
4758  typedef struct AsyncIAdviseSinkVtbl {
4759    BEGIN_INTERFACE
4760      HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink *This,REFIID riid,void **ppvObject);
4761      ULONG (WINAPI *AddRef)(AsyncIAdviseSink *This);
4762      ULONG (WINAPI *Release)(AsyncIAdviseSink *This);
4763      void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
4764      void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink *This);
4765      void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
4766      void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink *This);
4767      void (WINAPI *Begin_OnRename)(AsyncIAdviseSink *This,IMoniker *pmk);
4768      void (WINAPI *Finish_OnRename)(AsyncIAdviseSink *This);
4769      void (WINAPI *Begin_OnSave)(AsyncIAdviseSink *This);
4770      void (WINAPI *Finish_OnSave)(AsyncIAdviseSink *This);
4771      void (WINAPI *Begin_OnClose)(AsyncIAdviseSink *This);
4772      void (WINAPI *Finish_OnClose)(AsyncIAdviseSink *This);
4773    END_INTERFACE
4774  } AsyncIAdviseSinkVtbl;
4775  struct AsyncIAdviseSink {
4776    CONST_VTBL struct AsyncIAdviseSinkVtbl *lpVtbl;
4777  };
4778#ifdef COBJMACROS
4779#define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4780#define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
4781#define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This)
4782#define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
4783#define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
4784#define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
4785#define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
4786#define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
4787#define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
4788#define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
4789#define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
4790#define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
4791#define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
4792#endif
4793#endif
4794  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
4795  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4796  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This);
4797  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4798  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
4799  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4800  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This);
4801  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4802  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
4803  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4804  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(AsyncIAdviseSink *This);
4805  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4806  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
4807  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4808  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
4809  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4810  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
4811  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4812  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
4813  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4814#endif
4815
4816#ifndef __IAdviseSink2_INTERFACE_DEFINED__
4817#define __IAdviseSink2_INTERFACE_DEFINED__
4818  typedef IAdviseSink2 *LPADVISESINK2;
4819
4820  EXTERN_C const IID IID_IAdviseSink2;
4821#if defined(__cplusplus) && !defined(CINTERFACE)
4822  struct IAdviseSink2 : public IAdviseSink {
4823  public:
4824    virtual void WINAPI OnLinkSrcChange(IMoniker *pmk) = 0;
4825  };
4826#else
4827  typedef struct IAdviseSink2Vtbl {
4828    BEGIN_INTERFACE
4829      HRESULT (WINAPI *QueryInterface)(IAdviseSink2 *This,REFIID riid,void **ppvObject);
4830      ULONG (WINAPI *AddRef)(IAdviseSink2 *This);
4831      ULONG (WINAPI *Release)(IAdviseSink2 *This);
4832      void (WINAPI *OnDataChange)(IAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
4833      void (WINAPI *OnViewChange)(IAdviseSink2 *This,DWORD dwAspect,LONG lindex);
4834      void (WINAPI *OnRename)(IAdviseSink2 *This,IMoniker *pmk);
4835      void (WINAPI *OnSave)(IAdviseSink2 *This);
4836      void (WINAPI *OnClose)(IAdviseSink2 *This);
4837      void (WINAPI *OnLinkSrcChange)(IAdviseSink2 *This,IMoniker *pmk);
4838    END_INTERFACE
4839  } IAdviseSink2Vtbl;
4840  struct IAdviseSink2 {
4841    CONST_VTBL struct IAdviseSink2Vtbl *lpVtbl;
4842  };
4843#ifdef COBJMACROS
4844#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4845#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
4846#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
4847#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
4848#define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
4849#define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
4850#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
4851#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
4852#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
4853#endif
4854#endif
4855  HRESULT WINAPI IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
4856  void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4857#endif
4858
4859#ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__
4860#define __AsyncIAdviseSink2_INTERFACE_DEFINED__
4861  EXTERN_C const IID IID_AsyncIAdviseSink2;
4862#if defined(__cplusplus) && !defined(CINTERFACE)
4863  struct AsyncIAdviseSink2 : public AsyncIAdviseSink {
4864  public:
4865    virtual void WINAPI Begin_OnLinkSrcChange(IMoniker *pmk) = 0;
4866    virtual void WINAPI Finish_OnLinkSrcChange(void) = 0;
4867  };
4868#else
4869  typedef struct AsyncIAdviseSink2Vtbl {
4870    BEGIN_INTERFACE
4871      HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink2 *This,REFIID riid,void **ppvObject);
4872      ULONG (WINAPI *AddRef)(AsyncIAdviseSink2 *This);
4873      ULONG (WINAPI *Release)(AsyncIAdviseSink2 *This);
4874      void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
4875      void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink2 *This);
4876      void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink2 *This,DWORD dwAspect,LONG lindex);
4877      void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink2 *This);
4878      void (WINAPI *Begin_OnRename)(AsyncIAdviseSink2 *This,IMoniker *pmk);
4879      void (WINAPI *Finish_OnRename)(AsyncIAdviseSink2 *This);
4880      void (WINAPI *Begin_OnSave)(AsyncIAdviseSink2 *This);
4881      void (WINAPI *Finish_OnSave)(AsyncIAdviseSink2 *This);
4882      void (WINAPI *Begin_OnClose)(AsyncIAdviseSink2 *This);
4883      void (WINAPI *Finish_OnClose)(AsyncIAdviseSink2 *This);
4884      void (WINAPI *Begin_OnLinkSrcChange)(AsyncIAdviseSink2 *This,IMoniker *pmk);
4885      void (WINAPI *Finish_OnLinkSrcChange)(AsyncIAdviseSink2 *This);
4886    END_INTERFACE
4887  } AsyncIAdviseSink2Vtbl;
4888  struct AsyncIAdviseSink2 {
4889    CONST_VTBL struct AsyncIAdviseSink2Vtbl *lpVtbl;
4890  };
4891#ifdef COBJMACROS
4892#define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4893#define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
4894#define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
4895#define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
4896#define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
4897#define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
4898#define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
4899#define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
4900#define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
4901#define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
4902#define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
4903#define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
4904#define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
4905#define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk)
4906#define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This)
4907#endif
4908#endif
4909  HRESULT WINAPI AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
4910  void __RPC_STUB AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4911  HRESULT WINAPI AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
4912  void __RPC_STUB AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4913#endif
4914/*****************************************************************************
4915 * IDataObject interface
4916 */
4917#ifndef __IDataObject_INTERFACE_DEFINED__
4918#define __IDataObject_INTERFACE_DEFINED__
4919
4920typedef IDataObject *LPDATAOBJECT;
4921typedef enum tagDATADIR {
4922    DATADIR_GET = 1,
4923    DATADIR_SET = 2
4924} DATADIR;
4925DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4926#if defined(__cplusplus) && !defined(CINTERFACE)
4927MIDL_INTERFACE("0000010e-0000-0000-c000-000000000046")
4928IDataObject : public IUnknown
4929{
4930    virtual HRESULT STDMETHODCALLTYPE GetData(
4931        FORMATETC *pformatetcIn,
4932        STGMEDIUM *pmedium) = 0;
4933
4934    virtual HRESULT STDMETHODCALLTYPE GetDataHere(
4935        FORMATETC *pformatetc,
4936        STGMEDIUM *pmedium) = 0;
4937
4938    virtual HRESULT STDMETHODCALLTYPE QueryGetData(
4939        FORMATETC *pformatetc) = 0;
4940
4941    virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
4942        FORMATETC *pformatectIn,
4943        FORMATETC *pformatetcOut) = 0;
4944
4945    virtual HRESULT STDMETHODCALLTYPE SetData(
4946        FORMATETC *pformatetc,
4947        STGMEDIUM *pmedium,
4948        WINBOOL fRelease) = 0;
4949
4950    virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
4951        DWORD dwDirection,
4952        IEnumFORMATETC **ppenumFormatEtc) = 0;
4953
4954    virtual HRESULT STDMETHODCALLTYPE DAdvise(
4955        FORMATETC *pformatetc,
4956        DWORD advf,
4957        IAdviseSink *pAdvSink,
4958        DWORD *pdwConnection) = 0;
4959
4960    virtual HRESULT STDMETHODCALLTYPE DUnadvise(
4961        DWORD dwConnection) = 0;
4962
4963    virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
4964        IEnumSTATDATA **ppenumAdvise) = 0;
4965
4966};
4967#ifdef __CRT_UUID_DECL
4968__CRT_UUID_DECL(IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4969#endif
4970#else
4971typedef struct IDataObjectVtbl {
4972    BEGIN_INTERFACE
4973
4974    /*** IUnknown methods ***/
4975    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4976        IDataObject* This,
4977        REFIID riid,
4978        void **ppvObject);
4979
4980    ULONG (STDMETHODCALLTYPE *AddRef)(
4981        IDataObject* This);
4982
4983    ULONG (STDMETHODCALLTYPE *Release)(
4984        IDataObject* This);
4985
4986    /*** IDataObject methods ***/
4987    HRESULT (STDMETHODCALLTYPE *GetData)(
4988        IDataObject* This,
4989        FORMATETC *pformatetcIn,
4990        STGMEDIUM *pmedium);
4991
4992    HRESULT (STDMETHODCALLTYPE *GetDataHere)(
4993        IDataObject* This,
4994        FORMATETC *pformatetc,
4995        STGMEDIUM *pmedium);
4996
4997    HRESULT (STDMETHODCALLTYPE *QueryGetData)(
4998        IDataObject* This,
4999        FORMATETC *pformatetc);
5000
5001    HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
5002        IDataObject* This,
5003        FORMATETC *pformatectIn,
5004        FORMATETC *pformatetcOut);
5005
5006    HRESULT (STDMETHODCALLTYPE *SetData)(
5007        IDataObject* This,
5008        FORMATETC *pformatetc,
5009        STGMEDIUM *pmedium,
5010        WINBOOL fRelease);
5011
5012    HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
5013        IDataObject* This,
5014        DWORD dwDirection,
5015        IEnumFORMATETC **ppenumFormatEtc);
5016
5017    HRESULT (STDMETHODCALLTYPE *DAdvise)(
5018        IDataObject* This,
5019        FORMATETC *pformatetc,
5020        DWORD advf,
5021        IAdviseSink *pAdvSink,
5022        DWORD *pdwConnection);
5023
5024    HRESULT (STDMETHODCALLTYPE *DUnadvise)(
5025        IDataObject* This,
5026        DWORD dwConnection);
5027
5028    HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
5029        IDataObject* This,
5030        IEnumSTATDATA **ppenumAdvise);
5031
5032    END_INTERFACE
5033} IDataObjectVtbl;
5034interface IDataObject {
5035    CONST_VTBL IDataObjectVtbl* lpVtbl;
5036};
5037
5038#ifdef COBJMACROS
5039#ifndef WIDL_C_INLINE_WRAPPERS
5040/*** IUnknown methods ***/
5041#define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5042#define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
5043#define IDataObject_Release(This) (This)->lpVtbl->Release(This)
5044/*** IDataObject methods ***/
5045#define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
5046#define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
5047#define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
5048#define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
5049#define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
5050#define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
5051#define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
5052#define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
5053#define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
5054#else
5055/*** IUnknown methods ***/
5056static FORCEINLINE HRESULT IDataObject_QueryInterface(IDataObject* This,REFIID riid,void **ppvObject) {
5057    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5058}
5059static FORCEINLINE ULONG IDataObject_AddRef(IDataObject* This) {
5060    return This->lpVtbl->AddRef(This);
5061}
5062static FORCEINLINE ULONG IDataObject_Release(IDataObject* This) {
5063    return This->lpVtbl->Release(This);
5064}
5065/*** IDataObject methods ***/
5066static FORCEINLINE HRESULT IDataObject_GetData(IDataObject* This,FORMATETC *pformatetcIn,STGMEDIUM *pmedium) {
5067    return This->lpVtbl->GetData(This,pformatetcIn,pmedium);
5068}
5069static FORCEINLINE HRESULT IDataObject_GetDataHere(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium) {
5070    return This->lpVtbl->GetDataHere(This,pformatetc,pmedium);
5071}
5072static FORCEINLINE HRESULT IDataObject_QueryGetData(IDataObject* This,FORMATETC *pformatetc) {
5073    return This->lpVtbl->QueryGetData(This,pformatetc);
5074}
5075static FORCEINLINE HRESULT IDataObject_GetCanonicalFormatEtc(IDataObject* This,FORMATETC *pformatectIn,FORMATETC *pformatetcOut) {
5076    return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut);
5077}
5078static FORCEINLINE HRESULT IDataObject_SetData(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
5079    return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
5080}
5081static FORCEINLINE HRESULT IDataObject_EnumFormatEtc(IDataObject* This,DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc) {
5082    return This->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc);
5083}
5084static FORCEINLINE HRESULT IDataObject_DAdvise(IDataObject* This,FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection) {
5085    return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection);
5086}
5087static FORCEINLINE HRESULT IDataObject_DUnadvise(IDataObject* This,DWORD dwConnection) {
5088    return This->lpVtbl->DUnadvise(This,dwConnection);
5089}
5090static FORCEINLINE HRESULT IDataObject_EnumDAdvise(IDataObject* This,IEnumSTATDATA **ppenumAdvise) {
5091    return This->lpVtbl->EnumDAdvise(This,ppenumAdvise);
5092}
5093#endif
5094#endif
5095
5096#endif
5097
5098HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(
5099    IDataObject* This,
5100    FORMATETC *pformatetcIn,
5101    STGMEDIUM *pRemoteMedium);
5102void __RPC_STUB IDataObject_RemoteGetData_Stub(
5103    IRpcStubBuffer* This,
5104    IRpcChannelBuffer* pRpcChannelBuffer,
5105    PRPC_MESSAGE pRpcMessage,
5106    DWORD* pdwStubPhase);
5107HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(
5108    IDataObject* This,
5109    FORMATETC *pformatetc,
5110    STGMEDIUM *pRemoteMedium);
5111void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
5112    IRpcStubBuffer* This,
5113    IRpcChannelBuffer* pRpcChannelBuffer,
5114    PRPC_MESSAGE pRpcMessage,
5115    DWORD* pdwStubPhase);
5116HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(
5117    IDataObject* This,
5118    FORMATETC *pformatetc);
5119void __RPC_STUB IDataObject_QueryGetData_Stub(
5120    IRpcStubBuffer* This,
5121    IRpcChannelBuffer* pRpcChannelBuffer,
5122    PRPC_MESSAGE pRpcMessage,
5123    DWORD* pdwStubPhase);
5124HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(
5125    IDataObject* This,
5126    FORMATETC *pformatectIn,
5127    FORMATETC *pformatetcOut);
5128void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
5129    IRpcStubBuffer* This,
5130    IRpcChannelBuffer* pRpcChannelBuffer,
5131    PRPC_MESSAGE pRpcMessage,
5132    DWORD* pdwStubPhase);
5133HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(
5134    IDataObject* This,
5135    FORMATETC *pformatetc,
5136    FLAG_STGMEDIUM *pmedium,
5137    WINBOOL fRelease);
5138void __RPC_STUB IDataObject_RemoteSetData_Stub(
5139    IRpcStubBuffer* This,
5140    IRpcChannelBuffer* pRpcChannelBuffer,
5141    PRPC_MESSAGE pRpcMessage,
5142    DWORD* pdwStubPhase);
5143HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(
5144    IDataObject* This,
5145    DWORD dwDirection,
5146    IEnumFORMATETC **ppenumFormatEtc);
5147void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
5148    IRpcStubBuffer* This,
5149    IRpcChannelBuffer* pRpcChannelBuffer,
5150    PRPC_MESSAGE pRpcMessage,
5151    DWORD* pdwStubPhase);
5152HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(
5153    IDataObject* This,
5154    FORMATETC *pformatetc,
5155    DWORD advf,
5156    IAdviseSink *pAdvSink,
5157    DWORD *pdwConnection);
5158void __RPC_STUB IDataObject_DAdvise_Stub(
5159    IRpcStubBuffer* This,
5160    IRpcChannelBuffer* pRpcChannelBuffer,
5161    PRPC_MESSAGE pRpcMessage,
5162    DWORD* pdwStubPhase);
5163HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(
5164    IDataObject* This,
5165    DWORD dwConnection);
5166void __RPC_STUB IDataObject_DUnadvise_Stub(
5167    IRpcStubBuffer* This,
5168    IRpcChannelBuffer* pRpcChannelBuffer,
5169    PRPC_MESSAGE pRpcMessage,
5170    DWORD* pdwStubPhase);
5171HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(
5172    IDataObject* This,
5173    IEnumSTATDATA **ppenumAdvise);
5174void __RPC_STUB IDataObject_EnumDAdvise_Stub(
5175    IRpcStubBuffer* This,
5176    IRpcChannelBuffer* pRpcChannelBuffer,
5177    PRPC_MESSAGE pRpcMessage,
5178    DWORD* pdwStubPhase);
5179HRESULT CALLBACK IDataObject_GetData_Proxy(
5180    IDataObject* This,
5181    FORMATETC *pformatetcIn,
5182    STGMEDIUM *pmedium);
5183HRESULT __RPC_STUB IDataObject_GetData_Stub(
5184    IDataObject* This,
5185    FORMATETC *pformatetcIn,
5186    STGMEDIUM *pRemoteMedium);
5187HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
5188    IDataObject* This,
5189    FORMATETC *pformatetc,
5190    STGMEDIUM *pmedium);
5191HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
5192    IDataObject* This,
5193    FORMATETC *pformatetc,
5194    STGMEDIUM *pRemoteMedium);
5195HRESULT CALLBACK IDataObject_SetData_Proxy(
5196    IDataObject* This,
5197    FORMATETC *pformatetc,
5198    STGMEDIUM *pmedium,
5199    WINBOOL fRelease);
5200HRESULT __RPC_STUB IDataObject_SetData_Stub(
5201    IDataObject* This,
5202    FORMATETC *pformatetc,
5203    FLAG_STGMEDIUM *pmedium,
5204    WINBOOL fRelease);
5205
5206#endif  /* __IDataObject_INTERFACE_DEFINED__ */
5207
5208#ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
5209#define __IDataAdviseHolder_INTERFACE_DEFINED__
5210  typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
5211  EXTERN_C const IID IID_IDataAdviseHolder;
5212#if defined(__cplusplus) && !defined(CINTERFACE)
5213  struct IDataAdviseHolder : public IUnknown {
5214  public:
5215    virtual HRESULT WINAPI Advise(IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) = 0;
5216    virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;
5217    virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;
5218    virtual HRESULT WINAPI SendOnDataChange(IDataObject *pDataObject,DWORD dwReserved,DWORD advf) = 0;
5219  };
5220#else
5221  typedef struct IDataAdviseHolderVtbl {
5222    BEGIN_INTERFACE
5223      HRESULT (WINAPI *QueryInterface)(IDataAdviseHolder *This,REFIID riid,void **ppvObject);
5224      ULONG (WINAPI *AddRef)(IDataAdviseHolder *This);
5225      ULONG (WINAPI *Release)(IDataAdviseHolder *This);
5226      HRESULT (WINAPI *Advise)(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
5227      HRESULT (WINAPI *Unadvise)(IDataAdviseHolder *This,DWORD dwConnection);
5228      HRESULT (WINAPI *EnumAdvise)(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
5229      HRESULT (WINAPI *SendOnDataChange)(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
5230    END_INTERFACE
5231  } IDataAdviseHolderVtbl;
5232  struct IDataAdviseHolder {
5233    CONST_VTBL struct IDataAdviseHolderVtbl *lpVtbl;
5234  };
5235#ifdef COBJMACROS
5236#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5237#define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
5238#define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
5239#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
5240#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
5241#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
5242#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
5243#endif
5244#endif
5245  HRESULT WINAPI IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
5246  void __RPC_STUB IDataAdviseHolder_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5247  HRESULT WINAPI IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder *This,DWORD dwConnection);
5248  void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5249  HRESULT WINAPI IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
5250  void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5251  HRESULT WINAPI IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
5252  void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5253#endif
5254
5255#ifndef __IMessageFilter_INTERFACE_DEFINED__
5256#define __IMessageFilter_INTERFACE_DEFINED__
5257  typedef IMessageFilter *LPMESSAGEFILTER;
5258
5259  typedef enum tagCALLTYPE {
5260    CALLTYPE_TOPLEVEL = 1,CALLTYPE_NESTED = 2,CALLTYPE_ASYNC = 3,CALLTYPE_TOPLEVEL_CALLPENDING = 4,CALLTYPE_ASYNC_CALLPENDING = 5
5261  } CALLTYPE;
5262
5263  typedef enum tagSERVERCALL {
5264    SERVERCALL_ISHANDLED = 0,SERVERCALL_REJECTED = 1,SERVERCALL_RETRYLATER = 2
5265  } SERVERCALL;
5266
5267  typedef enum tagPENDINGTYPE {
5268    PENDINGTYPE_TOPLEVEL = 1,PENDINGTYPE_NESTED = 2
5269  } PENDINGTYPE;
5270
5271  typedef enum tagPENDINGMSG {
5272    PENDINGMSG_CANCELCALL = 0,PENDINGMSG_WAITNOPROCESS = 1,PENDINGMSG_WAITDEFPROCESS = 2
5273  } PENDINGMSG;
5274
5275  typedef struct tagINTERFACEINFO {
5276    IUnknown *pUnk;
5277    IID iid;
5278    WORD wMethod;
5279  } INTERFACEINFO;
5280
5281  typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
5282
5283  EXTERN_C const IID IID_IMessageFilter;
5284#if defined(__cplusplus) && !defined(CINTERFACE)
5285  struct IMessageFilter : public IUnknown {
5286  public:
5287    virtual DWORD WINAPI HandleInComingCall(DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) = 0;
5288    virtual DWORD WINAPI RetryRejectedCall(HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) = 0;
5289    virtual DWORD WINAPI MessagePending(HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) = 0;
5290  };
5291#else
5292  typedef struct IMessageFilterVtbl {
5293    BEGIN_INTERFACE
5294      HRESULT (WINAPI *QueryInterface)(IMessageFilter *This,REFIID riid,void **ppvObject);
5295      ULONG (WINAPI *AddRef)(IMessageFilter *This);
5296      ULONG (WINAPI *Release)(IMessageFilter *This);
5297      DWORD (WINAPI *HandleInComingCall)(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
5298      DWORD (WINAPI *RetryRejectedCall)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
5299      DWORD (WINAPI *MessagePending)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
5300    END_INTERFACE
5301  } IMessageFilterVtbl;
5302  struct IMessageFilter {
5303    CONST_VTBL struct IMessageFilterVtbl *lpVtbl;
5304  };
5305#ifdef COBJMACROS
5306#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5307#define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
5308#define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)
5309#define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
5310#define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
5311#define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
5312#endif
5313#endif
5314  DWORD WINAPI IMessageFilter_HandleInComingCall_Proxy(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
5315  void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5316  DWORD WINAPI IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
5317  void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5318  DWORD WINAPI IMessageFilter_MessagePending_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
5319  void __RPC_STUB IMessageFilter_MessagePending_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5320#endif
5321
5322#ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
5323#define __IRpcChannelBuffer_INTERFACE_DEFINED__
5324  typedef ULONG RPCOLEDATAREP;
5325
5326  typedef struct tagRPCOLEMESSAGE {
5327    void *reserved1;
5328    RPCOLEDATAREP dataRepresentation;
5329    void *Buffer;
5330    ULONG cbBuffer;
5331    ULONG iMethod;
5332    void *reserved2[5 ];
5333    ULONG rpcFlags;
5334  } RPCOLEMESSAGE;
5335
5336  typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
5337
5338  EXTERN_C const IID IID_IRpcChannelBuffer;
5339#if defined(__cplusplus) && !defined(CINTERFACE)
5340  struct IRpcChannelBuffer : public IUnknown {
5341  public:
5342    virtual HRESULT WINAPI GetBuffer(RPCOLEMESSAGE *pMessage,REFIID riid) = 0;
5343    virtual HRESULT WINAPI SendReceive(RPCOLEMESSAGE *pMessage,ULONG *pStatus) = 0;
5344    virtual HRESULT WINAPI FreeBuffer(RPCOLEMESSAGE *pMessage) = 0;
5345    virtual HRESULT WINAPI GetDestCtx(DWORD *pdwDestContext,void **ppvDestContext) = 0;
5346    virtual HRESULT WINAPI IsConnected(void) = 0;
5347  };
5348#else
5349  typedef struct IRpcChannelBufferVtbl {
5350    BEGIN_INTERFACE
5351      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer *This,REFIID riid,void **ppvObject);
5352      ULONG (WINAPI *AddRef)(IRpcChannelBuffer *This);
5353      ULONG (WINAPI *Release)(IRpcChannelBuffer *This);
5354      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
5355      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
5356      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
5357      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
5358      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer *This);
5359    END_INTERFACE
5360  } IRpcChannelBufferVtbl;
5361  struct IRpcChannelBuffer {
5362    CONST_VTBL struct IRpcChannelBufferVtbl *lpVtbl;
5363  };
5364#ifdef COBJMACROS
5365#define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5366#define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
5367#define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
5368#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
5369#define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
5370#define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
5371#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
5372#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
5373#endif
5374#endif
5375  HRESULT WINAPI IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
5376  void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5377  HRESULT WINAPI IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
5378  void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5379  HRESULT WINAPI IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
5380  void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5381  HRESULT WINAPI IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
5382  void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5383  HRESULT WINAPI IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer *This);
5384  void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5385#endif
5386
5387#ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
5388#define __IRpcChannelBuffer2_INTERFACE_DEFINED__
5389  EXTERN_C const IID IID_IRpcChannelBuffer2;
5390#if defined(__cplusplus) && !defined(CINTERFACE)
5391  struct IRpcChannelBuffer2 : public IRpcChannelBuffer {
5392  public:
5393    virtual HRESULT WINAPI GetProtocolVersion(DWORD *pdwVersion) = 0;
5394  };
5395#else
5396  typedef struct IRpcChannelBuffer2Vtbl {
5397    BEGIN_INTERFACE
5398      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer2 *This,REFIID riid,void **ppvObject);
5399      ULONG (WINAPI *AddRef)(IRpcChannelBuffer2 *This);
5400      ULONG (WINAPI *Release)(IRpcChannelBuffer2 *This);
5401      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
5402      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
5403      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage);
5404      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer2 *This,DWORD *pdwDestContext,void **ppvDestContext);
5405      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer2 *This);
5406      HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
5407    END_INTERFACE
5408  } IRpcChannelBuffer2Vtbl;
5409  struct IRpcChannelBuffer2 {
5410    CONST_VTBL struct IRpcChannelBuffer2Vtbl *lpVtbl;
5411  };
5412#ifdef COBJMACROS
5413#define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5414#define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
5415#define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)
5416#define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
5417#define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
5418#define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
5419#define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
5420#define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)
5421#define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
5422#endif
5423#endif
5424  HRESULT WINAPI IRpcChannelBuffer2_GetProtocolVersion_Proxy(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
5425  void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5426#endif
5427
5428#ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
5429#define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
5430  EXTERN_C const IID IID_IAsyncRpcChannelBuffer;
5431#if defined(__cplusplus) && !defined(CINTERFACE)
5432  struct IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 {
5433  public:
5434    virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) = 0;
5435    virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
5436    virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
5437  };
5438#else
5439  typedef struct IAsyncRpcChannelBufferVtbl {
5440    BEGIN_INTERFACE
5441      HRESULT (WINAPI *QueryInterface)(IAsyncRpcChannelBuffer *This,REFIID riid,void **ppvObject);
5442      ULONG (WINAPI *AddRef)(IAsyncRpcChannelBuffer *This);
5443      ULONG (WINAPI *Release)(IAsyncRpcChannelBuffer *This);
5444      HRESULT (WINAPI *GetBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
5445      HRESULT (WINAPI *SendReceive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
5446      HRESULT (WINAPI *FreeBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
5447      HRESULT (WINAPI *GetDestCtx)(IAsyncRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
5448      HRESULT (WINAPI *IsConnected)(IAsyncRpcChannelBuffer *This);
5449      HRESULT (WINAPI *GetProtocolVersion)(IAsyncRpcChannelBuffer *This,DWORD *pdwVersion);
5450      HRESULT (WINAPI *Send)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
5451      HRESULT (WINAPI *Receive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
5452      HRESULT (WINAPI *GetDestCtxEx)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
5453    END_INTERFACE
5454  } IAsyncRpcChannelBufferVtbl;
5455  struct IAsyncRpcChannelBuffer {
5456    CONST_VTBL struct IAsyncRpcChannelBufferVtbl *lpVtbl;
5457  };
5458#ifdef COBJMACROS
5459#define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5460#define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
5461#define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
5462#define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
5463#define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
5464#define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
5465#define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
5466#define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
5467#define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
5468#define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)
5469#define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)
5470#define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
5471#endif
5472#endif
5473  HRESULT WINAPI IAsyncRpcChannelBuffer_Send_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
5474  void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5475  HRESULT WINAPI IAsyncRpcChannelBuffer_Receive_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
5476  void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5477  HRESULT WINAPI IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
5478  void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5479#endif
5480
5481#ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
5482#define __IRpcChannelBuffer3_INTERFACE_DEFINED__
5483  EXTERN_C const IID IID_IRpcChannelBuffer3;
5484#if defined(__cplusplus) && !defined(CINTERFACE)
5485  struct IRpcChannelBuffer3 : public IRpcChannelBuffer2 {
5486  public:
5487    virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
5488    virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) = 0;
5489    virtual HRESULT WINAPI Cancel(RPCOLEMESSAGE *pMsg) = 0;
5490    virtual HRESULT WINAPI GetCallContext(RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) = 0;
5491    virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
5492    virtual HRESULT WINAPI GetState(RPCOLEMESSAGE *pMsg,DWORD *pState) = 0;
5493    virtual HRESULT WINAPI RegisterAsync(RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) = 0;
5494  };
5495#else
5496  typedef struct IRpcChannelBuffer3Vtbl {
5497    BEGIN_INTERFACE
5498      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer3 *This,REFIID riid,void **ppvObject);
5499      ULONG (WINAPI *AddRef)(IRpcChannelBuffer3 *This);
5500      ULONG (WINAPI *Release)(IRpcChannelBuffer3 *This);
5501      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
5502      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
5503      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage);
5504      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer3 *This,DWORD *pdwDestContext,void **ppvDestContext);
5505      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer3 *This);
5506      HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer3 *This,DWORD *pdwVersion);
5507      HRESULT (WINAPI *Send)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
5508      HRESULT (WINAPI *Receive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
5509      HRESULT (WINAPI *Cancel)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
5510      HRESULT (WINAPI *GetCallContext)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
5511      HRESULT (WINAPI *GetDestCtxEx)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
5512      HRESULT (WINAPI *GetState)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
5513      HRESULT (WINAPI *RegisterAsync)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
5514    END_INTERFACE
5515  } IRpcChannelBuffer3Vtbl;
5516  struct IRpcChannelBuffer3 {
5517    CONST_VTBL struct IRpcChannelBuffer3Vtbl *lpVtbl;
5518  };
5519#ifdef COBJMACROS
5520#define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5521#define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
5522#define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)
5523#define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
5524#define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
5525#define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
5526#define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
5527#define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)
5528#define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
5529#define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)
5530#define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)
5531#define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)
5532#define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)
5533#define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
5534#define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)
5535#define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)
5536#endif
5537#endif
5538  HRESULT WINAPI IRpcChannelBuffer3_Send_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
5539  void __RPC_STUB IRpcChannelBuffer3_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5540  HRESULT WINAPI IRpcChannelBuffer3_Receive_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
5541  void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5542  HRESULT WINAPI IRpcChannelBuffer3_Cancel_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
5543  void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5544  HRESULT WINAPI IRpcChannelBuffer3_GetCallContext_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
5545  void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5546  HRESULT WINAPI IRpcChannelBuffer3_GetDestCtxEx_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
5547  void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5548  HRESULT WINAPI IRpcChannelBuffer3_GetState_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
5549  void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5550  HRESULT WINAPI IRpcChannelBuffer3_RegisterAsync_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
5551  void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5552#endif
5553
5554#ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
5555#define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
5556  EXTERN_C const IID IID_IRpcSyntaxNegotiate;
5557#if defined(__cplusplus) && !defined(CINTERFACE)
5558  struct IRpcSyntaxNegotiate : public IUnknown {
5559  public:
5560    virtual HRESULT WINAPI NegotiateSyntax(RPCOLEMESSAGE *pMsg) = 0;
5561  };
5562#else
5563  typedef struct IRpcSyntaxNegotiateVtbl {
5564    BEGIN_INTERFACE
5565      HRESULT (WINAPI *QueryInterface)(IRpcSyntaxNegotiate *This,REFIID riid,void **ppvObject);
5566      ULONG (WINAPI *AddRef)(IRpcSyntaxNegotiate *This);
5567      ULONG (WINAPI *Release)(IRpcSyntaxNegotiate *This);
5568      HRESULT (WINAPI *NegotiateSyntax)(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
5569    END_INTERFACE
5570  } IRpcSyntaxNegotiateVtbl;
5571  struct IRpcSyntaxNegotiate {
5572    CONST_VTBL struct IRpcSyntaxNegotiateVtbl *lpVtbl;
5573  };
5574#ifdef COBJMACROS
5575#define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5576#define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
5577#define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)
5578#define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)
5579#endif
5580#endif
5581  HRESULT WINAPI IRpcSyntaxNegotiate_NegotiateSyntax_Proxy(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
5582  void __RPC_STUB IRpcSyntaxNegotiate_NegotiateSyntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5583#endif
5584
5585#ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
5586#define __IRpcProxyBuffer_INTERFACE_DEFINED__
5587  EXTERN_C const IID IID_IRpcProxyBuffer;
5588#if defined(__cplusplus) && !defined(CINTERFACE)
5589  struct IRpcProxyBuffer : public IUnknown {
5590  public:
5591    virtual HRESULT WINAPI Connect(IRpcChannelBuffer *pRpcChannelBuffer) = 0;
5592    virtual void WINAPI Disconnect(void) = 0;
5593  };
5594#else
5595  typedef struct IRpcProxyBufferVtbl {
5596    BEGIN_INTERFACE
5597      HRESULT (WINAPI *QueryInterface)(IRpcProxyBuffer *This,REFIID riid,void **ppvObject);
5598      ULONG (WINAPI *AddRef)(IRpcProxyBuffer *This);
5599      ULONG (WINAPI *Release)(IRpcProxyBuffer *This);
5600      HRESULT (WINAPI *Connect)(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
5601      void (WINAPI *Disconnect)(IRpcProxyBuffer *This);
5602    END_INTERFACE
5603  } IRpcProxyBufferVtbl;
5604  struct IRpcProxyBuffer {
5605    CONST_VTBL struct IRpcProxyBufferVtbl *lpVtbl;
5606  };
5607#ifdef COBJMACROS
5608#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5609#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
5610#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
5611#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
5612#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
5613#endif
5614#endif
5615  HRESULT WINAPI IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
5616  void __RPC_STUB IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5617  void WINAPI IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer *This);
5618  void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5619#endif
5620
5621#ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
5622#define __IRpcStubBuffer_INTERFACE_DEFINED__
5623  EXTERN_C const IID IID_IRpcStubBuffer;
5624#if defined(__cplusplus) && !defined(CINTERFACE)
5625  struct IRpcStubBuffer : public IUnknown {
5626  public:
5627    virtual HRESULT WINAPI Connect(IUnknown *pUnkServer) = 0;
5628    virtual void WINAPI Disconnect(void) = 0;
5629    virtual HRESULT WINAPI Invoke(RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
5630    virtual IRpcStubBuffer *WINAPI IsIIDSupported(REFIID riid) = 0;
5631    virtual ULONG WINAPI CountRefs(void) = 0;
5632    virtual HRESULT WINAPI DebugServerQueryInterface(void **ppv) = 0;
5633    virtual void WINAPI DebugServerRelease(void *pv) = 0;
5634  };
5635#else
5636  typedef struct IRpcStubBufferVtbl {
5637    BEGIN_INTERFACE
5638      HRESULT (WINAPI *QueryInterface)(IRpcStubBuffer *This,REFIID riid,void **ppvObject);
5639      ULONG (WINAPI *AddRef)(IRpcStubBuffer *This);
5640      ULONG (WINAPI *Release)(IRpcStubBuffer *This);
5641      HRESULT (WINAPI *Connect)(IRpcStubBuffer *This,IUnknown *pUnkServer);
5642      void (WINAPI *Disconnect)(IRpcStubBuffer *This);
5643      HRESULT (WINAPI *Invoke)(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
5644      IRpcStubBuffer *(WINAPI *IsIIDSupported)(IRpcStubBuffer *This,REFIID riid);
5645      ULONG (WINAPI *CountRefs)(IRpcStubBuffer *This);
5646      HRESULT (WINAPI *DebugServerQueryInterface)(IRpcStubBuffer *This,void **ppv);
5647      void (WINAPI *DebugServerRelease)(IRpcStubBuffer *This,void *pv);
5648    END_INTERFACE
5649  } IRpcStubBufferVtbl;
5650  struct IRpcStubBuffer {
5651    CONST_VTBL struct IRpcStubBufferVtbl *lpVtbl;
5652  };
5653#ifdef COBJMACROS
5654#define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5655#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
5656#define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
5657#define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)
5658#define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
5659#define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)
5660#define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)
5661#define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
5662#define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)
5663#define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)
5664#endif
5665#endif
5666  HRESULT WINAPI IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer *This,IUnknown *pUnkServer);
5667  void __RPC_STUB IRpcStubBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5668  void WINAPI IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer *This);
5669  void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5670  HRESULT WINAPI IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
5671  void __RPC_STUB IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5672  IRpcStubBuffer *WINAPI IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer *This,REFIID riid);
5673  void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5674  ULONG WINAPI IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer *This);
5675  void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5676  HRESULT WINAPI IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer *This,void **ppv);
5677  void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5678  void WINAPI IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer *This,void *pv);
5679  void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5680#endif
5681
5682#ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
5683#define __IPSFactoryBuffer_INTERFACE_DEFINED__
5684  EXTERN_C const IID IID_IPSFactoryBuffer;
5685#if defined(__cplusplus) && !defined(CINTERFACE)
5686  struct IPSFactoryBuffer : public IUnknown {
5687  public:
5688    virtual HRESULT WINAPI CreateProxy(IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) = 0;
5689    virtual HRESULT WINAPI CreateStub(REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) = 0;
5690  };
5691#else
5692  typedef struct IPSFactoryBufferVtbl {
5693    BEGIN_INTERFACE
5694      HRESULT (WINAPI *QueryInterface)(IPSFactoryBuffer *This,REFIID riid,void **ppvObject);
5695      ULONG (WINAPI *AddRef)(IPSFactoryBuffer *This);
5696      ULONG (WINAPI *Release)(IPSFactoryBuffer *This);
5697      HRESULT (WINAPI *CreateProxy)(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
5698      HRESULT (WINAPI *CreateStub)(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
5699    END_INTERFACE
5700  } IPSFactoryBufferVtbl;
5701  struct IPSFactoryBuffer {
5702    CONST_VTBL struct IPSFactoryBufferVtbl *lpVtbl;
5703  };
5704#ifdef COBJMACROS
5705#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5706#define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
5707#define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
5708#define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
5709#define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)
5710#endif
5711#endif
5712  HRESULT WINAPI IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
5713  void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5714  HRESULT WINAPI IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
5715  void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5716#endif
5717
5718  typedef struct SChannelHookCallInfo {
5719    IID iid;
5720    DWORD cbSize;
5721    GUID uCausality;
5722    DWORD dwServerPid;
5723    DWORD iMethod;
5724    void *pObject;
5725  } SChannelHookCallInfo;
5726
5727  extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
5728  extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
5729
5730#ifndef __IChannelHook_INTERFACE_DEFINED__
5731#define __IChannelHook_INTERFACE_DEFINED__
5732  EXTERN_C const IID IID_IChannelHook;
5733#if defined(__cplusplus) && !defined(CINTERFACE)
5734  struct IChannelHook : public IUnknown {
5735  public:
5736    virtual void WINAPI ClientGetSize(REFGUID uExtent,REFIID riid,ULONG *pDataSize) = 0;
5737    virtual void WINAPI ClientFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) = 0;
5738    virtual void WINAPI ClientNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) = 0;
5739    virtual void WINAPI ServerNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) = 0;
5740    virtual void WINAPI ServerGetSize(REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) = 0;
5741    virtual void WINAPI ServerFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) = 0;
5742  };
5743#else
5744  typedef struct IChannelHookVtbl {
5745    BEGIN_INTERFACE
5746      HRESULT (WINAPI *QueryInterface)(IChannelHook *This,REFIID riid,void **ppvObject);
5747      ULONG (WINAPI *AddRef)(IChannelHook *This);
5748      ULONG (WINAPI *Release)(IChannelHook *This);
5749      void (WINAPI *ClientGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
5750      void (WINAPI *ClientFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
5751      void (WINAPI *ClientNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
5752      void (WINAPI *ServerNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
5753      void (WINAPI *ServerGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
5754      void (WINAPI *ServerFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
5755    END_INTERFACE
5756  } IChannelHookVtbl;
5757  struct IChannelHook {
5758    CONST_VTBL struct IChannelHookVtbl *lpVtbl;
5759  };
5760#ifdef COBJMACROS
5761#define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5762#define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)
5763#define IChannelHook_Release(This) (This)->lpVtbl->Release(This)
5764#define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)
5765#define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
5766#define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
5767#define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
5768#define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
5769#define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
5770#endif
5771#endif
5772  void WINAPI IChannelHook_ClientGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
5773  void __RPC_STUB IChannelHook_ClientGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5774  void WINAPI IChannelHook_ClientFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
5775  void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5776  void WINAPI IChannelHook_ClientNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
5777  void __RPC_STUB IChannelHook_ClientNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5778  void WINAPI IChannelHook_ServerNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
5779  void __RPC_STUB IChannelHook_ServerNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5780  void WINAPI IChannelHook_ServerGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
5781  void __RPC_STUB IChannelHook_ServerGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5782  void WINAPI IChannelHook_ServerFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
5783  void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5784#endif
5785
5786  extern const FMTID FMTID_SummaryInformation;
5787  extern const FMTID FMTID_DocSummaryInformation;
5788  extern const FMTID FMTID_UserDefinedProperties;
5789  extern const FMTID FMTID_DiscardableInformation;
5790  extern const FMTID FMTID_ImageSummaryInformation;
5791  extern const FMTID FMTID_AudioSummaryInformation;
5792  extern const FMTID FMTID_VideoSummaryInformation;
5793  extern const FMTID FMTID_MediaFileSummaryInformation;
5794  extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;
5795  extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;
5796#ifndef __IClientSecurity_INTERFACE_DEFINED__
5797#define __IClientSecurity_INTERFACE_DEFINED__
5798  typedef struct tagSOLE_AUTHENTICATION_SERVICE {
5799    DWORD dwAuthnSvc;
5800    DWORD dwAuthzSvc;
5801    OLECHAR *pPrincipalName;
5802    HRESULT hr;
5803  } SOLE_AUTHENTICATION_SERVICE;
5804
5805  typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
5806
5807  typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
5808    EOAC_NONE = 0,EOAC_MUTUAL_AUTH = 0x1,EOAC_STATIC_CLOAKING = 0x20,EOAC_DYNAMIC_CLOAKING = 0x40,EOAC_ANY_AUTHORITY = 0x80,EOAC_MAKE_FULLSIC = 0x100,
5809    EOAC_DEFAULT = 0x800,EOAC_SECURE_REFS = 0x2,EOAC_ACCESS_CONTROL = 0x4,EOAC_APPID = 0x8,EOAC_DYNAMIC = 0x10,EOAC_REQUIRE_FULLSIC = 0x200,
5810    EOAC_AUTO_IMPERSONATE = 0x400,EOAC_NO_CUSTOM_MARSHAL = 0x2000,EOAC_DISABLE_AAA = 0x1000
5811  } EOLE_AUTHENTICATION_CAPABILITIES;
5812
5813#define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)-1)
5814#define COLE_DEFAULT_AUTHINFO ((void *)-1)
5815
5816  typedef struct tagSOLE_AUTHENTICATION_INFO {
5817    DWORD dwAuthnSvc;
5818    DWORD dwAuthzSvc;
5819    void *pAuthInfo;
5820  } SOLE_AUTHENTICATION_INFO;
5821
5822  typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
5823
5824  typedef struct tagSOLE_AUTHENTICATION_LIST {
5825    DWORD cAuthInfo;
5826    SOLE_AUTHENTICATION_INFO *aAuthInfo;
5827  } SOLE_AUTHENTICATION_LIST;
5828
5829  typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
5830
5831  EXTERN_C const IID IID_IClientSecurity;
5832#if defined(__cplusplus) && !defined(CINTERFACE)
5833  struct IClientSecurity : public IUnknown {
5834  public:
5835    virtual HRESULT WINAPI QueryBlanket(IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) = 0;
5836    virtual HRESULT WINAPI SetBlanket(IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) = 0;
5837    virtual HRESULT WINAPI CopyProxy(IUnknown *pProxy,IUnknown **ppCopy) = 0;
5838  };
5839#else
5840  typedef struct IClientSecurityVtbl {
5841    BEGIN_INTERFACE
5842      HRESULT (WINAPI *QueryInterface)(IClientSecurity *This,REFIID riid,void **ppvObject);
5843      ULONG (WINAPI *AddRef)(IClientSecurity *This);
5844      ULONG (WINAPI *Release)(IClientSecurity *This);
5845      HRESULT (WINAPI *QueryBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
5846      HRESULT (WINAPI *SetBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
5847      HRESULT (WINAPI *CopyProxy)(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
5848    END_INTERFACE
5849  } IClientSecurityVtbl;
5850  struct IClientSecurity {
5851    CONST_VTBL struct IClientSecurityVtbl *lpVtbl;
5852  };
5853#ifdef COBJMACROS
5854#define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5855#define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
5856#define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)
5857#define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
5858#define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
5859#define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)
5860#endif
5861#endif
5862  HRESULT WINAPI IClientSecurity_QueryBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
5863  void __RPC_STUB IClientSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5864  HRESULT WINAPI IClientSecurity_SetBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
5865  void __RPC_STUB IClientSecurity_SetBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5866  HRESULT WINAPI IClientSecurity_CopyProxy_Proxy(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
5867  void __RPC_STUB IClientSecurity_CopyProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5868#endif
5869
5870#ifndef __IServerSecurity_INTERFACE_DEFINED__
5871#define __IServerSecurity_INTERFACE_DEFINED__
5872  EXTERN_C const IID IID_IServerSecurity;
5873#if defined(__cplusplus) && !defined(CINTERFACE)
5874  struct IServerSecurity : public IUnknown {
5875  public:
5876    virtual HRESULT WINAPI QueryBlanket(DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) = 0;
5877    virtual HRESULT WINAPI ImpersonateClient(void) = 0;
5878    virtual HRESULT WINAPI RevertToSelf(void) = 0;
5879    virtual WINBOOL WINAPI IsImpersonating(void) = 0;
5880  };
5881#else
5882  typedef struct IServerSecurityVtbl {
5883    BEGIN_INTERFACE
5884      HRESULT (WINAPI *QueryInterface)(IServerSecurity *This,REFIID riid,void **ppvObject);
5885      ULONG (WINAPI *AddRef)(IServerSecurity *This);
5886      ULONG (WINAPI *Release)(IServerSecurity *This);
5887      HRESULT (WINAPI *QueryBlanket)(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
5888      HRESULT (WINAPI *ImpersonateClient)(IServerSecurity *This);
5889      HRESULT (WINAPI *RevertToSelf)(IServerSecurity *This);
5890      WINBOOL (WINAPI *IsImpersonating)(IServerSecurity *This);
5891    END_INTERFACE
5892  } IServerSecurityVtbl;
5893  struct IServerSecurity {
5894    CONST_VTBL struct IServerSecurityVtbl *lpVtbl;
5895  };
5896#ifdef COBJMACROS
5897#define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5898#define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
5899#define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)
5900#define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
5901#define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)
5902#define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)
5903#define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)
5904#endif
5905#endif
5906  HRESULT WINAPI IServerSecurity_QueryBlanket_Proxy(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
5907  void __RPC_STUB IServerSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5908  HRESULT WINAPI IServerSecurity_ImpersonateClient_Proxy(IServerSecurity *This);
5909  void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5910  HRESULT WINAPI IServerSecurity_RevertToSelf_Proxy(IServerSecurity *This);
5911  void __RPC_STUB IServerSecurity_RevertToSelf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5912  WINBOOL WINAPI IServerSecurity_IsImpersonating_Proxy(IServerSecurity *This);
5913  void __RPC_STUB IServerSecurity_IsImpersonating_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5914#endif
5915
5916#ifndef __IClassActivator_INTERFACE_DEFINED__
5917#define __IClassActivator_INTERFACE_DEFINED__
5918  EXTERN_C const IID IID_IClassActivator;
5919#if defined(__cplusplus) && !defined(CINTERFACE)
5920  struct IClassActivator : public IUnknown {
5921  public:
5922    virtual HRESULT WINAPI GetClassObject(REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) = 0;
5923  };
5924#else
5925  typedef struct IClassActivatorVtbl {
5926    BEGIN_INTERFACE
5927      HRESULT (WINAPI *QueryInterface)(IClassActivator *This,REFIID riid,void **ppvObject);
5928      ULONG (WINAPI *AddRef)(IClassActivator *This);
5929      ULONG (WINAPI *Release)(IClassActivator *This);
5930      HRESULT (WINAPI *GetClassObject)(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
5931    END_INTERFACE
5932  } IClassActivatorVtbl;
5933  struct IClassActivator {
5934    CONST_VTBL struct IClassActivatorVtbl *lpVtbl;
5935  };
5936#ifdef COBJMACROS
5937#define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5938#define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This)
5939#define IClassActivator_Release(This) (This)->lpVtbl->Release(This)
5940#define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
5941#endif
5942#endif
5943  HRESULT WINAPI IClassActivator_GetClassObject_Proxy(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
5944  void __RPC_STUB IClassActivator_GetClassObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5945#endif
5946
5947#ifndef __IRpcOptions_INTERFACE_DEFINED__
5948#define __IRpcOptions_INTERFACE_DEFINED__
5949  EXTERN_C const IID IID_IRpcOptions;
5950#if defined(__cplusplus) && !defined(CINTERFACE)
5951  struct IRpcOptions : public IUnknown {
5952  public:
5953    virtual HRESULT WINAPI Set(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue) = 0;
5954    virtual HRESULT WINAPI Query(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue) = 0;
5955  };
5956#else
5957  typedef struct IRpcOptionsVtbl {
5958    BEGIN_INTERFACE
5959      HRESULT (WINAPI *QueryInterface)(IRpcOptions *This,REFIID riid,void **ppvObject);
5960      ULONG (WINAPI *AddRef)(IRpcOptions *This);
5961      ULONG (WINAPI *Release)(IRpcOptions *This);
5962      HRESULT (WINAPI *Set)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
5963      HRESULT (WINAPI *Query)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
5964    END_INTERFACE
5965  } IRpcOptionsVtbl;
5966  struct IRpcOptions {
5967    CONST_VTBL struct IRpcOptionsVtbl *lpVtbl;
5968  };
5969#ifdef COBJMACROS
5970#define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5971#define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
5972#define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)
5973#define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)
5974#define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)
5975#endif
5976#endif
5977  HRESULT WINAPI IRpcOptions_Set_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
5978  void __RPC_STUB IRpcOptions_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5979  HRESULT WINAPI IRpcOptions_Query_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
5980  void __RPC_STUB IRpcOptions_Query_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5981#endif
5982
5983  enum __MIDL___MIDL_itf_objidl_0055_0001 {
5984    COMBND_RPCTIMEOUT = 0x1,COMBND_SERVER_LOCALITY = 0x2
5985  };
5986
5987  enum __MIDL___MIDL_itf_objidl_0055_0002 {
5988    SERVER_LOCALITY_PROCESS_LOCAL = 0,SERVER_LOCALITY_MACHINE_LOCAL = 1,SERVER_LOCALITY_REMOTE = 2
5989  };
5990  extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;
5991  extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;
5992
5993#ifndef __IFillLockBytes_INTERFACE_DEFINED__
5994#define __IFillLockBytes_INTERFACE_DEFINED__
5995  EXTERN_C const IID IID_IFillLockBytes;
5996#if defined(__cplusplus) && !defined(CINTERFACE)
5997  struct IFillLockBytes : public IUnknown {
5998  public:
5999    virtual HRESULT WINAPI FillAppend(const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
6000    virtual HRESULT WINAPI FillAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
6001    virtual HRESULT WINAPI SetFillSize(ULARGE_INTEGER ulSize) = 0;
6002    virtual HRESULT WINAPI Terminate(WINBOOL bCanceled) = 0;
6003  };
6004#else
6005  typedef struct IFillLockBytesVtbl {
6006    BEGIN_INTERFACE
6007      HRESULT (WINAPI *QueryInterface)(IFillLockBytes *This,REFIID riid,void **ppvObject);
6008      ULONG (WINAPI *AddRef)(IFillLockBytes *This);
6009      ULONG (WINAPI *Release)(IFillLockBytes *This);
6010      HRESULT (WINAPI *FillAppend)(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
6011      HRESULT (WINAPI *FillAt)(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
6012      HRESULT (WINAPI *SetFillSize)(IFillLockBytes *This,ULARGE_INTEGER ulSize);
6013      HRESULT (WINAPI *Terminate)(IFillLockBytes *This,WINBOOL bCanceled);
6014    END_INTERFACE
6015  } IFillLockBytesVtbl;
6016  struct IFillLockBytes {
6017    CONST_VTBL struct IFillLockBytesVtbl *lpVtbl;
6018  };
6019#ifdef COBJMACROS
6020#define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6021#define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
6022#define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This)
6023#define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten)
6024#define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten)
6025#define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize)
6026#define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled)
6027#endif
6028#endif
6029  HRESULT WINAPI IFillLockBytes_RemoteFillAppend_Proxy(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
6030  void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6031  HRESULT WINAPI IFillLockBytes_RemoteFillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
6032  void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6033  HRESULT WINAPI IFillLockBytes_SetFillSize_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulSize);
6034  void __RPC_STUB IFillLockBytes_SetFillSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6035  HRESULT WINAPI IFillLockBytes_Terminate_Proxy(IFillLockBytes *This,WINBOOL bCanceled);
6036  void __RPC_STUB IFillLockBytes_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6037#endif
6038
6039#ifndef __IProgressNotify_INTERFACE_DEFINED__
6040#define __IProgressNotify_INTERFACE_DEFINED__
6041  EXTERN_C const IID IID_IProgressNotify;
6042#if defined(__cplusplus) && !defined(CINTERFACE)
6043  struct IProgressNotify : public IUnknown {
6044  public:
6045    virtual HRESULT WINAPI OnProgress(DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) = 0;
6046  };
6047#else
6048  typedef struct IProgressNotifyVtbl {
6049    BEGIN_INTERFACE
6050      HRESULT (WINAPI *QueryInterface)(IProgressNotify *This,REFIID riid,void **ppvObject);
6051      ULONG (WINAPI *AddRef)(IProgressNotify *This);
6052      ULONG (WINAPI *Release)(IProgressNotify *This);
6053      HRESULT (WINAPI *OnProgress)(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
6054    END_INTERFACE
6055  } IProgressNotifyVtbl;
6056  struct IProgressNotify {
6057    CONST_VTBL struct IProgressNotifyVtbl *lpVtbl;
6058  };
6059#ifdef COBJMACROS
6060#define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6061#define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
6062#define IProgressNotify_Release(This) (This)->lpVtbl->Release(This)
6063#define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
6064#endif
6065#endif
6066  HRESULT WINAPI IProgressNotify_OnProgress_Proxy(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
6067  void __RPC_STUB IProgressNotify_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6068#endif
6069
6070#ifndef __ILayoutStorage_INTERFACE_DEFINED__
6071#define __ILayoutStorage_INTERFACE_DEFINED__
6072  typedef struct tagStorageLayout {
6073    DWORD LayoutType;
6074    OLECHAR *pwcsElementName;
6075    LARGE_INTEGER cOffset;
6076    LARGE_INTEGER cBytes;
6077  } StorageLayout;
6078
6079  EXTERN_C const IID IID_ILayoutStorage;
6080#if defined(__cplusplus) && !defined(CINTERFACE)
6081  struct ILayoutStorage : public IUnknown {
6082  public:
6083    virtual HRESULT WINAPI LayoutScript(StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) = 0;
6084    virtual HRESULT WINAPI BeginMonitor(void) = 0;
6085    virtual HRESULT WINAPI EndMonitor(void) = 0;
6086    virtual HRESULT WINAPI ReLayoutDocfile(OLECHAR *pwcsNewDfName) = 0;
6087    virtual HRESULT WINAPI ReLayoutDocfileOnILockBytes(ILockBytes *pILockBytes) = 0;
6088  };
6089#else
6090  typedef struct ILayoutStorageVtbl {
6091    BEGIN_INTERFACE
6092      HRESULT (WINAPI *QueryInterface)(ILayoutStorage *This,REFIID riid,void **ppvObject);
6093      ULONG (WINAPI *AddRef)(ILayoutStorage *This);
6094      ULONG (WINAPI *Release)(ILayoutStorage *This);
6095      HRESULT (WINAPI *LayoutScript)(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
6096      HRESULT (WINAPI *BeginMonitor)(ILayoutStorage *This);
6097      HRESULT (WINAPI *EndMonitor)(ILayoutStorage *This);
6098      HRESULT (WINAPI *ReLayoutDocfile)(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
6099      HRESULT (WINAPI *ReLayoutDocfileOnILockBytes)(ILayoutStorage *This,ILockBytes *pILockBytes);
6100    END_INTERFACE
6101  } ILayoutStorageVtbl;
6102  struct ILayoutStorage {
6103    CONST_VTBL struct ILayoutStorageVtbl *lpVtbl;
6104  };
6105#ifdef COBJMACROS
6106#define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6107#define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
6108#define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This)
6109#define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
6110#define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This)
6111#define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This)
6112#define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName)
6113#define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes)
6114#endif
6115#endif
6116  HRESULT WINAPI ILayoutStorage_LayoutScript_Proxy(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
6117  void __RPC_STUB ILayoutStorage_LayoutScript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6118  HRESULT WINAPI ILayoutStorage_BeginMonitor_Proxy(ILayoutStorage *This);
6119  void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6120  HRESULT WINAPI ILayoutStorage_EndMonitor_Proxy(ILayoutStorage *This);
6121  void __RPC_STUB ILayoutStorage_EndMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6122  HRESULT WINAPI ILayoutStorage_ReLayoutDocfile_Proxy(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
6123  void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6124  HRESULT WINAPI ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(ILayoutStorage *This,ILockBytes *pILockBytes);
6125  void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6126#endif
6127
6128#ifndef __IBlockingLock_INTERFACE_DEFINED__
6129#define __IBlockingLock_INTERFACE_DEFINED__
6130  EXTERN_C const IID IID_IBlockingLock;
6131#if defined(__cplusplus) && !defined(CINTERFACE)
6132  struct IBlockingLock : public IUnknown {
6133  public:
6134    virtual HRESULT WINAPI Lock(DWORD dwTimeout) = 0;
6135    virtual HRESULT WINAPI Unlock(void) = 0;
6136  };
6137#else
6138  typedef struct IBlockingLockVtbl {
6139    BEGIN_INTERFACE
6140      HRESULT (WINAPI *QueryInterface)(IBlockingLock *This,REFIID riid,void **ppvObject);
6141      ULONG (WINAPI *AddRef)(IBlockingLock *This);
6142      ULONG (WINAPI *Release)(IBlockingLock *This);
6143      HRESULT (WINAPI *Lock)(IBlockingLock *This,DWORD dwTimeout);
6144      HRESULT (WINAPI *Unlock)(IBlockingLock *This);
6145    END_INTERFACE
6146  } IBlockingLockVtbl;
6147  struct IBlockingLock {
6148    CONST_VTBL struct IBlockingLockVtbl *lpVtbl;
6149  };
6150#ifdef COBJMACROS
6151#define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6152#define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This)
6153#define IBlockingLock_Release(This) (This)->lpVtbl->Release(This)
6154#define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout)
6155#define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This)
6156#endif
6157#endif
6158  HRESULT WINAPI IBlockingLock_Lock_Proxy(IBlockingLock *This,DWORD dwTimeout);
6159  void __RPC_STUB IBlockingLock_Lock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6160  HRESULT WINAPI IBlockingLock_Unlock_Proxy(IBlockingLock *This);
6161  void __RPC_STUB IBlockingLock_Unlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6162#endif
6163
6164#ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
6165#define __ITimeAndNoticeControl_INTERFACE_DEFINED__
6166  EXTERN_C const IID IID_ITimeAndNoticeControl;
6167#if defined(__cplusplus) && !defined(CINTERFACE)
6168  struct ITimeAndNoticeControl : public IUnknown {
6169  public:
6170    virtual HRESULT WINAPI SuppressChanges(DWORD res1,DWORD res2) = 0;
6171  };
6172#else
6173  typedef struct ITimeAndNoticeControlVtbl {
6174    BEGIN_INTERFACE
6175      HRESULT (WINAPI *QueryInterface)(ITimeAndNoticeControl *This,REFIID riid,void **ppvObject);
6176      ULONG (WINAPI *AddRef)(ITimeAndNoticeControl *This);
6177      ULONG (WINAPI *Release)(ITimeAndNoticeControl *This);
6178      HRESULT (WINAPI *SuppressChanges)(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
6179    END_INTERFACE
6180  } ITimeAndNoticeControlVtbl;
6181  struct ITimeAndNoticeControl {
6182    CONST_VTBL struct ITimeAndNoticeControlVtbl *lpVtbl;
6183  };
6184#ifdef COBJMACROS
6185#define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6186#define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
6187#define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This)
6188#define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2)
6189#endif
6190#endif
6191  HRESULT WINAPI ITimeAndNoticeControl_SuppressChanges_Proxy(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
6192  void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6193#endif
6194
6195#ifndef __IOplockStorage_INTERFACE_DEFINED__
6196#define __IOplockStorage_INTERFACE_DEFINED__
6197  EXTERN_C const IID IID_IOplockStorage;
6198#if defined(__cplusplus) && !defined(CINTERFACE)
6199  struct IOplockStorage : public IUnknown {
6200  public:
6201    virtual HRESULT WINAPI CreateStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
6202    virtual HRESULT WINAPI OpenStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
6203  };
6204#else
6205  typedef struct IOplockStorageVtbl {
6206    BEGIN_INTERFACE
6207      HRESULT (WINAPI *QueryInterface)(IOplockStorage *This,REFIID riid,void **ppvObject);
6208      ULONG (WINAPI *AddRef)(IOplockStorage *This);
6209      ULONG (WINAPI *Release)(IOplockStorage *This);
6210      HRESULT (WINAPI *CreateStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
6211      HRESULT (WINAPI *OpenStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
6212    END_INTERFACE
6213  } IOplockStorageVtbl;
6214  struct IOplockStorage {
6215    CONST_VTBL struct IOplockStorageVtbl *lpVtbl;
6216  };
6217#ifdef COBJMACROS
6218#define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6219#define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
6220#define IOplockStorage_Release(This) (This)->lpVtbl->Release(This)
6221#define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
6222#define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
6223#endif
6224#endif
6225  HRESULT WINAPI IOplockStorage_CreateStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
6226  void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6227  HRESULT WINAPI IOplockStorage_OpenStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
6228  void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6229#endif
6230
6231#ifndef __ISurrogate_INTERFACE_DEFINED__
6232#define __ISurrogate_INTERFACE_DEFINED__
6233  typedef ISurrogate *LPSURROGATE;
6234
6235  EXTERN_C const IID IID_ISurrogate;
6236#if defined(__cplusplus) && !defined(CINTERFACE)
6237  struct ISurrogate : public IUnknown {
6238  public:
6239    virtual HRESULT WINAPI LoadDllServer(REFCLSID Clsid) = 0;
6240    virtual HRESULT WINAPI FreeSurrogate(void) = 0;
6241  };
6242#else
6243  typedef struct ISurrogateVtbl {
6244    BEGIN_INTERFACE
6245      HRESULT (WINAPI *QueryInterface)(ISurrogate *This,REFIID riid,void **ppvObject);
6246      ULONG (WINAPI *AddRef)(ISurrogate *This);
6247      ULONG (WINAPI *Release)(ISurrogate *This);
6248      HRESULT (WINAPI *LoadDllServer)(ISurrogate *This,REFCLSID Clsid);
6249      HRESULT (WINAPI *FreeSurrogate)(ISurrogate *This);
6250    END_INTERFACE
6251  } ISurrogateVtbl;
6252  struct ISurrogate {
6253    CONST_VTBL struct ISurrogateVtbl *lpVtbl;
6254  };
6255#ifdef COBJMACROS
6256#define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6257#define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)
6258#define ISurrogate_Release(This) (This)->lpVtbl->Release(This)
6259#define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)
6260#define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)
6261#endif
6262#endif
6263  HRESULT WINAPI ISurrogate_LoadDllServer_Proxy(ISurrogate *This,REFCLSID Clsid);
6264  void __RPC_STUB ISurrogate_LoadDllServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6265  HRESULT WINAPI ISurrogate_FreeSurrogate_Proxy(ISurrogate *This);
6266  void __RPC_STUB ISurrogate_FreeSurrogate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6267#endif
6268
6269#ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
6270#define __IGlobalInterfaceTable_INTERFACE_DEFINED__
6271  typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
6272
6273  EXTERN_C const IID IID_IGlobalInterfaceTable;
6274#if defined(__cplusplus) && !defined(CINTERFACE)
6275  struct IGlobalInterfaceTable : public IUnknown {
6276  public:
6277    virtual HRESULT WINAPI RegisterInterfaceInGlobal(IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) = 0;
6278    virtual HRESULT WINAPI RevokeInterfaceFromGlobal(DWORD dwCookie) = 0;
6279    virtual HRESULT WINAPI GetInterfaceFromGlobal(DWORD dwCookie,REFIID riid,void **ppv) = 0;
6280  };
6281#else
6282  typedef struct IGlobalInterfaceTableVtbl {
6283    BEGIN_INTERFACE
6284      HRESULT (WINAPI *QueryInterface)(IGlobalInterfaceTable *This,REFIID riid,void **ppvObject);
6285      ULONG (WINAPI *AddRef)(IGlobalInterfaceTable *This);
6286      ULONG (WINAPI *Release)(IGlobalInterfaceTable *This);
6287      HRESULT (WINAPI *RegisterInterfaceInGlobal)(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
6288      HRESULT (WINAPI *RevokeInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie);
6289      HRESULT (WINAPI *GetInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
6290    END_INTERFACE
6291  } IGlobalInterfaceTableVtbl;
6292  struct IGlobalInterfaceTable {
6293    CONST_VTBL struct IGlobalInterfaceTableVtbl *lpVtbl;
6294  };
6295#ifdef COBJMACROS
6296#define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6297#define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
6298#define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)
6299#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
6300#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)
6301#define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
6302#endif
6303#endif
6304  HRESULT WINAPI IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
6305  void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6306  HRESULT WINAPI IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie);
6307  void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6308  HRESULT WINAPI IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
6309  void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6310#endif
6311
6312#ifndef __IDirectWriterLock_INTERFACE_DEFINED__
6313#define __IDirectWriterLock_INTERFACE_DEFINED__
6314  EXTERN_C const IID IID_IDirectWriterLock;
6315#if defined(__cplusplus) && !defined(CINTERFACE)
6316  struct IDirectWriterLock : public IUnknown {
6317  public:
6318    virtual HRESULT WINAPI WaitForWriteAccess(DWORD dwTimeout) = 0;
6319    virtual HRESULT WINAPI ReleaseWriteAccess(void) = 0;
6320    virtual HRESULT WINAPI HaveWriteAccess(void) = 0;
6321  };
6322#else
6323  typedef struct IDirectWriterLockVtbl {
6324    BEGIN_INTERFACE
6325      HRESULT (WINAPI *QueryInterface)(IDirectWriterLock *This,REFIID riid,void **ppvObject);
6326      ULONG (WINAPI *AddRef)(IDirectWriterLock *This);
6327      ULONG (WINAPI *Release)(IDirectWriterLock *This);
6328      HRESULT (WINAPI *WaitForWriteAccess)(IDirectWriterLock *This,DWORD dwTimeout);
6329      HRESULT (WINAPI *ReleaseWriteAccess)(IDirectWriterLock *This);
6330      HRESULT (WINAPI *HaveWriteAccess)(IDirectWriterLock *This);
6331    END_INTERFACE
6332  } IDirectWriterLockVtbl;
6333  struct IDirectWriterLock {
6334    CONST_VTBL struct IDirectWriterLockVtbl *lpVtbl;
6335  };
6336#ifdef COBJMACROS
6337#define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6338#define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This)
6339#define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This)
6340#define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout)
6341#define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This)
6342#define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This)
6343#endif
6344#endif
6345  HRESULT WINAPI IDirectWriterLock_WaitForWriteAccess_Proxy(IDirectWriterLock *This,DWORD dwTimeout);
6346  void __RPC_STUB IDirectWriterLock_WaitForWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6347  HRESULT WINAPI IDirectWriterLock_ReleaseWriteAccess_Proxy(IDirectWriterLock *This);
6348  void __RPC_STUB IDirectWriterLock_ReleaseWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6349  HRESULT WINAPI IDirectWriterLock_HaveWriteAccess_Proxy(IDirectWriterLock *This);
6350  void __RPC_STUB IDirectWriterLock_HaveWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6351#endif
6352
6353#ifndef __ISynchronize_INTERFACE_DEFINED__
6354#define __ISynchronize_INTERFACE_DEFINED__
6355  EXTERN_C const IID IID_ISynchronize;
6356#if defined(__cplusplus) && !defined(CINTERFACE)
6357  struct ISynchronize : public IUnknown {
6358  public:
6359    virtual HRESULT WINAPI Wait(DWORD dwFlags,DWORD dwMilliseconds) = 0;
6360    virtual HRESULT WINAPI Signal(void) = 0;
6361    virtual HRESULT WINAPI Reset(void) = 0;
6362  };
6363#else
6364  typedef struct ISynchronizeVtbl {
6365    BEGIN_INTERFACE
6366      HRESULT (WINAPI *QueryInterface)(ISynchronize *This,REFIID riid,void **ppvObject);
6367      ULONG (WINAPI *AddRef)(ISynchronize *This);
6368      ULONG (WINAPI *Release)(ISynchronize *This);
6369      HRESULT (WINAPI *Wait)(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
6370      HRESULT (WINAPI *Signal)(ISynchronize *This);
6371      HRESULT (WINAPI *Reset)(ISynchronize *This);
6372    END_INTERFACE
6373  } ISynchronizeVtbl;
6374  struct ISynchronize {
6375    CONST_VTBL struct ISynchronizeVtbl *lpVtbl;
6376  };
6377#ifdef COBJMACROS
6378#define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6379#define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
6380#define ISynchronize_Release(This) (This)->lpVtbl->Release(This)
6381#define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
6382#define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)
6383#define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)
6384#endif
6385#endif
6386  HRESULT WINAPI ISynchronize_Wait_Proxy(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
6387  void __RPC_STUB ISynchronize_Wait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6388  HRESULT WINAPI ISynchronize_Signal_Proxy(ISynchronize *This);
6389  void __RPC_STUB ISynchronize_Signal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6390  HRESULT WINAPI ISynchronize_Reset_Proxy(ISynchronize *This);
6391  void __RPC_STUB ISynchronize_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6392#endif
6393
6394#ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
6395#define __ISynchronizeHandle_INTERFACE_DEFINED__
6396  EXTERN_C const IID IID_ISynchronizeHandle;
6397#if defined(__cplusplus) && !defined(CINTERFACE)
6398  struct ISynchronizeHandle : public IUnknown {
6399  public:
6400    virtual HRESULT WINAPI GetHandle(HANDLE *ph) = 0;
6401  };
6402#else
6403  typedef struct ISynchronizeHandleVtbl {
6404    BEGIN_INTERFACE
6405      HRESULT (WINAPI *QueryInterface)(ISynchronizeHandle *This,REFIID riid,void **ppvObject);
6406      ULONG (WINAPI *AddRef)(ISynchronizeHandle *This);
6407      ULONG (WINAPI *Release)(ISynchronizeHandle *This);
6408      HRESULT (WINAPI *GetHandle)(ISynchronizeHandle *This,HANDLE *ph);
6409    END_INTERFACE
6410  } ISynchronizeHandleVtbl;
6411  struct ISynchronizeHandle {
6412    CONST_VTBL struct ISynchronizeHandleVtbl *lpVtbl;
6413  };
6414#ifdef COBJMACROS
6415#define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6416#define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
6417#define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)
6418#define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
6419#endif
6420#endif
6421  HRESULT WINAPI ISynchronizeHandle_GetHandle_Proxy(ISynchronizeHandle *This,HANDLE *ph);
6422  void __RPC_STUB ISynchronizeHandle_GetHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6423#endif
6424
6425#ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
6426#define __ISynchronizeEvent_INTERFACE_DEFINED__
6427  EXTERN_C const IID IID_ISynchronizeEvent;
6428#if defined(__cplusplus) && !defined(CINTERFACE)
6429  struct ISynchronizeEvent : public ISynchronizeHandle {
6430  public:
6431    virtual HRESULT WINAPI SetEventHandle(HANDLE *ph) = 0;
6432  };
6433#else
6434  typedef struct ISynchronizeEventVtbl {
6435    BEGIN_INTERFACE
6436      HRESULT (WINAPI *QueryInterface)(ISynchronizeEvent *This,REFIID riid,void **ppvObject);
6437      ULONG (WINAPI *AddRef)(ISynchronizeEvent *This);
6438      ULONG (WINAPI *Release)(ISynchronizeEvent *This);
6439      HRESULT (WINAPI *GetHandle)(ISynchronizeEvent *This,HANDLE *ph);
6440      HRESULT (WINAPI *SetEventHandle)(ISynchronizeEvent *This,HANDLE *ph);
6441    END_INTERFACE
6442  } ISynchronizeEventVtbl;
6443  struct ISynchronizeEvent {
6444    CONST_VTBL struct ISynchronizeEventVtbl *lpVtbl;
6445  };
6446#ifdef COBJMACROS
6447#define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6448#define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
6449#define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)
6450#define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
6451#define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)
6452#endif
6453#endif
6454  HRESULT WINAPI ISynchronizeEvent_SetEventHandle_Proxy(ISynchronizeEvent *This,HANDLE *ph);
6455  void __RPC_STUB ISynchronizeEvent_SetEventHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6456#endif
6457
6458#ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
6459#define __ISynchronizeContainer_INTERFACE_DEFINED__
6460  EXTERN_C const IID IID_ISynchronizeContainer;
6461#if defined(__cplusplus) && !defined(CINTERFACE)
6462  struct ISynchronizeContainer : public IUnknown {
6463  public:
6464    virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
6465    virtual HRESULT WINAPI WaitMultiple(DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) = 0;
6466  };
6467#else
6468  typedef struct ISynchronizeContainerVtbl {
6469    BEGIN_INTERFACE
6470      HRESULT (WINAPI *QueryInterface)(ISynchronizeContainer *This,REFIID riid,void **ppvObject);
6471      ULONG (WINAPI *AddRef)(ISynchronizeContainer *This);
6472      ULONG (WINAPI *Release)(ISynchronizeContainer *This);
6473      HRESULT (WINAPI *AddSynchronize)(ISynchronizeContainer *This,ISynchronize *pSync);
6474      HRESULT (WINAPI *WaitMultiple)(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
6475    END_INTERFACE
6476  } ISynchronizeContainerVtbl;
6477  struct ISynchronizeContainer {
6478    CONST_VTBL struct ISynchronizeContainerVtbl *lpVtbl;
6479  };
6480#ifdef COBJMACROS
6481#define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6482#define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
6483#define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)
6484#define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
6485#define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
6486#endif
6487#endif
6488  HRESULT WINAPI ISynchronizeContainer_AddSynchronize_Proxy(ISynchronizeContainer *This,ISynchronize *pSync);
6489  void __RPC_STUB ISynchronizeContainer_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6490  HRESULT WINAPI ISynchronizeContainer_WaitMultiple_Proxy(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
6491  void __RPC_STUB ISynchronizeContainer_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6492#endif
6493
6494#ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
6495#define __ISynchronizeMutex_INTERFACE_DEFINED__
6496  EXTERN_C const IID IID_ISynchronizeMutex;
6497#if defined(__cplusplus) && !defined(CINTERFACE)
6498  struct ISynchronizeMutex : public ISynchronize {
6499  public:
6500    virtual HRESULT WINAPI ReleaseMutex(void) = 0;
6501  };
6502#else
6503  typedef struct ISynchronizeMutexVtbl {
6504    BEGIN_INTERFACE
6505      HRESULT (WINAPI *QueryInterface)(ISynchronizeMutex *This,REFIID riid,void **ppvObject);
6506      ULONG (WINAPI *AddRef)(ISynchronizeMutex *This);
6507      ULONG (WINAPI *Release)(ISynchronizeMutex *This);
6508      HRESULT (WINAPI *Wait)(ISynchronizeMutex *This,DWORD dwFlags,DWORD dwMilliseconds);
6509      HRESULT (WINAPI *Signal)(ISynchronizeMutex *This);
6510      HRESULT (WINAPI *Reset)(ISynchronizeMutex *This);
6511      HRESULT (WINAPI *ReleaseMutex)(ISynchronizeMutex *This);
6512    END_INTERFACE
6513  } ISynchronizeMutexVtbl;
6514  struct ISynchronizeMutex {
6515    CONST_VTBL struct ISynchronizeMutexVtbl *lpVtbl;
6516  };
6517#ifdef COBJMACROS
6518#define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6519#define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)
6520#define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)
6521#define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
6522#define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)
6523#define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)
6524#define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)
6525#endif
6526#endif
6527  HRESULT WINAPI ISynchronizeMutex_ReleaseMutex_Proxy(ISynchronizeMutex *This);
6528  void __RPC_STUB ISynchronizeMutex_ReleaseMutex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6529#endif
6530
6531#ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
6532#define __ICancelMethodCalls_INTERFACE_DEFINED__
6533  typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
6534
6535  EXTERN_C const IID IID_ICancelMethodCalls;
6536#if defined(__cplusplus) && !defined(CINTERFACE)
6537  struct ICancelMethodCalls : public IUnknown {
6538  public:
6539    virtual HRESULT WINAPI Cancel(ULONG ulSeconds) = 0;
6540    virtual HRESULT WINAPI TestCancel(void) = 0;
6541  };
6542#else
6543  typedef struct ICancelMethodCallsVtbl {
6544    BEGIN_INTERFACE
6545      HRESULT (WINAPI *QueryInterface)(ICancelMethodCalls *This,REFIID riid,void **ppvObject);
6546      ULONG (WINAPI *AddRef)(ICancelMethodCalls *This);
6547      ULONG (WINAPI *Release)(ICancelMethodCalls *This);
6548      HRESULT (WINAPI *Cancel)(ICancelMethodCalls *This,ULONG ulSeconds);
6549      HRESULT (WINAPI *TestCancel)(ICancelMethodCalls *This);
6550    END_INTERFACE
6551  } ICancelMethodCallsVtbl;
6552  struct ICancelMethodCalls {
6553    CONST_VTBL struct ICancelMethodCallsVtbl *lpVtbl;
6554  };
6555#ifdef COBJMACROS
6556#define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6557#define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)
6558#define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)
6559#define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)
6560#define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)
6561#endif
6562#endif
6563  HRESULT WINAPI ICancelMethodCalls_Cancel_Proxy(ICancelMethodCalls *This,ULONG ulSeconds);
6564  void __RPC_STUB ICancelMethodCalls_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6565  HRESULT WINAPI ICancelMethodCalls_TestCancel_Proxy(ICancelMethodCalls *This);
6566  void __RPC_STUB ICancelMethodCalls_TestCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6567#endif
6568
6569#ifndef __IAsyncManager_INTERFACE_DEFINED__
6570#define __IAsyncManager_INTERFACE_DEFINED__
6571  typedef enum tagDCOM_CALL_STATE {
6572    DCOM_NONE = 0,DCOM_CALL_COMPLETE = 0x1,DCOM_CALL_CANCELED = 0x2
6573  } DCOM_CALL_STATE;
6574
6575  EXTERN_C const IID IID_IAsyncManager;
6576#if defined(__cplusplus) && !defined(CINTERFACE)
6577  struct IAsyncManager : public IUnknown {
6578  public:
6579    virtual HRESULT WINAPI CompleteCall(HRESULT Result) = 0;
6580    virtual HRESULT WINAPI GetCallContext(REFIID riid,void **pInterface) = 0;
6581    virtual HRESULT WINAPI GetState(ULONG *pulStateFlags) = 0;
6582  };
6583#else
6584  typedef struct IAsyncManagerVtbl {
6585    BEGIN_INTERFACE
6586      HRESULT (WINAPI *QueryInterface)(IAsyncManager *This,REFIID riid,void **ppvObject);
6587      ULONG (WINAPI *AddRef)(IAsyncManager *This);
6588      ULONG (WINAPI *Release)(IAsyncManager *This);
6589      HRESULT (WINAPI *CompleteCall)(IAsyncManager *This,HRESULT Result);
6590      HRESULT (WINAPI *GetCallContext)(IAsyncManager *This,REFIID riid,void **pInterface);
6591      HRESULT (WINAPI *GetState)(IAsyncManager *This,ULONG *pulStateFlags);
6592    END_INTERFACE
6593  } IAsyncManagerVtbl;
6594  struct IAsyncManager {
6595    CONST_VTBL struct IAsyncManagerVtbl *lpVtbl;
6596  };
6597#ifdef COBJMACROS
6598#define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6599#define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)
6600#define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)
6601#define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)
6602#define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)
6603#define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)
6604#endif
6605#endif
6606  HRESULT WINAPI IAsyncManager_CompleteCall_Proxy(IAsyncManager *This,HRESULT Result);
6607  void __RPC_STUB IAsyncManager_CompleteCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6608  HRESULT WINAPI IAsyncManager_GetCallContext_Proxy(IAsyncManager *This,REFIID riid,void **pInterface);
6609  void __RPC_STUB IAsyncManager_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6610  HRESULT WINAPI IAsyncManager_GetState_Proxy(IAsyncManager *This,ULONG *pulStateFlags);
6611  void __RPC_STUB IAsyncManager_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6612#endif
6613
6614#ifndef __ICallFactory_INTERFACE_DEFINED__
6615#define __ICallFactory_INTERFACE_DEFINED__
6616  EXTERN_C const IID IID_ICallFactory;
6617#if defined(__cplusplus) && !defined(CINTERFACE)
6618  struct ICallFactory : public IUnknown {
6619  public:
6620    virtual HRESULT WINAPI CreateCall(REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) = 0;
6621  };
6622#else
6623  typedef struct ICallFactoryVtbl {
6624    BEGIN_INTERFACE
6625      HRESULT (WINAPI *QueryInterface)(ICallFactory *This,REFIID riid,void **ppvObject);
6626      ULONG (WINAPI *AddRef)(ICallFactory *This);
6627      ULONG (WINAPI *Release)(ICallFactory *This);
6628      HRESULT (WINAPI *CreateCall)(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
6629    END_INTERFACE
6630  } ICallFactoryVtbl;
6631  struct ICallFactory {
6632    CONST_VTBL struct ICallFactoryVtbl *lpVtbl;
6633  };
6634#ifdef COBJMACROS
6635#define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6636#define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
6637#define ICallFactory_Release(This) (This)->lpVtbl->Release(This)
6638#define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)
6639#endif
6640#endif
6641  HRESULT WINAPI ICallFactory_CreateCall_Proxy(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
6642  void __RPC_STUB ICallFactory_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6643#endif
6644
6645#ifndef __IRpcHelper_INTERFACE_DEFINED__
6646#define __IRpcHelper_INTERFACE_DEFINED__
6647  EXTERN_C const IID IID_IRpcHelper;
6648#if defined(__cplusplus) && !defined(CINTERFACE)
6649  struct IRpcHelper : public IUnknown {
6650  public:
6651    virtual HRESULT WINAPI GetDCOMProtocolVersion(DWORD *pComVersion) = 0;
6652    virtual HRESULT WINAPI GetIIDFromOBJREF(void *pObjRef,IID **piid) = 0;
6653  };
6654#else
6655  typedef struct IRpcHelperVtbl {
6656    BEGIN_INTERFACE
6657      HRESULT (WINAPI *QueryInterface)(IRpcHelper *This,REFIID riid,void **ppvObject);
6658      ULONG (WINAPI *AddRef)(IRpcHelper *This);
6659      ULONG (WINAPI *Release)(IRpcHelper *This);
6660      HRESULT (WINAPI *GetDCOMProtocolVersion)(IRpcHelper *This,DWORD *pComVersion);
6661      HRESULT (WINAPI *GetIIDFromOBJREF)(IRpcHelper *This,void *pObjRef,IID **piid);
6662    END_INTERFACE
6663  } IRpcHelperVtbl;
6664  struct IRpcHelper {
6665    CONST_VTBL struct IRpcHelperVtbl *lpVtbl;
6666  };
6667#ifdef COBJMACROS
6668#define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6669#define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
6670#define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)
6671#define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)
6672#define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)
6673#endif
6674#endif
6675  HRESULT WINAPI IRpcHelper_GetDCOMProtocolVersion_Proxy(IRpcHelper *This,DWORD *pComVersion);
6676  void __RPC_STUB IRpcHelper_GetDCOMProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6677  HRESULT WINAPI IRpcHelper_GetIIDFromOBJREF_Proxy(IRpcHelper *This,void *pObjRef,IID **piid);
6678  void __RPC_STUB IRpcHelper_GetIIDFromOBJREF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6679#endif
6680
6681#ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
6682#define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
6683  EXTERN_C const IID IID_IReleaseMarshalBuffers;
6684#if defined(__cplusplus) && !defined(CINTERFACE)
6685  struct IReleaseMarshalBuffers : public IUnknown {
6686  public:
6687    virtual HRESULT WINAPI ReleaseMarshalBuffer(RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) = 0;
6688  };
6689#else
6690  typedef struct IReleaseMarshalBuffersVtbl {
6691    BEGIN_INTERFACE
6692      HRESULT (WINAPI *QueryInterface)(IReleaseMarshalBuffers *This,REFIID riid,void **ppvObject);
6693      ULONG (WINAPI *AddRef)(IReleaseMarshalBuffers *This);
6694      ULONG (WINAPI *Release)(IReleaseMarshalBuffers *This);
6695      HRESULT (WINAPI *ReleaseMarshalBuffer)(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
6696    END_INTERFACE
6697  } IReleaseMarshalBuffersVtbl;
6698  struct IReleaseMarshalBuffers {
6699    CONST_VTBL struct IReleaseMarshalBuffersVtbl *lpVtbl;
6700  };
6701#ifdef COBJMACROS
6702#define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6703#define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)
6704#define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)
6705#define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
6706#endif
6707#endif
6708  HRESULT WINAPI IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
6709  void __RPC_STUB IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6710#endif
6711
6712#ifndef __IWaitMultiple_INTERFACE_DEFINED__
6713#define __IWaitMultiple_INTERFACE_DEFINED__
6714  EXTERN_C const IID IID_IWaitMultiple;
6715#if defined(__cplusplus) && !defined(CINTERFACE)
6716  struct IWaitMultiple : public IUnknown {
6717  public:
6718    virtual HRESULT WINAPI WaitMultiple(DWORD timeout,ISynchronize **pSync) = 0;
6719    virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
6720  };
6721#else
6722  typedef struct IWaitMultipleVtbl {
6723    BEGIN_INTERFACE
6724      HRESULT (WINAPI *QueryInterface)(IWaitMultiple *This,REFIID riid,void **ppvObject);
6725      ULONG (WINAPI *AddRef)(IWaitMultiple *This);
6726      ULONG (WINAPI *Release)(IWaitMultiple *This);
6727      HRESULT (WINAPI *WaitMultiple)(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
6728      HRESULT (WINAPI *AddSynchronize)(IWaitMultiple *This,ISynchronize *pSync);
6729    END_INTERFACE
6730  } IWaitMultipleVtbl;
6731  struct IWaitMultiple {
6732    CONST_VTBL struct IWaitMultipleVtbl *lpVtbl;
6733  };
6734#ifdef COBJMACROS
6735#define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6736#define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)
6737#define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)
6738#define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)
6739#define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
6740#endif
6741#endif
6742  HRESULT WINAPI IWaitMultiple_WaitMultiple_Proxy(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
6743  void __RPC_STUB IWaitMultiple_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6744  HRESULT WINAPI IWaitMultiple_AddSynchronize_Proxy(IWaitMultiple *This,ISynchronize *pSync);
6745  void __RPC_STUB IWaitMultiple_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6746#endif
6747
6748#ifndef __IUrlMon_INTERFACE_DEFINED__
6749#define __IUrlMon_INTERFACE_DEFINED__
6750  EXTERN_C const IID IID_IUrlMon;
6751#if defined(__cplusplus) && !defined(CINTERFACE)
6752  struct IUrlMon : public IUnknown {
6753  public:
6754    virtual HRESULT WINAPI AsyncGetClassBits(REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags) = 0;
6755  };
6756#else
6757  typedef struct IUrlMonVtbl {
6758    BEGIN_INTERFACE
6759      HRESULT (WINAPI *QueryInterface)(IUrlMon *This,REFIID riid,void **ppvObject);
6760      ULONG (WINAPI *AddRef)(IUrlMon *This);
6761      ULONG (WINAPI *Release)(IUrlMon *This);
6762      HRESULT (WINAPI *AsyncGetClassBits)(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
6763    END_INTERFACE
6764  } IUrlMonVtbl;
6765  struct IUrlMon {
6766    CONST_VTBL struct IUrlMonVtbl *lpVtbl;
6767  };
6768#ifdef COBJMACROS
6769#define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6770#define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This)
6771#define IUrlMon_Release(This) (This)->lpVtbl->Release(This)
6772#define IUrlMon_AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags) (This)->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags)
6773#endif
6774#endif
6775  HRESULT WINAPI IUrlMon_AsyncGetClassBits_Proxy(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
6776  void __RPC_STUB IUrlMon_AsyncGetClassBits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6777#endif
6778
6779#ifndef __IForegroundTransfer_INTERFACE_DEFINED__
6780#define __IForegroundTransfer_INTERFACE_DEFINED__
6781  EXTERN_C const IID IID_IForegroundTransfer;
6782#if defined(__cplusplus) && !defined(CINTERFACE)
6783  struct IForegroundTransfer : public IUnknown {
6784  public:
6785    virtual HRESULT WINAPI AllowForegroundTransfer(void *lpvReserved) = 0;
6786  };
6787#else
6788  typedef struct IForegroundTransferVtbl {
6789    BEGIN_INTERFACE
6790      HRESULT (WINAPI *QueryInterface)(IForegroundTransfer *This,REFIID riid,void **ppvObject);
6791      ULONG (WINAPI *AddRef)(IForegroundTransfer *This);
6792      ULONG (WINAPI *Release)(IForegroundTransfer *This);
6793      HRESULT (WINAPI *AllowForegroundTransfer)(IForegroundTransfer *This,void *lpvReserved);
6794    END_INTERFACE
6795  } IForegroundTransferVtbl;
6796  struct IForegroundTransfer {
6797    CONST_VTBL struct IForegroundTransferVtbl *lpVtbl;
6798  };
6799#ifdef COBJMACROS
6800#define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6801#define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
6802#define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This)
6803#define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved)
6804#endif
6805#endif
6806  HRESULT WINAPI IForegroundTransfer_AllowForegroundTransfer_Proxy(IForegroundTransfer *This,void *lpvReserved);
6807  void __RPC_STUB IForegroundTransfer_AllowForegroundTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6808#endif
6809
6810#ifndef __IAddrTrackingControl_INTERFACE_DEFINED__
6811#define __IAddrTrackingControl_INTERFACE_DEFINED__
6812  typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
6813
6814  EXTERN_C const IID IID_IAddrTrackingControl;
6815#if defined(__cplusplus) && !defined(CINTERFACE)
6816  struct IAddrTrackingControl : public IUnknown {
6817  public:
6818    virtual HRESULT WINAPI EnableCOMDynamicAddrTracking(void) = 0;
6819    virtual HRESULT WINAPI DisableCOMDynamicAddrTracking(void) = 0;
6820  };
6821#else
6822  typedef struct IAddrTrackingControlVtbl {
6823    BEGIN_INTERFACE
6824      HRESULT (WINAPI *QueryInterface)(IAddrTrackingControl *This,REFIID riid,void **ppvObject);
6825      ULONG (WINAPI *AddRef)(IAddrTrackingControl *This);
6826      ULONG (WINAPI *Release)(IAddrTrackingControl *This);
6827      HRESULT (WINAPI *EnableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
6828      HRESULT (WINAPI *DisableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
6829    END_INTERFACE
6830  } IAddrTrackingControlVtbl;
6831  struct IAddrTrackingControl {
6832    CONST_VTBL struct IAddrTrackingControlVtbl *lpVtbl;
6833  };
6834#ifdef COBJMACROS
6835#define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6836#define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)
6837#define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)
6838#define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)
6839#define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)
6840#endif
6841#endif
6842  HRESULT WINAPI IAddrTrackingControl_EnableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
6843  void __RPC_STUB IAddrTrackingControl_EnableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6844  HRESULT WINAPI IAddrTrackingControl_DisableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
6845  void __RPC_STUB IAddrTrackingControl_DisableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6846#endif
6847
6848#ifndef __IAddrExclusionControl_INTERFACE_DEFINED__
6849#define __IAddrExclusionControl_INTERFACE_DEFINED__
6850  typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
6851
6852  EXTERN_C const IID IID_IAddrExclusionControl;
6853#if defined(__cplusplus) && !defined(CINTERFACE)
6854  struct IAddrExclusionControl : public IUnknown {
6855  public:
6856    virtual HRESULT WINAPI GetCurrentAddrExclusionList(REFIID riid,void **ppEnumerator) = 0;
6857    virtual HRESULT WINAPI UpdateAddrExclusionList(IUnknown *pEnumerator) = 0;
6858  };
6859#else
6860  typedef struct IAddrExclusionControlVtbl {
6861    BEGIN_INTERFACE
6862      HRESULT (WINAPI *QueryInterface)(IAddrExclusionControl *This,REFIID riid,void **ppvObject);
6863      ULONG (WINAPI *AddRef)(IAddrExclusionControl *This);
6864      ULONG (WINAPI *Release)(IAddrExclusionControl *This);
6865      HRESULT (WINAPI *GetCurrentAddrExclusionList)(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
6866      HRESULT (WINAPI *UpdateAddrExclusionList)(IAddrExclusionControl *This,IUnknown *pEnumerator);
6867    END_INTERFACE
6868  } IAddrExclusionControlVtbl;
6869  struct IAddrExclusionControl {
6870    CONST_VTBL struct IAddrExclusionControlVtbl *lpVtbl;
6871  };
6872#ifdef COBJMACROS
6873#define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6874#define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)
6875#define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)
6876#define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)
6877#define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)
6878#endif
6879#endif
6880  HRESULT WINAPI IAddrExclusionControl_GetCurrentAddrExclusionList_Proxy(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
6881  void __RPC_STUB IAddrExclusionControl_GetCurrentAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6882  HRESULT WINAPI IAddrExclusionControl_UpdateAddrExclusionList_Proxy(IAddrExclusionControl *This,IUnknown *pEnumerator);
6883  void __RPC_STUB IAddrExclusionControl_UpdateAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6884#endif
6885
6886#ifndef __IPipeByte_INTERFACE_DEFINED__
6887#define __IPipeByte_INTERFACE_DEFINED__
6888  EXTERN_C const IID IID_IPipeByte;
6889#if defined(__cplusplus) && !defined(CINTERFACE)
6890  struct IPipeByte : public IUnknown {
6891  public:
6892    virtual HRESULT WINAPI Pull(BYTE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
6893    virtual HRESULT WINAPI Push(BYTE *buf,ULONG cSent) = 0;
6894  };
6895#else
6896  typedef struct IPipeByteVtbl {
6897    BEGIN_INTERFACE
6898      HRESULT (WINAPI *QueryInterface)(IPipeByte *This,REFIID riid,void **ppvObject);
6899      ULONG (WINAPI *AddRef)(IPipeByte *This);
6900      ULONG (WINAPI *Release)(IPipeByte *This);
6901      HRESULT (WINAPI *Pull)(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
6902      HRESULT (WINAPI *Push)(IPipeByte *This,BYTE *buf,ULONG cSent);
6903    END_INTERFACE
6904  } IPipeByteVtbl;
6905  struct IPipeByte {
6906    CONST_VTBL struct IPipeByteVtbl *lpVtbl;
6907  };
6908#ifdef COBJMACROS
6909#define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6910#define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
6911#define IPipeByte_Release(This) (This)->lpVtbl->Release(This)
6912#define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
6913#define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
6914#endif
6915#endif
6916  HRESULT WINAPI IPipeByte_Pull_Proxy(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
6917  void __RPC_STUB IPipeByte_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6918  HRESULT WINAPI IPipeByte_Push_Proxy(IPipeByte *This,BYTE *buf,ULONG cSent);
6919  void __RPC_STUB IPipeByte_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6920#endif
6921
6922#ifndef __AsyncIPipeByte_INTERFACE_DEFINED__
6923#define __AsyncIPipeByte_INTERFACE_DEFINED__
6924  EXTERN_C const IID IID_AsyncIPipeByte;
6925#if defined(__cplusplus) && !defined(CINTERFACE)
6926  struct AsyncIPipeByte : public IUnknown {
6927  public:
6928    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
6929    virtual HRESULT WINAPI Finish_Pull(BYTE *buf,ULONG *pcReturned) = 0;
6930    virtual HRESULT WINAPI Begin_Push(BYTE *buf,ULONG cSent) = 0;
6931    virtual HRESULT WINAPI Finish_Push(void) = 0;
6932  };
6933#else
6934  typedef struct AsyncIPipeByteVtbl {
6935    BEGIN_INTERFACE
6936      HRESULT (WINAPI *QueryInterface)(AsyncIPipeByte *This,REFIID riid,void **ppvObject);
6937      ULONG (WINAPI *AddRef)(AsyncIPipeByte *This);
6938      ULONG (WINAPI *Release)(AsyncIPipeByte *This);
6939      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeByte *This,ULONG cRequest);
6940      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
6941      HRESULT (WINAPI *Begin_Push)(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
6942      HRESULT (WINAPI *Finish_Push)(AsyncIPipeByte *This);
6943    END_INTERFACE
6944  } AsyncIPipeByteVtbl;
6945  struct AsyncIPipeByte {
6946    CONST_VTBL struct AsyncIPipeByteVtbl *lpVtbl;
6947  };
6948#ifdef COBJMACROS
6949#define AsyncIPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6950#define AsyncIPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
6951#define AsyncIPipeByte_Release(This) (This)->lpVtbl->Release(This)
6952#define AsyncIPipeByte_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
6953#define AsyncIPipeByte_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
6954#define AsyncIPipeByte_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
6955#define AsyncIPipeByte_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
6956#endif
6957#endif
6958  HRESULT WINAPI AsyncIPipeByte_Begin_Pull_Proxy(AsyncIPipeByte *This,ULONG cRequest);
6959  void __RPC_STUB AsyncIPipeByte_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6960  HRESULT WINAPI AsyncIPipeByte_Finish_Pull_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
6961  void __RPC_STUB AsyncIPipeByte_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6962  HRESULT WINAPI AsyncIPipeByte_Begin_Push_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
6963  void __RPC_STUB AsyncIPipeByte_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6964  HRESULT WINAPI AsyncIPipeByte_Finish_Push_Proxy(AsyncIPipeByte *This);
6965  void __RPC_STUB AsyncIPipeByte_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6966#endif
6967
6968#ifndef __IPipeLong_INTERFACE_DEFINED__
6969#define __IPipeLong_INTERFACE_DEFINED__
6970  EXTERN_C const IID IID_IPipeLong;
6971#if defined(__cplusplus) && !defined(CINTERFACE)
6972  struct IPipeLong : public IUnknown {
6973  public:
6974    virtual HRESULT WINAPI Pull(LONG *buf,ULONG cRequest,ULONG *pcReturned) = 0;
6975    virtual HRESULT WINAPI Push(LONG *buf,ULONG cSent) = 0;
6976  };
6977#else
6978  typedef struct IPipeLongVtbl {
6979    BEGIN_INTERFACE
6980      HRESULT (WINAPI *QueryInterface)(IPipeLong *This,REFIID riid,void **ppvObject);
6981      ULONG (WINAPI *AddRef)(IPipeLong *This);
6982      ULONG (WINAPI *Release)(IPipeLong *This);
6983      HRESULT (WINAPI *Pull)(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
6984      HRESULT (WINAPI *Push)(IPipeLong *This,LONG *buf,ULONG cSent);
6985    END_INTERFACE
6986  } IPipeLongVtbl;
6987  struct IPipeLong {
6988    CONST_VTBL struct IPipeLongVtbl *lpVtbl;
6989  };
6990#ifdef COBJMACROS
6991#define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6992#define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
6993#define IPipeLong_Release(This) (This)->lpVtbl->Release(This)
6994#define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
6995#define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
6996#endif
6997#endif
6998  HRESULT WINAPI IPipeLong_Pull_Proxy(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
6999  void __RPC_STUB IPipeLong_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7000  HRESULT WINAPI IPipeLong_Push_Proxy(IPipeLong *This,LONG *buf,ULONG cSent);
7001  void __RPC_STUB IPipeLong_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7002#endif
7003
7004#ifndef __AsyncIPipeLong_INTERFACE_DEFINED__
7005#define __AsyncIPipeLong_INTERFACE_DEFINED__
7006  EXTERN_C const IID IID_AsyncIPipeLong;
7007#if defined(__cplusplus) && !defined(CINTERFACE)
7008  struct AsyncIPipeLong : public IUnknown {
7009  public:
7010    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
7011    virtual HRESULT WINAPI Finish_Pull(LONG *buf,ULONG *pcReturned) = 0;
7012    virtual HRESULT WINAPI Begin_Push(LONG *buf,ULONG cSent) = 0;
7013    virtual HRESULT WINAPI Finish_Push(void) = 0;
7014  };
7015#else
7016  typedef struct AsyncIPipeLongVtbl {
7017    BEGIN_INTERFACE
7018      HRESULT (WINAPI *QueryInterface)(AsyncIPipeLong *This,REFIID riid,void **ppvObject);
7019      ULONG (WINAPI *AddRef)(AsyncIPipeLong *This);
7020      ULONG (WINAPI *Release)(AsyncIPipeLong *This);
7021      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeLong *This,ULONG cRequest);
7022      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
7023      HRESULT (WINAPI *Begin_Push)(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
7024      HRESULT (WINAPI *Finish_Push)(AsyncIPipeLong *This);
7025    END_INTERFACE
7026  } AsyncIPipeLongVtbl;
7027  struct AsyncIPipeLong {
7028    CONST_VTBL struct AsyncIPipeLongVtbl *lpVtbl;
7029  };
7030#ifdef COBJMACROS
7031#define AsyncIPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7032#define AsyncIPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
7033#define AsyncIPipeLong_Release(This) (This)->lpVtbl->Release(This)
7034#define AsyncIPipeLong_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
7035#define AsyncIPipeLong_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
7036#define AsyncIPipeLong_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
7037#define AsyncIPipeLong_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
7038#endif
7039#endif
7040  HRESULT WINAPI AsyncIPipeLong_Begin_Pull_Proxy(AsyncIPipeLong *This,ULONG cRequest);
7041  void __RPC_STUB AsyncIPipeLong_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7042  HRESULT WINAPI AsyncIPipeLong_Finish_Pull_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
7043  void __RPC_STUB AsyncIPipeLong_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7044  HRESULT WINAPI AsyncIPipeLong_Begin_Push_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
7045  void __RPC_STUB AsyncIPipeLong_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7046  HRESULT WINAPI AsyncIPipeLong_Finish_Push_Proxy(AsyncIPipeLong *This);
7047  void __RPC_STUB AsyncIPipeLong_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7048#endif
7049
7050#ifndef __IPipeDouble_INTERFACE_DEFINED__
7051#define __IPipeDouble_INTERFACE_DEFINED__
7052  EXTERN_C const IID IID_IPipeDouble;
7053#if defined(__cplusplus) && !defined(CINTERFACE)
7054  struct IPipeDouble : public IUnknown {
7055  public:
7056    virtual HRESULT WINAPI Pull(DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
7057    virtual HRESULT WINAPI Push(DOUBLE *buf,ULONG cSent) = 0;
7058  };
7059#else
7060  typedef struct IPipeDoubleVtbl {
7061    BEGIN_INTERFACE
7062      HRESULT (WINAPI *QueryInterface)(IPipeDouble *This,REFIID riid,void **ppvObject);
7063      ULONG (WINAPI *AddRef)(IPipeDouble *This);
7064      ULONG (WINAPI *Release)(IPipeDouble *This);
7065      HRESULT (WINAPI *Pull)(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
7066      HRESULT (WINAPI *Push)(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
7067    END_INTERFACE
7068  } IPipeDoubleVtbl;
7069  struct IPipeDouble {
7070    CONST_VTBL struct IPipeDoubleVtbl *lpVtbl;
7071  };
7072#ifdef COBJMACROS
7073#define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7074#define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
7075#define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)
7076#define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
7077#define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
7078#endif
7079#endif
7080  HRESULT WINAPI IPipeDouble_Pull_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
7081  void __RPC_STUB IPipeDouble_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7082  HRESULT WINAPI IPipeDouble_Push_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
7083  void __RPC_STUB IPipeDouble_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7084#endif
7085
7086#ifndef __AsyncIPipeDouble_INTERFACE_DEFINED__
7087#define __AsyncIPipeDouble_INTERFACE_DEFINED__
7088  EXTERN_C const IID IID_AsyncIPipeDouble;
7089#if defined(__cplusplus) && !defined(CINTERFACE)
7090  struct AsyncIPipeDouble : public IUnknown {
7091  public:
7092    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
7093    virtual HRESULT WINAPI Finish_Pull(DOUBLE *buf,ULONG *pcReturned) = 0;
7094    virtual HRESULT WINAPI Begin_Push(DOUBLE *buf,ULONG cSent) = 0;
7095    virtual HRESULT WINAPI Finish_Push(void) = 0;
7096  };
7097#else
7098  typedef struct AsyncIPipeDoubleVtbl {
7099    BEGIN_INTERFACE
7100      HRESULT (WINAPI *QueryInterface)(AsyncIPipeDouble *This,REFIID riid,void **ppvObject);
7101      ULONG (WINAPI *AddRef)(AsyncIPipeDouble *This);
7102      ULONG (WINAPI *Release)(AsyncIPipeDouble *This);
7103      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeDouble *This,ULONG cRequest);
7104      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
7105      HRESULT (WINAPI *Begin_Push)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
7106      HRESULT (WINAPI *Finish_Push)(AsyncIPipeDouble *This);
7107    END_INTERFACE
7108  } AsyncIPipeDoubleVtbl;
7109  struct AsyncIPipeDouble {
7110    CONST_VTBL struct AsyncIPipeDoubleVtbl *lpVtbl;
7111  };
7112#ifdef COBJMACROS
7113#define AsyncIPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7114#define AsyncIPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
7115#define AsyncIPipeDouble_Release(This) (This)->lpVtbl->Release(This)
7116#define AsyncIPipeDouble_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
7117#define AsyncIPipeDouble_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
7118#define AsyncIPipeDouble_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
7119#define AsyncIPipeDouble_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
7120#endif
7121#endif
7122  HRESULT WINAPI AsyncIPipeDouble_Begin_Pull_Proxy(AsyncIPipeDouble *This,ULONG cRequest);
7123  void __RPC_STUB AsyncIPipeDouble_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7124  HRESULT WINAPI AsyncIPipeDouble_Finish_Pull_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
7125  void __RPC_STUB AsyncIPipeDouble_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7126  HRESULT WINAPI AsyncIPipeDouble_Begin_Push_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
7127  void __RPC_STUB AsyncIPipeDouble_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7128  HRESULT WINAPI AsyncIPipeDouble_Finish_Push_Proxy(AsyncIPipeDouble *This);
7129  void __RPC_STUB AsyncIPipeDouble_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7130#endif
7131
7132#ifndef __IThumbnailExtractor_INTERFACE_DEFINED__
7133#define __IThumbnailExtractor_INTERFACE_DEFINED__
7134  EXTERN_C const IID IID_IThumbnailExtractor;
7135#if defined(__cplusplus) && !defined(CINTERFACE)
7136  struct IThumbnailExtractor : public IUnknown {
7137  public:
7138    virtual HRESULT WINAPI ExtractThumbnail(IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) = 0;
7139    virtual HRESULT WINAPI OnFileUpdated(IStorage *pStg) = 0;
7140  };
7141#else
7142  typedef struct IThumbnailExtractorVtbl {
7143    BEGIN_INTERFACE
7144      HRESULT (WINAPI *QueryInterface)(IThumbnailExtractor *This,REFIID riid,void **ppvObject);
7145      ULONG (WINAPI *AddRef)(IThumbnailExtractor *This);
7146      ULONG (WINAPI *Release)(IThumbnailExtractor *This);
7147      HRESULT (WINAPI *ExtractThumbnail)(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
7148      HRESULT (WINAPI *OnFileUpdated)(IThumbnailExtractor *This,IStorage *pStg);
7149    END_INTERFACE
7150  } IThumbnailExtractorVtbl;
7151  struct IThumbnailExtractor {
7152    CONST_VTBL struct IThumbnailExtractorVtbl *lpVtbl;
7153  };
7154#ifdef COBJMACROS
7155#define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7156#define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This)
7157#define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This)
7158#define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)
7159#define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg)
7160#endif
7161#endif
7162  HRESULT WINAPI IThumbnailExtractor_ExtractThumbnail_Proxy(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
7163  void __RPC_STUB IThumbnailExtractor_ExtractThumbnail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7164  HRESULT WINAPI IThumbnailExtractor_OnFileUpdated_Proxy(IThumbnailExtractor *This,IStorage *pStg);
7165  void __RPC_STUB IThumbnailExtractor_OnFileUpdated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7166#endif
7167
7168#ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__
7169#define __IDummyHICONIncluder_INTERFACE_DEFINED__
7170  EXTERN_C const IID IID_IDummyHICONIncluder;
7171#if defined(__cplusplus) && !defined(CINTERFACE)
7172  struct IDummyHICONIncluder : public IUnknown {
7173  public:
7174    virtual HRESULT WINAPI Dummy(HICON h1,HDC h2) = 0;
7175  };
7176#else
7177  typedef struct IDummyHICONIncluderVtbl {
7178    BEGIN_INTERFACE
7179      HRESULT (WINAPI *QueryInterface)(IDummyHICONIncluder *This,REFIID riid,void **ppvObject);
7180      ULONG (WINAPI *AddRef)(IDummyHICONIncluder *This);
7181      ULONG (WINAPI *Release)(IDummyHICONIncluder *This);
7182      HRESULT (WINAPI *Dummy)(IDummyHICONIncluder *This,HICON h1,HDC h2);
7183    END_INTERFACE
7184  } IDummyHICONIncluderVtbl;
7185  struct IDummyHICONIncluder {
7186    CONST_VTBL struct IDummyHICONIncluderVtbl *lpVtbl;
7187  };
7188#ifdef COBJMACROS
7189#define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7190#define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This)
7191#define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This)
7192#define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2)
7193#endif
7194#endif
7195  HRESULT WINAPI IDummyHICONIncluder_Dummy_Proxy(IDummyHICONIncluder *This,HICON h1,HDC h2);
7196  void __RPC_STUB IDummyHICONIncluder_Dummy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7197#endif
7198
7199#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS
7200  typedef DWORD CPFLAGS;
7201
7202  typedef struct tagContextProperty {
7203    GUID policyId;
7204    CPFLAGS flags;
7205    IUnknown *pUnk;
7206  } ContextProperty;
7207
7208  extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_c_ifspec;
7209  extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_s_ifspec;
7210
7211#ifndef __IEnumContextProps_INTERFACE_DEFINED__
7212#define __IEnumContextProps_INTERFACE_DEFINED__
7213  typedef IEnumContextProps *LPENUMCONTEXTPROPS;
7214
7215  EXTERN_C const IID IID_IEnumContextProps;
7216#if defined(__cplusplus) && !defined(CINTERFACE)
7217  struct IEnumContextProps : public IUnknown {
7218  public:
7219    virtual HRESULT WINAPI Next(ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) = 0;
7220    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
7221    virtual HRESULT WINAPI Reset(void) = 0;
7222    virtual HRESULT WINAPI Clone(IEnumContextProps **ppEnumContextProps) = 0;
7223    virtual HRESULT WINAPI Count(ULONG *pcelt) = 0;
7224  };
7225#else
7226  typedef struct IEnumContextPropsVtbl {
7227    BEGIN_INTERFACE
7228      HRESULT (WINAPI *QueryInterface)(IEnumContextProps *This,REFIID riid,void **ppvObject);
7229      ULONG (WINAPI *AddRef)(IEnumContextProps *This);
7230      ULONG (WINAPI *Release)(IEnumContextProps *This);
7231      HRESULT (WINAPI *Next)(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
7232      HRESULT (WINAPI *Skip)(IEnumContextProps *This,ULONG celt);
7233      HRESULT (WINAPI *Reset)(IEnumContextProps *This);
7234      HRESULT (WINAPI *Clone)(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
7235      HRESULT (WINAPI *Count)(IEnumContextProps *This,ULONG *pcelt);
7236    END_INTERFACE
7237  } IEnumContextPropsVtbl;
7238  struct IEnumContextProps {
7239    CONST_VTBL struct IEnumContextPropsVtbl *lpVtbl;
7240  };
7241#ifdef COBJMACROS
7242#define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7243#define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)
7244#define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)
7245#define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)
7246#define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
7247#define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)
7248#define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)
7249#define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)
7250#endif
7251#endif
7252  HRESULT WINAPI IEnumContextProps_Next_Proxy(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
7253  void __RPC_STUB IEnumContextProps_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7254  HRESULT WINAPI IEnumContextProps_Skip_Proxy(IEnumContextProps *This,ULONG celt);
7255  void __RPC_STUB IEnumContextProps_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7256  HRESULT WINAPI IEnumContextProps_Reset_Proxy(IEnumContextProps *This);
7257  void __RPC_STUB IEnumContextProps_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7258  HRESULT WINAPI IEnumContextProps_Clone_Proxy(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
7259  void __RPC_STUB IEnumContextProps_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7260  HRESULT WINAPI IEnumContextProps_Count_Proxy(IEnumContextProps *This,ULONG *pcelt);
7261  void __RPC_STUB IEnumContextProps_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7262#endif
7263
7264#ifndef __IContext_INTERFACE_DEFINED__
7265#define __IContext_INTERFACE_DEFINED__
7266  EXTERN_C const IID IID_IContext;
7267#if defined(__cplusplus) && !defined(CINTERFACE)
7268  struct IContext : public IUnknown {
7269  public:
7270    virtual HRESULT WINAPI SetProperty(REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) = 0;
7271    virtual HRESULT WINAPI RemoveProperty(REFGUID rPolicyId) = 0;
7272    virtual HRESULT WINAPI GetProperty(REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) = 0;
7273    virtual HRESULT WINAPI EnumContextProps(IEnumContextProps **ppEnumContextProps) = 0;
7274  };
7275#else
7276  typedef struct IContextVtbl {
7277    BEGIN_INTERFACE
7278      HRESULT (WINAPI *QueryInterface)(IContext *This,REFIID riid,void **ppvObject);
7279      ULONG (WINAPI *AddRef)(IContext *This);
7280      ULONG (WINAPI *Release)(IContext *This);
7281      HRESULT (WINAPI *SetProperty)(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
7282      HRESULT (WINAPI *RemoveProperty)(IContext *This,REFGUID rPolicyId);
7283      HRESULT (WINAPI *GetProperty)(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
7284      HRESULT (WINAPI *EnumContextProps)(IContext *This,IEnumContextProps **ppEnumContextProps);
7285    END_INTERFACE
7286  } IContextVtbl;
7287  struct IContext {
7288    CONST_VTBL struct IContextVtbl *lpVtbl;
7289  };
7290#ifdef COBJMACROS
7291#define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7292#define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)
7293#define IContext_Release(This) (This)->lpVtbl->Release(This)
7294#define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
7295#define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
7296#define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
7297#define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
7298#endif
7299#endif
7300  HRESULT WINAPI IContext_SetProperty_Proxy(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
7301  void __RPC_STUB IContext_SetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7302  HRESULT WINAPI IContext_RemoveProperty_Proxy(IContext *This,REFGUID rPolicyId);
7303  void __RPC_STUB IContext_RemoveProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7304  HRESULT WINAPI IContext_GetProperty_Proxy(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
7305  void __RPC_STUB IContext_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7306  HRESULT WINAPI IContext_EnumContextProps_Proxy(IContext *This,IEnumContextProps **ppEnumContextProps);
7307  void __RPC_STUB IContext_EnumContextProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7308#endif
7309
7310#ifndef BUILDTYPE_COMSVCS
7311  extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_c_ifspec;
7312  extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_s_ifspec;
7313
7314#ifndef __IObjContext_INTERFACE_DEFINED__
7315#define __IObjContext_INTERFACE_DEFINED__
7316  EXTERN_C const IID IID_IObjContext;
7317#if defined(__cplusplus) && !defined(CINTERFACE)
7318  struct IObjContext : public IContext {
7319  public:
7320    virtual void WINAPI Reserved1(void) = 0;
7321    virtual void WINAPI Reserved2(void) = 0;
7322    virtual void WINAPI Reserved3(void) = 0;
7323    virtual void WINAPI Reserved4(void) = 0;
7324    virtual void WINAPI Reserved5(void) = 0;
7325    virtual void WINAPI Reserved6(void) = 0;
7326    virtual void WINAPI Reserved7(void) = 0;
7327  };
7328#else
7329  typedef struct IObjContextVtbl {
7330    BEGIN_INTERFACE
7331      HRESULT (WINAPI *QueryInterface)(IObjContext *This,REFIID riid,void **ppvObject);
7332      ULONG (WINAPI *AddRef)(IObjContext *This);
7333      ULONG (WINAPI *Release)(IObjContext *This);
7334      HRESULT (WINAPI *SetProperty)(IObjContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
7335      HRESULT (WINAPI *RemoveProperty)(IObjContext *This,REFGUID rPolicyId);
7336      HRESULT (WINAPI *GetProperty)(IObjContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
7337      HRESULT (WINAPI *EnumContextProps)(IObjContext *This,IEnumContextProps **ppEnumContextProps);
7338      void (WINAPI *Reserved1)(IObjContext *This);
7339      void (WINAPI *Reserved2)(IObjContext *This);
7340      void (WINAPI *Reserved3)(IObjContext *This);
7341      void (WINAPI *Reserved4)(IObjContext *This);
7342      void (WINAPI *Reserved5)(IObjContext *This);
7343      void (WINAPI *Reserved6)(IObjContext *This);
7344      void (WINAPI *Reserved7)(IObjContext *This);
7345    END_INTERFACE
7346  } IObjContextVtbl;
7347  struct IObjContext {
7348    CONST_VTBL struct IObjContextVtbl *lpVtbl;
7349  };
7350#ifdef COBJMACROS
7351#define IObjContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7352#define IObjContext_AddRef(This) (This)->lpVtbl->AddRef(This)
7353#define IObjContext_Release(This) (This)->lpVtbl->Release(This)
7354#define IObjContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
7355#define IObjContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
7356#define IObjContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
7357#define IObjContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
7358#define IObjContext_Reserved1(This) (This)->lpVtbl->Reserved1(This)
7359#define IObjContext_Reserved2(This) (This)->lpVtbl->Reserved2(This)
7360#define IObjContext_Reserved3(This) (This)->lpVtbl->Reserved3(This)
7361#define IObjContext_Reserved4(This) (This)->lpVtbl->Reserved4(This)
7362#define IObjContext_Reserved5(This) (This)->lpVtbl->Reserved5(This)
7363#define IObjContext_Reserved6(This) (This)->lpVtbl->Reserved6(This)
7364#define IObjContext_Reserved7(This) (This)->lpVtbl->Reserved7(This)
7365#endif
7366#endif
7367  void WINAPI IObjContext_Reserved1_Proxy(IObjContext *This);
7368  void __RPC_STUB IObjContext_Reserved1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7369  void WINAPI IObjContext_Reserved2_Proxy(IObjContext *This);
7370  void __RPC_STUB IObjContext_Reserved2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7371  void WINAPI IObjContext_Reserved3_Proxy(IObjContext *This);
7372  void __RPC_STUB IObjContext_Reserved3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7373  void WINAPI IObjContext_Reserved4_Proxy(IObjContext *This);
7374  void __RPC_STUB IObjContext_Reserved4_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7375  void WINAPI IObjContext_Reserved5_Proxy(IObjContext *This);
7376  void __RPC_STUB IObjContext_Reserved5_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7377  void WINAPI IObjContext_Reserved6_Proxy(IObjContext *This);
7378  void __RPC_STUB IObjContext_Reserved6_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7379  void WINAPI IObjContext_Reserved7_Proxy(IObjContext *This);
7380  void __RPC_STUB IObjContext_Reserved7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7381#endif
7382#endif
7383#endif
7384  typedef enum tagApplicationType {
7385    ServerApplication = 0,LibraryApplication = ServerApplication + 1
7386  } ApplicationType;
7387
7388  typedef enum tagShutdownType {
7389    IdleShutdown = 0,ForcedShutdown = IdleShutdown + 1
7390  } ShutdownType;
7391
7392  extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_c_ifspec;
7393  extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_s_ifspec;
7394
7395#ifndef __IProcessLock_INTERFACE_DEFINED__
7396#define __IProcessLock_INTERFACE_DEFINED__
7397  EXTERN_C const IID IID_IProcessLock;
7398#if defined(__cplusplus) && !defined(CINTERFACE)
7399  struct IProcessLock : public IUnknown {
7400  public:
7401    virtual ULONG WINAPI AddRefOnProcess(void) = 0;
7402    virtual ULONG WINAPI ReleaseRefOnProcess(void) = 0;
7403  };
7404#else
7405  typedef struct IProcessLockVtbl {
7406    BEGIN_INTERFACE
7407      HRESULT (WINAPI *QueryInterface)(IProcessLock *This,REFIID riid,void **ppvObject);
7408      ULONG (WINAPI *AddRef)(IProcessLock *This);
7409      ULONG (WINAPI *Release)(IProcessLock *This);
7410      ULONG (WINAPI *AddRefOnProcess)(IProcessLock *This);
7411      ULONG (WINAPI *ReleaseRefOnProcess)(IProcessLock *This);
7412    END_INTERFACE
7413  } IProcessLockVtbl;
7414  struct IProcessLock {
7415    CONST_VTBL struct IProcessLockVtbl *lpVtbl;
7416  };
7417#ifdef COBJMACROS
7418#define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7419#define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This)
7420#define IProcessLock_Release(This) (This)->lpVtbl->Release(This)
7421#define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This)
7422#define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This)
7423#endif
7424#endif
7425  ULONG WINAPI IProcessLock_AddRefOnProcess_Proxy(IProcessLock *This);
7426  void __RPC_STUB IProcessLock_AddRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7427  ULONG WINAPI IProcessLock_ReleaseRefOnProcess_Proxy(IProcessLock *This);
7428  void __RPC_STUB IProcessLock_ReleaseRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7429#endif
7430
7431#ifndef __ISurrogateService_INTERFACE_DEFINED__
7432#define __ISurrogateService_INTERFACE_DEFINED__
7433  EXTERN_C const IID IID_ISurrogateService;
7434#if defined(__cplusplus) && !defined(CINTERFACE)
7435  struct ISurrogateService : public IUnknown {
7436  public:
7437    virtual HRESULT WINAPI Init(REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) = 0;
7438    virtual HRESULT WINAPI ApplicationLaunch(REFGUID rguidApplID,ApplicationType appType) = 0;
7439    virtual HRESULT WINAPI ApplicationFree(REFGUID rguidApplID) = 0;
7440    virtual HRESULT WINAPI CatalogRefresh(ULONG ulReserved) = 0;
7441    virtual HRESULT WINAPI ProcessShutdown(ShutdownType shutdownType) = 0;
7442  };
7443#else
7444  typedef struct ISurrogateServiceVtbl {
7445    BEGIN_INTERFACE
7446      HRESULT (WINAPI *QueryInterface)(ISurrogateService *This,REFIID riid,void **ppvObject);
7447      ULONG (WINAPI *AddRef)(ISurrogateService *This);
7448      ULONG (WINAPI *Release)(ISurrogateService *This);
7449      HRESULT (WINAPI *Init)(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
7450      HRESULT (WINAPI *ApplicationLaunch)(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
7451      HRESULT (WINAPI *ApplicationFree)(ISurrogateService *This,REFGUID rguidApplID);
7452      HRESULT (WINAPI *CatalogRefresh)(ISurrogateService *This,ULONG ulReserved);
7453      HRESULT (WINAPI *ProcessShutdown)(ISurrogateService *This,ShutdownType shutdownType);
7454    END_INTERFACE
7455  } ISurrogateServiceVtbl;
7456  struct ISurrogateService {
7457    CONST_VTBL struct ISurrogateServiceVtbl *lpVtbl;
7458  };
7459#ifdef COBJMACROS
7460#define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7461#define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This)
7462#define ISurrogateService_Release(This) (This)->lpVtbl->Release(This)
7463#define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware)
7464#define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType)
7465#define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID)
7466#define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved)
7467#define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType)
7468#endif
7469#endif
7470  HRESULT WINAPI ISurrogateService_Init_Proxy(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
7471  void __RPC_STUB ISurrogateService_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7472  HRESULT WINAPI ISurrogateService_ApplicationLaunch_Proxy(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
7473  void __RPC_STUB ISurrogateService_ApplicationLaunch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7474  HRESULT WINAPI ISurrogateService_ApplicationFree_Proxy(ISurrogateService *This,REFGUID rguidApplID);
7475  void __RPC_STUB ISurrogateService_ApplicationFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7476  HRESULT WINAPI ISurrogateService_CatalogRefresh_Proxy(ISurrogateService *This,ULONG ulReserved);
7477  void __RPC_STUB ISurrogateService_CatalogRefresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7478  HRESULT WINAPI ISurrogateService_ProcessShutdown_Proxy(ISurrogateService *This,ShutdownType shutdownType);
7479  void __RPC_STUB ISurrogateService_ProcessShutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7480#endif
7481
7482  typedef enum _APTTYPE {
7483    APTTYPE_CURRENT = -1,APTTYPE_STA = 0,APTTYPE_MTA = 1,APTTYPE_NA = 2,APTTYPE_MAINSTA = 3
7484  } APTTYPE;
7485
7486  typedef enum _THDTYPE {
7487    THDTYPE_BLOCKMESSAGES = 0,THDTYPE_PROCESSMESSAGES = 1
7488  } THDTYPE;
7489
7490  typedef DWORD APARTMENTID;
7491
7492  extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_c_ifspec;
7493  extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_s_ifspec;
7494
7495#ifndef __IComThreadingInfo_INTERFACE_DEFINED__
7496#define __IComThreadingInfo_INTERFACE_DEFINED__
7497  EXTERN_C const IID IID_IComThreadingInfo;
7498#if defined(__cplusplus) && !defined(CINTERFACE)
7499  struct IComThreadingInfo : public IUnknown {
7500  public:
7501    virtual HRESULT WINAPI GetCurrentApartmentType(APTTYPE *pAptType) = 0;
7502    virtual HRESULT WINAPI GetCurrentThreadType(THDTYPE *pThreadType) = 0;
7503    virtual HRESULT WINAPI GetCurrentLogicalThreadId(GUID *pguidLogicalThreadId) = 0;
7504    virtual HRESULT WINAPI SetCurrentLogicalThreadId(REFGUID rguid) = 0;
7505  };
7506#else
7507  typedef struct IComThreadingInfoVtbl {
7508    BEGIN_INTERFACE
7509      HRESULT (WINAPI *QueryInterface)(IComThreadingInfo *This,REFIID riid,void **ppvObject);
7510      ULONG (WINAPI *AddRef)(IComThreadingInfo *This);
7511      ULONG (WINAPI *Release)(IComThreadingInfo *This);
7512      HRESULT (WINAPI *GetCurrentApartmentType)(IComThreadingInfo *This,APTTYPE *pAptType);
7513      HRESULT (WINAPI *GetCurrentThreadType)(IComThreadingInfo *This,THDTYPE *pThreadType);
7514      HRESULT (WINAPI *GetCurrentLogicalThreadId)(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
7515      HRESULT (WINAPI *SetCurrentLogicalThreadId)(IComThreadingInfo *This,REFGUID rguid);
7516    END_INTERFACE
7517  } IComThreadingInfoVtbl;
7518  struct IComThreadingInfo {
7519    CONST_VTBL struct IComThreadingInfoVtbl *lpVtbl;
7520  };
7521#ifdef COBJMACROS
7522#define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7523#define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
7524#define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)
7525#define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)
7526#define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)
7527#define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)
7528#define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)
7529#endif
7530#endif
7531  HRESULT WINAPI IComThreadingInfo_GetCurrentApartmentType_Proxy(IComThreadingInfo *This,APTTYPE *pAptType);
7532  void __RPC_STUB IComThreadingInfo_GetCurrentApartmentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7533  HRESULT WINAPI IComThreadingInfo_GetCurrentThreadType_Proxy(IComThreadingInfo *This,THDTYPE *pThreadType);
7534  void __RPC_STUB IComThreadingInfo_GetCurrentThreadType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7535  HRESULT WINAPI IComThreadingInfo_GetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
7536  void __RPC_STUB IComThreadingInfo_GetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7537  HRESULT WINAPI IComThreadingInfo_SetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,REFGUID rguid);
7538  void __RPC_STUB IComThreadingInfo_SetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7539#endif
7540
7541#ifndef __IProcessInitControl_INTERFACE_DEFINED__
7542#define __IProcessInitControl_INTERFACE_DEFINED__
7543  EXTERN_C const IID IID_IProcessInitControl;
7544#if defined(__cplusplus) && !defined(CINTERFACE)
7545  struct IProcessInitControl : public IUnknown {
7546  public:
7547    virtual HRESULT WINAPI ResetInitializerTimeout(DWORD dwSecondsRemaining) = 0;
7548  };
7549#else
7550  typedef struct IProcessInitControlVtbl {
7551    BEGIN_INTERFACE
7552      HRESULT (WINAPI *QueryInterface)(IProcessInitControl *This,REFIID riid,void **ppvObject);
7553      ULONG (WINAPI *AddRef)(IProcessInitControl *This);
7554      ULONG (WINAPI *Release)(IProcessInitControl *This);
7555      HRESULT (WINAPI *ResetInitializerTimeout)(IProcessInitControl *This,DWORD dwSecondsRemaining);
7556    END_INTERFACE
7557  } IProcessInitControlVtbl;
7558  struct IProcessInitControl {
7559    CONST_VTBL struct IProcessInitControlVtbl *lpVtbl;
7560  };
7561#ifdef COBJMACROS
7562#define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7563#define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)
7564#define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)
7565#define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)
7566#endif
7567#endif
7568  HRESULT WINAPI IProcessInitControl_ResetInitializerTimeout_Proxy(IProcessInitControl *This,DWORD dwSecondsRemaining);
7569  void __RPC_STUB IProcessInitControl_ResetInitializerTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7570#endif
7571
7572  extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_c_ifspec;
7573  extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_s_ifspec;
7574
7575#ifndef __IInitializeSpy_INTERFACE_DEFINED__
7576#define __IInitializeSpy_INTERFACE_DEFINED__
7577  typedef IInitializeSpy *LPINITIALIZESPY;
7578
7579  EXTERN_C const IID IID_IInitializeSpy;
7580#if defined(__cplusplus) && !defined(CINTERFACE)
7581  struct IInitializeSpy : public IUnknown {
7582  public:
7583    virtual HRESULT WINAPI PreInitialize(DWORD dwCoInit,DWORD dwCurThreadAptRefs) = 0;
7584    virtual HRESULT WINAPI PostInitialize(HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) = 0;
7585    virtual HRESULT WINAPI PreUninitialize(DWORD dwCurThreadAptRefs) = 0;
7586    virtual HRESULT WINAPI PostUninitialize(DWORD dwNewThreadAptRefs) = 0;
7587  };
7588#else
7589  typedef struct IInitializeSpyVtbl {
7590    BEGIN_INTERFACE
7591      HRESULT (WINAPI *QueryInterface)(IInitializeSpy *This,REFIID riid,void **ppvObject);
7592      ULONG (WINAPI *AddRef)(IInitializeSpy *This);
7593      ULONG (WINAPI *Release)(IInitializeSpy *This);
7594      HRESULT (WINAPI *PreInitialize)(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
7595      HRESULT (WINAPI *PostInitialize)(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
7596      HRESULT (WINAPI *PreUninitialize)(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
7597      HRESULT (WINAPI *PostUninitialize)(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
7598    END_INTERFACE
7599  } IInitializeSpyVtbl;
7600  struct IInitializeSpy {
7601    CONST_VTBL struct IInitializeSpyVtbl *lpVtbl;
7602  };
7603#ifdef COBJMACROS
7604#define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7605#define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
7606#define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This)
7607#define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs)
7608#define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs)
7609#define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs)
7610#define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs)
7611#endif
7612#endif
7613  HRESULT WINAPI IInitializeSpy_PreInitialize_Proxy(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
7614  void __RPC_STUB IInitializeSpy_PreInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7615  HRESULT WINAPI IInitializeSpy_PostInitialize_Proxy(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
7616  void __RPC_STUB IInitializeSpy_PostInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7617  HRESULT WINAPI IInitializeSpy_PreUninitialize_Proxy(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
7618  void __RPC_STUB IInitializeSpy_PreUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7619  HRESULT WINAPI IInitializeSpy_PostUninitialize_Proxy(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
7620  void __RPC_STUB IInitializeSpy_PostUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7621#endif
7622
7623  extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_c_ifspec;
7624  extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_s_ifspec;
7625
7626  ULONG __RPC_API CLIPFORMAT_UserSize(ULONG *,ULONG,CLIPFORMAT *);
7627  unsigned char *__RPC_API CLIPFORMAT_UserMarshal(ULONG *,unsigned char *,CLIPFORMAT *);
7628  unsigned char *__RPC_API CLIPFORMAT_UserUnmarshal(ULONG *,unsigned char *,CLIPFORMAT *);
7629  void __RPC_API CLIPFORMAT_UserFree(ULONG *,CLIPFORMAT *);
7630  ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);
7631  unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);
7632  unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);
7633  void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);
7634  ULONG __RPC_API HDC_UserSize(ULONG *,ULONG,HDC *);
7635  unsigned char *__RPC_API HDC_UserMarshal(ULONG *,unsigned char *,HDC *);
7636  unsigned char *__RPC_API HDC_UserUnmarshal(ULONG *,unsigned char *,HDC *);
7637  void __RPC_API HDC_UserFree(ULONG *,HDC *);
7638  ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);
7639  unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);
7640  unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);
7641  void __RPC_API HICON_UserFree(ULONG *,HICON *);
7642
7643  HRESULT WINAPI IEnumUnknown_Next_Proxy(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
7644  HRESULT WINAPI IEnumUnknown_Next_Stub(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
7645  HRESULT WINAPI IBindCtx_SetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
7646  HRESULT WINAPI IBindCtx_SetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
7647  HRESULT WINAPI IBindCtx_GetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
7648  HRESULT WINAPI IBindCtx_GetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
7649  HRESULT WINAPI IEnumMoniker_Next_Proxy(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
7650  HRESULT WINAPI IEnumMoniker_Next_Stub(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
7651  WINBOOL WINAPI IRunnableObject_IsRunning_Proxy(IRunnableObject *This);
7652  HRESULT WINAPI IRunnableObject_IsRunning_Stub(IRunnableObject *This);
7653  HRESULT WINAPI IEnumString_Next_Proxy(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
7654  HRESULT WINAPI IEnumString_Next_Stub(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
7655  HRESULT WINAPI ILockBytes_ReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
7656  HRESULT WINAPI ILockBytes_ReadAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
7657  HRESULT WINAPI ILockBytes_WriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
7658  HRESULT WINAPI ILockBytes_WriteAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
7659  void WINAPI IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
7660  HRESULT WINAPI IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2 *This,IMoniker *pmk);
7661  HRESULT WINAPI IFillLockBytes_FillAppend_Proxy(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
7662  HRESULT WINAPI IFillLockBytes_FillAppend_Stub(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
7663  HRESULT WINAPI IFillLockBytes_FillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
7664  HRESULT WINAPI IFillLockBytes_FillAt_Stub(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
7665  void WINAPI AsyncIAdviseSink_Begin_OnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
7666  HRESULT WINAPI AsyncIAdviseSink_Begin_OnDataChange_Stub(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
7667  void WINAPI AsyncIAdviseSink_Finish_OnDataChange_Proxy(AsyncIAdviseSink *This);
7668  HRESULT WINAPI AsyncIAdviseSink_Finish_OnDataChange_Stub(AsyncIAdviseSink *This);
7669  void WINAPI AsyncIAdviseSink_Begin_OnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
7670  HRESULT WINAPI AsyncIAdviseSink_Begin_OnViewChange_Stub(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
7671  void WINAPI AsyncIAdviseSink_Finish_OnViewChange_Proxy(AsyncIAdviseSink *This);
7672  HRESULT WINAPI AsyncIAdviseSink_Finish_OnViewChange_Stub(AsyncIAdviseSink *This);
7673  void WINAPI AsyncIAdviseSink_Begin_OnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
7674  HRESULT WINAPI AsyncIAdviseSink_Begin_OnRename_Stub(AsyncIAdviseSink *This,IMoniker *pmk);
7675  void WINAPI AsyncIAdviseSink_Finish_OnRename_Proxy(AsyncIAdviseSink *This);
7676  HRESULT WINAPI AsyncIAdviseSink_Finish_OnRename_Stub(AsyncIAdviseSink *This);
7677  void WINAPI AsyncIAdviseSink_Begin_OnSave_Proxy(AsyncIAdviseSink *This);
7678  HRESULT WINAPI AsyncIAdviseSink_Begin_OnSave_Stub(AsyncIAdviseSink *This);
7679  void WINAPI AsyncIAdviseSink_Finish_OnSave_Proxy(AsyncIAdviseSink *This);
7680  HRESULT WINAPI AsyncIAdviseSink_Finish_OnSave_Stub(AsyncIAdviseSink *This);
7681  void WINAPI AsyncIAdviseSink_Begin_OnClose_Proxy(AsyncIAdviseSink *This);
7682  HRESULT WINAPI AsyncIAdviseSink_Begin_OnClose_Stub(AsyncIAdviseSink *This);
7683  void WINAPI AsyncIAdviseSink_Finish_OnClose_Proxy(AsyncIAdviseSink *This);
7684  HRESULT WINAPI AsyncIAdviseSink_Finish_OnClose_Stub(AsyncIAdviseSink *This);
7685  void WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
7686  HRESULT WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This,IMoniker *pmk);
7687  void WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
7688  HRESULT WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This);
7689
7690#if (_WIN32_WINNT >= 0x0601)
7691typedef enum _APTTYPEQUALIFIER {
7692  APTTYPEQUALIFIER_NONE                 = 0,
7693  APTTYPEQUALIFIER_IMPLICIT_MTA         = 1,
7694  APTTYPEQUALIFIER_NA_ON_MTA            = 2,
7695  APTTYPEQUALIFIER_NA_ON_STA            = 3,
7696  APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA   = 4,
7697  APTTYPEQUALIFIER_NA_ON_MAINSTA        = 5
7698} APTTYPEQUALIFIER;
7699#endif /*(_WIN32_WINNT >= 0x0601)*/
7700/* Begin additional prototypes for all interfaces */
7701
7702ULONG           __RPC_USER SNB_UserSize     (ULONG *, ULONG, SNB *);
7703unsigned char * __RPC_USER SNB_UserMarshal  (ULONG *, unsigned char *, SNB *);
7704unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
7705void            __RPC_USER SNB_UserFree     (ULONG *, SNB *);
7706ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
7707unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
7708unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
7709void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
7710ULONG           __RPC_USER STGMEDIUM_UserSize     (ULONG *, ULONG, STGMEDIUM *);
7711unsigned char * __RPC_USER STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, STGMEDIUM *);
7712unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
7713void            __RPC_USER STGMEDIUM_UserFree     (ULONG *, STGMEDIUM *);
7714ULONG           __RPC_USER ASYNC_STGMEDIUM_UserSize     (ULONG *, ULONG, ASYNC_STGMEDIUM *);
7715unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
7716unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
7717void            __RPC_USER ASYNC_STGMEDIUM_UserFree     (ULONG *, ASYNC_STGMEDIUM *);
7718ULONG           __RPC_USER FLAG_STGMEDIUM_UserSize     (ULONG *, ULONG, FLAG_STGMEDIUM *);
7719unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, FLAG_STGMEDIUM *);
7720unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *);
7721void            __RPC_USER FLAG_STGMEDIUM_UserFree     (ULONG *, FLAG_STGMEDIUM *);
7722
7723/* End additional prototypes */
7724
7725#ifdef __cplusplus
7726}
7727#endif
7728
7729#endif /* __objidl_h__ */
7730