1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef I_SIMPDC_H_ 7 #define I_SIMPDC_H_ 8 9 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 10 #define __REQUIRED_RPCNDR_H_VERSION__ 440 11 #endif 12 13 #include "rpc.h" 14 #include "rpcndr.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifndef __ISimpleDataConverter_FWD_DEFINED__ 21 #define __ISimpleDataConverter_FWD_DEFINED__ 22 typedef struct ISimpleDataConverter ISimpleDataConverter; 23 #endif 24 25 #include "oaidl.h" 26 #include "ocidl.h" 27 28 #ifndef __MIDL_user_allocate_free_DEFINED__ 29 #define __MIDL_user_allocate_free_DEFINED__ 30 void *__RPC_API MIDL_user_allocate(size_t); 31 void __RPC_API MIDL_user_free(void *); 32 #endif 33 34 #ifndef __ISimpleDataConverter_INTERFACE_DEFINED__ 35 #define __ISimpleDataConverter_INTERFACE_DEFINED__ 36 DEFINE_GUID(IID_ISimpleDataConverter,0x78667670,0x3C3D,0x11d2,0x91,0xF9,0x00,0x60,0x97,0xC9,0x7F,0x9B); 37 #if defined(__cplusplus) && !defined(CINTERFACE) 38 struct ISimpleDataConverter : public IUnknown { 39 public: 40 virtual HRESULT WINAPI ConvertData(VARIANT varSrc,__LONG32 vtDest,IUnknown *pUnknownElement,VARIANT *pvarDest) = 0; 41 virtual HRESULT WINAPI CanConvertData(__LONG32 vt1,__LONG32 vt2) = 0; 42 }; 43 #else 44 typedef struct ISimpleDataConverterVtbl { 45 BEGIN_INTERFACE 46 HRESULT (WINAPI *QueryInterface)(ISimpleDataConverter *This,REFIID riid,void **ppvObject); 47 ULONG (WINAPI *AddRef)(ISimpleDataConverter *This); 48 ULONG (WINAPI *Release)(ISimpleDataConverter *This); 49 HRESULT (WINAPI *ConvertData)(ISimpleDataConverter *This,VARIANT varSrc,__LONG32 vtDest,IUnknown *pUnknownElement,VARIANT *pvarDest); 50 HRESULT (WINAPI *CanConvertData)(ISimpleDataConverter *This,__LONG32 vt1,__LONG32 vt2); 51 END_INTERFACE 52 } ISimpleDataConverterVtbl; 53 struct ISimpleDataConverter { 54 CONST_VTBL struct ISimpleDataConverterVtbl *lpVtbl; 55 }; 56 #ifdef COBJMACROS 57 #define ISimpleDataConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 58 #define ISimpleDataConverter_AddRef(This) (This)->lpVtbl->AddRef(This) 59 #define ISimpleDataConverter_Release(This) (This)->lpVtbl->Release(This) 60 #define ISimpleDataConverter_ConvertData(This,varSrc,vtDest,pUnknownElement,pvarDest) (This)->lpVtbl->ConvertData(This,varSrc,vtDest,pUnknownElement,pvarDest) 61 #define ISimpleDataConverter_CanConvertData(This,vt1,vt2) (This)->lpVtbl->CanConvertData(This,vt1,vt2) 62 #endif 63 #endif 64 HRESULT WINAPI ISimpleDataConverter_ConvertData_Proxy(ISimpleDataConverter *This,VARIANT varSrc,__LONG32 vtDest,IUnknown *pUnknownElement,VARIANT *pvarDest); 65 void __RPC_STUB ISimpleDataConverter_ConvertData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 66 HRESULT WINAPI ISimpleDataConverter_CanConvertData_Proxy(ISimpleDataConverter *This,__LONG32 vt1,__LONG32 vt2); 67 void __RPC_STUB ISimpleDataConverter_CanConvertData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 68 #endif 69 70 #ifdef __cplusplus 71 } 72 #endif 73 #endif 74