/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */

#ifndef DO_NO_IMPORTS
import "unknwn.idl";
import "wtypes.idl";
#endif

interface IMoniker;
interface IEnumMoniker;
interface IRunningObjectTable;
interface IEnumString;
interface IStream;
interface IAdviseSink;

cpp_quote("#ifndef __IMarshal_FWD_DEFINED__")
cpp_quote("#define __IMarshal_FWD_DEFINED__")
cpp_quote("typedef struct IMarshal IMarshal;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMarshal2_FWD_DEFINED__")
cpp_quote("#define __IMarshal2_FWD_DEFINED__")
cpp_quote("typedef struct IMarshal2 IMarshal2;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMalloc_FWD_DEFINED__")
cpp_quote("#define __IMalloc_FWD_DEFINED__")
cpp_quote("typedef struct IMalloc IMalloc;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMallocSpy_FWD_DEFINED__")
cpp_quote("#define __IMallocSpy_FWD_DEFINED__")
cpp_quote("typedef struct IMallocSpy IMallocSpy;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IStdMarshalInfo_FWD_DEFINED__")
cpp_quote("#define __IStdMarshalInfo_FWD_DEFINED__")
cpp_quote("typedef struct IStdMarshalInfo IStdMarshalInfo;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IExternalConnection_FWD_DEFINED__")
cpp_quote("#define __IExternalConnection_FWD_DEFINED__")
cpp_quote("typedef struct IExternalConnection IExternalConnection;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMultiQI_FWD_DEFINED__")
cpp_quote("#define __IMultiQI_FWD_DEFINED__")
cpp_quote("typedef struct IMultiQI IMultiQI;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIMultiQI_FWD_DEFINED__")
cpp_quote("#define __AsyncIMultiQI_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIMultiQI AsyncIMultiQI;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IInternalUnknown_FWD_DEFINED__")
cpp_quote("#define __IInternalUnknown_FWD_DEFINED__")
cpp_quote("typedef struct IInternalUnknown IInternalUnknown;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRunnableObject_FWD_DEFINED__")
cpp_quote("#define __IRunnableObject_FWD_DEFINED__")
cpp_quote("typedef struct IRunnableObject IRunnableObject;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IROTData_FWD_DEFINED__")
cpp_quote("#define __IROTData_FWD_DEFINED__")
cpp_quote("typedef struct IROTData IROTData;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPersistFile_FWD_DEFINED__")
cpp_quote("#define __IPersistFile_FWD_DEFINED__")
cpp_quote("typedef struct IPersistFile IPersistFile;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPersistStorage_FWD_DEFINED__")
cpp_quote("#define __IPersistStorage_FWD_DEFINED__")
cpp_quote("typedef struct IPersistStorage IPersistStorage;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ILockBytes_FWD_DEFINED__")
cpp_quote("#define __ILockBytes_FWD_DEFINED__")
cpp_quote("typedef struct ILockBytes ILockBytes;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRootStorage_FWD_DEFINED__")
cpp_quote("#define __IRootStorage_FWD_DEFINED__")
cpp_quote("typedef struct IRootStorage IRootStorage;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIAdviseSink_FWD_DEFINED__")
cpp_quote("#define __AsyncIAdviseSink_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIAdviseSink AsyncIAdviseSink;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAdviseSink2_FWD_DEFINED__")
cpp_quote("#define __IAdviseSink2_FWD_DEFINED__")
cpp_quote("typedef struct IAdviseSink2 IAdviseSink2;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIAdviseSink2_FWD_DEFINED__")
cpp_quote("#define __AsyncIAdviseSink2_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IDataAdviseHolder_FWD_DEFINED__")
cpp_quote("#define __IDataAdviseHolder_FWD_DEFINED__")
cpp_quote("typedef struct IDataAdviseHolder IDataAdviseHolder;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMessageFilter_FWD_DEFINED__")
cpp_quote("#define __IMessageFilter_FWD_DEFINED__")
cpp_quote("typedef struct IMessageFilter IMessageFilter;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer_FWD_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer_FWD_DEFINED__")
cpp_quote("typedef struct IRpcChannelBuffer IRpcChannelBuffer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer2_FWD_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer2_FWD_DEFINED__")
cpp_quote("typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__")
cpp_quote("#define __IAsyncRpcChannelBuffer_FWD_DEFINED__")
cpp_quote("typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer3_FWD_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer3_FWD_DEFINED__")
cpp_quote("typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__")
cpp_quote("#define __IRpcSyntaxNegotiate_FWD_DEFINED__")
cpp_quote("typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcProxyBuffer_FWD_DEFINED__")
cpp_quote("#define __IRpcProxyBuffer_FWD_DEFINED__")
cpp_quote("typedef struct IRpcProxyBuffer IRpcProxyBuffer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcStubBuffer_FWD_DEFINED__")
cpp_quote("#define __IRpcStubBuffer_FWD_DEFINED__")
cpp_quote("typedef struct IRpcStubBuffer IRpcStubBuffer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPSFactoryBuffer_FWD_DEFINED__")
cpp_quote("#define __IPSFactoryBuffer_FWD_DEFINED__")
cpp_quote("typedef struct IPSFactoryBuffer IPSFactoryBuffer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IChannelHook_FWD_DEFINED__")
cpp_quote("#define __IChannelHook_FWD_DEFINED__")
cpp_quote("typedef struct IChannelHook IChannelHook;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IClientSecurity_FWD_DEFINED__")
cpp_quote("#define __IClientSecurity_FWD_DEFINED__")
cpp_quote("typedef struct IClientSecurity IClientSecurity;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IServerSecurity_FWD_DEFINED__")
cpp_quote("#define __IServerSecurity_FWD_DEFINED__")
cpp_quote("typedef struct IServerSecurity IServerSecurity;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IClassActivator_FWD_DEFINED__")
cpp_quote("#define __IClassActivator_FWD_DEFINED__")
cpp_quote("typedef struct IClassActivator IClassActivator;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcOptions_FWD_DEFINED__")
cpp_quote("#define __IRpcOptions_FWD_DEFINED__")
cpp_quote("typedef struct IRpcOptions IRpcOptions;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IFillLockBytes_FWD_DEFINED__")
cpp_quote("#define __IFillLockBytes_FWD_DEFINED__")
cpp_quote("typedef struct IFillLockBytes IFillLockBytes;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IProgressNotify_FWD_DEFINED__")
cpp_quote("#define __IProgressNotify_FWD_DEFINED__")
cpp_quote("typedef struct IProgressNotify IProgressNotify;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ILayoutStorage_FWD_DEFINED__")
cpp_quote("#define __ILayoutStorage_FWD_DEFINED__")
cpp_quote("typedef struct ILayoutStorage ILayoutStorage;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IBlockingLock_FWD_DEFINED__")
cpp_quote("#define __IBlockingLock_FWD_DEFINED__")
cpp_quote("typedef struct IBlockingLock IBlockingLock;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ITimeAndNoticeControl_FWD_DEFINED__")
cpp_quote("#define __ITimeAndNoticeControl_FWD_DEFINED__")
cpp_quote("typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IOplockStorage_FWD_DEFINED__")
cpp_quote("#define __IOplockStorage_FWD_DEFINED__")
cpp_quote("typedef struct IOplockStorage IOplockStorage;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISurrogate_FWD_DEFINED__")
cpp_quote("#define __ISurrogate_FWD_DEFINED__")
cpp_quote("typedef struct ISurrogate ISurrogate;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IGlobalInterfaceTable_FWD_DEFINED__")
cpp_quote("#define __IGlobalInterfaceTable_FWD_DEFINED__")
cpp_quote("typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IDirectWriterLock_FWD_DEFINED__")
cpp_quote("#define __IDirectWriterLock_FWD_DEFINED__")
cpp_quote("typedef struct IDirectWriterLock IDirectWriterLock;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronize_FWD_DEFINED__")
cpp_quote("#define __ISynchronize_FWD_DEFINED__")
cpp_quote("typedef struct ISynchronize ISynchronize;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeHandle_FWD_DEFINED__")
cpp_quote("#define __ISynchronizeHandle_FWD_DEFINED__")
cpp_quote("typedef struct ISynchronizeHandle ISynchronizeHandle;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeEvent_FWD_DEFINED__")
cpp_quote("#define __ISynchronizeEvent_FWD_DEFINED__")
cpp_quote("typedef struct ISynchronizeEvent ISynchronizeEvent;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeContainer_FWD_DEFINED__")
cpp_quote("#define __ISynchronizeContainer_FWD_DEFINED__")
cpp_quote("typedef struct ISynchronizeContainer ISynchronizeContainer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeMutex_FWD_DEFINED__")
cpp_quote("#define __ISynchronizeMutex_FWD_DEFINED__")
cpp_quote("typedef struct ISynchronizeMutex ISynchronizeMutex;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ICancelMethodCalls_FWD_DEFINED__")
cpp_quote("#define __ICancelMethodCalls_FWD_DEFINED__")
cpp_quote("typedef struct ICancelMethodCalls ICancelMethodCalls;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAsyncManager_FWD_DEFINED__")
cpp_quote("#define __IAsyncManager_FWD_DEFINED__")
cpp_quote("typedef struct IAsyncManager IAsyncManager;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ICallFactory_FWD_DEFINED__")
cpp_quote("#define __ICallFactory_FWD_DEFINED__")
cpp_quote("typedef struct ICallFactory ICallFactory;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcHelper_FWD_DEFINED__")
cpp_quote("#define __IRpcHelper_FWD_DEFINED__")
cpp_quote("typedef struct IRpcHelper IRpcHelper;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IReleaseMarshalBuffers_FWD_DEFINED__")
cpp_quote("#define __IReleaseMarshalBuffers_FWD_DEFINED__")
cpp_quote("typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IWaitMultiple_FWD_DEFINED__")
cpp_quote("#define __IWaitMultiple_FWD_DEFINED__")
cpp_quote("typedef struct IWaitMultiple IWaitMultiple;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IUrlMon_FWD_DEFINED__")
cpp_quote("#define __IUrlMon_FWD_DEFINED__")
cpp_quote("typedef struct IUrlMon IUrlMon;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IForegroundTransfer_FWD_DEFINED__")
cpp_quote("#define __IForegroundTransfer_FWD_DEFINED__")
cpp_quote("typedef struct IForegroundTransfer IForegroundTransfer;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAddrTrackingControl_FWD_DEFINED__")
cpp_quote("#define __IAddrTrackingControl_FWD_DEFINED__")
cpp_quote("typedef struct IAddrTrackingControl IAddrTrackingControl;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAddrExclusionControl_FWD_DEFINED__")
cpp_quote("#define __IAddrExclusionControl_FWD_DEFINED__")
cpp_quote("typedef struct IAddrExclusionControl IAddrExclusionControl;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeByte_FWD_DEFINED__")
cpp_quote("#define __IPipeByte_FWD_DEFINED__")
cpp_quote("typedef struct IPipeByte IPipeByte;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeByte_FWD_DEFINED__")
cpp_quote("#define __AsyncIPipeByte_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIPipeByte AsyncIPipeByte;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeLong_FWD_DEFINED__")
cpp_quote("#define __IPipeLong_FWD_DEFINED__")
cpp_quote("typedef struct IPipeLong IPipeLong;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeLong_FWD_DEFINED__")
cpp_quote("#define __AsyncIPipeLong_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIPipeLong AsyncIPipeLong;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeDouble_FWD_DEFINED__")
cpp_quote("#define __IPipeDouble_FWD_DEFINED__")
cpp_quote("typedef struct IPipeDouble IPipeDouble;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeDouble_FWD_DEFINED__")
cpp_quote("#define __AsyncIPipeDouble_FWD_DEFINED__")
cpp_quote("typedef struct AsyncIPipeDouble AsyncIPipeDouble;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IThumbnailExtractor_FWD_DEFINED__")
cpp_quote("#define __IThumbnailExtractor_FWD_DEFINED__")
cpp_quote("typedef struct IThumbnailExtractor IThumbnailExtractor;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IDummyHICONIncluder_FWD_DEFINED__")
cpp_quote("#define __IDummyHICONIncluder_FWD_DEFINED__")
cpp_quote("typedef struct IDummyHICONIncluder IDummyHICONIncluder;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IEnumContextProps_FWD_DEFINED__")
cpp_quote("#define __IEnumContextProps_FWD_DEFINED__")
cpp_quote("typedef struct IEnumContextProps IEnumContextProps;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IContext_FWD_DEFINED__")
cpp_quote("#define __IContext_FWD_DEFINED__")
cpp_quote("typedef struct IContext IContext;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IObjContext_FWD_DEFINED__")
cpp_quote("#define __IObjContext_FWD_DEFINED__")
cpp_quote("typedef struct IObjContext IObjContext;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IProcessLock_FWD_DEFINED__")
cpp_quote("#define __IProcessLock_FWD_DEFINED__")
cpp_quote("typedef struct IProcessLock IProcessLock;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISurrogateService_FWD_DEFINED__")
cpp_quote("#define __ISurrogateService_FWD_DEFINED__")
cpp_quote("typedef struct ISurrogateService ISurrogateService;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IComThreadingInfo_FWD_DEFINED__")
cpp_quote("#define __IComThreadingInfo_FWD_DEFINED__")
cpp_quote("typedef struct IComThreadingInfo IComThreadingInfo;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IProcessInitControl_FWD_DEFINED__")
cpp_quote("#define __IProcessInitControl_FWD_DEFINED__")
cpp_quote("typedef struct IProcessInitControl IProcessInitControl;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IInitializeSpy_FWD_DEFINED__")
cpp_quote("#define __IInitializeSpy_FWD_DEFINED__")
cpp_quote("typedef struct IInitializeSpy IInitializeSpy;")
cpp_quote("#endif")

typedef struct _COSERVERINFO {
    DWORD dwReserved1;
    LPWSTR pwszName;
    COAUTHINFO *pAuthInfo;
    DWORD dwReserved2;
} COSERVERINFO;

cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IMarshal_INTERFACE_DEFINED__")
cpp_quote("#define __IMarshal_INTERFACE_DEFINED__")
cpp_quote("  typedef IMarshal *LPMARSHAL;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IMarshal;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMarshal : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetUnmarshalClass(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetMarshalSizeMax(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) = 0;")
cpp_quote("    virtual HRESULT WINAPI MarshalInterface(IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) = 0;")
cpp_quote("    virtual HRESULT WINAPI UnmarshalInterface(IStream *pStm,REFIID riid,void **ppv) = 0;")
cpp_quote("    virtual HRESULT WINAPI ReleaseMarshalData(IStream *pStm) = 0;")
cpp_quote("    virtual HRESULT WINAPI DisconnectObject(DWORD dwReserved) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMarshalVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMarshal *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMarshal *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMarshal *This);")
cpp_quote("      HRESULT (WINAPI *GetUnmarshalClass)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);")
cpp_quote("      HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);")
cpp_quote("      HRESULT (WINAPI *MarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);")
cpp_quote("      HRESULT (WINAPI *UnmarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);")
cpp_quote("      HRESULT (WINAPI *ReleaseMarshalData)(IMarshal *This,IStream *pStm);")
cpp_quote("      HRESULT (WINAPI *DisconnectObject)(IMarshal *This,DWORD dwReserved);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMarshalVtbl;")
cpp_quote("  struct IMarshal {")
cpp_quote("    CONST_VTBL struct IMarshalVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMarshal_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)")
cpp_quote("#define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)")
cpp_quote("#define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)")
cpp_quote("#define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)")
cpp_quote("#define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)")
cpp_quote("#define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IMarshal_GetUnmarshalClass_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);")
cpp_quote("  void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IMarshal_GetMarshalSizeMax_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);")
cpp_quote("  void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IMarshal_MarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);")
cpp_quote("  void __RPC_STUB IMarshal_MarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IMarshal_UnmarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);")
cpp_quote("  void __RPC_STUB IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IMarshal_ReleaseMarshalData_Proxy(IMarshal *This,IStream *pStm);")
cpp_quote("  void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IMarshal_DisconnectObject_Proxy(IMarshal *This,DWORD dwReserved);")
cpp_quote("  void __RPC_STUB IMarshal_DisconnectObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMarshal2_INTERFACE_DEFINED__")
cpp_quote("#define __IMarshal2_INTERFACE_DEFINED__")
cpp_quote("  typedef IMarshal2 *LPMARSHAL2;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IMarshal2;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMarshal2 : public IMarshal {")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMarshal2Vtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMarshal2 *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMarshal2 *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMarshal2 *This);")
cpp_quote("      HRESULT (WINAPI *GetUnmarshalClass)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);")
cpp_quote("      HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);")
cpp_quote("      HRESULT (WINAPI *MarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);")
cpp_quote("      HRESULT (WINAPI *UnmarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void **ppv);")
cpp_quote("      HRESULT (WINAPI *ReleaseMarshalData)(IMarshal2 *This,IStream *pStm);")
cpp_quote("      HRESULT (WINAPI *DisconnectObject)(IMarshal2 *This,DWORD dwReserved);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMarshal2Vtbl;")
cpp_quote("  struct IMarshal2 {")
cpp_quote("    CONST_VTBL struct IMarshal2Vtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMarshal2_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)")
cpp_quote("#define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)")
cpp_quote("#define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)")
cpp_quote("#define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)")
cpp_quote("#define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)")
cpp_quote("#define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMalloc_INTERFACE_DEFINED__")
cpp_quote("#define __IMalloc_INTERFACE_DEFINED__")
cpp_quote("  typedef IMalloc *LPMALLOC;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IMalloc;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMalloc : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual void *WINAPI Alloc(SIZE_T cb) = 0;")
cpp_quote("    virtual void *WINAPI Realloc(void *pv,SIZE_T cb) = 0;")
cpp_quote("    virtual void WINAPI Free(void *pv) = 0;")
cpp_quote("    virtual SIZE_T WINAPI GetSize(void *pv) = 0;")
cpp_quote("    virtual int WINAPI DidAlloc(void *pv) = 0;")
cpp_quote("    virtual void WINAPI HeapMinimize(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMallocVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMalloc *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMalloc *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMalloc *This);")
cpp_quote("      void *(WINAPI *Alloc)(IMalloc *This,SIZE_T cb);")
cpp_quote("      void *(WINAPI *Realloc)(IMalloc *This,void *pv,SIZE_T cb);")
cpp_quote("      void (WINAPI *Free)(IMalloc *This,void *pv);")
cpp_quote("      SIZE_T (WINAPI *GetSize)(IMalloc *This,void *pv);")
cpp_quote("      int (WINAPI *DidAlloc)(IMalloc *This,void *pv);")
cpp_quote("      void (WINAPI *HeapMinimize)(IMalloc *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMallocVtbl;")
cpp_quote("  struct IMalloc {")
cpp_quote("    CONST_VTBL struct IMallocVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMalloc_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)")
cpp_quote("#define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)")
cpp_quote("#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)")
cpp_quote("#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)")
cpp_quote("#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)")
cpp_quote("#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  void *WINAPI IMalloc_Alloc_Proxy(IMalloc *This,SIZE_T cb);")
cpp_quote("  void __RPC_STUB IMalloc_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMalloc_Realloc_Proxy(IMalloc *This,void *pv,SIZE_T cb);")
cpp_quote("  void __RPC_STUB IMalloc_Realloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IMalloc_Free_Proxy(IMalloc *This,void *pv);")
cpp_quote("  void __RPC_STUB IMalloc_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  SIZE_T WINAPI IMalloc_GetSize_Proxy(IMalloc *This,void *pv);")
cpp_quote("  void __RPC_STUB IMalloc_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  int WINAPI IMalloc_DidAlloc_Proxy(IMalloc *This,void *pv);")
cpp_quote("  void __RPC_STUB IMalloc_DidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IMalloc_HeapMinimize_Proxy(IMalloc *This);")
cpp_quote("  void __RPC_STUB IMalloc_HeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMallocSpy_INTERFACE_DEFINED__")
cpp_quote("#define __IMallocSpy_INTERFACE_DEFINED__")
cpp_quote("  typedef IMallocSpy *LPMALLOCSPY;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IMallocSpy;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMallocSpy : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual SIZE_T WINAPI PreAlloc(SIZE_T cbRequest) = 0;")
cpp_quote("    virtual void *WINAPI PostAlloc(void *pActual) = 0;")
cpp_quote("    virtual void *WINAPI PreFree(void *pRequest,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual void WINAPI PostFree(WINBOOL fSpyed) = 0;")
cpp_quote("    virtual SIZE_T WINAPI PreRealloc(void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual void *WINAPI PostRealloc(void *pActual,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual void *WINAPI PreGetSize(void *pRequest,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual SIZE_T WINAPI PostGetSize(SIZE_T cbActual,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual void *WINAPI PreDidAlloc(void *pRequest,WINBOOL fSpyed) = 0;")
cpp_quote("    virtual int WINAPI PostDidAlloc(void *pRequest,WINBOOL fSpyed,int fActual) = 0;")
cpp_quote("    virtual void WINAPI PreHeapMinimize(void) = 0;")
cpp_quote("    virtual void WINAPI PostHeapMinimize(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMallocSpyVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMallocSpy *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMallocSpy *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMallocSpy *This);")
cpp_quote("      SIZE_T (WINAPI *PreAlloc)(IMallocSpy *This,SIZE_T cbRequest);")
cpp_quote("      void *(WINAPI *PostAlloc)(IMallocSpy *This,void *pActual);")
cpp_quote("      void *(WINAPI *PreFree)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("      void (WINAPI *PostFree)(IMallocSpy *This,WINBOOL fSpyed);")
cpp_quote("      SIZE_T (WINAPI *PreRealloc)(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);")
cpp_quote("      void *(WINAPI *PostRealloc)(IMallocSpy *This,void *pActual,WINBOOL fSpyed);")
cpp_quote("      void *(WINAPI *PreGetSize)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("      SIZE_T (WINAPI *PostGetSize)(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);")
cpp_quote("      void *(WINAPI *PreDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("      int (WINAPI *PostDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);")
cpp_quote("      void (WINAPI *PreHeapMinimize)(IMallocSpy *This);")
cpp_quote("      void (WINAPI *PostHeapMinimize)(IMallocSpy *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMallocSpyVtbl;")
cpp_quote("  struct IMallocSpy {")
cpp_quote("    CONST_VTBL struct IMallocSpyVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest)")
cpp_quote("#define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual)")
cpp_quote("#define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed)")
cpp_quote("#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)")
cpp_quote("#define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)")
cpp_quote("#define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed)")
cpp_quote("#define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed)")
cpp_quote("#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)")
cpp_quote("#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)")
cpp_quote("#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)")
cpp_quote("#define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This)")
cpp_quote("#define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  SIZE_T WINAPI IMallocSpy_PreAlloc_Proxy(IMallocSpy *This,SIZE_T cbRequest);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMallocSpy_PostAlloc_Proxy(IMallocSpy *This,void *pActual);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMallocSpy_PreFree_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IMallocSpy_PostFree_Proxy(IMallocSpy *This,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  SIZE_T WINAPI IMallocSpy_PreRealloc_Proxy(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMallocSpy_PostRealloc_Proxy(IMallocSpy *This,void *pActual,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMallocSpy_PreGetSize_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  SIZE_T WINAPI IMallocSpy_PostGetSize_Proxy(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void *WINAPI IMallocSpy_PreDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  int WINAPI IMallocSpy_PostDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy *This);")
cpp_quote("  void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy *This);")
cpp_quote("  void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IStdMarshalInfo_INTERFACE_DEFINED__")
cpp_quote("#define __IStdMarshalInfo_INTERFACE_DEFINED__")
cpp_quote("  typedef IStdMarshalInfo *LPSTDMARSHALINFO;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IStdMarshalInfo;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IStdMarshalInfo : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetClassForHandler(DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IStdMarshalInfoVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IStdMarshalInfo *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IStdMarshalInfo *This);")
cpp_quote("      ULONG (WINAPI *Release)(IStdMarshalInfo *This);")
cpp_quote("      HRESULT (WINAPI *GetClassForHandler)(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IStdMarshalInfoVtbl;")
cpp_quote("  struct IStdMarshalInfo {")
cpp_quote("    CONST_VTBL struct IStdMarshalInfoVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);")
cpp_quote("  void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IExternalConnection_INTERFACE_DEFINED__")
cpp_quote("#define __IExternalConnection_INTERFACE_DEFINED__")
cpp_quote("  typedef IExternalConnection *LPEXTERNALCONNECTION;")
cpp_quote("")
cpp_quote("  typedef enum tagEXTCONN {")
cpp_quote("    EXTCONN_STRONG = 0x1,EXTCONN_WEAK = 0x2,EXTCONN_CALLABLE = 0x4")
cpp_quote("  } EXTCONN;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IExternalConnection;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IExternalConnection : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual DWORD WINAPI AddConnection(DWORD extconn,DWORD reserved) = 0;")
cpp_quote("    virtual DWORD WINAPI ReleaseConnection(DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IExternalConnectionVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IExternalConnection *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IExternalConnection *This);")
cpp_quote("      ULONG (WINAPI *Release)(IExternalConnection *This);")
cpp_quote("      DWORD (WINAPI *AddConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved);")
cpp_quote("      DWORD (WINAPI *ReleaseConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IExternalConnectionVtbl;")
cpp_quote("  struct IExternalConnection {")
cpp_quote("    CONST_VTBL struct IExternalConnectionVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)")
cpp_quote("#define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  DWORD WINAPI IExternalConnection_AddConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved);")
cpp_quote("  void __RPC_STUB IExternalConnection_AddConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  DWORD WINAPI IExternalConnection_ReleaseConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);")
cpp_quote("  void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  typedef IMultiQI *LPMULTIQI;")
cpp_quote("")
cpp_quote("  typedef struct tagMULTI_QI {")
cpp_quote("    const IID *pIID;")
cpp_quote("    IUnknown *pItf;")
cpp_quote("    HRESULT hr;")
cpp_quote("  } MULTI_QI;")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;")
cpp_quote("#ifndef __IMultiQI_INTERFACE_DEFINED__")
cpp_quote("#define __IMultiQI_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IMultiQI;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMultiQI : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMultiQIVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMultiQI *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMultiQI *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMultiQI *This);")
cpp_quote("      HRESULT (WINAPI *QueryMultipleInterfaces)(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMultiQIVtbl;")
cpp_quote("  struct IMultiQI {")
cpp_quote("    CONST_VTBL struct IMultiQIVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMultiQI_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IMultiQI_QueryMultipleInterfaces_Proxy(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);")
cpp_quote("  void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIMultiQI_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIMultiQI_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIMultiQI;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("")
cpp_quote("  struct AsyncIMultiQI : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Begin_QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_QueryMultipleInterfaces(MULTI_QI *pMQIs) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIMultiQIVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIMultiQI *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIMultiQI *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIMultiQI *This);")
cpp_quote("      HRESULT (WINAPI *Begin_QueryMultipleInterfaces)(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);")
cpp_quote("      HRESULT (WINAPI *Finish_QueryMultipleInterfaces)(AsyncIMultiQI *This,MULTI_QI *pMQIs);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIMultiQIVtbl;")
cpp_quote("  struct AsyncIMultiQI {")
cpp_quote("    CONST_VTBL struct AsyncIMultiQIVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)")
cpp_quote("#define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);")
cpp_quote("  void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,MULTI_QI *pMQIs);")
cpp_quote("  void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IInternalUnknown_INTERFACE_DEFINED__")
cpp_quote("#define __IInternalUnknown_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IInternalUnknown;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IInternalUnknown : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI QueryInternalInterface(REFIID riid,void **ppv) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IInternalUnknownVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IInternalUnknown *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IInternalUnknown *This);")
cpp_quote("      ULONG (WINAPI *Release)(IInternalUnknown *This);")
cpp_quote("      HRESULT (WINAPI *QueryInternalInterface)(IInternalUnknown *This,REFIID riid,void **ppv);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IInternalUnknownVtbl;")
cpp_quote("  struct IInternalUnknown {")
cpp_quote("    CONST_VTBL struct IInternalUnknownVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IInternalUnknown_QueryInternalInterface_Proxy(IInternalUnknown *This,REFIID riid,void **ppv);")
cpp_quote("  void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(00000100-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IEnumUnknown : IUnknown
{
    typedef [unique] IEnumUnknown *LPENUMUNKNOWN;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            [out] IUnknown **rgelt,
            [out] ULONG *pceltFetched);

    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)] IUnknown **rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumUnknown **ppenum);
}

[
    object,
    uuid(0000000e-0000-0000-C000-000000000046),
    pointer_default(unique)
]
interface IBindCtx : IUnknown
{
    typedef [unique] IBindCtx *LPBC;
    typedef [unique] IBindCtx *LPBINDCTX;

    typedef struct tagBIND_OPTS {
        DWORD cbStruct;
        DWORD grfFlags;
        DWORD grfMode;
        DWORD dwTickCountDeadline;
    } BIND_OPTS, *LPBIND_OPTS;

cpp_quote("#if defined(__cplusplus)")
cpp_quote("  typedef struct tagBIND_OPTS2 : tagBIND_OPTS {")
cpp_quote("    DWORD dwTrackFlags;")
cpp_quote("    DWORD dwClassContext;")
cpp_quote("    LCID locale;")
cpp_quote("    COSERVERINFO *pServerInfo;")
cpp_quote("  } BIND_OPTS2, *LPBIND_OPTS2;")
cpp_quote("#else")
    typedef struct tagBIND_OPTS2 {
        DWORD cbStruct;
        DWORD grfFlags;
        DWORD grfMode;
        DWORD dwTickCountDeadline;
        DWORD dwTrackFlags;
        DWORD dwClassContext;
        LCID  locale;
        COSERVERINFO *pServerInfo;
    } BIND_OPTS2, *LPBIND_OPTS2;
cpp_quote("#endif")

cpp_quote("#if defined(__cplusplus)")
cpp_quote("  typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {")
cpp_quote("    HWND hwnd;")
cpp_quote("  } BIND_OPTS3, *LPBIND_OPTS3;")
cpp_quote("#else")
    typedef struct tagBIND_OPTS3 {
        DWORD cbStruct;
        DWORD grfFlags;
        DWORD grfMode;
        DWORD dwTickCountDeadline;
        DWORD dwTrackFlags;
        DWORD dwClassContext;
        LCID  locale;
        COSERVERINFO *pServerInfo;
        HWND  hwnd;
    } BIND_OPTS3, *LPBIND_OPTS3;
cpp_quote("#endif")

    typedef enum tagBIND_FLAGS {
        BIND_MAYBOTHERUSER = 1,
        BIND_JUSTTESTEXISTENCE = 2
    } BIND_FLAGS;

    HRESULT RegisterObjectBound([in, unique] IUnknown *punk);
    HRESULT RevokeObjectBound([in, unique] IUnknown *punk);
    HRESULT ReleaseBoundObjects();

    [local]
    HRESULT SetBindOptions([in] BIND_OPTS *pbindopts);
    [call_as(SetBindOptions)]
    HRESULT RemoteSetBindOptions([in] BIND_OPTS2 *pbindopts);

    [local]
    HRESULT GetBindOptions([in, out] BIND_OPTS *pbindopts);
    [call_as(GetBindOptions)]
    HRESULT RemoteGetBindOptions([in, out] BIND_OPTS2 *pbindopts);

    HRESULT GetRunningObjectTable([out] IRunningObjectTable **pprot);

    HRESULT RegisterObjectParam(
            [in] LPOLESTR pszKey,
            [in, unique] IUnknown *punk);

    HRESULT GetObjectParam(
            [in] LPOLESTR pszKey,
            [out] IUnknown **ppunk);

    HRESULT EnumObjectParam([out] IEnumString **ppenum);
    HRESULT RevokeObjectParam([in] LPOLESTR pszKey);
}

[
    object,
    uuid(00000102-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IEnumMoniker : IUnknown
{
    typedef [unique] IEnumMoniker *LPENUMMONIKER;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            IMoniker **rgelt,
            ULONG *pceltFetched);
    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)]
            IMoniker **rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumMoniker **ppenum);
}

cpp_quote("#ifndef __IRunnableObject_INTERFACE_DEFINED__")
cpp_quote("#define __IRunnableObject_INTERFACE_DEFINED__")
cpp_quote("  typedef IRunnableObject *LPRUNNABLEOBJECT;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IRunnableObject;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRunnableObject : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetRunningClass(LPCLSID lpClsid) = 0;")
cpp_quote("    virtual HRESULT WINAPI Run(LPBINDCTX pbc) = 0;")
cpp_quote("    virtual WINBOOL WINAPI IsRunning(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI LockRunning(WINBOOL fLock,WINBOOL fLastUnlockCloses) = 0;")
cpp_quote("    virtual HRESULT WINAPI SetContainedObject(WINBOOL fContained) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRunnableObjectVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRunnableObject *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRunnableObject *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRunnableObject *This);")
cpp_quote("      HRESULT (WINAPI *GetRunningClass)(IRunnableObject *This,LPCLSID lpClsid);")
cpp_quote("      HRESULT (WINAPI *Run)(IRunnableObject *This,LPBINDCTX pbc);")
cpp_quote("      WINBOOL (WINAPI *IsRunning)(IRunnableObject *This);")
cpp_quote("      HRESULT (WINAPI *LockRunning)(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);")
cpp_quote("      HRESULT (WINAPI *SetContainedObject)(IRunnableObject *This,WINBOOL fContained);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRunnableObjectVtbl;")
cpp_quote("  struct IRunnableObject {")
cpp_quote("    CONST_VTBL struct IRunnableObjectVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)")
cpp_quote("#define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)")
cpp_quote("#define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)")
cpp_quote("#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)")
cpp_quote("#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRunnableObject_GetRunningClass_Proxy(IRunnableObject *This,LPCLSID lpClsid);")
cpp_quote("  void __RPC_STUB IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRunnableObject_Run_Proxy(IRunnableObject *This,LPBINDCTX pbc);")
cpp_quote("  void __RPC_STUB IRunnableObject_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRunnableObject_RemoteIsRunning_Proxy(IRunnableObject *This);")
cpp_quote("  void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRunnableObject_LockRunning_Proxy(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);")
cpp_quote("  void __RPC_STUB IRunnableObject_LockRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRunnableObject_SetContainedObject_Proxy(IRunnableObject *This,WINBOOL fContained);")
cpp_quote("  void __RPC_STUB IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(00000010-0000-0000-C000-000000000046)
]
interface IRunningObjectTable : IUnknown
{
    typedef [unique] IRunningObjectTable *LPRUNNINGOBJECTTABLE;

    HRESULT Register(
            [in] DWORD grfFlags,
            [in, unique] IUnknown *punkObject,
            [in, unique] IMoniker *pmkObjectName,
            [out] DWORD *pdwRegister);

    HRESULT Revoke([in] DWORD dwRegister);
    HRESULT IsRunning([in, unique] IMoniker *pmkObjectName);

    HRESULT GetObject(
            [in, unique] IMoniker *pmkObjectName,
            [out] IUnknown **ppunkObject);

    HRESULT NoteChangeTime(
            [in] DWORD dwRegister,
            [in] FILETIME *pfiletime);

    HRESULT GetTimeOfLastChange(
            [in, unique] IMoniker *pmkObjectName,
            [out] FILETIME *pfiletime);

    HRESULT EnumRunning([out] IEnumMoniker **ppenumMoniker);
}

[
    object,
    uuid(0000010c-0000-0000-C000-000000000046)
]
interface IPersist : IUnknown {
    typedef [unique] IPersist *LPPERSIST;

    HRESULT GetClassID([out] CLSID *pClassID);
}

[
    object,
    uuid(00000109-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IPersistStream : IPersist
{
    typedef [unique] IPersistStream *LPPERSISTSTREAM;

    HRESULT IsDirty();
    HRESULT Load([in, unique] IStream *pStm);

    HRESULT Save(
            [in, unique] IStream *pStm,
            [in] BOOL fClearDirty);

    HRESULT GetSizeMax([out] ULARGE_INTEGER *pcbSize);
}

[
    object,
    uuid(0000000f-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IMoniker : IPersistStream
{
    typedef [unique] IMoniker *LPMONIKER;

    typedef enum tagMKSYS {
        MKSYS_NONE = 0,
        MKSYS_GENERICCOMPOSITE = 1,
        MKSYS_FILEMONIKER = 2,
        MKSYS_ANTIMONIKER = 3,
        MKSYS_ITEMMONIKER = 4,
        MKSYS_POINTERMONIKER = 5,
        MKSYS_CLASSMONIKER = 7,
        MKSYS_OBJREFMONIKER = 8,
        MKSYS_SESSIONMONIKER = 9,
        MKSYS_LUAMONIKER = 10
    } MKSYS;

    typedef [v1_enum] enum tagMKREDUCE {
        MKRREDUCE_ONE         = 3<<16,
        MKRREDUCE_TOUSER      = 2<<16,
        MKRREDUCE_THROUGHUSER = 1<<16,
        MKRREDUCE_ALL         = 0
    } MKRREDUCE;

    [local]
    HRESULT BindToObject(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in] REFIID riidResult,
            [out, iid_is(riidResult)] void **ppvResult);
    [call_as(BindToObject)]
    HRESULT RemoteBindToObject(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in] REFIID riidResult,
            [out, iid_is(riidResult)] IUnknown **ppvResult);

    [local]
    HRESULT BindToStorage(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in] REFIID riid,
            [out, iid_is(riid)] void **ppvObj);
    [call_as(BindToStorage)]
    HRESULT RemoteBindToStorage(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in] REFIID riid,
            [out, iid_is(riid)] IUnknown **ppvObj);

    HRESULT Reduce(
            [in, unique] IBindCtx *pbc,
            [in] DWORD dwReduceHowFar,
            [in, out, unique] IMoniker **ppmkToLeft,
            [out] IMoniker **ppmkReduced);

    HRESULT ComposeWith(
            [in, unique] IMoniker *pmkRight,
            [in] BOOL fOnlyIfNotGeneric,
            [out] IMoniker **ppmkComposite);

    HRESULT Enum(
            [in] BOOL fForward,
            [out] IEnumMoniker **ppenumMoniker);

    HRESULT IsEqual([in, unique] IMoniker *pmkOtherMoniker);
    HRESULT Hash([out] DWORD *pdwHash);

    HRESULT IsRunning(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in, unique] IMoniker *pmkNewlyRunning);

    HRESULT GetTimeOfLastChange(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [out] FILETIME *pFileTime);

    HRESULT Inverse([out] IMoniker **ppmk);

    HRESULT CommonPrefixWith(
            [in, unique] IMoniker *pmkOther,
            [out] IMoniker **ppmkPrefix);

    HRESULT RelativePathTo(
            [in, unique] IMoniker *pmkOther,
            [out] IMoniker **ppmkRelPath);

    HRESULT GetDisplayName(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [out] LPOLESTR *ppszDisplayName);

    HRESULT ParseDisplayName(
            [in, unique] IBindCtx *pbc,
            [in, unique] IMoniker *pmkToLeft,
            [in] LPOLESTR pszDisplayName,
            [out] ULONG *pchEaten,
            [out] IMoniker **ppmkOut);

    HRESULT IsSystemMoniker([out] DWORD *pdwMksys);
}

