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 17extern "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