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