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 __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 440 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __msdatsrc_h__ 14 #define __msdatsrc_h__ 15 16 #ifndef __DataSourceListener_FWD_DEFINED__ 17 #define __DataSourceListener_FWD_DEFINED__ 18 typedef struct DataSourceListener DataSourceListener; 19 #endif 20 21 #ifndef __DataSource_FWD_DEFINED__ 22 #define __DataSource_FWD_DEFINED__ 23 typedef struct DataSource DataSource; 24 #endif 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 #ifndef __MIDL_user_allocate_free_DEFINED__ 31 #define __MIDL_user_allocate_free_DEFINED__ 32 void *__RPC_API MIDL_user_allocate(size_t); 33 void __RPC_API MIDL_user_free(void *); 34 #endif 35 36 #define IDataSource DataSource 37 #define IDataSourceListener DataSourceListener 38 39 EXTERN_C const IID CATID_DataSource; 40 EXTERN_C const IID CATID_DataConsumer; 41 42 extern RPC_IF_HANDLE __MIDL_itf_msdatsrc_0000_v0_0_c_ifspec; 43 extern RPC_IF_HANDLE __MIDL_itf_msdatsrc_0000_v0_0_s_ifspec; 44 45 #ifndef __MSDATASRC_LIBRARY_DEFINED__ 46 #define __MSDATASRC_LIBRARY_DEFINED__ 47 typedef BSTR DataMember; 48 49 EXTERN_C const IID LIBID_MSDATASRC; 50 #ifndef __DataSourceListener_INTERFACE_DEFINED__ 51 #define __DataSourceListener_INTERFACE_DEFINED__ 52 EXTERN_C const IID IID_DataSourceListener; 53 #if defined(__cplusplus) && !defined(CINTERFACE) 54 struct DataSourceListener : public IUnknown { 55 public: 56 virtual HRESULT WINAPI dataMemberChanged(DataMember bstrDM) = 0; 57 virtual HRESULT WINAPI dataMemberAdded(DataMember bstrDM) = 0; 58 virtual HRESULT WINAPI dataMemberRemoved(DataMember bstrDM) = 0; 59 }; 60 #else 61 typedef struct DataSourceListenerVtbl { 62 BEGIN_INTERFACE 63 HRESULT (WINAPI *QueryInterface)(DataSourceListener *This,REFIID riid,void **ppvObject); 64 ULONG (WINAPI *AddRef)(DataSourceListener *This); 65 ULONG (WINAPI *Release)(DataSourceListener *This); 66 HRESULT (WINAPI *dataMemberChanged)(DataSourceListener *This,DataMember bstrDM); 67 HRESULT (WINAPI *dataMemberAdded)(DataSourceListener *This,DataMember bstrDM); 68 HRESULT (WINAPI *dataMemberRemoved)(DataSourceListener *This,DataMember bstrDM); 69 END_INTERFACE 70 } DataSourceListenerVtbl; 71 struct DataSourceListener { 72 CONST_VTBL struct DataSourceListenerVtbl *lpVtbl; 73 }; 74 #ifdef COBJMACROS 75 #define DataSourceListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 76 #define DataSourceListener_AddRef(This) (This)->lpVtbl->AddRef(This) 77 #define DataSourceListener_Release(This) (This)->lpVtbl->Release(This) 78 #define DataSourceListener_dataMemberChanged(This,bstrDM) (This)->lpVtbl->dataMemberChanged(This,bstrDM) 79 #define DataSourceListener_dataMemberAdded(This,bstrDM) (This)->lpVtbl->dataMemberAdded(This,bstrDM) 80 #define DataSourceListener_dataMemberRemoved(This,bstrDM) (This)->lpVtbl->dataMemberRemoved(This,bstrDM) 81 #endif 82 #endif 83 HRESULT WINAPI DataSourceListener_dataMemberChanged_Proxy(DataSourceListener *This,DataMember bstrDM); 84 void __RPC_STUB DataSourceListener_dataMemberChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 85 HRESULT WINAPI DataSourceListener_dataMemberAdded_Proxy(DataSourceListener *This,DataMember bstrDM); 86 void __RPC_STUB DataSourceListener_dataMemberAdded_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 87 HRESULT WINAPI DataSourceListener_dataMemberRemoved_Proxy(DataSourceListener *This,DataMember bstrDM); 88 void __RPC_STUB DataSourceListener_dataMemberRemoved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 89 #endif 90 91 #ifndef __DataSource_INTERFACE_DEFINED__ 92 #define __DataSource_INTERFACE_DEFINED__ 93 EXTERN_C const IID IID_DataSource; 94 #if defined(__cplusplus) && !defined(CINTERFACE) 95 struct DataSource : public IUnknown { 96 public: 97 virtual HRESULT WINAPI getDataMember(DataMember bstrDM,REFIID riid,IUnknown **ppunk) = 0; 98 virtual HRESULT WINAPI getDataMemberName(__LONG32 lIndex,DataMember *pbstrDM) = 0; 99 virtual HRESULT WINAPI getDataMemberCount(__LONG32 *plCount) = 0; 100 virtual HRESULT WINAPI addDataSourceListener(DataSourceListener *pDSL) = 0; 101 virtual HRESULT WINAPI removeDataSourceListener(DataSourceListener *pDSL) = 0; 102 }; 103 #else 104 typedef struct DataSourceVtbl { 105 BEGIN_INTERFACE 106 HRESULT (WINAPI *QueryInterface)(DataSource *This,REFIID riid,void **ppvObject); 107 ULONG (WINAPI *AddRef)(DataSource *This); 108 ULONG (WINAPI *Release)(DataSource *This); 109 HRESULT (WINAPI *getDataMember)(DataSource *This,DataMember bstrDM,REFIID riid,IUnknown **ppunk); 110 HRESULT (WINAPI *getDataMemberName)(DataSource *This,__LONG32 lIndex,DataMember *pbstrDM); 111 HRESULT (WINAPI *getDataMemberCount)(DataSource *This,__LONG32 *plCount); 112 HRESULT (WINAPI *addDataSourceListener)(DataSource *This,DataSourceListener *pDSL); 113 HRESULT (WINAPI *removeDataSourceListener)(DataSource *This,DataSourceListener *pDSL); 114 END_INTERFACE 115 } DataSourceVtbl; 116 struct DataSource { 117 CONST_VTBL struct DataSourceVtbl *lpVtbl; 118 }; 119 #ifdef COBJMACROS 120 #define DataSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 121 #define DataSource_AddRef(This) (This)->lpVtbl->AddRef(This) 122 #define DataSource_Release(This) (This)->lpVtbl->Release(This) 123 #define DataSource_getDataMember(This,bstrDM,riid,ppunk) (This)->lpVtbl->getDataMember(This,bstrDM,riid,ppunk) 124 #define DataSource_getDataMemberName(This,lIndex,pbstrDM) (This)->lpVtbl->getDataMemberName(This,lIndex,pbstrDM) 125 #define DataSource_getDataMemberCount(This,plCount) (This)->lpVtbl->getDataMemberCount(This,plCount) 126 #define DataSource_addDataSourceListener(This,pDSL) (This)->lpVtbl->addDataSourceListener(This,pDSL) 127 #define DataSource_removeDataSourceListener(This,pDSL) (This)->lpVtbl->removeDataSourceListener(This,pDSL) 128 #endif 129 #endif 130 HRESULT WINAPI DataSource_getDataMember_Proxy(DataSource *This,DataMember bstrDM,REFIID riid,IUnknown **ppunk); 131 void __RPC_STUB DataSource_getDataMember_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 132 HRESULT WINAPI DataSource_getDataMemberName_Proxy(DataSource *This,__LONG32 lIndex,DataMember *pbstrDM); 133 void __RPC_STUB DataSource_getDataMemberName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 134 HRESULT WINAPI DataSource_getDataMemberCount_Proxy(DataSource *This,__LONG32 *plCount); 135 void __RPC_STUB DataSource_getDataMemberCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 136 HRESULT WINAPI DataSource_addDataSourceListener_Proxy(DataSource *This,DataSourceListener *pDSL); 137 void __RPC_STUB DataSource_addDataSourceListener_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 138 HRESULT WINAPI DataSource_removeDataSourceListener_Proxy(DataSource *This,DataSourceListener *pDSL); 139 void __RPC_STUB DataSource_removeDataSourceListener_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 140 #endif 141 #endif 142 143 #ifdef __cplusplus 144 } 145 #endif 146 #endif 147