cpp_quote("#ifndef __IROTData_INTERFACE_DEFINED__")
cpp_quote("#define __IROTData_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IROTData;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IROTData : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetComparisonData(byte *pbData,ULONG cbMax,ULONG *pcbData) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IROTDataVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IROTData *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IROTData *This);")
cpp_quote("      ULONG (WINAPI *Release)(IROTData *This);")
cpp_quote("      HRESULT (WINAPI *GetComparisonData)(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IROTDataVtbl;")
cpp_quote("  struct IROTData {")
cpp_quote("    CONST_VTBL struct IROTDataVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IROTData_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IROTData_GetComparisonData_Proxy(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);")
cpp_quote("  void __RPC_STUB IROTData_GetComparisonData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(00000101-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IEnumString : IUnknown
{
    typedef [unique] IEnumString *LPENUMSTRING;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            LPOLESTR *rgelt,
            ULONG *pceltFetched);
    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)]
            LPOLESTR *rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumString **ppenum);
}

[
    object,
    uuid(0c733a30-2a1c-11ce-ade5-00aa0044773d),
    pointer_default(unique)
]
interface ISequentialStream : IUnknown
{
    [local]
    HRESULT Read(
            void *pv,
            [in] ULONG cb,
            ULONG *pcbRead);
    [call_as(Read)]
    HRESULT RemoteRead(
            [out, size_is(cb), length_is(*pcbRead)] byte *pv,
            [in] ULONG cb,
            [out] ULONG *pcbRead);

    [local]
    HRESULT Write(
            void const *pv,
            [in] ULONG cb,
            ULONG *pcbWritten);
    [call_as(Write)]
    HRESULT RemoteWrite(
            [in, size_is(cb)] byte const *pv,
            [in] ULONG cb,
            [out] ULONG *pcbWritten);
}

[
    object,
    uuid(0000000c-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IStream : ISequentialStream
{
    typedef [unique] IStream *LPSTREAM;

    typedef struct tagSTATSTG {
        LPOLESTR pwcsName;
        DWORD type;
        ULARGE_INTEGER cbSize;
        FILETIME mtime;
        FILETIME ctime;
        FILETIME atime;
        DWORD grfMode;
        DWORD grfLocksSupported;
        CLSID clsid;
        DWORD grfStateBits;
        DWORD reserved;
    } STATSTG;

    typedef enum tagSTGTY {
        STGTY_STORAGE   = 1,
        STGTY_STREAM    = 2,
        STGTY_LOCKBYTES = 3,
        STGTY_PROPERTY  = 4
    } STGTY;

    typedef enum tagSTREAM_SEEK {
        STREAM_SEEK_SET = 0,
        STREAM_SEEK_CUR = 1,
        STREAM_SEEK_END = 2
    } STREAM_SEEK;

    typedef enum tagLOCKTYPE {
        LOCK_WRITE     = 1,
        LOCK_EXCLUSIVE = 2,
        LOCK_ONLYONCE  = 4
    } LOCKTYPE;

    [local]
    HRESULT Seek(
            [in] LARGE_INTEGER dlibMove,
            [in] DWORD dwOrigin,
            ULARGE_INTEGER *plibNewPosition);
    [call_as(Seek)]
    HRESULT RemoteSeek(
            [in] LARGE_INTEGER dlibMove,
            [in] DWORD dwOrigin,
            [out] ULARGE_INTEGER *plibNewPosition);

    HRESULT SetSize([in] ULARGE_INTEGER libNewSize);

    [local]
    HRESULT CopyTo(
            [in, unique] IStream *pstm,
            [in] ULARGE_INTEGER cb,
            ULARGE_INTEGER *pcbRead,
            ULARGE_INTEGER *pcbWritten);
    [call_as(CopyTo)]
    HRESULT RemoteCopyTo(
            [in, unique] IStream *pstm,
            [in] ULARGE_INTEGER cb,
            [out] ULARGE_INTEGER *pcbRead,
            [out] ULARGE_INTEGER *pcbWritten);

    HRESULT Commit([in] DWORD grfCommitFlags);
    HRESULT Revert();

    HRESULT LockRegion(
            [in] ULARGE_INTEGER libOffset,
            [in] ULARGE_INTEGER cb,
            [in] DWORD dwLockType);

    HRESULT UnlockRegion(
            [in] ULARGE_INTEGER libOffset,
            [in] ULARGE_INTEGER cb,
            [in] DWORD dwLockType);

    HRESULT Stat(
            [out] STATSTG *pstatstg,
            [in] DWORD grfStatFlag);

    HRESULT Clone([out] IStream **ppstm);
}

[
    object,
    uuid(0000000d-0000-0000-C000-000000000046),
    pointer_default(unique)
]
interface IEnumSTATSTG : IUnknown
{
    typedef [unique] IEnumSTATSTG *LPENUMSTATSTG;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)] STATSTG *rgelt,
            [out] ULONG *pceltFetched);
    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)] STATSTG *rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumSTATSTG **ppenum);
}

[
    object,
    uuid(0000000b-0000-0000-C000-000000000046),
    pointer_default(unique)
]
interface IStorage : IUnknown
{
    typedef [unique] IStorage *LPSTORAGE;

    typedef struct tagRemSNB {
        ULONG ulCntStr;
        ULONG ulCntChar;
        [size_is(ulCntChar)] OLECHAR rgString[];
    } RemSNB;

    typedef [unique] RemSNB *wireSNB;
    typedef [wire_marshal(wireSNB)] OLECHAR **SNB;

    HRESULT CreateStream(
            [in] LPCOLESTR pwcsName,
            [in] DWORD grfMode,
            [in] DWORD reserved1,
            [in] DWORD reserved2,
            [out] IStream **ppstm);

    [local]
    HRESULT OpenStream(
            [in] LPCOLESTR pwcsName,
            [in, unique] void *reserved1,
            [in] DWORD grfMode,
            [in] DWORD reserved2,
            [out] IStream **ppstm);
    [call_as(OpenStream)]
    HRESULT RemoteOpenStream(
            [in] LPCOLESTR pwcsName,
            [in] ULONG cbReserved1,
            [in, unique, size_is(cbReserved1)] byte *reserved1,
            [in] DWORD grfMode,
            [in] DWORD reserved2,
            [out] IStream **ppstm);

    HRESULT CreateStorage(
            [in] LPCOLESTR pwcsName,
            [in] DWORD grfMode,
            [in] DWORD dwStgFmt,
            [in] DWORD reserved2,
            [out] IStorage **ppstg);

    HRESULT OpenStorage(
            [in, unique] LPCOLESTR pwcsName,
            [in, unique] IStorage *pstgPriority,
            [in] DWORD grfMode,
            [in, unique] SNB snbExclude,
            [in] DWORD reserved,
            [out] IStorage **ppstg);

    HRESULT CopyTo(
            [in] DWORD ciidExclude,
            [in, unique, size_is(ciidExclude)] const IID *rgiidExclude,
            [in, unique] SNB snbExclude,
            [in, unique] IStorage *pstgDest);

    HRESULT MoveElementTo(
            [in] LPCOLESTR pwcsName,
            [in, unique] IStorage *pstgDest,
            [in] LPCOLESTR pwcsNewName,
            [in] DWORD grfFlags);

    HRESULT Commit([in] DWORD grfCommitFlags);
    HRESULT Revert();

    [local]
    HRESULT EnumElements(
            [in] DWORD reserved1,
            [in, unique, size_is(1)] void *reserved2,
            [in] DWORD reserved3,
            [out] IEnumSTATSTG **ppenum);
    [call_as(EnumElements)]
    HRESULT RemoteEnumElements(
            [in] DWORD reserved1,
            [in] ULONG cbReserved2,
            [in, unique, size_is(cbReserved2)] byte *reserved2,
            [in] DWORD reserved3,
            [out] IEnumSTATSTG **ppenum);

    HRESULT DestroyElement(
            [in] LPCOLESTR pwcsName);

    HRESULT RenameElement(
            [in] LPCOLESTR pwcsOldName,
            [in] LPCOLESTR pwcsNewName);

    HRESULT SetElementTimes(
            [in, unique] LPCOLESTR pwcsName,
            [in, unique] const FILETIME *pctime,
            [in, unique] const FILETIME *patime,
            [in, unique] const FILETIME *pmtime);

    HRESULT SetClass(
            [in] REFCLSID clsid);

    HRESULT SetStateBits(
            [in] DWORD grfStateBits,
            [in] DWORD grfMask);

    HRESULT Stat(
            [out] STATSTG *pstatstg,
            [in] DWORD grfStatFlag);
}

cpp_quote("#ifndef __IPersistFile_INTERFACE_DEFINED__")
cpp_quote("#define __IPersistFile_INTERFACE_DEFINED__")
cpp_quote("  typedef IPersistFile *LPPERSISTFILE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IPersistFile;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPersistFile : public IPersist {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI IsDirty(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,DWORD dwMode) = 0;")
cpp_quote("    virtual HRESULT WINAPI Save(LPCOLESTR pszFileName,WINBOOL fRemember) = 0;")
cpp_quote("    virtual HRESULT WINAPI SaveCompleted(LPCOLESTR pszFileName) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPersistFileVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPersistFile *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPersistFile *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPersistFile *This);")
cpp_quote("      HRESULT (WINAPI *GetClassID)(IPersistFile *This,CLSID *pClassID);")
cpp_quote("      HRESULT (WINAPI *IsDirty)(IPersistFile *This);")
cpp_quote("      HRESULT (WINAPI *Load)(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);")
cpp_quote("      HRESULT (WINAPI *Save)(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);")
cpp_quote("      HRESULT (WINAPI *SaveCompleted)(IPersistFile *This,LPCOLESTR pszFileName);")
cpp_quote("      HRESULT (WINAPI *GetCurFile)(IPersistFile *This,LPOLESTR *ppszFileName);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPersistFileVtbl;")
cpp_quote("  struct IPersistFile {")
cpp_quote("    CONST_VTBL struct IPersistFileVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPersistFile_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)")
cpp_quote("#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)")
cpp_quote("#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)")
cpp_quote("#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)")
cpp_quote("#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)")
cpp_quote("#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPersistFile_IsDirty_Proxy(IPersistFile *This);")
cpp_quote("  void __RPC_STUB IPersistFile_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistFile_Load_Proxy(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);")
cpp_quote("  void __RPC_STUB IPersistFile_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistFile_Save_Proxy(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);")
cpp_quote("  void __RPC_STUB IPersistFile_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistFile_SaveCompleted_Proxy(IPersistFile *This,LPCOLESTR pszFileName);")
cpp_quote("  void __RPC_STUB IPersistFile_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistFile_GetCurFile_Proxy(IPersistFile *This,LPOLESTR *ppszFileName);")
cpp_quote("  void __RPC_STUB IPersistFile_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPersistStorage_INTERFACE_DEFINED__")
cpp_quote("#define __IPersistStorage_INTERFACE_DEFINED__")
cpp_quote("  typedef IPersistStorage *LPPERSISTSTORAGE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IPersistStorage;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPersistStorage : public IPersist {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI IsDirty(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI InitNew(IStorage *pStg) = 0;")
cpp_quote("    virtual HRESULT WINAPI Load(IStorage *pStg) = 0;")
cpp_quote("    virtual HRESULT WINAPI Save(IStorage *pStgSave,WINBOOL fSameAsLoad) = 0;")
cpp_quote("    virtual HRESULT WINAPI SaveCompleted(IStorage *pStgNew) = 0;")
cpp_quote("    virtual HRESULT WINAPI HandsOffStorage(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPersistStorageVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPersistStorage *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPersistStorage *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPersistStorage *This);")
cpp_quote("      HRESULT (WINAPI *GetClassID)(IPersistStorage *This,CLSID *pClassID);")
cpp_quote("      HRESULT (WINAPI *IsDirty)(IPersistStorage *This);")
cpp_quote("      HRESULT (WINAPI *InitNew)(IPersistStorage *This,IStorage *pStg);")
cpp_quote("      HRESULT (WINAPI *Load)(IPersistStorage *This,IStorage *pStg);")
cpp_quote("      HRESULT (WINAPI *Save)(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);")
cpp_quote("      HRESULT (WINAPI *SaveCompleted)(IPersistStorage *This,IStorage *pStgNew);")
cpp_quote("      HRESULT (WINAPI *HandsOffStorage)(IPersistStorage *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPersistStorageVtbl;")
cpp_quote("  struct IPersistStorage {")
cpp_quote("    CONST_VTBL struct IPersistStorageVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)")
cpp_quote("#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)")
cpp_quote("#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)")
cpp_quote("#define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)")
cpp_quote("#define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)")
cpp_quote("#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)")
cpp_quote("#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPersistStorage_IsDirty_Proxy(IPersistStorage *This);")
cpp_quote("  void __RPC_STUB IPersistStorage_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistStorage_InitNew_Proxy(IPersistStorage *This,IStorage *pStg);")
cpp_quote("  void __RPC_STUB IPersistStorage_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistStorage_Load_Proxy(IPersistStorage *This,IStorage *pStg);")
cpp_quote("  void __RPC_STUB IPersistStorage_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistStorage_Save_Proxy(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);")
cpp_quote("  void __RPC_STUB IPersistStorage_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistStorage_SaveCompleted_Proxy(IPersistStorage *This,IStorage *pStgNew);")
cpp_quote("  void __RPC_STUB IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPersistStorage_HandsOffStorage_Proxy(IPersistStorage *This);")
cpp_quote("  void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ILockBytes_INTERFACE_DEFINED__")
cpp_quote("#define __ILockBytes_INTERFACE_DEFINED__")
cpp_quote("  typedef ILockBytes *LPLOCKBYTES;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_ILockBytes;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ILockBytes : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI ReadAt(ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) = 0;")
cpp_quote("    virtual HRESULT WINAPI WriteAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;")
cpp_quote("    virtual HRESULT WINAPI Flush(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI SetSize(ULARGE_INTEGER cb) = 0;")
cpp_quote("    virtual HRESULT WINAPI LockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;")
cpp_quote("    virtual HRESULT WINAPI UnlockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;")
cpp_quote("    virtual HRESULT WINAPI Stat(STATSTG *pstatstg,DWORD grfStatFlag) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ILockBytesVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ILockBytes *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ILockBytes *This);")
cpp_quote("      ULONG (WINAPI *Release)(ILockBytes *This);")
cpp_quote("      HRESULT (WINAPI *ReadAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);")
cpp_quote("      HRESULT (WINAPI *WriteAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("      HRESULT (WINAPI *Flush)(ILockBytes *This);")
cpp_quote("      HRESULT (WINAPI *SetSize)(ILockBytes *This,ULARGE_INTEGER cb);")
cpp_quote("      HRESULT (WINAPI *LockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);")
cpp_quote("      HRESULT (WINAPI *UnlockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);")
cpp_quote("      HRESULT (WINAPI *Stat)(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ILockBytesVtbl;")
cpp_quote("  struct ILockBytes {")
cpp_quote("    CONST_VTBL struct ILockBytesVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ILockBytes_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)")
cpp_quote("#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)")
cpp_quote("#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)")
cpp_quote("#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)")
cpp_quote("#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)")
cpp_quote("#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)")
cpp_quote("#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ILockBytes_RemoteReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);")
cpp_quote("  void __RPC_STUB ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_RemoteWriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_Flush_Proxy(ILockBytes *This);")
cpp_quote("  void __RPC_STUB ILockBytes_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_SetSize_Proxy(ILockBytes *This,ULARGE_INTEGER cb);")
cpp_quote("  void __RPC_STUB ILockBytes_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_LockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);")
cpp_quote("  void __RPC_STUB ILockBytes_LockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_UnlockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);")
cpp_quote("  void __RPC_STUB ILockBytes_UnlockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILockBytes_Stat_Proxy(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);")
cpp_quote("  void __RPC_STUB ILockBytes_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(00000103-0000-0000-C000-000000000046),
    pointer_default(unique)
]
interface IEnumFORMATETC : IUnknown
{
    typedef [unique] IEnumFORMATETC *LPENUMFORMATETC;

    typedef struct tagDVTARGETDEVICE {
        DWORD tdSize;
        WORD tdDriverNameOffset;
        WORD tdDeviceNameOffset;
        WORD tdPortNameOffset;
        WORD tdExtDevmodeOffset;
        [size_is(tdSize - sizeof(DWORD) - 4*sizeof(WORD))] BYTE tdData[];
    } DVTARGETDEVICE;

    typedef CLIPFORMAT *LPCLIPFORMAT;

    typedef struct tagFORMATETC {
        CLIPFORMAT cfFormat;
        [unique] DVTARGETDEVICE *ptd;
        DWORD dwAspect;
        LONG lindex;
        DWORD tymed;
    } FORMATETC, *LPFORMATETC;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)]
            FORMATETC *rgelt,
            [out] ULONG *pceltFetched);
    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)]
            FORMATETC *rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumFORMATETC **ppenum);
}

[
    object,
    uuid(00000105-0000-0000-c000-000000000046),
    pointer_default(unique)
]
interface IEnumSTATDATA : IUnknown
{
    typedef [unique] IEnumSTATDATA *LPENUMSTATDATA;

    typedef enum tagADVF {
        ADVF_NODATA = 1,
        ADVF_PRIMEFIRST = 2,
        ADVF_ONLYONCE = 4,
        ADVF_DATAONSTOP = 64,
        ADVFCACHE_NOHANDLER = 8,
        ADVFCACHE_FORCEBUILTIN = 16,
        ADVFCACHE_ONSAVE = 32
    } ADVF;

    typedef struct tagSTATDATA {
        FORMATETC formatetc;
        DWORD advf;
        [unique] IAdviseSink *pAdvSink;
        DWORD dwConnection;
    } STATDATA;

    typedef STATDATA *LPSTATDATA;

    [local]
    HRESULT Next(
            [in] ULONG celt,
            STATDATA *rgelt,
            ULONG *pceltFetched);
    [call_as(Next)]
    HRESULT RemoteNext(
            [in] ULONG celt,
            [out, size_is(celt), length_is(*pceltFetched)] STATDATA *rgelt,
            [out] ULONG *pceltFetched);

    HRESULT Skip([in] ULONG celt);
    HRESULT Reset();
    HRESULT Clone([out] IEnumSTATDATA **ppenum);
}

cpp_quote("#ifndef __IRootStorage_INTERFACE_DEFINED__")
cpp_quote("#define __IRootStorage_INTERFACE_DEFINED__")
cpp_quote("  typedef IRootStorage *LPROOTSTORAGE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IRootStorage;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRootStorage : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI SwitchToFile(LPOLESTR pszFile) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRootStorageVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRootStorage *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRootStorage *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRootStorage *This);")
cpp_quote("      HRESULT (WINAPI *SwitchToFile)(IRootStorage *This,LPOLESTR pszFile);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRootStorageVtbl;")
cpp_quote("  struct IRootStorage {")
cpp_quote("    CONST_VTBL struct IRootStorageVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRootStorage_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRootStorage_SwitchToFile_Proxy(IRootStorage *This,LPOLESTR pszFile);")
cpp_quote("  void __RPC_STUB IRootStorage_SwitchToFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(0000010f-0000-0000-C000-000000000046),
    /* FIXME: not yet supported by widl: async_uuid(00000150-0000-0000-C000-000000000046), */
    pointer_default(unique)
]
interface IAdviseSink : IUnknown
{
    typedef IAdviseSink *LPADVISESINK;

    typedef [v1_enum] enum tagTYMED {
        TYMED_HGLOBAL = 1,
        TYMED_FILE = 2,
        TYMED_ISTREAM = 4,
        TYMED_ISTORAGE = 8,
        TYMED_GDI = 16,
        TYMED_MFPICT = 32,
        TYMED_ENHMF = 64,
        TYMED_NULL = 0
    } TYMED;

