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__ 475
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error this stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __bidispl_h__
23 #define __bidispl_h__
24 
25 #ifndef __IBidiRequest_FWD_DEFINED__
26 #define __IBidiRequest_FWD_DEFINED__
27 typedef struct IBidiRequest IBidiRequest;
28 #endif
29 
30 #ifndef __IBidiRequestContainer_FWD_DEFINED__
31 #define __IBidiRequestContainer_FWD_DEFINED__
32 typedef struct IBidiRequestContainer IBidiRequestContainer;
33 #endif
34 
35 #ifndef __IBidiSpl_FWD_DEFINED__
36 #define __IBidiSpl_FWD_DEFINED__
37 typedef struct IBidiSpl IBidiSpl;
38 #endif
39 
40 #ifndef __BidiRequest_FWD_DEFINED__
41 #define __BidiRequest_FWD_DEFINED__
42 #ifdef __cplusplus
43 typedef class BidiRequest BidiRequest;
44 #else
45 typedef struct BidiRequest BidiRequest;
46 #endif
47 #endif
48 
49 #ifndef __BidiRequestContainer_FWD_DEFINED__
50 #define __BidiRequestContainer_FWD_DEFINED__
51 #ifdef __cplusplus
52 typedef class BidiRequestContainer BidiRequestContainer;
53 #else
54 typedef struct BidiRequestContainer BidiRequestContainer;
55 #endif
56 #endif
57 
58 #ifndef __BidiSpl_FWD_DEFINED__
59 #define __BidiSpl_FWD_DEFINED__
60 #ifdef __cplusplus
61 typedef class BidiSpl BidiSpl;
62 #else
63 typedef struct BidiSpl BidiSpl;
64 #endif
65 #endif
66 
67 #include "oaidl.h"
68 #include "ocidl.h"
69 #ifdef __cplusplus
70 extern "C"{
71 #endif
72 
73 #ifndef __MIDL_user_allocate_free_DEFINED__
74 #define __MIDL_user_allocate_free_DEFINED__
75   void *__RPC_API MIDL_user_allocate(size_t);
76   void __RPC_API MIDL_user_free(void *);
77 #endif
78 
79 #ifndef __IBidiRequest_INTERFACE_DEFINED__
80 #define __IBidiRequest_INTERFACE_DEFINED__
81   EXTERN_C const IID IID_IBidiRequest;
82 #if defined(__cplusplus) && !defined(CINTERFACE)
83   struct IBidiRequest : public IUnknown {
84   public:
85     virtual HRESULT WINAPI SetSchema(const LPCWSTR pszSchema) = 0;
86     virtual HRESULT WINAPI SetInputData(const DWORD dwType,const BYTE *pData,const UINT uSize) = 0;
87     virtual HRESULT WINAPI GetResult(HRESULT *phr) = 0;
88     virtual HRESULT WINAPI GetOutputData(const DWORD dwIndex,LPWSTR *ppszSchema,DWORD *pdwType,BYTE **ppData,ULONG *uSize) = 0;
89     virtual HRESULT WINAPI GetEnumCount(DWORD *pdwTotal) = 0;
90   };
91 #else
92   typedef struct IBidiRequestVtbl {
93     BEGIN_INTERFACE
94       HRESULT (WINAPI *QueryInterface)(IBidiRequest *This,REFIID riid,void **ppvObject);
95       ULONG (WINAPI *AddRef)(IBidiRequest *This);
96       ULONG (WINAPI *Release)(IBidiRequest *This);
97       HRESULT (WINAPI *SetSchema)(IBidiRequest *This,const LPCWSTR pszSchema);
98       HRESULT (WINAPI *SetInputData)(IBidiRequest *This,const DWORD dwType,const BYTE *pData,const UINT uSize);
99       HRESULT (WINAPI *GetResult)(IBidiRequest *This,HRESULT *phr);
100       HRESULT (WINAPI *GetOutputData)(IBidiRequest *This,const DWORD dwIndex,LPWSTR *ppszSchema,DWORD *pdwType,BYTE **ppData,ULONG *uSize);
101       HRESULT (WINAPI *GetEnumCount)(IBidiRequest *This,DWORD *pdwTotal);
102     END_INTERFACE
103   } IBidiRequestVtbl;
104   struct IBidiRequest {
105     CONST_VTBL struct IBidiRequestVtbl *lpVtbl;
106   };
107 #ifdef COBJMACROS
108 #define IBidiRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
109 #define IBidiRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
110 #define IBidiRequest_Release(This) (This)->lpVtbl->Release(This)
111 #define IBidiRequest_SetSchema(This,pszSchema) (This)->lpVtbl->SetSchema(This,pszSchema)
112 #define IBidiRequest_SetInputData(This,dwType,pData,uSize) (This)->lpVtbl->SetInputData(This,dwType,pData,uSize)
113 #define IBidiRequest_GetResult(This,phr) (This)->lpVtbl->GetResult(This,phr)
114 #define IBidiRequest_GetOutputData(This,dwIndex,ppszSchema,pdwType,ppData,uSize) (This)->lpVtbl->GetOutputData(This,dwIndex,ppszSchema,pdwType,ppData,uSize)
115 #define IBidiRequest_GetEnumCount(This,pdwTotal) (This)->lpVtbl->GetEnumCount(This,pdwTotal)
116 #endif
117 #endif
118   HRESULT WINAPI IBidiRequest_SetSchema_Proxy(IBidiRequest *This,const LPCWSTR pszSchema);
119   void __RPC_STUB IBidiRequest_SetSchema_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
120   HRESULT WINAPI IBidiRequest_SetInputData_Proxy(IBidiRequest *This,const DWORD dwType,const BYTE *pData,const UINT uSize);
121   void __RPC_STUB IBidiRequest_SetInputData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
122   HRESULT WINAPI IBidiRequest_GetResult_Proxy(IBidiRequest *This,HRESULT *phr);
123   void __RPC_STUB IBidiRequest_GetResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
124   HRESULT WINAPI IBidiRequest_GetOutputData_Proxy(IBidiRequest *This,const DWORD dwIndex,LPWSTR *ppszSchema,DWORD *pdwType,BYTE **ppData,ULONG *uSize);
125   void __RPC_STUB IBidiRequest_GetOutputData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
126   HRESULT WINAPI IBidiRequest_GetEnumCount_Proxy(IBidiRequest *This,DWORD *pdwTotal);
127   void __RPC_STUB IBidiRequest_GetEnumCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
128 #endif
129 
130 #ifndef __IBidiRequestContainer_INTERFACE_DEFINED__
131 #define __IBidiRequestContainer_INTERFACE_DEFINED__
132   EXTERN_C const IID IID_IBidiRequestContainer;
133 #if defined(__cplusplus) && !defined(CINTERFACE)
134   struct IBidiRequestContainer : public IUnknown {
135   public:
136     virtual HRESULT WINAPI AddRequest(IBidiRequest *pRequest) = 0;
137     virtual HRESULT WINAPI GetEnumObject(IEnumUnknown **ppenum) = 0;
138     virtual HRESULT WINAPI GetRequestCount(ULONG *puCount) = 0;
139   };
140 #else
141   typedef struct IBidiRequestContainerVtbl {
142     BEGIN_INTERFACE
143       HRESULT (WINAPI *QueryInterface)(IBidiRequestContainer *This,REFIID riid,void **ppvObject);
144       ULONG (WINAPI *AddRef)(IBidiRequestContainer *This);
145       ULONG (WINAPI *Release)(IBidiRequestContainer *This);
146       HRESULT (WINAPI *AddRequest)(IBidiRequestContainer *This,IBidiRequest *pRequest);
147       HRESULT (WINAPI *GetEnumObject)(IBidiRequestContainer *This,IEnumUnknown **ppenum);
148       HRESULT (WINAPI *GetRequestCount)(IBidiRequestContainer *This,ULONG *puCount);
149     END_INTERFACE
150   } IBidiRequestContainerVtbl;
151   struct IBidiRequestContainer {
152     CONST_VTBL struct IBidiRequestContainerVtbl *lpVtbl;
153   };
154 #ifdef COBJMACROS
155 #define IBidiRequestContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
156 #define IBidiRequestContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
157 #define IBidiRequestContainer_Release(This) (This)->lpVtbl->Release(This)
158 #define IBidiRequestContainer_AddRequest(This,pRequest) (This)->lpVtbl->AddRequest(This,pRequest)
159 #define IBidiRequestContainer_GetEnumObject(This,ppenum) (This)->lpVtbl->GetEnumObject(This,ppenum)
160 #define IBidiRequestContainer_GetRequestCount(This,puCount) (This)->lpVtbl->GetRequestCount(This,puCount)
161 #endif
162 #endif
163   HRESULT WINAPI IBidiRequestContainer_AddRequest_Proxy(IBidiRequestContainer *This,IBidiRequest *pRequest);
164   void __RPC_STUB IBidiRequestContainer_AddRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
165   HRESULT WINAPI IBidiRequestContainer_GetEnumObject_Proxy(IBidiRequestContainer *This,IEnumUnknown **ppenum);
166   void __RPC_STUB IBidiRequestContainer_GetEnumObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
167   HRESULT WINAPI IBidiRequestContainer_GetRequestCount_Proxy(IBidiRequestContainer *This,ULONG *puCount);
168   void __RPC_STUB IBidiRequestContainer_GetRequestCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
169 #endif
170 
171 #ifndef __IBidiSpl_INTERFACE_DEFINED__
172 #define __IBidiSpl_INTERFACE_DEFINED__
173   EXTERN_C const IID IID_IBidiSpl;
174 #if defined(__cplusplus) && !defined(CINTERFACE)
175   struct IBidiSpl : public IUnknown {
176   public:
177     virtual HRESULT WINAPI BindDevice(const LPCWSTR pszDeviceName,const DWORD dwAccess) = 0;
178     virtual HRESULT WINAPI UnbindDevice(void) = 0;
179     virtual HRESULT WINAPI SendRecv(const LPCWSTR pszAction,IBidiRequest *pRequest) = 0;
180     virtual HRESULT WINAPI MultiSendRecv(const LPCWSTR pszAction,IBidiRequestContainer *pRequestContainer) = 0;
181   };
182 #else
183   typedef struct IBidiSplVtbl {
184     BEGIN_INTERFACE
185       HRESULT (WINAPI *QueryInterface)(IBidiSpl *This,REFIID riid,void **ppvObject);
186       ULONG (WINAPI *AddRef)(IBidiSpl *This);
187       ULONG (WINAPI *Release)(IBidiSpl *This);
188       HRESULT (WINAPI *BindDevice)(IBidiSpl *This,const LPCWSTR pszDeviceName,const DWORD dwAccess);
189       HRESULT (WINAPI *UnbindDevice)(IBidiSpl *This);
190       HRESULT (WINAPI *SendRecv)(IBidiSpl *This,const LPCWSTR pszAction,IBidiRequest *pRequest);
191       HRESULT (WINAPI *MultiSendRecv)(IBidiSpl *This,const LPCWSTR pszAction,IBidiRequestContainer *pRequestContainer);
192     END_INTERFACE
193   } IBidiSplVtbl;
194   struct IBidiSpl {
195     CONST_VTBL struct IBidiSplVtbl *lpVtbl;
196   };
197 #ifdef COBJMACROS
198 #define IBidiSpl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
199 #define IBidiSpl_AddRef(This) (This)->lpVtbl->AddRef(This)
200 #define IBidiSpl_Release(This) (This)->lpVtbl->Release(This)
201 #define IBidiSpl_BindDevice(This,pszDeviceName,dwAccess) (This)->lpVtbl->BindDevice(This,pszDeviceName,dwAccess)
202 #define IBidiSpl_UnbindDevice(This) (This)->lpVtbl->UnbindDevice(This)
203 #define IBidiSpl_SendRecv(This,pszAction,pRequest) (This)->lpVtbl->SendRecv(This,pszAction,pRequest)
204 #define IBidiSpl_MultiSendRecv(This,pszAction,pRequestContainer) (This)->lpVtbl->MultiSendRecv(This,pszAction,pRequestContainer)
205 #endif
206 #endif
207   HRESULT WINAPI IBidiSpl_BindDevice_Proxy(IBidiSpl *This,const LPCWSTR pszDeviceName,const DWORD dwAccess);
208   void __RPC_STUB IBidiSpl_BindDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
209   HRESULT WINAPI IBidiSpl_UnbindDevice_Proxy(IBidiSpl *This);
210   void __RPC_STUB IBidiSpl_UnbindDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
211   HRESULT WINAPI IBidiSpl_SendRecv_Proxy(IBidiSpl *This,const LPCWSTR pszAction,IBidiRequest *pRequest);
212   void __RPC_STUB IBidiSpl_SendRecv_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
213   HRESULT WINAPI IBidiSpl_MultiSendRecv_Proxy(IBidiSpl *This,const LPCWSTR pszAction,IBidiRequestContainer *pRequestContainer);
214   void __RPC_STUB IBidiSpl_MultiSendRecv_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
215 #endif
216 
217 #ifndef __IBidiSplLib_LIBRARY_DEFINED__
218 #define __IBidiSplLib_LIBRARY_DEFINED__
219   EXTERN_C const IID LIBID_IBidiSplLib;
220   EXTERN_C const CLSID CLSID_BidiRequest;
221 #ifdef __cplusplus
222   class BidiRequest;
223 #endif
224   EXTERN_C const CLSID CLSID_BidiRequestContainer;
225 #ifdef __cplusplus
226   class BidiRequestContainer;
227 #endif
228   EXTERN_C const CLSID CLSID_BidiSpl;
229 #ifdef __cplusplus
230   class BidiSpl;
231 #endif
232 #endif
233 
234 #ifdef __cplusplus
235 }
236 #endif
237 #endif
238