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