    typedef struct tagRemSTGMEDIUM {
        DWORD tymed;
        DWORD dwHandleType;
        ULONG pData;
        ULONG pUnkForRelease;
        ULONG cbData;
        [size_is(cbData)] byte data[];
    } RemSTGMEDIUM;

/* FIXME: Remove #if 0 */
cpp_quote("#if 0")
    typedef struct tagSTGMEDIUM {
        DWORD tymed;
        [switch_is(tymed)] union {
            [case(TYMED_GDI)]      HBITMAP hBitmap;
            [case(TYMED_MFPICT)]   HMETAFILEPICT hMetaFilePict;
            [case(TYMED_ENHMF)]    HENHMETAFILE hEnhMetaFile;
            [case(TYMED_HGLOBAL)]  HGLOBAL hGlobal;
            [case(TYMED_FILE)]     LPOLESTR lpszFileName;
            [case(TYMED_ISTREAM)]  IStream *pstm;
            [case(TYMED_ISTORAGE)] IStorage *pstg;
            [default]              ;
        } DUMMYUNIONNAME;
        [unique] IUnknown *pUnkForRelease;
    } uSTGMEDIUM;
cpp_quote("#else")
cpp_quote("  typedef struct tagSTGMEDIUM {")
cpp_quote("    DWORD tymed;")
cpp_quote("    __C89_NAMELESS union {")
cpp_quote("      HBITMAP hBitmap;")
cpp_quote("      HMETAFILEPICT hMetaFilePict;")
cpp_quote("      HENHMETAFILE hEnhMetaFile;")
cpp_quote("      HGLOBAL hGlobal;")
cpp_quote("      LPOLESTR lpszFileName;")
cpp_quote("      IStream *pstm;")
cpp_quote("      IStorage *pstg;")
cpp_quote("    } DUMMYUNIONNAME;")
cpp_quote("    IUnknown *pUnkForRelease;")
cpp_quote("  } uSTGMEDIUM;")
cpp_quote("#endif")

#define OBJ_PAL     5
#define OBJ_BITMAP  7

    typedef union _GDI_OBJECT switch(DWORD ObjectType) u {
        case OBJ_BITMAP: wireHBITMAP  hBitmap;
        case OBJ_PAL:    wireHPALETTE hPalette;
        default:         wireHGLOBAL  hGeneric;
    } GDI_OBJECT;

cpp_quote("#if 0")
    typedef struct _userSTGMEDIUM {
        union _STGMEDIUM_UNION switch(DWORD tymed) u {
            case TYMED_NULL:     ;
            case TYMED_MFPICT:   wireHMETAFILEPICT hMetaFilePict;
            case TYMED_ENHMF:    wireHENHMETAFILE  hHEnhMetaFile;
            case TYMED_GDI:      GDI_OBJECT*       hGdiHandle;
            case TYMED_HGLOBAL:  wireHGLOBAL       hGlobal;
            case TYMED_FILE:     LPOLESTR          lpszFileName;
            case TYMED_ISTREAM:  BYTE_BLOB*        pstm;
            case TYMED_ISTORAGE: BYTE_BLOB*        pstg;
        } DUMMYUNIONNAME;
        IUnknown *              pUnkForRelease;
    } userSTGMEDIUM;
cpp_quote("#else")
cpp_quote("typedef struct _userSTGMEDIUM {")
cpp_quote("    __C89_NAMELESS struct _STGMEDIUM_UNION {")
cpp_quote("        DWORD tymed;")
cpp_quote("        union {")
cpp_quote("            wireHMETAFILEPICT hMetaFilePict;")
cpp_quote("            wireHENHMETAFILE hHEnhMetaFile;")
cpp_quote("            GDI_OBJECT *hGdiHandle;")
cpp_quote("            wireHGLOBAL hGlobal;")
cpp_quote("            LPOLESTR lpszFileName;")
cpp_quote("            BYTE_BLOB *pstm;")
cpp_quote("            BYTE_BLOB *pstg;")
cpp_quote("        } u;")
cpp_quote("    } DUMMYUNIONNAME;")
cpp_quote("    IUnknown *pUnkForRelease;")
cpp_quote("} userSTGMEDIUM;")
cpp_quote("#endif")

    typedef [unique] userSTGMEDIUM *wireSTGMEDIUM;
    typedef [wire_marshal(wireSTGMEDIUM)] uSTGMEDIUM STGMEDIUM;
    typedef [unique] userSTGMEDIUM  *wireASYNC_STGMEDIUM;
    typedef [wire_marshal(wireASYNC_STGMEDIUM)] STGMEDIUM ASYNC_STGMEDIUM;
    typedef STGMEDIUM *LPSTGMEDIUM;

    typedef struct _userFLAG_STGMEDIUM {
        LONG ContextFlags;
        LONG fPassOwnership;
        userSTGMEDIUM Stgmed;
    } userFLAG_STGMEDIUM;

    typedef [unique] userFLAG_STGMEDIUM  *wireFLAG_STGMEDIUM;

    typedef [wire_marshal(wireFLAG_STGMEDIUM)] struct _FLAG_STGMEDIUM {
        LONG ContextFlags;
        LONG fPassOwnership;
        STGMEDIUM Stgmed;
    } FLAG_STGMEDIUM;

    [local]
    void OnDataChange(
            [in, unique] FORMATETC *pFormatetc,
            [in, unique] STGMEDIUM *pStgmed);

    [local]
    void OnViewChange(
            [in] DWORD dwAspect,
            [in] LONG lindex);

    [local] void OnRename([in] IMoniker *pmk);
    [local] void OnSave();
    [local] void OnClose();

    [call_as(OnDataChange)]
    HRESULT  RemoteOnDataChange(
            [in, unique] FORMATETC *pFormatetc,
            [in, unique] ASYNC_STGMEDIUM *pStgmed);

    [call_as(OnViewChange)]
    HRESULT  RemoteOnViewChange(
            [in] DWORD dwAspect,
            [in] LONG lindex);

    [call_as(OnRename)] HRESULT  RemoteOnRename([in] IMoniker *pmk);
    [call_as(OnSave)] HRESULT RemoteOnSave();
    [call_as(OnClose)] HRESULT RemoteOnClose();
}

cpp_quote("#ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIAdviseSink_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIAdviseSink;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct AsyncIAdviseSink : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual void WINAPI Begin_OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnDataChange(void) = 0;")
cpp_quote("    virtual void WINAPI Begin_OnViewChange(DWORD dwAspect,LONG lindex) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnViewChange(void) = 0;")
cpp_quote("    virtual void WINAPI Begin_OnRename(IMoniker *pmk) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnRename(void) = 0;")
cpp_quote("    virtual void WINAPI Begin_OnSave(void) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnSave(void) = 0;")
cpp_quote("    virtual void WINAPI Begin_OnClose(void) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnClose(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIAdviseSinkVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIAdviseSink *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);")
cpp_quote("      void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);")
cpp_quote("      void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Begin_OnRename)(AsyncIAdviseSink *This,IMoniker *pmk);")
cpp_quote("      void (WINAPI *Finish_OnRename)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Begin_OnSave)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Finish_OnSave)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Begin_OnClose)(AsyncIAdviseSink *This);")
cpp_quote("      void (WINAPI *Finish_OnClose)(AsyncIAdviseSink *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIAdviseSinkVtbl;")
cpp_quote("  struct AsyncIAdviseSink {")
cpp_quote("    CONST_VTBL struct AsyncIAdviseSinkVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)")
cpp_quote("#define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)")
cpp_quote("#define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)")
cpp_quote("#define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)")
cpp_quote("#define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)")
cpp_quote("#define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)")
cpp_quote("#define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)")
cpp_quote("#define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)")
cpp_quote("#define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)")
cpp_quote("#define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAdviseSink2_INTERFACE_DEFINED__")
cpp_quote("#define __IAdviseSink2_INTERFACE_DEFINED__")
cpp_quote("  typedef IAdviseSink2 *LPADVISESINK2;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IAdviseSink2;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IAdviseSink2 : public IAdviseSink {")
cpp_quote("  public:")
cpp_quote("    virtual void WINAPI OnLinkSrcChange(IMoniker *pmk) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IAdviseSink2Vtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IAdviseSink2 *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IAdviseSink2 *This);")
cpp_quote("      ULONG (WINAPI *Release)(IAdviseSink2 *This);")
cpp_quote("      void (WINAPI *OnDataChange)(IAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);")
cpp_quote("      void (WINAPI *OnViewChange)(IAdviseSink2 *This,DWORD dwAspect,LONG lindex);")
cpp_quote("      void (WINAPI *OnRename)(IAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("      void (WINAPI *OnSave)(IAdviseSink2 *This);")
cpp_quote("      void (WINAPI *OnClose)(IAdviseSink2 *This);")
cpp_quote("      void (WINAPI *OnLinkSrcChange)(IAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IAdviseSink2Vtbl;")
cpp_quote("  struct IAdviseSink2 {")
cpp_quote("    CONST_VTBL struct IAdviseSink2Vtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)")
cpp_quote("#define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)")
cpp_quote("#define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)")
cpp_quote("#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)")
cpp_quote("#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)")
cpp_quote("#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIAdviseSink2_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIAdviseSink2;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct AsyncIAdviseSink2 : public AsyncIAdviseSink {")
cpp_quote("  public:")
cpp_quote("    virtual void WINAPI Begin_OnLinkSrcChange(IMoniker *pmk) = 0;")
cpp_quote("    virtual void WINAPI Finish_OnLinkSrcChange(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIAdviseSink2Vtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink2 *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIAdviseSink2 *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);")
cpp_quote("      void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink2 *This,DWORD dwAspect,LONG lindex);")
cpp_quote("      void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnRename)(AsyncIAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("      void (WINAPI *Finish_OnRename)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnSave)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Finish_OnSave)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnClose)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Finish_OnClose)(AsyncIAdviseSink2 *This);")
cpp_quote("      void (WINAPI *Begin_OnLinkSrcChange)(AsyncIAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("      void (WINAPI *Finish_OnLinkSrcChange)(AsyncIAdviseSink2 *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIAdviseSink2Vtbl;")
cpp_quote("  struct AsyncIAdviseSink2 {")
cpp_quote("    CONST_VTBL struct AsyncIAdviseSink2Vtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)")
cpp_quote("#define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk)")
cpp_quote("#define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);")
cpp_quote("  void __RPC_STUB AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")

[
    object,
    uuid(0000010e-0000-0000-C000-000000000046),
    pointer_default(unique)
]
interface IDataObject : IUnknown
{
    typedef [unique] IDataObject *LPDATAOBJECT;

    typedef enum tagDATADIR {
        DATADIR_GET = 1,
        DATADIR_SET = 2
    } DATADIR;

    [local]
    HRESULT GetData(
            [in, unique] FORMATETC *pformatetcIn,
            [out] STGMEDIUM *pmedium);
    [call_as(GetData)]
    HRESULT RemoteGetData(
            [in, unique] FORMATETC *pformatetcIn,
            [out] STGMEDIUM *pRemoteMedium);

    [local]
    HRESULT GetDataHere(
            [in, unique] FORMATETC *pformatetc,
            [in, out] STGMEDIUM *pmedium);
    [call_as(GetDataHere)]
    HRESULT RemoteGetDataHere(
            [in, unique] FORMATETC *pformatetc,
            [in, out] STGMEDIUM *pRemoteMedium);

    HRESULT QueryGetData(
            [in, unique] FORMATETC *pformatetc);

    HRESULT GetCanonicalFormatEtc(
            [in, unique] FORMATETC *pformatectIn,
            [out] FORMATETC *pformatetcOut);

    [local]
    HRESULT SetData(
           [in, unique] FORMATETC *pformatetc,
           [in, unique] STGMEDIUM *pmedium,
           [in] BOOL fRelease);
    [call_as(SetData)]
    HRESULT RemoteSetData(
           [in, unique] FORMATETC *pformatetc,
           [in, unique] FLAG_STGMEDIUM *pmedium,
           [in] BOOL fRelease);

    HRESULT EnumFormatEtc(
           [in] DWORD dwDirection,
           [out] IEnumFORMATETC **ppenumFormatEtc);

    HRESULT DAdvise(
          [in] FORMATETC *pformatetc,
          [in] DWORD advf,
          [in, unique] IAdviseSink *pAdvSink,
          [out] DWORD *pdwConnection);

    HRESULT DUnadvise([in] DWORD dwConnection);
    HRESULT EnumDAdvise([out] IEnumSTATDATA **ppenumAdvise);
}

cpp_quote("#ifndef __IDataAdviseHolder_INTERFACE_DEFINED__")
cpp_quote("#define __IDataAdviseHolder_INTERFACE_DEFINED__")
cpp_quote("  typedef IDataAdviseHolder *LPDATAADVISEHOLDER;")
cpp_quote("  EXTERN_C const IID IID_IDataAdviseHolder;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IDataAdviseHolder : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Advise(IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) = 0;")
cpp_quote("    virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;")
cpp_quote("    virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;")
cpp_quote("    virtual HRESULT WINAPI SendOnDataChange(IDataObject *pDataObject,DWORD dwReserved,DWORD advf) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IDataAdviseHolderVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IDataAdviseHolder *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IDataAdviseHolder *This);")
cpp_quote("      ULONG (WINAPI *Release)(IDataAdviseHolder *This);")
cpp_quote("      HRESULT (WINAPI *Advise)(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);")
cpp_quote("      HRESULT (WINAPI *Unadvise)(IDataAdviseHolder *This,DWORD dwConnection);")
cpp_quote("      HRESULT (WINAPI *EnumAdvise)(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);")
cpp_quote("      HRESULT (WINAPI *SendOnDataChange)(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IDataAdviseHolderVtbl;")
cpp_quote("  struct IDataAdviseHolder {")
cpp_quote("    CONST_VTBL struct IDataAdviseHolderVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)")
cpp_quote("#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)")
cpp_quote("#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)")
cpp_quote("#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);")
cpp_quote("  void __RPC_STUB IDataAdviseHolder_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder *This,DWORD dwConnection);")
cpp_quote("  void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);")
cpp_quote("  void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);")
cpp_quote("  void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IMessageFilter_INTERFACE_DEFINED__")
cpp_quote("#define __IMessageFilter_INTERFACE_DEFINED__")
cpp_quote("  typedef IMessageFilter *LPMESSAGEFILTER;")
cpp_quote("")
cpp_quote("  typedef enum tagCALLTYPE {")
cpp_quote("    CALLTYPE_TOPLEVEL = 1,CALLTYPE_NESTED = 2,CALLTYPE_ASYNC = 3,CALLTYPE_TOPLEVEL_CALLPENDING = 4,CALLTYPE_ASYNC_CALLPENDING = 5")
cpp_quote("  } CALLTYPE;")
cpp_quote("")
cpp_quote("  typedef enum tagSERVERCALL {")
cpp_quote("    SERVERCALL_ISHANDLED = 0,SERVERCALL_REJECTED = 1,SERVERCALL_RETRYLATER = 2")
cpp_quote("  } SERVERCALL;")
cpp_quote("")
cpp_quote("  typedef enum tagPENDINGTYPE {")
cpp_quote("    PENDINGTYPE_TOPLEVEL = 1,PENDINGTYPE_NESTED = 2")
cpp_quote("  } PENDINGTYPE;")
cpp_quote("")
cpp_quote("  typedef enum tagPENDINGMSG {")
cpp_quote("    PENDINGMSG_CANCELCALL = 0,PENDINGMSG_WAITNOPROCESS = 1,PENDINGMSG_WAITDEFPROCESS = 2")
cpp_quote("  } PENDINGMSG;")
cpp_quote("")
cpp_quote("  typedef struct tagINTERFACEINFO {")
cpp_quote("    IUnknown *pUnk;")
cpp_quote("    IID iid;")
cpp_quote("    WORD wMethod;")
cpp_quote("  } INTERFACEINFO;")
cpp_quote("")
cpp_quote("  typedef struct tagINTERFACEINFO *LPINTERFACEINFO;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IMessageFilter;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IMessageFilter : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual DWORD WINAPI HandleInComingCall(DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) = 0;")
cpp_quote("    virtual DWORD WINAPI RetryRejectedCall(HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) = 0;")
cpp_quote("    virtual DWORD WINAPI MessagePending(HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IMessageFilterVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IMessageFilter *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IMessageFilter *This);")
cpp_quote("      ULONG (WINAPI *Release)(IMessageFilter *This);")
cpp_quote("      DWORD (WINAPI *HandleInComingCall)(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);")
cpp_quote("      DWORD (WINAPI *RetryRejectedCall)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);")
cpp_quote("      DWORD (WINAPI *MessagePending)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IMessageFilterVtbl;")
cpp_quote("  struct IMessageFilter {")
cpp_quote("    CONST_VTBL struct IMessageFilterVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)")
cpp_quote("#define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)")
cpp_quote("#define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  DWORD WINAPI IMessageFilter_HandleInComingCall_Proxy(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);")
cpp_quote("  void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  DWORD WINAPI IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);")
cpp_quote("  void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  DWORD WINAPI IMessageFilter_MessagePending_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);")
cpp_quote("  void __RPC_STUB IMessageFilter_MessagePending_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer_INTERFACE_DEFINED__")
cpp_quote("  typedef ULONG RPCOLEDATAREP;")
cpp_quote("")
cpp_quote("  typedef struct tagRPCOLEMESSAGE {")
cpp_quote("    void *reserved1;")
cpp_quote("    RPCOLEDATAREP dataRepresentation;")
cpp_quote("    void *Buffer;")
cpp_quote("    ULONG cbBuffer;")
cpp_quote("    ULONG iMethod;")
cpp_quote("    void *reserved2[5 ];")
cpp_quote("    ULONG rpcFlags;")
cpp_quote("  } RPCOLEMESSAGE;")
cpp_quote("")
cpp_quote("  typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IRpcChannelBuffer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcChannelBuffer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetBuffer(RPCOLEMESSAGE *pMessage,REFIID riid) = 0;")
cpp_quote("    virtual HRESULT WINAPI SendReceive(RPCOLEMESSAGE *pMessage,ULONG *pStatus) = 0;")
cpp_quote("    virtual HRESULT WINAPI FreeBuffer(RPCOLEMESSAGE *pMessage) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetDestCtx(DWORD *pdwDestContext,void **ppvDestContext) = 0;")
cpp_quote("    virtual HRESULT WINAPI IsConnected(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcChannelBufferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcChannelBuffer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcChannelBuffer *This);")
cpp_quote("      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);")
cpp_quote("      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);")
cpp_quote("      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);")
cpp_quote("      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcChannelBufferVtbl;")
cpp_quote("  struct IRpcChannelBuffer {")
cpp_quote("    CONST_VTBL struct IRpcChannelBufferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)")
cpp_quote("#define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)")
cpp_quote("#define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)")
cpp_quote("#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)")
cpp_quote("#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer *This);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer2_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcChannelBuffer2;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcChannelBuffer2 : public IRpcChannelBuffer {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetProtocolVersion(DWORD *pdwVersion) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcChannelBuffer2Vtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer2 *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcChannelBuffer2 *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcChannelBuffer2 *This);")
cpp_quote("      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,REFIID riid);")
cpp_quote("      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);")
cpp_quote("      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage);")
cpp_quote("      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer2 *This,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer2 *This);")
cpp_quote("      HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer2 *This,DWORD *pdwVersion);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcChannelBuffer2Vtbl;")
cpp_quote("  struct IRpcChannelBuffer2 {")
cpp_quote("    CONST_VTBL struct IRpcChannelBuffer2Vtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)")
cpp_quote("#define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)")
cpp_quote("#define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)")
cpp_quote("#define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)")
cpp_quote("#define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)")
cpp_quote("#define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer2_GetProtocolVersion_Proxy(IRpcChannelBuffer2 *This,DWORD *pdwVersion);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__")
cpp_quote("#define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IAsyncRpcChannelBuffer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) = 0;")
cpp_quote("    virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IAsyncRpcChannelBufferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IAsyncRpcChannelBuffer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IAsyncRpcChannelBuffer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IAsyncRpcChannelBuffer *This);")
cpp_quote("      HRESULT (WINAPI *GetBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);")
cpp_quote("      HRESULT (WINAPI *SendReceive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);")
cpp_quote("      HRESULT (WINAPI *FreeBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);")
cpp_quote("      HRESULT (WINAPI *GetDestCtx)(IAsyncRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("      HRESULT (WINAPI *IsConnected)(IAsyncRpcChannelBuffer *This);")
cpp_quote("      HRESULT (WINAPI *GetProtocolVersion)(IAsyncRpcChannelBuffer *This,DWORD *pdwVersion);")
cpp_quote("      HRESULT (WINAPI *Send)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);")
cpp_quote("      HRESULT (WINAPI *Receive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);")
cpp_quote("      HRESULT (WINAPI *GetDestCtxEx)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IAsyncRpcChannelBufferVtbl;")
cpp_quote("  struct IAsyncRpcChannelBuffer {")
cpp_quote("    CONST_VTBL struct IAsyncRpcChannelBufferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)")
cpp_quote("#define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)")
cpp_quote("#define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)")
cpp_quote("#define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)")
cpp_quote("#define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)")
cpp_quote("#define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)")
cpp_quote("#define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)")
cpp_quote("#define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)")
cpp_quote("#define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IAsyncRpcChannelBuffer_Send_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);")
cpp_quote("  void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAsyncRpcChannelBuffer_Receive_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);")
cpp_quote("  void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("  void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcChannelBuffer3_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcChannelBuffer3;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcChannelBuffer3 : public IRpcChannelBuffer2 {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;")
cpp_quote("    virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) = 0;")
cpp_quote("    virtual HRESULT WINAPI Cancel(RPCOLEMESSAGE *pMsg) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetCallContext(RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetState(RPCOLEMESSAGE *pMsg,DWORD *pState) = 0;")
cpp_quote("    virtual HRESULT WINAPI RegisterAsync(RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcChannelBuffer3Vtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer3 *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcChannelBuffer3 *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcChannelBuffer3 *This);")
cpp_quote("      HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,REFIID riid);")
cpp_quote("      HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);")
cpp_quote("      HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage);")
cpp_quote("      HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer3 *This,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("      HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer3 *This);")
cpp_quote("      HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer3 *This,DWORD *pdwVersion);")
cpp_quote("      HRESULT (WINAPI *Send)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);")
cpp_quote("      HRESULT (WINAPI *Receive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);")
cpp_quote("      HRESULT (WINAPI *Cancel)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);")
cpp_quote("      HRESULT (WINAPI *GetCallContext)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);")
cpp_quote("      HRESULT (WINAPI *GetDestCtxEx)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("      HRESULT (WINAPI *GetState)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);")
cpp_quote("      HRESULT (WINAPI *RegisterAsync)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcChannelBuffer3Vtbl;")
cpp_quote("  struct IRpcChannelBuffer3 {")
cpp_quote("    CONST_VTBL struct IRpcChannelBuffer3Vtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)")
cpp_quote("#define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)")
cpp_quote("#define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)")
cpp_quote("#define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)")
cpp_quote("#define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)")
cpp_quote("#define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)")
cpp_quote("#define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)")
cpp_quote("#define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)")
cpp_quote("#define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)")
cpp_quote("#define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)")
cpp_quote("#define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)")
cpp_quote("#define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)")
cpp_quote("#define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_Send_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_Receive_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_Cancel_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_GetCallContext_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_GetDestCtxEx_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_GetState_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcChannelBuffer3_RegisterAsync_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);")
cpp_quote("  void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcSyntaxNegotiate;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcSyntaxNegotiate : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI NegotiateSyntax(RPCOLEMESSAGE *pMsg) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcSyntaxNegotiateVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcSyntaxNegotiate *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcSyntaxNegotiate *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcSyntaxNegotiate *This);")
cpp_quote("      HRESULT (WINAPI *NegotiateSyntax)(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcSyntaxNegotiateVtbl;")
cpp_quote("  struct IRpcSyntaxNegotiate {")
cpp_quote("    CONST_VTBL struct IRpcSyntaxNegotiateVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcSyntaxNegotiate_NegotiateSyntax_Proxy(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);")
cpp_quote("  void __RPC_STUB IRpcSyntaxNegotiate_NegotiateSyntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcProxyBuffer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcProxyBuffer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcProxyBuffer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Connect(IRpcChannelBuffer *pRpcChannelBuffer) = 0;")
cpp_quote("    virtual void WINAPI Disconnect(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcProxyBufferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcProxyBuffer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcProxyBuffer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcProxyBuffer *This);")
cpp_quote("      HRESULT (WINAPI *Connect)(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);")
cpp_quote("      void (WINAPI *Disconnect)(IRpcProxyBuffer *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcProxyBufferVtbl;")
cpp_quote("  struct IRpcProxyBuffer {")
cpp_quote("    CONST_VTBL struct IRpcProxyBufferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)")
cpp_quote("#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);")
cpp_quote("  void __RPC_STUB IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer *This);")
cpp_quote("  void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcStubBuffer_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcStubBuffer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcStubBuffer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcStubBuffer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Connect(IUnknown *pUnkServer) = 0;")
cpp_quote("    virtual void WINAPI Disconnect(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI Invoke(RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) = 0;")
cpp_quote("    virtual IRpcStubBuffer *WINAPI IsIIDSupported(REFIID riid) = 0;")
cpp_quote("    virtual ULONG WINAPI CountRefs(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI DebugServerQueryInterface(void **ppv) = 0;")
cpp_quote("    virtual void WINAPI DebugServerRelease(void *pv) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcStubBufferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcStubBuffer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcStubBuffer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcStubBuffer *This);")
cpp_quote("      HRESULT (WINAPI *Connect)(IRpcStubBuffer *This,IUnknown *pUnkServer);")
cpp_quote("      void (WINAPI *Disconnect)(IRpcStubBuffer *This);")
cpp_quote("      HRESULT (WINAPI *Invoke)(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);")
cpp_quote("      IRpcStubBuffer *(WINAPI *IsIIDSupported)(IRpcStubBuffer *This,REFIID riid);")
cpp_quote("      ULONG (WINAPI *CountRefs)(IRpcStubBuffer *This);")
cpp_quote("      HRESULT (WINAPI *DebugServerQueryInterface)(IRpcStubBuffer *This,void **ppv);")
cpp_quote("      void (WINAPI *DebugServerRelease)(IRpcStubBuffer *This,void *pv);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcStubBufferVtbl;")
cpp_quote("  struct IRpcStubBuffer {")
cpp_quote("    CONST_VTBL struct IRpcStubBufferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)")
cpp_quote("#define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)")
cpp_quote("#define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)")
cpp_quote("#define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)")
cpp_quote("#define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)")
cpp_quote("#define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)")
cpp_quote("#define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer *This,IUnknown *pUnkServer);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer *This);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  IRpcStubBuffer *WINAPI IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer *This,REFIID riid);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  ULONG WINAPI IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer *This);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer *This,void **ppv);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer *This,void *pv);")
cpp_quote("  void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__")
cpp_quote("#define __IPSFactoryBuffer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IPSFactoryBuffer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPSFactoryBuffer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI CreateProxy(IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) = 0;")
cpp_quote("    virtual HRESULT WINAPI CreateStub(REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPSFactoryBufferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPSFactoryBuffer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPSFactoryBuffer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPSFactoryBuffer *This);")
cpp_quote("      HRESULT (WINAPI *CreateProxy)(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);")
cpp_quote("      HRESULT (WINAPI *CreateStub)(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPSFactoryBufferVtbl;")
cpp_quote("  struct IPSFactoryBuffer {")
cpp_quote("    CONST_VTBL struct IPSFactoryBufferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)")
cpp_quote("#define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);")
cpp_quote("  void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);")
cpp_quote("  void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  typedef struct SChannelHookCallInfo {")
cpp_quote("    IID iid;")
cpp_quote("    DWORD cbSize;")
cpp_quote("    GUID uCausality;")
cpp_quote("    DWORD dwServerPid;")
cpp_quote("    DWORD iMethod;")
cpp_quote("    void *pObject;")
cpp_quote("  } SChannelHookCallInfo;")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IChannelHook_INTERFACE_DEFINED__")
cpp_quote("#define __IChannelHook_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IChannelHook;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IChannelHook : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual void WINAPI ClientGetSize(REFGUID uExtent,REFIID riid,ULONG *pDataSize) = 0;")
cpp_quote("    virtual void WINAPI ClientFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) = 0;")
cpp_quote("    virtual void WINAPI ClientNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) = 0;")
cpp_quote("    virtual void WINAPI ServerNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) = 0;")
cpp_quote("    virtual void WINAPI ServerGetSize(REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) = 0;")
cpp_quote("    virtual void WINAPI ServerFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IChannelHookVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IChannelHook *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IChannelHook *This);")
cpp_quote("      ULONG (WINAPI *Release)(IChannelHook *This);")
cpp_quote("      void (WINAPI *ClientGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);")
cpp_quote("      void (WINAPI *ClientFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);")
cpp_quote("      void (WINAPI *ClientNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);")
cpp_quote("      void (WINAPI *ServerNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);")
cpp_quote("      void (WINAPI *ServerGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);")
cpp_quote("      void (WINAPI *ServerFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IChannelHookVtbl;")
cpp_quote("  struct IChannelHook {")
cpp_quote("    CONST_VTBL struct IChannelHookVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IChannelHook_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)")
cpp_quote("#define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)")
cpp_quote("#define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)")
cpp_quote("#define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)")
cpp_quote("#define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)")
cpp_quote("#define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  void WINAPI IChannelHook_ClientGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);")
cpp_quote("  void __RPC_STUB IChannelHook_ClientGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IChannelHook_ClientFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);")
cpp_quote("  void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IChannelHook_ClientNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);")
cpp_quote("  void __RPC_STUB IChannelHook_ClientNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IChannelHook_ServerNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);")
cpp_quote("  void __RPC_STUB IChannelHook_ServerNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IChannelHook_ServerGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);")
cpp_quote("  void __RPC_STUB IChannelHook_ServerGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IChannelHook_ServerFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);")
cpp_quote("  void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  extern const FMTID FMTID_SummaryInformation;")
cpp_quote("  extern const FMTID FMTID_DocSummaryInformation;")
cpp_quote("  extern const FMTID FMTID_UserDefinedProperties;")
cpp_quote("  extern const FMTID FMTID_DiscardableInformation;")
cpp_quote("  extern const FMTID FMTID_ImageSummaryInformation;")
cpp_quote("  extern const FMTID FMTID_AudioSummaryInformation;")
cpp_quote("  extern const FMTID FMTID_VideoSummaryInformation;")
cpp_quote("  extern const FMTID FMTID_MediaFileSummaryInformation;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;")
cpp_quote("#ifndef __IClientSecurity_INTERFACE_DEFINED__")
cpp_quote("#define __IClientSecurity_INTERFACE_DEFINED__")
cpp_quote("  typedef struct tagSOLE_AUTHENTICATION_SERVICE {")
cpp_quote("    DWORD dwAuthnSvc;")
cpp_quote("    DWORD dwAuthzSvc;")
cpp_quote("    OLECHAR *pPrincipalName;")
cpp_quote("    HRESULT hr;")
cpp_quote("  } SOLE_AUTHENTICATION_SERVICE;")
cpp_quote("")
cpp_quote("  typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;")
cpp_quote("")
cpp_quote("  typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {")
cpp_quote("    EOAC_NONE = 0,EOAC_MUTUAL_AUTH = 0x1,EOAC_STATIC_CLOAKING = 0x20,EOAC_DYNAMIC_CLOAKING = 0x40,EOAC_ANY_AUTHORITY = 0x80,EOAC_MAKE_FULLSIC = 0x100,")
cpp_quote("    EOAC_DEFAULT = 0x800,EOAC_SECURE_REFS = 0x2,EOAC_ACCESS_CONTROL = 0x4,EOAC_APPID = 0x8,EOAC_DYNAMIC = 0x10,EOAC_REQUIRE_FULLSIC = 0x200,")
cpp_quote("    EOAC_AUTO_IMPERSONATE = 0x400,EOAC_NO_CUSTOM_MARSHAL = 0x2000,EOAC_DISABLE_AAA = 0x1000")
cpp_quote("  } EOLE_AUTHENTICATION_CAPABILITIES;")
cpp_quote("")
cpp_quote("#define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)-1)")
cpp_quote("#define COLE_DEFAULT_AUTHINFO ((void *)-1)")
cpp_quote("")
cpp_quote("  typedef struct tagSOLE_AUTHENTICATION_INFO {")
cpp_quote("    DWORD dwAuthnSvc;")
cpp_quote("    DWORD dwAuthzSvc;")
cpp_quote("    void *pAuthInfo;")
cpp_quote("  } SOLE_AUTHENTICATION_INFO;")
cpp_quote("")
cpp_quote("  typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;")
cpp_quote("")
cpp_quote("  typedef struct tagSOLE_AUTHENTICATION_LIST {")
cpp_quote("    DWORD cAuthInfo;")
cpp_quote("    SOLE_AUTHENTICATION_INFO *aAuthInfo;")
cpp_quote("  } SOLE_AUTHENTICATION_LIST;")
cpp_quote("")
cpp_quote("  typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IClientSecurity;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IClientSecurity : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI QueryBlanket(IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) = 0;")
cpp_quote("    virtual HRESULT WINAPI SetBlanket(IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) = 0;")
cpp_quote("    virtual HRESULT WINAPI CopyProxy(IUnknown *pProxy,IUnknown **ppCopy) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IClientSecurityVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IClientSecurity *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IClientSecurity *This);")
cpp_quote("      ULONG (WINAPI *Release)(IClientSecurity *This);")
cpp_quote("      HRESULT (WINAPI *QueryBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);")
cpp_quote("      HRESULT (WINAPI *SetBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);")
cpp_quote("      HRESULT (WINAPI *CopyProxy)(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IClientSecurityVtbl;")
cpp_quote("  struct IClientSecurity {")
cpp_quote("    CONST_VTBL struct IClientSecurityVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)")
cpp_quote("#define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)")
cpp_quote("#define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IClientSecurity_QueryBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);")
cpp_quote("  void __RPC_STUB IClientSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IClientSecurity_SetBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);")
cpp_quote("  void __RPC_STUB IClientSecurity_SetBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IClientSecurity_CopyProxy_Proxy(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);")
cpp_quote("  void __RPC_STUB IClientSecurity_CopyProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IServerSecurity_INTERFACE_DEFINED__")
cpp_quote("#define __IServerSecurity_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IServerSecurity;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IServerSecurity : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI QueryBlanket(DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) = 0;")
cpp_quote("    virtual HRESULT WINAPI ImpersonateClient(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI RevertToSelf(void) = 0;")
cpp_quote("    virtual WINBOOL WINAPI IsImpersonating(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IServerSecurityVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IServerSecurity *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IServerSecurity *This);")
cpp_quote("      ULONG (WINAPI *Release)(IServerSecurity *This);")
cpp_quote("      HRESULT (WINAPI *QueryBlanket)(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);")
cpp_quote("      HRESULT (WINAPI *ImpersonateClient)(IServerSecurity *This);")
cpp_quote("      HRESULT (WINAPI *RevertToSelf)(IServerSecurity *This);")
cpp_quote("      WINBOOL (WINAPI *IsImpersonating)(IServerSecurity *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IServerSecurityVtbl;")
cpp_quote("  struct IServerSecurity {")
cpp_quote("    CONST_VTBL struct IServerSecurityVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)")
cpp_quote("#define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)")
cpp_quote("#define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)")
cpp_quote("#define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IServerSecurity_QueryBlanket_Proxy(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);")
cpp_quote("  void __RPC_STUB IServerSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IServerSecurity_ImpersonateClient_Proxy(IServerSecurity *This);")
cpp_quote("  void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IServerSecurity_RevertToSelf_Proxy(IServerSecurity *This);")
cpp_quote("  void __RPC_STUB IServerSecurity_RevertToSelf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  WINBOOL WINAPI IServerSecurity_IsImpersonating_Proxy(IServerSecurity *This);")
cpp_quote("  void __RPC_STUB IServerSecurity_IsImpersonating_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IClassActivator_INTERFACE_DEFINED__")
cpp_quote("#define __IClassActivator_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IClassActivator;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IClassActivator : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetClassObject(REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IClassActivatorVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IClassActivator *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IClassActivator *This);")
cpp_quote("      ULONG (WINAPI *Release)(IClassActivator *This);")
cpp_quote("      HRESULT (WINAPI *GetClassObject)(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IClassActivatorVtbl;")
cpp_quote("  struct IClassActivator {")
cpp_quote("    CONST_VTBL struct IClassActivatorVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IClassActivator_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IClassActivator_GetClassObject_Proxy(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);")
cpp_quote("  void __RPC_STUB IClassActivator_GetClassObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcOptions_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcOptions_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcOptions;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcOptions : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Set(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue) = 0;")
cpp_quote("    virtual HRESULT WINAPI Query(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcOptionsVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcOptions *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcOptions *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcOptions *This);")
cpp_quote("      HRESULT (WINAPI *Set)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);")
cpp_quote("      HRESULT (WINAPI *Query)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcOptionsVtbl;")
cpp_quote("  struct IRpcOptions {")
cpp_quote("    CONST_VTBL struct IRpcOptionsVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)")
cpp_quote("#define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcOptions_Set_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);")
cpp_quote("  void __RPC_STUB IRpcOptions_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcOptions_Query_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);")
cpp_quote("  void __RPC_STUB IRpcOptions_Query_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  enum __MIDL___MIDL_itf_objidl_0055_0001 {")
cpp_quote("    COMBND_RPCTIMEOUT = 0x1,COMBND_SERVER_LOCALITY = 0x2")
cpp_quote("  };")
cpp_quote("")
cpp_quote("  enum __MIDL___MIDL_itf_objidl_0055_0002 {")
cpp_quote("    SERVER_LOCALITY_PROCESS_LOCAL = 0,SERVER_LOCALITY_MACHINE_LOCAL = 1,SERVER_LOCALITY_REMOTE = 2")
cpp_quote("  };")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IFillLockBytes_INTERFACE_DEFINED__")
cpp_quote("#define __IFillLockBytes_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IFillLockBytes;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IFillLockBytes : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI FillAppend(const void *pv,ULONG cb,ULONG *pcbWritten) = 0;")
cpp_quote("    virtual HRESULT WINAPI FillAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;")
cpp_quote("    virtual HRESULT WINAPI SetFillSize(ULARGE_INTEGER ulSize) = 0;")
cpp_quote("    virtual HRESULT WINAPI Terminate(WINBOOL bCanceled) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IFillLockBytesVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IFillLockBytes *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IFillLockBytes *This);")
cpp_quote("      ULONG (WINAPI *Release)(IFillLockBytes *This);")
cpp_quote("      HRESULT (WINAPI *FillAppend)(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("      HRESULT (WINAPI *FillAt)(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("      HRESULT (WINAPI *SetFillSize)(IFillLockBytes *This,ULARGE_INTEGER ulSize);")
cpp_quote("      HRESULT (WINAPI *Terminate)(IFillLockBytes *This,WINBOOL bCanceled);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IFillLockBytesVtbl;")
cpp_quote("  struct IFillLockBytes {")
cpp_quote("    CONST_VTBL struct IFillLockBytesVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten)")
cpp_quote("#define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten)")
cpp_quote("#define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize)")
cpp_quote("#define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IFillLockBytes_RemoteFillAppend_Proxy(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_RemoteFillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_SetFillSize_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulSize);")
cpp_quote("  void __RPC_STUB IFillLockBytes_SetFillSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_Terminate_Proxy(IFillLockBytes *This,WINBOOL bCanceled);")
cpp_quote("  void __RPC_STUB IFillLockBytes_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IProgressNotify_INTERFACE_DEFINED__")
cpp_quote("#define __IProgressNotify_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IProgressNotify;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IProgressNotify : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI OnProgress(DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IProgressNotifyVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IProgressNotify *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IProgressNotify *This);")
cpp_quote("      ULONG (WINAPI *Release)(IProgressNotify *This);")
cpp_quote("      HRESULT (WINAPI *OnProgress)(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IProgressNotifyVtbl;")
cpp_quote("  struct IProgressNotify {")
cpp_quote("    CONST_VTBL struct IProgressNotifyVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IProgressNotify_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IProgressNotify_OnProgress_Proxy(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);")
cpp_quote("  void __RPC_STUB IProgressNotify_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ILayoutStorage_INTERFACE_DEFINED__")
cpp_quote("#define __ILayoutStorage_INTERFACE_DEFINED__")
cpp_quote("  typedef struct tagStorageLayout {")
cpp_quote("    DWORD LayoutType;")
cpp_quote("    OLECHAR *pwcsElementName;")
cpp_quote("    LARGE_INTEGER cOffset;")
cpp_quote("    LARGE_INTEGER cBytes;")
cpp_quote("  } StorageLayout;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_ILayoutStorage;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ILayoutStorage : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI LayoutScript(StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) = 0;")
cpp_quote("    virtual HRESULT WINAPI BeginMonitor(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI EndMonitor(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI ReLayoutDocfile(OLECHAR *pwcsNewDfName) = 0;")
cpp_quote("    virtual HRESULT WINAPI ReLayoutDocfileOnILockBytes(ILockBytes *pILockBytes) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ILayoutStorageVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ILayoutStorage *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ILayoutStorage *This);")
cpp_quote("      ULONG (WINAPI *Release)(ILayoutStorage *This);")
cpp_quote("      HRESULT (WINAPI *LayoutScript)(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);")
cpp_quote("      HRESULT (WINAPI *BeginMonitor)(ILayoutStorage *This);")
cpp_quote("      HRESULT (WINAPI *EndMonitor)(ILayoutStorage *This);")
cpp_quote("      HRESULT (WINAPI *ReLayoutDocfile)(ILayoutStorage *This,OLECHAR *pwcsNewDfName);")
cpp_quote("      HRESULT (WINAPI *ReLayoutDocfileOnILockBytes)(ILayoutStorage *This,ILockBytes *pILockBytes);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ILayoutStorageVtbl;")
cpp_quote("  struct ILayoutStorage {")
cpp_quote("    CONST_VTBL struct ILayoutStorageVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)")
cpp_quote("#define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This)")
cpp_quote("#define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This)")
cpp_quote("#define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName)")
cpp_quote("#define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ILayoutStorage_LayoutScript_Proxy(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);")
cpp_quote("  void __RPC_STUB ILayoutStorage_LayoutScript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILayoutStorage_BeginMonitor_Proxy(ILayoutStorage *This);")
cpp_quote("  void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILayoutStorage_EndMonitor_Proxy(ILayoutStorage *This);")
cpp_quote("  void __RPC_STUB ILayoutStorage_EndMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILayoutStorage_ReLayoutDocfile_Proxy(ILayoutStorage *This,OLECHAR *pwcsNewDfName);")
cpp_quote("  void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(ILayoutStorage *This,ILockBytes *pILockBytes);")
cpp_quote("  void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IBlockingLock_INTERFACE_DEFINED__")
cpp_quote("#define __IBlockingLock_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IBlockingLock;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IBlockingLock : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Lock(DWORD dwTimeout) = 0;")
cpp_quote("    virtual HRESULT WINAPI Unlock(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IBlockingLockVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IBlockingLock *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IBlockingLock *This);")
cpp_quote("      ULONG (WINAPI *Release)(IBlockingLock *This);")
cpp_quote("      HRESULT (WINAPI *Lock)(IBlockingLock *This,DWORD dwTimeout);")
cpp_quote("      HRESULT (WINAPI *Unlock)(IBlockingLock *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IBlockingLockVtbl;")
cpp_quote("  struct IBlockingLock {")
cpp_quote("    CONST_VTBL struct IBlockingLockVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IBlockingLock_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout)")
cpp_quote("#define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IBlockingLock_Lock_Proxy(IBlockingLock *This,DWORD dwTimeout);")
cpp_quote("  void __RPC_STUB IBlockingLock_Lock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IBlockingLock_Unlock_Proxy(IBlockingLock *This);")
cpp_quote("  void __RPC_STUB IBlockingLock_Unlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__")
cpp_quote("#define __ITimeAndNoticeControl_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ITimeAndNoticeControl;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ITimeAndNoticeControl : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI SuppressChanges(DWORD res1,DWORD res2) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ITimeAndNoticeControlVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ITimeAndNoticeControl *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ITimeAndNoticeControl *This);")
cpp_quote("      ULONG (WINAPI *Release)(ITimeAndNoticeControl *This);")
cpp_quote("      HRESULT (WINAPI *SuppressChanges)(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ITimeAndNoticeControlVtbl;")
cpp_quote("  struct ITimeAndNoticeControl {")
cpp_quote("    CONST_VTBL struct ITimeAndNoticeControlVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ITimeAndNoticeControl_SuppressChanges_Proxy(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);")
cpp_quote("  void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IOplockStorage_INTERFACE_DEFINED__")
cpp_quote("#define __IOplockStorage_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IOplockStorage;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IOplockStorage : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI CreateStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;")
cpp_quote("    virtual HRESULT WINAPI OpenStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IOplockStorageVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IOplockStorage *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IOplockStorage *This);")
cpp_quote("      ULONG (WINAPI *Release)(IOplockStorage *This);")
cpp_quote("      HRESULT (WINAPI *CreateStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);")
cpp_quote("      HRESULT (WINAPI *OpenStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IOplockStorageVtbl;")
cpp_quote("  struct IOplockStorage {")
cpp_quote("    CONST_VTBL struct IOplockStorageVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IOplockStorage_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)")
cpp_quote("#define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IOplockStorage_CreateStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);")
cpp_quote("  void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IOplockStorage_OpenStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);")
cpp_quote("  void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISurrogate_INTERFACE_DEFINED__")
cpp_quote("#define __ISurrogate_INTERFACE_DEFINED__")
cpp_quote("  typedef ISurrogate *LPSURROGATE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_ISurrogate;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISurrogate : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI LoadDllServer(REFCLSID Clsid) = 0;")
cpp_quote("    virtual HRESULT WINAPI FreeSurrogate(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISurrogateVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISurrogate *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISurrogate *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISurrogate *This);")
cpp_quote("      HRESULT (WINAPI *LoadDllServer)(ISurrogate *This,REFCLSID Clsid);")
cpp_quote("      HRESULT (WINAPI *FreeSurrogate)(ISurrogate *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISurrogateVtbl;")
cpp_quote("  struct ISurrogate {")
cpp_quote("    CONST_VTBL struct ISurrogateVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISurrogate_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)")
cpp_quote("#define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISurrogate_LoadDllServer_Proxy(ISurrogate *This,REFCLSID Clsid);")
cpp_quote("  void __RPC_STUB ISurrogate_LoadDllServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISurrogate_FreeSurrogate_Proxy(ISurrogate *This);")
cpp_quote("  void __RPC_STUB ISurrogate_FreeSurrogate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__")
cpp_quote("#define __IGlobalInterfaceTable_INTERFACE_DEFINED__")
cpp_quote("  typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IGlobalInterfaceTable;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IGlobalInterfaceTable : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI RegisterInterfaceInGlobal(IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) = 0;")
cpp_quote("    virtual HRESULT WINAPI RevokeInterfaceFromGlobal(DWORD dwCookie) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetInterfaceFromGlobal(DWORD dwCookie,REFIID riid,void **ppv) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IGlobalInterfaceTableVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IGlobalInterfaceTable *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IGlobalInterfaceTable *This);")
cpp_quote("      ULONG (WINAPI *Release)(IGlobalInterfaceTable *This);")
cpp_quote("      HRESULT (WINAPI *RegisterInterfaceInGlobal)(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);")
cpp_quote("      HRESULT (WINAPI *RevokeInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie);")
cpp_quote("      HRESULT (WINAPI *GetInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IGlobalInterfaceTableVtbl;")
cpp_quote("  struct IGlobalInterfaceTable {")
cpp_quote("    CONST_VTBL struct IGlobalInterfaceTableVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)")
cpp_quote("#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)")
cpp_quote("#define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);")
cpp_quote("  void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie);")
cpp_quote("  void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);")
cpp_quote("  void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IDirectWriterLock_INTERFACE_DEFINED__")
cpp_quote("#define __IDirectWriterLock_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IDirectWriterLock;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IDirectWriterLock : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI WaitForWriteAccess(DWORD dwTimeout) = 0;")
cpp_quote("    virtual HRESULT WINAPI ReleaseWriteAccess(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI HaveWriteAccess(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IDirectWriterLockVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IDirectWriterLock *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IDirectWriterLock *This);")
cpp_quote("      ULONG (WINAPI *Release)(IDirectWriterLock *This);")
cpp_quote("      HRESULT (WINAPI *WaitForWriteAccess)(IDirectWriterLock *This,DWORD dwTimeout);")
cpp_quote("      HRESULT (WINAPI *ReleaseWriteAccess)(IDirectWriterLock *This);")
cpp_quote("      HRESULT (WINAPI *HaveWriteAccess)(IDirectWriterLock *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IDirectWriterLockVtbl;")
cpp_quote("  struct IDirectWriterLock {")
cpp_quote("    CONST_VTBL struct IDirectWriterLockVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout)")
cpp_quote("#define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This)")
cpp_quote("#define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IDirectWriterLock_WaitForWriteAccess_Proxy(IDirectWriterLock *This,DWORD dwTimeout);")
cpp_quote("  void __RPC_STUB IDirectWriterLock_WaitForWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IDirectWriterLock_ReleaseWriteAccess_Proxy(IDirectWriterLock *This);")
cpp_quote("  void __RPC_STUB IDirectWriterLock_ReleaseWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IDirectWriterLock_HaveWriteAccess_Proxy(IDirectWriterLock *This);")
cpp_quote("  void __RPC_STUB IDirectWriterLock_HaveWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronize_INTERFACE_DEFINED__")
cpp_quote("#define __ISynchronize_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISynchronize;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISynchronize : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Wait(DWORD dwFlags,DWORD dwMilliseconds) = 0;")
cpp_quote("    virtual HRESULT WINAPI Signal(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI Reset(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISynchronizeVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISynchronize *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISynchronize *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISynchronize *This);")
cpp_quote("      HRESULT (WINAPI *Wait)(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);")
cpp_quote("      HRESULT (WINAPI *Signal)(ISynchronize *This);")
cpp_quote("      HRESULT (WINAPI *Reset)(ISynchronize *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISynchronizeVtbl;")
cpp_quote("  struct ISynchronize {")
cpp_quote("    CONST_VTBL struct ISynchronizeVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISynchronize_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)")
cpp_quote("#define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)")
cpp_quote("#define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISynchronize_Wait_Proxy(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);")
cpp_quote("  void __RPC_STUB ISynchronize_Wait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISynchronize_Signal_Proxy(ISynchronize *This);")
cpp_quote("  void __RPC_STUB ISynchronize_Signal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISynchronize_Reset_Proxy(ISynchronize *This);")
cpp_quote("  void __RPC_STUB ISynchronize_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeHandle_INTERFACE_DEFINED__")
cpp_quote("#define __ISynchronizeHandle_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISynchronizeHandle;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISynchronizeHandle : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetHandle(HANDLE *ph) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISynchronizeHandleVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISynchronizeHandle *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISynchronizeHandle *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISynchronizeHandle *This);")
cpp_quote("      HRESULT (WINAPI *GetHandle)(ISynchronizeHandle *This,HANDLE *ph);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISynchronizeHandleVtbl;")
cpp_quote("  struct ISynchronizeHandle {")
cpp_quote("    CONST_VTBL struct ISynchronizeHandleVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISynchronizeHandle_GetHandle_Proxy(ISynchronizeHandle *This,HANDLE *ph);")
cpp_quote("  void __RPC_STUB ISynchronizeHandle_GetHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeEvent_INTERFACE_DEFINED__")
cpp_quote("#define __ISynchronizeEvent_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISynchronizeEvent;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISynchronizeEvent : public ISynchronizeHandle {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI SetEventHandle(HANDLE *ph) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISynchronizeEventVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISynchronizeEvent *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISynchronizeEvent *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISynchronizeEvent *This);")
cpp_quote("      HRESULT (WINAPI *GetHandle)(ISynchronizeEvent *This,HANDLE *ph);")
cpp_quote("      HRESULT (WINAPI *SetEventHandle)(ISynchronizeEvent *This,HANDLE *ph);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISynchronizeEventVtbl;")
cpp_quote("  struct ISynchronizeEvent {")
cpp_quote("    CONST_VTBL struct ISynchronizeEventVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)")
cpp_quote("#define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISynchronizeEvent_SetEventHandle_Proxy(ISynchronizeEvent *This,HANDLE *ph);")
cpp_quote("  void __RPC_STUB ISynchronizeEvent_SetEventHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeContainer_INTERFACE_DEFINED__")
cpp_quote("#define __ISynchronizeContainer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISynchronizeContainer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISynchronizeContainer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;")
cpp_quote("    virtual HRESULT WINAPI WaitMultiple(DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISynchronizeContainerVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISynchronizeContainer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISynchronizeContainer *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISynchronizeContainer *This);")
cpp_quote("      HRESULT (WINAPI *AddSynchronize)(ISynchronizeContainer *This,ISynchronize *pSync);")
cpp_quote("      HRESULT (WINAPI *WaitMultiple)(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISynchronizeContainerVtbl;")
cpp_quote("  struct ISynchronizeContainer {")
cpp_quote("    CONST_VTBL struct ISynchronizeContainerVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)")
cpp_quote("#define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISynchronizeContainer_AddSynchronize_Proxy(ISynchronizeContainer *This,ISynchronize *pSync);")
cpp_quote("  void __RPC_STUB ISynchronizeContainer_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISynchronizeContainer_WaitMultiple_Proxy(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);")
cpp_quote("  void __RPC_STUB ISynchronizeContainer_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISynchronizeMutex_INTERFACE_DEFINED__")
cpp_quote("#define __ISynchronizeMutex_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISynchronizeMutex;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISynchronizeMutex : public ISynchronize {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI ReleaseMutex(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISynchronizeMutexVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISynchronizeMutex *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISynchronizeMutex *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISynchronizeMutex *This);")
cpp_quote("      HRESULT (WINAPI *Wait)(ISynchronizeMutex *This,DWORD dwFlags,DWORD dwMilliseconds);")
cpp_quote("      HRESULT (WINAPI *Signal)(ISynchronizeMutex *This);")
cpp_quote("      HRESULT (WINAPI *Reset)(ISynchronizeMutex *This);")
cpp_quote("      HRESULT (WINAPI *ReleaseMutex)(ISynchronizeMutex *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISynchronizeMutexVtbl;")
cpp_quote("  struct ISynchronizeMutex {")
cpp_quote("    CONST_VTBL struct ISynchronizeMutexVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)")
cpp_quote("#define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)")
cpp_quote("#define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)")
cpp_quote("#define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISynchronizeMutex_ReleaseMutex_Proxy(ISynchronizeMutex *This);")
cpp_quote("  void __RPC_STUB ISynchronizeMutex_ReleaseMutex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ICancelMethodCalls_INTERFACE_DEFINED__")
cpp_quote("#define __ICancelMethodCalls_INTERFACE_DEFINED__")
cpp_quote("  typedef ICancelMethodCalls *LPCANCELMETHODCALLS;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_ICancelMethodCalls;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ICancelMethodCalls : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Cancel(ULONG ulSeconds) = 0;")
cpp_quote("    virtual HRESULT WINAPI TestCancel(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ICancelMethodCallsVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICancelMethodCalls *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ICancelMethodCalls *This);")
cpp_quote("      ULONG (WINAPI *Release)(ICancelMethodCalls *This);")
cpp_quote("      HRESULT (WINAPI *Cancel)(ICancelMethodCalls *This,ULONG ulSeconds);")
cpp_quote("      HRESULT (WINAPI *TestCancel)(ICancelMethodCalls *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ICancelMethodCallsVtbl;")
cpp_quote("  struct ICancelMethodCalls {")
cpp_quote("    CONST_VTBL struct ICancelMethodCallsVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)")
cpp_quote("#define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ICancelMethodCalls_Cancel_Proxy(ICancelMethodCalls *This,ULONG ulSeconds);")
cpp_quote("  void __RPC_STUB ICancelMethodCalls_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ICancelMethodCalls_TestCancel_Proxy(ICancelMethodCalls *This);")
cpp_quote("  void __RPC_STUB ICancelMethodCalls_TestCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAsyncManager_INTERFACE_DEFINED__")
cpp_quote("#define __IAsyncManager_INTERFACE_DEFINED__")
cpp_quote("  typedef enum tagDCOM_CALL_STATE {")
cpp_quote("    DCOM_NONE = 0,DCOM_CALL_COMPLETE = 0x1,DCOM_CALL_CANCELED = 0x2")
cpp_quote("  } DCOM_CALL_STATE;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IAsyncManager;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IAsyncManager : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI CompleteCall(HRESULT Result) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetCallContext(REFIID riid,void **pInterface) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetState(ULONG *pulStateFlags) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IAsyncManagerVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IAsyncManager *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IAsyncManager *This);")
cpp_quote("      ULONG (WINAPI *Release)(IAsyncManager *This);")
cpp_quote("      HRESULT (WINAPI *CompleteCall)(IAsyncManager *This,HRESULT Result);")
cpp_quote("      HRESULT (WINAPI *GetCallContext)(IAsyncManager *This,REFIID riid,void **pInterface);")
cpp_quote("      HRESULT (WINAPI *GetState)(IAsyncManager *This,ULONG *pulStateFlags);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IAsyncManagerVtbl;")
cpp_quote("  struct IAsyncManager {")
cpp_quote("    CONST_VTBL struct IAsyncManagerVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)")
cpp_quote("#define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)")
cpp_quote("#define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IAsyncManager_CompleteCall_Proxy(IAsyncManager *This,HRESULT Result);")
cpp_quote("  void __RPC_STUB IAsyncManager_CompleteCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAsyncManager_GetCallContext_Proxy(IAsyncManager *This,REFIID riid,void **pInterface);")
cpp_quote("  void __RPC_STUB IAsyncManager_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAsyncManager_GetState_Proxy(IAsyncManager *This,ULONG *pulStateFlags);")
cpp_quote("  void __RPC_STUB IAsyncManager_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ICallFactory_INTERFACE_DEFINED__")
cpp_quote("#define __ICallFactory_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ICallFactory;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ICallFactory : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI CreateCall(REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ICallFactoryVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ICallFactory *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ICallFactory *This);")
cpp_quote("      ULONG (WINAPI *Release)(ICallFactory *This);")
cpp_quote("      HRESULT (WINAPI *CreateCall)(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ICallFactoryVtbl;")
cpp_quote("  struct ICallFactory {")
cpp_quote("    CONST_VTBL struct ICallFactoryVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ICallFactory_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ICallFactory_CreateCall_Proxy(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);")
cpp_quote("  void __RPC_STUB ICallFactory_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IRpcHelper_INTERFACE_DEFINED__")
cpp_quote("#define __IRpcHelper_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IRpcHelper;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IRpcHelper : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetDCOMProtocolVersion(DWORD *pComVersion) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetIIDFromOBJREF(void *pObjRef,IID **piid) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IRpcHelperVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IRpcHelper *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IRpcHelper *This);")
cpp_quote("      ULONG (WINAPI *Release)(IRpcHelper *This);")
cpp_quote("      HRESULT (WINAPI *GetDCOMProtocolVersion)(IRpcHelper *This,DWORD *pComVersion);")
cpp_quote("      HRESULT (WINAPI *GetIIDFromOBJREF)(IRpcHelper *This,void *pObjRef,IID **piid);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IRpcHelperVtbl;")
cpp_quote("  struct IRpcHelper {")
cpp_quote("    CONST_VTBL struct IRpcHelperVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)")
cpp_quote("#define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IRpcHelper_GetDCOMProtocolVersion_Proxy(IRpcHelper *This,DWORD *pComVersion);")
cpp_quote("  void __RPC_STUB IRpcHelper_GetDCOMProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IRpcHelper_GetIIDFromOBJREF_Proxy(IRpcHelper *This,void *pObjRef,IID **piid);")
cpp_quote("  void __RPC_STUB IRpcHelper_GetIIDFromOBJREF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__")
cpp_quote("#define __IReleaseMarshalBuffers_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IReleaseMarshalBuffers;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IReleaseMarshalBuffers : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI ReleaseMarshalBuffer(RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IReleaseMarshalBuffersVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IReleaseMarshalBuffers *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IReleaseMarshalBuffers *This);")
cpp_quote("      ULONG (WINAPI *Release)(IReleaseMarshalBuffers *This);")
cpp_quote("      HRESULT (WINAPI *ReleaseMarshalBuffer)(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IReleaseMarshalBuffersVtbl;")
cpp_quote("  struct IReleaseMarshalBuffers {")
cpp_quote("    CONST_VTBL struct IReleaseMarshalBuffersVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);")
cpp_quote("  void __RPC_STUB IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IWaitMultiple_INTERFACE_DEFINED__")
cpp_quote("#define __IWaitMultiple_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IWaitMultiple;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IWaitMultiple : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI WaitMultiple(DWORD timeout,ISynchronize **pSync) = 0;")
cpp_quote("    virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IWaitMultipleVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IWaitMultiple *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IWaitMultiple *This);")
cpp_quote("      ULONG (WINAPI *Release)(IWaitMultiple *This);")
cpp_quote("      HRESULT (WINAPI *WaitMultiple)(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);")
cpp_quote("      HRESULT (WINAPI *AddSynchronize)(IWaitMultiple *This,ISynchronize *pSync);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IWaitMultipleVtbl;")
cpp_quote("  struct IWaitMultiple {")
cpp_quote("    CONST_VTBL struct IWaitMultipleVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)")
cpp_quote("#define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IWaitMultiple_WaitMultiple_Proxy(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);")
cpp_quote("  void __RPC_STUB IWaitMultiple_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IWaitMultiple_AddSynchronize_Proxy(IWaitMultiple *This,ISynchronize *pSync);")
cpp_quote("  void __RPC_STUB IWaitMultiple_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IUrlMon_INTERFACE_DEFINED__")
cpp_quote("#define __IUrlMon_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IUrlMon;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IUrlMon : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    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;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IUrlMonVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IUrlMon *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IUrlMon *This);")
cpp_quote("      ULONG (WINAPI *Release)(IUrlMon *This);")
cpp_quote("      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);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IUrlMonVtbl;")
cpp_quote("  struct IUrlMon {")
cpp_quote("    CONST_VTBL struct IUrlMonVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IUrlMon_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#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)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  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);")
cpp_quote("  void __RPC_STUB IUrlMon_AsyncGetClassBits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IForegroundTransfer_INTERFACE_DEFINED__")
cpp_quote("#define __IForegroundTransfer_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IForegroundTransfer;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IForegroundTransfer : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI AllowForegroundTransfer(void *lpvReserved) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IForegroundTransferVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IForegroundTransfer *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IForegroundTransfer *This);")
cpp_quote("      ULONG (WINAPI *Release)(IForegroundTransfer *This);")
cpp_quote("      HRESULT (WINAPI *AllowForegroundTransfer)(IForegroundTransfer *This,void *lpvReserved);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IForegroundTransferVtbl;")
cpp_quote("  struct IForegroundTransfer {")
cpp_quote("    CONST_VTBL struct IForegroundTransferVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IForegroundTransfer_AllowForegroundTransfer_Proxy(IForegroundTransfer *This,void *lpvReserved);")
cpp_quote("  void __RPC_STUB IForegroundTransfer_AllowForegroundTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAddrTrackingControl_INTERFACE_DEFINED__")
cpp_quote("#define __IAddrTrackingControl_INTERFACE_DEFINED__")
cpp_quote("  typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IAddrTrackingControl;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IAddrTrackingControl : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI EnableCOMDynamicAddrTracking(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI DisableCOMDynamicAddrTracking(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IAddrTrackingControlVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IAddrTrackingControl *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IAddrTrackingControl *This);")
cpp_quote("      ULONG (WINAPI *Release)(IAddrTrackingControl *This);")
cpp_quote("      HRESULT (WINAPI *EnableCOMDynamicAddrTracking)(IAddrTrackingControl *This);")
cpp_quote("      HRESULT (WINAPI *DisableCOMDynamicAddrTracking)(IAddrTrackingControl *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IAddrTrackingControlVtbl;")
cpp_quote("  struct IAddrTrackingControl {")
cpp_quote("    CONST_VTBL struct IAddrTrackingControlVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)")
cpp_quote("#define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IAddrTrackingControl_EnableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);")
cpp_quote("  void __RPC_STUB IAddrTrackingControl_EnableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAddrTrackingControl_DisableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);")
cpp_quote("  void __RPC_STUB IAddrTrackingControl_DisableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IAddrExclusionControl_INTERFACE_DEFINED__")
cpp_quote("#define __IAddrExclusionControl_INTERFACE_DEFINED__")
cpp_quote("  typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IAddrExclusionControl;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IAddrExclusionControl : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetCurrentAddrExclusionList(REFIID riid,void **ppEnumerator) = 0;")
cpp_quote("    virtual HRESULT WINAPI UpdateAddrExclusionList(IUnknown *pEnumerator) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IAddrExclusionControlVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IAddrExclusionControl *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IAddrExclusionControl *This);")
cpp_quote("      ULONG (WINAPI *Release)(IAddrExclusionControl *This);")
cpp_quote("      HRESULT (WINAPI *GetCurrentAddrExclusionList)(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);")
cpp_quote("      HRESULT (WINAPI *UpdateAddrExclusionList)(IAddrExclusionControl *This,IUnknown *pEnumerator);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IAddrExclusionControlVtbl;")
cpp_quote("  struct IAddrExclusionControl {")
cpp_quote("    CONST_VTBL struct IAddrExclusionControlVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)")
cpp_quote("#define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IAddrExclusionControl_GetCurrentAddrExclusionList_Proxy(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);")
cpp_quote("  void __RPC_STUB IAddrExclusionControl_GetCurrentAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IAddrExclusionControl_UpdateAddrExclusionList_Proxy(IAddrExclusionControl *This,IUnknown *pEnumerator);")
cpp_quote("  void __RPC_STUB IAddrExclusionControl_UpdateAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeByte_INTERFACE_DEFINED__")
cpp_quote("#define __IPipeByte_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IPipeByte;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPipeByte : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Pull(BYTE *buf,ULONG cRequest,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Push(BYTE *buf,ULONG cSent) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPipeByteVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPipeByte *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPipeByte *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPipeByte *This);")
cpp_quote("      HRESULT (WINAPI *Pull)(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Push)(IPipeByte *This,BYTE *buf,ULONG cSent);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPipeByteVtbl;")
cpp_quote("  struct IPipeByte {")
cpp_quote("    CONST_VTBL struct IPipeByteVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPipeByte_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)")
cpp_quote("#define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPipeByte_Pull_Proxy(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB IPipeByte_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPipeByte_Push_Proxy(IPipeByte *This,BYTE *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB IPipeByte_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeByte_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIPipeByte_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIPipeByte;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct AsyncIPipeByte : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Pull(BYTE *buf,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Begin_Push(BYTE *buf,ULONG cSent) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Push(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIPipeByteVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIPipeByte *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIPipeByte *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIPipeByte *This);")
cpp_quote("      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeByte *This,ULONG cRequest);")
cpp_quote("      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Begin_Push)(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);")
cpp_quote("      HRESULT (WINAPI *Finish_Push)(AsyncIPipeByte *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIPipeByteVtbl;")
cpp_quote("  struct AsyncIPipeByte {")
cpp_quote("    CONST_VTBL struct AsyncIPipeByteVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIPipeByte_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIPipeByte_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)")
cpp_quote("#define AsyncIPipeByte_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)")
cpp_quote("#define AsyncIPipeByte_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)")
cpp_quote("#define AsyncIPipeByte_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIPipeByte_Begin_Pull_Proxy(AsyncIPipeByte *This,ULONG cRequest);")
cpp_quote("  void __RPC_STUB AsyncIPipeByte_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeByte_Finish_Pull_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB AsyncIPipeByte_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeByte_Begin_Push_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB AsyncIPipeByte_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeByte_Finish_Push_Proxy(AsyncIPipeByte *This);")
cpp_quote("  void __RPC_STUB AsyncIPipeByte_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeLong_INTERFACE_DEFINED__")
cpp_quote("#define __IPipeLong_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IPipeLong;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPipeLong : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Pull(LONG *buf,ULONG cRequest,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Push(LONG *buf,ULONG cSent) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPipeLongVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPipeLong *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPipeLong *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPipeLong *This);")
cpp_quote("      HRESULT (WINAPI *Pull)(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Push)(IPipeLong *This,LONG *buf,ULONG cSent);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPipeLongVtbl;")
cpp_quote("  struct IPipeLong {")
cpp_quote("    CONST_VTBL struct IPipeLongVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPipeLong_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)")
cpp_quote("#define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPipeLong_Pull_Proxy(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB IPipeLong_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPipeLong_Push_Proxy(IPipeLong *This,LONG *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB IPipeLong_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeLong_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIPipeLong_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIPipeLong;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct AsyncIPipeLong : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Pull(LONG *buf,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Begin_Push(LONG *buf,ULONG cSent) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Push(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIPipeLongVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIPipeLong *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIPipeLong *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIPipeLong *This);")
cpp_quote("      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeLong *This,ULONG cRequest);")
cpp_quote("      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Begin_Push)(AsyncIPipeLong *This,LONG *buf,ULONG cSent);")
cpp_quote("      HRESULT (WINAPI *Finish_Push)(AsyncIPipeLong *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIPipeLongVtbl;")
cpp_quote("  struct AsyncIPipeLong {")
cpp_quote("    CONST_VTBL struct AsyncIPipeLongVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIPipeLong_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIPipeLong_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)")
cpp_quote("#define AsyncIPipeLong_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)")
cpp_quote("#define AsyncIPipeLong_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)")
cpp_quote("#define AsyncIPipeLong_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIPipeLong_Begin_Pull_Proxy(AsyncIPipeLong *This,ULONG cRequest);")
cpp_quote("  void __RPC_STUB AsyncIPipeLong_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeLong_Finish_Pull_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB AsyncIPipeLong_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeLong_Begin_Push_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB AsyncIPipeLong_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeLong_Finish_Push_Proxy(AsyncIPipeLong *This);")
cpp_quote("  void __RPC_STUB AsyncIPipeLong_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IPipeDouble_INTERFACE_DEFINED__")
cpp_quote("#define __IPipeDouble_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IPipeDouble;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IPipeDouble : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Pull(DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Push(DOUBLE *buf,ULONG cSent) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IPipeDoubleVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IPipeDouble *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IPipeDouble *This);")
cpp_quote("      ULONG (WINAPI *Release)(IPipeDouble *This);")
cpp_quote("      HRESULT (WINAPI *Pull)(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Push)(IPipeDouble *This,DOUBLE *buf,ULONG cSent);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IPipeDoubleVtbl;")
cpp_quote("  struct IPipeDouble {")
cpp_quote("    CONST_VTBL struct IPipeDoubleVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)")
cpp_quote("#define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IPipeDouble_Pull_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB IPipeDouble_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IPipeDouble_Push_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB IPipeDouble_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __AsyncIPipeDouble_INTERFACE_DEFINED__")
cpp_quote("#define __AsyncIPipeDouble_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_AsyncIPipeDouble;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct AsyncIPipeDouble : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Pull(DOUBLE *buf,ULONG *pcReturned) = 0;")
cpp_quote("    virtual HRESULT WINAPI Begin_Push(DOUBLE *buf,ULONG cSent) = 0;")
cpp_quote("    virtual HRESULT WINAPI Finish_Push(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct AsyncIPipeDoubleVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(AsyncIPipeDouble *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(AsyncIPipeDouble *This);")
cpp_quote("      ULONG (WINAPI *Release)(AsyncIPipeDouble *This);")
cpp_quote("      HRESULT (WINAPI *Begin_Pull)(AsyncIPipeDouble *This,ULONG cRequest);")
cpp_quote("      HRESULT (WINAPI *Finish_Pull)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);")
cpp_quote("      HRESULT (WINAPI *Begin_Push)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);")
cpp_quote("      HRESULT (WINAPI *Finish_Push)(AsyncIPipeDouble *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } AsyncIPipeDoubleVtbl;")
cpp_quote("  struct AsyncIPipeDouble {")
cpp_quote("    CONST_VTBL struct AsyncIPipeDoubleVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define AsyncIPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define AsyncIPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define AsyncIPipeDouble_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define AsyncIPipeDouble_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)")
cpp_quote("#define AsyncIPipeDouble_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)")
cpp_quote("#define AsyncIPipeDouble_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)")
cpp_quote("#define AsyncIPipeDouble_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI AsyncIPipeDouble_Begin_Pull_Proxy(AsyncIPipeDouble *This,ULONG cRequest);")
cpp_quote("  void __RPC_STUB AsyncIPipeDouble_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeDouble_Finish_Pull_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);")
cpp_quote("  void __RPC_STUB AsyncIPipeDouble_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeDouble_Begin_Push_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);")
cpp_quote("  void __RPC_STUB AsyncIPipeDouble_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI AsyncIPipeDouble_Finish_Push_Proxy(AsyncIPipeDouble *This);")
cpp_quote("  void __RPC_STUB AsyncIPipeDouble_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IThumbnailExtractor_INTERFACE_DEFINED__")
cpp_quote("#define __IThumbnailExtractor_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IThumbnailExtractor;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IThumbnailExtractor : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI ExtractThumbnail(IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) = 0;")
cpp_quote("    virtual HRESULT WINAPI OnFileUpdated(IStorage *pStg) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IThumbnailExtractorVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IThumbnailExtractor *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IThumbnailExtractor *This);")
cpp_quote("      ULONG (WINAPI *Release)(IThumbnailExtractor *This);")
cpp_quote("      HRESULT (WINAPI *ExtractThumbnail)(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);")
cpp_quote("      HRESULT (WINAPI *OnFileUpdated)(IThumbnailExtractor *This,IStorage *pStg);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IThumbnailExtractorVtbl;")
cpp_quote("  struct IThumbnailExtractor {")
cpp_quote("    CONST_VTBL struct IThumbnailExtractorVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)")
cpp_quote("#define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IThumbnailExtractor_ExtractThumbnail_Proxy(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);")
cpp_quote("  void __RPC_STUB IThumbnailExtractor_ExtractThumbnail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IThumbnailExtractor_OnFileUpdated_Proxy(IThumbnailExtractor *This,IStorage *pStg);")
cpp_quote("  void __RPC_STUB IThumbnailExtractor_OnFileUpdated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__")
cpp_quote("#define __IDummyHICONIncluder_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IDummyHICONIncluder;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IDummyHICONIncluder : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Dummy(HICON h1,HDC h2) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IDummyHICONIncluderVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IDummyHICONIncluder *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IDummyHICONIncluder *This);")
cpp_quote("      ULONG (WINAPI *Release)(IDummyHICONIncluder *This);")
cpp_quote("      HRESULT (WINAPI *Dummy)(IDummyHICONIncluder *This,HICON h1,HDC h2);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IDummyHICONIncluderVtbl;")
cpp_quote("  struct IDummyHICONIncluder {")
cpp_quote("    CONST_VTBL struct IDummyHICONIncluderVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IDummyHICONIncluder_Dummy_Proxy(IDummyHICONIncluder *This,HICON h1,HDC h2);")
cpp_quote("  void __RPC_STUB IDummyHICONIncluder_Dummy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS")
cpp_quote("  typedef DWORD CPFLAGS;")
cpp_quote("")
cpp_quote("  typedef struct tagContextProperty {")
cpp_quote("    GUID policyId;")
cpp_quote("    CPFLAGS flags;")
cpp_quote("    IUnknown *pUnk;")
cpp_quote("  } ContextProperty;")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IEnumContextProps_INTERFACE_DEFINED__")
cpp_quote("#define __IEnumContextProps_INTERFACE_DEFINED__")
cpp_quote("  typedef IEnumContextProps *LPENUMCONTEXTPROPS;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IEnumContextProps;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IEnumContextProps : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Next(ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) = 0;")
cpp_quote("    virtual HRESULT WINAPI Skip(ULONG celt) = 0;")
cpp_quote("    virtual HRESULT WINAPI Reset(void) = 0;")
cpp_quote("    virtual HRESULT WINAPI Clone(IEnumContextProps **ppEnumContextProps) = 0;")
cpp_quote("    virtual HRESULT WINAPI Count(ULONG *pcelt) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IEnumContextPropsVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IEnumContextProps *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IEnumContextProps *This);")
cpp_quote("      ULONG (WINAPI *Release)(IEnumContextProps *This);")
cpp_quote("      HRESULT (WINAPI *Next)(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);")
cpp_quote("      HRESULT (WINAPI *Skip)(IEnumContextProps *This,ULONG celt);")
cpp_quote("      HRESULT (WINAPI *Reset)(IEnumContextProps *This);")
cpp_quote("      HRESULT (WINAPI *Clone)(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);")
cpp_quote("      HRESULT (WINAPI *Count)(IEnumContextProps *This,ULONG *pcelt);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IEnumContextPropsVtbl;")
cpp_quote("  struct IEnumContextProps {")
cpp_quote("    CONST_VTBL struct IEnumContextPropsVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)")
cpp_quote("#define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)")
cpp_quote("#define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)")
cpp_quote("#define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)")
cpp_quote("#define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IEnumContextProps_Next_Proxy(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);")
cpp_quote("  void __RPC_STUB IEnumContextProps_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IEnumContextProps_Skip_Proxy(IEnumContextProps *This,ULONG celt);")
cpp_quote("  void __RPC_STUB IEnumContextProps_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IEnumContextProps_Reset_Proxy(IEnumContextProps *This);")
cpp_quote("  void __RPC_STUB IEnumContextProps_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IEnumContextProps_Clone_Proxy(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);")
cpp_quote("  void __RPC_STUB IEnumContextProps_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IEnumContextProps_Count_Proxy(IEnumContextProps *This,ULONG *pcelt);")
cpp_quote("  void __RPC_STUB IEnumContextProps_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IContext_INTERFACE_DEFINED__")
cpp_quote("#define __IContext_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IContext;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IContext : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI SetProperty(REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) = 0;")
cpp_quote("    virtual HRESULT WINAPI RemoveProperty(REFGUID rPolicyId) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetProperty(REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) = 0;")
cpp_quote("    virtual HRESULT WINAPI EnumContextProps(IEnumContextProps **ppEnumContextProps) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IContextVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IContext *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IContext *This);")
cpp_quote("      ULONG (WINAPI *Release)(IContext *This);")
cpp_quote("      HRESULT (WINAPI *SetProperty)(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);")
cpp_quote("      HRESULT (WINAPI *RemoveProperty)(IContext *This,REFGUID rPolicyId);")
cpp_quote("      HRESULT (WINAPI *GetProperty)(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);")
cpp_quote("      HRESULT (WINAPI *EnumContextProps)(IContext *This,IEnumContextProps **ppEnumContextProps);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IContextVtbl;")
cpp_quote("  struct IContext {")
cpp_quote("    CONST_VTBL struct IContextVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IContext_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)")
cpp_quote("#define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)")
cpp_quote("#define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)")
cpp_quote("#define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IContext_SetProperty_Proxy(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);")
cpp_quote("  void __RPC_STUB IContext_SetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IContext_RemoveProperty_Proxy(IContext *This,REFGUID rPolicyId);")
cpp_quote("  void __RPC_STUB IContext_RemoveProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IContext_GetProperty_Proxy(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);")
cpp_quote("  void __RPC_STUB IContext_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IContext_EnumContextProps_Proxy(IContext *This,IEnumContextProps **ppEnumContextProps);")
cpp_quote("  void __RPC_STUB IContext_EnumContextProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef BUILDTYPE_COMSVCS")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IObjContext_INTERFACE_DEFINED__")
cpp_quote("#define __IObjContext_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IObjContext;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IObjContext : public IContext {")
cpp_quote("  public:")
cpp_quote("    virtual void WINAPI Reserved1(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved2(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved3(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved4(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved5(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved6(void) = 0;")
cpp_quote("    virtual void WINAPI Reserved7(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IObjContextVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IObjContext *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IObjContext *This);")
cpp_quote("      ULONG (WINAPI *Release)(IObjContext *This);")
cpp_quote("      HRESULT (WINAPI *SetProperty)(IObjContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);")
cpp_quote("      HRESULT (WINAPI *RemoveProperty)(IObjContext *This,REFGUID rPolicyId);")
cpp_quote("      HRESULT (WINAPI *GetProperty)(IObjContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);")
cpp_quote("      HRESULT (WINAPI *EnumContextProps)(IObjContext *This,IEnumContextProps **ppEnumContextProps);")
cpp_quote("      void (WINAPI *Reserved1)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved2)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved3)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved4)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved5)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved6)(IObjContext *This);")
cpp_quote("      void (WINAPI *Reserved7)(IObjContext *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IObjContextVtbl;")
cpp_quote("  struct IObjContext {")
cpp_quote("    CONST_VTBL struct IObjContextVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IObjContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IObjContext_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IObjContext_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IObjContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)")
cpp_quote("#define IObjContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)")
cpp_quote("#define IObjContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)")
cpp_quote("#define IObjContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)")
cpp_quote("#define IObjContext_Reserved1(This) (This)->lpVtbl->Reserved1(This)")
cpp_quote("#define IObjContext_Reserved2(This) (This)->lpVtbl->Reserved2(This)")
cpp_quote("#define IObjContext_Reserved3(This) (This)->lpVtbl->Reserved3(This)")
cpp_quote("#define IObjContext_Reserved4(This) (This)->lpVtbl->Reserved4(This)")
cpp_quote("#define IObjContext_Reserved5(This) (This)->lpVtbl->Reserved5(This)")
cpp_quote("#define IObjContext_Reserved6(This) (This)->lpVtbl->Reserved6(This)")
cpp_quote("#define IObjContext_Reserved7(This) (This)->lpVtbl->Reserved7(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  void WINAPI IObjContext_Reserved1_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved2_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved3_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved4_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved4_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved5_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved5_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved6_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved6_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  void WINAPI IObjContext_Reserved7_Proxy(IObjContext *This);")
cpp_quote("  void __RPC_STUB IObjContext_Reserved7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  typedef enum tagApplicationType {")
cpp_quote("    ServerApplication = 0,LibraryApplication = ServerApplication + 1")
cpp_quote("  } ApplicationType;")
cpp_quote("")
cpp_quote("  typedef enum tagShutdownType {")
cpp_quote("    IdleShutdown = 0,ForcedShutdown = IdleShutdown + 1")
cpp_quote("  } ShutdownType;")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IProcessLock_INTERFACE_DEFINED__")
cpp_quote("#define __IProcessLock_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IProcessLock;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IProcessLock : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual ULONG WINAPI AddRefOnProcess(void) = 0;")
cpp_quote("    virtual ULONG WINAPI ReleaseRefOnProcess(void) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IProcessLockVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IProcessLock *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IProcessLock *This);")
cpp_quote("      ULONG (WINAPI *Release)(IProcessLock *This);")
cpp_quote("      ULONG (WINAPI *AddRefOnProcess)(IProcessLock *This);")
cpp_quote("      ULONG (WINAPI *ReleaseRefOnProcess)(IProcessLock *This);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IProcessLockVtbl;")
cpp_quote("  struct IProcessLock {")
cpp_quote("    CONST_VTBL struct IProcessLockVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IProcessLock_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This)")
cpp_quote("#define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  ULONG WINAPI IProcessLock_AddRefOnProcess_Proxy(IProcessLock *This);")
cpp_quote("  void __RPC_STUB IProcessLock_AddRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  ULONG WINAPI IProcessLock_ReleaseRefOnProcess_Proxy(IProcessLock *This);")
cpp_quote("  void __RPC_STUB IProcessLock_ReleaseRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __ISurrogateService_INTERFACE_DEFINED__")
cpp_quote("#define __ISurrogateService_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_ISurrogateService;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct ISurrogateService : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI Init(REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) = 0;")
cpp_quote("    virtual HRESULT WINAPI ApplicationLaunch(REFGUID rguidApplID,ApplicationType appType) = 0;")
cpp_quote("    virtual HRESULT WINAPI ApplicationFree(REFGUID rguidApplID) = 0;")
cpp_quote("    virtual HRESULT WINAPI CatalogRefresh(ULONG ulReserved) = 0;")
cpp_quote("    virtual HRESULT WINAPI ProcessShutdown(ShutdownType shutdownType) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct ISurrogateServiceVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(ISurrogateService *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(ISurrogateService *This);")
cpp_quote("      ULONG (WINAPI *Release)(ISurrogateService *This);")
cpp_quote("      HRESULT (WINAPI *Init)(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);")
cpp_quote("      HRESULT (WINAPI *ApplicationLaunch)(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);")
cpp_quote("      HRESULT (WINAPI *ApplicationFree)(ISurrogateService *This,REFGUID rguidApplID);")
cpp_quote("      HRESULT (WINAPI *CatalogRefresh)(ISurrogateService *This,ULONG ulReserved);")
cpp_quote("      HRESULT (WINAPI *ProcessShutdown)(ISurrogateService *This,ShutdownType shutdownType);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } ISurrogateServiceVtbl;")
cpp_quote("  struct ISurrogateService {")
cpp_quote("    CONST_VTBL struct ISurrogateServiceVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define ISurrogateService_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware)")
cpp_quote("#define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType)")
cpp_quote("#define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID)")
cpp_quote("#define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved)")
cpp_quote("#define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI ISurrogateService_Init_Proxy(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);")
cpp_quote("  void __RPC_STUB ISurrogateService_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISurrogateService_ApplicationLaunch_Proxy(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);")
cpp_quote("  void __RPC_STUB ISurrogateService_ApplicationLaunch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISurrogateService_ApplicationFree_Proxy(ISurrogateService *This,REFGUID rguidApplID);")
cpp_quote("  void __RPC_STUB ISurrogateService_ApplicationFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISurrogateService_CatalogRefresh_Proxy(ISurrogateService *This,ULONG ulReserved);")
cpp_quote("  void __RPC_STUB ISurrogateService_CatalogRefresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI ISurrogateService_ProcessShutdown_Proxy(ISurrogateService *This,ShutdownType shutdownType);")
cpp_quote("  void __RPC_STUB ISurrogateService_ProcessShutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  typedef enum _APTTYPE {")
cpp_quote("    APTTYPE_CURRENT = -1,APTTYPE_STA = 0,APTTYPE_MTA = 1,APTTYPE_NA = 2,APTTYPE_MAINSTA = 3")
cpp_quote("  } APTTYPE;")
cpp_quote("")
cpp_quote("  typedef enum _THDTYPE {")
cpp_quote("    THDTYPE_BLOCKMESSAGES = 0,THDTYPE_PROCESSMESSAGES = 1")
cpp_quote("  } THDTYPE;")
cpp_quote("")
cpp_quote("  typedef DWORD APARTMENTID;")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IComThreadingInfo_INTERFACE_DEFINED__")
cpp_quote("#define __IComThreadingInfo_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IComThreadingInfo;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IComThreadingInfo : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI GetCurrentApartmentType(APTTYPE *pAptType) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetCurrentThreadType(THDTYPE *pThreadType) = 0;")
cpp_quote("    virtual HRESULT WINAPI GetCurrentLogicalThreadId(GUID *pguidLogicalThreadId) = 0;")
cpp_quote("    virtual HRESULT WINAPI SetCurrentLogicalThreadId(REFGUID rguid) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IComThreadingInfoVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IComThreadingInfo *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IComThreadingInfo *This);")
cpp_quote("      ULONG (WINAPI *Release)(IComThreadingInfo *This);")
cpp_quote("      HRESULT (WINAPI *GetCurrentApartmentType)(IComThreadingInfo *This,APTTYPE *pAptType);")
cpp_quote("      HRESULT (WINAPI *GetCurrentThreadType)(IComThreadingInfo *This,THDTYPE *pThreadType);")
cpp_quote("      HRESULT (WINAPI *GetCurrentLogicalThreadId)(IComThreadingInfo *This,GUID *pguidLogicalThreadId);")
cpp_quote("      HRESULT (WINAPI *SetCurrentLogicalThreadId)(IComThreadingInfo *This,REFGUID rguid);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IComThreadingInfoVtbl;")
cpp_quote("  struct IComThreadingInfo {")
cpp_quote("    CONST_VTBL struct IComThreadingInfoVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)")
cpp_quote("#define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)")
cpp_quote("#define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)")
cpp_quote("#define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IComThreadingInfo_GetCurrentApartmentType_Proxy(IComThreadingInfo *This,APTTYPE *pAptType);")
cpp_quote("  void __RPC_STUB IComThreadingInfo_GetCurrentApartmentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IComThreadingInfo_GetCurrentThreadType_Proxy(IComThreadingInfo *This,THDTYPE *pThreadType);")
cpp_quote("  void __RPC_STUB IComThreadingInfo_GetCurrentThreadType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IComThreadingInfo_GetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,GUID *pguidLogicalThreadId);")
cpp_quote("  void __RPC_STUB IComThreadingInfo_GetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IComThreadingInfo_SetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,REFGUID rguid);")
cpp_quote("  void __RPC_STUB IComThreadingInfo_SetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IProcessInitControl_INTERFACE_DEFINED__")
cpp_quote("#define __IProcessInitControl_INTERFACE_DEFINED__")
cpp_quote("  EXTERN_C const IID IID_IProcessInitControl;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IProcessInitControl : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI ResetInitializerTimeout(DWORD dwSecondsRemaining) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IProcessInitControlVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IProcessInitControl *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IProcessInitControl *This);")
cpp_quote("      ULONG (WINAPI *Release)(IProcessInitControl *This);")
cpp_quote("      HRESULT (WINAPI *ResetInitializerTimeout)(IProcessInitControl *This,DWORD dwSecondsRemaining);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IProcessInitControlVtbl;")
cpp_quote("  struct IProcessInitControl {")
cpp_quote("    CONST_VTBL struct IProcessInitControlVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IProcessInitControl_ResetInitializerTimeout_Proxy(IProcessInitControl *This,DWORD dwSecondsRemaining);")
cpp_quote("  void __RPC_STUB IProcessInitControl_ResetInitializerTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("#ifndef __IInitializeSpy_INTERFACE_DEFINED__")
cpp_quote("#define __IInitializeSpy_INTERFACE_DEFINED__")
cpp_quote("  typedef IInitializeSpy *LPINITIALIZESPY;")
cpp_quote("")
cpp_quote("  EXTERN_C const IID IID_IInitializeSpy;")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("  struct IInitializeSpy : public IUnknown {")
cpp_quote("  public:")
cpp_quote("    virtual HRESULT WINAPI PreInitialize(DWORD dwCoInit,DWORD dwCurThreadAptRefs) = 0;")
cpp_quote("    virtual HRESULT WINAPI PostInitialize(HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) = 0;")
cpp_quote("    virtual HRESULT WINAPI PreUninitialize(DWORD dwCurThreadAptRefs) = 0;")
cpp_quote("    virtual HRESULT WINAPI PostUninitialize(DWORD dwNewThreadAptRefs) = 0;")
cpp_quote("  };")
cpp_quote("#else")
cpp_quote("  typedef struct IInitializeSpyVtbl {")
cpp_quote("    BEGIN_INTERFACE")
cpp_quote("      HRESULT (WINAPI *QueryInterface)(IInitializeSpy *This,REFIID riid,void **ppvObject);")
cpp_quote("      ULONG (WINAPI *AddRef)(IInitializeSpy *This);")
cpp_quote("      ULONG (WINAPI *Release)(IInitializeSpy *This);")
cpp_quote("      HRESULT (WINAPI *PreInitialize)(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);")
cpp_quote("      HRESULT (WINAPI *PostInitialize)(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);")
cpp_quote("      HRESULT (WINAPI *PreUninitialize)(IInitializeSpy *This,DWORD dwCurThreadAptRefs);")
cpp_quote("      HRESULT (WINAPI *PostUninitialize)(IInitializeSpy *This,DWORD dwNewThreadAptRefs);")
cpp_quote("    END_INTERFACE")
cpp_quote("  } IInitializeSpyVtbl;")
cpp_quote("  struct IInitializeSpy {")
cpp_quote("    CONST_VTBL struct IInitializeSpyVtbl *lpVtbl;")
cpp_quote("  };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs)")
cpp_quote("#define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs)")
cpp_quote("#define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs)")
cpp_quote("#define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("  HRESULT WINAPI IInitializeSpy_PreInitialize_Proxy(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);")
cpp_quote("  void __RPC_STUB IInitializeSpy_PreInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IInitializeSpy_PostInitialize_Proxy(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);")
cpp_quote("  void __RPC_STUB IInitializeSpy_PostInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IInitializeSpy_PreUninitialize_Proxy(IInitializeSpy *This,DWORD dwCurThreadAptRefs);")
cpp_quote("  void __RPC_STUB IInitializeSpy_PreUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("  HRESULT WINAPI IInitializeSpy_PostUninitialize_Proxy(IInitializeSpy *This,DWORD dwNewThreadAptRefs);")
cpp_quote("  void __RPC_STUB IInitializeSpy_PostUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_c_ifspec;")
cpp_quote("  extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_s_ifspec;")
cpp_quote("")
cpp_quote("  ULONG __RPC_API CLIPFORMAT_UserSize(ULONG *,ULONG,CLIPFORMAT *);")
cpp_quote("  unsigned char *__RPC_API CLIPFORMAT_UserMarshal(ULONG *,unsigned char *,CLIPFORMAT *);")
cpp_quote("  unsigned char *__RPC_API CLIPFORMAT_UserUnmarshal(ULONG *,unsigned char *,CLIPFORMAT *);")
cpp_quote("  void __RPC_API CLIPFORMAT_UserFree(ULONG *,CLIPFORMAT *);")
cpp_quote("  ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);")
cpp_quote("  unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);")
cpp_quote("  unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);")
cpp_quote("  void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);")
cpp_quote("  ULONG __RPC_API HDC_UserSize(ULONG *,ULONG,HDC *);")
cpp_quote("  unsigned char *__RPC_API HDC_UserMarshal(ULONG *,unsigned char *,HDC *);")
cpp_quote("  unsigned char *__RPC_API HDC_UserUnmarshal(ULONG *,unsigned char *,HDC *);")
cpp_quote("  void __RPC_API HDC_UserFree(ULONG *,HDC *);")
cpp_quote("  ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);")
cpp_quote("  unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);")
cpp_quote("  unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);")
cpp_quote("  void __RPC_API HICON_UserFree(ULONG *,HICON *);")
cpp_quote("")
cpp_quote("  HRESULT WINAPI IEnumUnknown_Next_Proxy(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);")
cpp_quote("  HRESULT WINAPI IEnumUnknown_Next_Stub(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);")
cpp_quote("  HRESULT WINAPI IBindCtx_SetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);")
cpp_quote("  HRESULT WINAPI IBindCtx_SetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);")
cpp_quote("  HRESULT WINAPI IBindCtx_GetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);")
cpp_quote("  HRESULT WINAPI IBindCtx_GetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);")
cpp_quote("  HRESULT WINAPI IEnumMoniker_Next_Proxy(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);")
cpp_quote("  HRESULT WINAPI IEnumMoniker_Next_Stub(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);")
cpp_quote("  WINBOOL WINAPI IRunnableObject_IsRunning_Proxy(IRunnableObject *This);")
cpp_quote("  HRESULT WINAPI IRunnableObject_IsRunning_Stub(IRunnableObject *This);")
cpp_quote("  HRESULT WINAPI IEnumString_Next_Proxy(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);")
cpp_quote("  HRESULT WINAPI IEnumString_Next_Stub(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);")
cpp_quote("  HRESULT WINAPI ILockBytes_ReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);")
cpp_quote("  HRESULT WINAPI ILockBytes_ReadAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);")
cpp_quote("  HRESULT WINAPI ILockBytes_WriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  HRESULT WINAPI ILockBytes_WriteAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  void WINAPI IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  HRESULT WINAPI IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_FillAppend_Proxy(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_FillAppend_Stub(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_FillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  HRESULT WINAPI IFillLockBytes_FillAt_Stub(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Begin_OnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_OnDataChange_Stub(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Finish_OnDataChange_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_OnDataChange_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Begin_OnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_OnViewChange_Stub(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Finish_OnViewChange_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_OnViewChange_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Begin_OnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_OnRename_Stub(AsyncIAdviseSink *This,IMoniker *pmk);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Finish_OnRename_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_OnRename_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Begin_OnSave_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_OnSave_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Finish_OnSave_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_OnSave_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Begin_OnClose_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Begin_OnClose_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink_Finish_OnClose_Proxy(AsyncIAdviseSink *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink_Finish_OnClose_Stub(AsyncIAdviseSink *This);")
cpp_quote("  void WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This,IMoniker *pmk);")
cpp_quote("  void WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);")
cpp_quote("  HRESULT WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This);")
cpp_quote("")
cpp_quote("#if (_WIN32_WINNT >= 0x0601)")
cpp_quote("typedef enum _APTTYPEQUALIFIER {")
cpp_quote("  APTTYPEQUALIFIER_NONE                 = 0,")
cpp_quote("  APTTYPEQUALIFIER_IMPLICIT_MTA         = 1,")
cpp_quote("  APTTYPEQUALIFIER_NA_ON_MTA            = 2,")
cpp_quote("  APTTYPEQUALIFIER_NA_ON_STA            = 3,")
cpp_quote("  APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA   = 4,")
cpp_quote("  APTTYPEQUALIFIER_NA_ON_MAINSTA        = 5 ")
cpp_quote("} APTTYPEQUALIFIER;")
cpp_quote("#endif /*(_WIN32_WINNT >= 0x0601)*/")
