msp.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef __RPCNDR_H_VERSION__
  12. #error This stub requires an updated version of <rpcndr.h>
  13. #endif
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif
  18. #ifndef __msp_h__
  19. #define __msp_h__
  20. #ifndef __ITPluggableTerminalEventSink_FWD_DEFINED__
  21. #define __ITPluggableTerminalEventSink_FWD_DEFINED__
  22. typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink;
  23. #endif
  24. #ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
  25. #define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
  26. typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration;
  27. #endif
  28. #ifndef __ITMSPAddress_FWD_DEFINED__
  29. #define __ITMSPAddress_FWD_DEFINED__
  30. typedef struct ITMSPAddress ITMSPAddress;
  31. #endif
  32. #include "tapi3if.h"
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. #ifndef __MIDL_user_allocate_free_DEFINED__
  37. #define __MIDL_user_allocate_free_DEFINED__
  38. void *__RPC_API MIDL_user_allocate(size_t);
  39. void __RPC_API MIDL_user_free(void *);
  40. #endif
  41. typedef __LONG32 *MSP_HANDLE;
  42. typedef enum __MIDL___MIDL_itf_msp_0000_0001 {
  43. ADDRESS_TERMINAL_AVAILABLE = 0,ADDRESS_TERMINAL_UNAVAILABLE
  44. } MSP_ADDRESS_EVENT;
  45. typedef enum __MIDL___MIDL_itf_msp_0000_0002 {
  46. CALL_NEW_STREAM = 0,CALL_STREAM_FAIL,CALL_TERMINAL_FAIL,
  47. CALL_STREAM_NOT_USED,CALL_STREAM_ACTIVE,CALL_STREAM_INACTIVE
  48. } MSP_CALL_EVENT;
  49. typedef enum __MIDL___MIDL_itf_msp_0000_0003 {
  50. CALL_CAUSE_UNKNOWN = 0,CALL_CAUSE_BAD_DEVICE,CALL_CAUSE_CONNECT_FAIL,
  51. CALL_CAUSE_LOCAL_REQUEST,CALL_CAUSE_REMOTE_REQUEST,
  52. CALL_CAUSE_MEDIA_TIMEOUT,CALL_CAUSE_MEDIA_RECOVERED,
  53. CALL_CAUSE_QUALITY_OF_SERVICE
  54. } MSP_CALL_EVENT_CAUSE;
  55. typedef enum __MIDL___MIDL_itf_msp_0000_0004 {
  56. ME_ADDRESS_EVENT = 0,ME_CALL_EVENT,ME_TSP_DATA,ME_PRIVATE_EVENT,
  57. ME_ASR_TERMINAL_EVENT,ME_TTS_TERMINAL_EVENT,ME_FILE_TERMINAL_EVENT,
  58. ME_TONE_TERMINAL_EVENT
  59. } MSP_EVENT;
  60. typedef struct __MIDL___MIDL_itf_msp_0000_0005 {
  61. DWORD dwSize;
  62. MSP_EVENT Event;
  63. MSP_HANDLE hCall;
  64. __C89_NAMELESS union {
  65. struct {
  66. MSP_ADDRESS_EVENT Type;
  67. ITTerminal *pTerminal;
  68. } MSP_ADDRESS_EVENT_INFO;
  69. struct {
  70. MSP_CALL_EVENT Type;
  71. MSP_CALL_EVENT_CAUSE Cause;
  72. ITStream *pStream;
  73. ITTerminal *pTerminal;
  74. HRESULT hrError;
  75. } MSP_CALL_EVENT_INFO;
  76. struct {
  77. DWORD dwBufferSize;
  78. BYTE pBuffer[1 ];
  79. } MSP_TSP_DATA;
  80. struct {
  81. IDispatch *pEvent;
  82. __LONG32 lEventCode;
  83. } MSP_PRIVATE_EVENT_INFO;
  84. struct {
  85. ITTerminal *pParentFileTerminal;
  86. ITFileTrack *pFileTrack;
  87. TERMINAL_MEDIA_STATE TerminalMediaState;
  88. FT_STATE_EVENT_CAUSE ftecEventCause;
  89. HRESULT hrErrorCode;
  90. } MSP_FILE_TERMINAL_EVENT_INFO;
  91. struct {
  92. ITTerminal *pASRTerminal;
  93. HRESULT hrErrorCode;
  94. } MSP_ASR_TERMINAL_EVENT_INFO;
  95. struct {
  96. ITTerminal *pTTSTerminal;
  97. HRESULT hrErrorCode;
  98. } MSP_TTS_TERMINAL_EVENT_INFO;
  99. struct {
  100. ITTerminal *pToneTerminal;
  101. HRESULT hrErrorCode;
  102. } MSP_TONE_TERMINAL_EVENT_INFO;
  103. };
  104. } MSP_EVENT_INFO;
  105. extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_c_ifspec;
  106. extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_s_ifspec;
  107. #ifndef __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
  108. #define __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
  109. EXTERN_C const IID IID_ITPluggableTerminalEventSink;
  110. #if defined(__cplusplus) && !defined(CINTERFACE)
  111. struct ITPluggableTerminalEventSink : public IUnknown {
  112. public:
  113. virtual HRESULT WINAPI FireEvent(const MSP_EVENT_INFO *pMspEventInfo) = 0;
  114. };
  115. #else
  116. typedef struct ITPluggableTerminalEventSinkVtbl {
  117. BEGIN_INTERFACE
  118. HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSink *This,REFIID riid,void **ppvObject);
  119. ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSink *This);
  120. ULONG (WINAPI *Release)(ITPluggableTerminalEventSink *This);
  121. HRESULT (WINAPI *FireEvent)(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
  122. END_INTERFACE
  123. } ITPluggableTerminalEventSinkVtbl;
  124. struct ITPluggableTerminalEventSink {
  125. CONST_VTBL struct ITPluggableTerminalEventSinkVtbl *lpVtbl;
  126. };
  127. #ifdef COBJMACROS
  128. #define ITPluggableTerminalEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  129. #define ITPluggableTerminalEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  130. #define ITPluggableTerminalEventSink_Release(This) (This)->lpVtbl->Release(This)
  131. #define ITPluggableTerminalEventSink_FireEvent(This,pMspEventInfo) (This)->lpVtbl->FireEvent(This,pMspEventInfo)
  132. #endif
  133. #endif
  134. HRESULT WINAPI ITPluggableTerminalEventSink_FireEvent_Proxy(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
  135. void __RPC_STUB ITPluggableTerminalEventSink_FireEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  136. #endif
  137. #ifndef __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
  138. #define __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
  139. EXTERN_C const IID IID_ITPluggableTerminalEventSinkRegistration;
  140. #if defined(__cplusplus) && !defined(CINTERFACE)
  141. struct ITPluggableTerminalEventSinkRegistration : public IUnknown {
  142. public:
  143. virtual HRESULT WINAPI RegisterSink(ITPluggableTerminalEventSink *pEventSink) = 0;
  144. virtual HRESULT WINAPI UnregisterSink(void) = 0;
  145. };
  146. #else
  147. typedef struct ITPluggableTerminalEventSinkRegistrationVtbl {
  148. BEGIN_INTERFACE
  149. HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSinkRegistration *This,REFIID riid,void **ppvObject);
  150. ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSinkRegistration *This);
  151. ULONG (WINAPI *Release)(ITPluggableTerminalEventSinkRegistration *This);
  152. HRESULT (WINAPI *RegisterSink)(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
  153. HRESULT (WINAPI *UnregisterSink)(ITPluggableTerminalEventSinkRegistration *This);
  154. END_INTERFACE
  155. } ITPluggableTerminalEventSinkRegistrationVtbl;
  156. struct ITPluggableTerminalEventSinkRegistration {
  157. CONST_VTBL struct ITPluggableTerminalEventSinkRegistrationVtbl *lpVtbl;
  158. };
  159. #ifdef COBJMACROS
  160. #define ITPluggableTerminalEventSinkRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  161. #define ITPluggableTerminalEventSinkRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
  162. #define ITPluggableTerminalEventSinkRegistration_Release(This) (This)->lpVtbl->Release(This)
  163. #define ITPluggableTerminalEventSinkRegistration_RegisterSink(This,pEventSink) (This)->lpVtbl->RegisterSink(This,pEventSink)
  164. #define ITPluggableTerminalEventSinkRegistration_UnregisterSink(This) (This)->lpVtbl->UnregisterSink(This)
  165. #endif
  166. #endif
  167. HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_RegisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
  168. void __RPC_STUB ITPluggableTerminalEventSinkRegistration_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  169. HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_UnregisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This);
  170. void __RPC_STUB ITPluggableTerminalEventSinkRegistration_UnregisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  171. #endif
  172. #ifndef __ITMSPAddress_INTERFACE_DEFINED__
  173. #define __ITMSPAddress_INTERFACE_DEFINED__
  174. EXTERN_C const IID IID_ITMSPAddress;
  175. #if defined(__cplusplus) && !defined(CINTERFACE)
  176. struct ITMSPAddress : public IUnknown {
  177. public:
  178. virtual HRESULT WINAPI Initialize(MSP_HANDLE hEvent) = 0;
  179. virtual HRESULT WINAPI Shutdown(void) = 0;
  180. virtual HRESULT WINAPI CreateMSPCall(MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl) = 0;
  181. virtual HRESULT WINAPI ShutdownMSPCall(IUnknown *pStreamControl) = 0;
  182. virtual HRESULT WINAPI ReceiveTSPData(IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize) = 0;
  183. virtual HRESULT WINAPI GetEvent(DWORD *pdwSize,byte *pEventBuffer) = 0;
  184. };
  185. #else
  186. typedef struct ITMSPAddressVtbl {
  187. BEGIN_INTERFACE
  188. HRESULT (WINAPI *QueryInterface)(ITMSPAddress *This,REFIID riid,void **ppvObject);
  189. ULONG (WINAPI *AddRef)(ITMSPAddress *This);
  190. ULONG (WINAPI *Release)(ITMSPAddress *This);
  191. HRESULT (WINAPI *Initialize)(ITMSPAddress *This,MSP_HANDLE hEvent);
  192. HRESULT (WINAPI *Shutdown)(ITMSPAddress *This);
  193. HRESULT (WINAPI *CreateMSPCall)(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
  194. HRESULT (WINAPI *ShutdownMSPCall)(ITMSPAddress *This,IUnknown *pStreamControl);
  195. HRESULT (WINAPI *ReceiveTSPData)(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
  196. HRESULT (WINAPI *GetEvent)(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
  197. END_INTERFACE
  198. } ITMSPAddressVtbl;
  199. struct ITMSPAddress {
  200. CONST_VTBL struct ITMSPAddressVtbl *lpVtbl;
  201. };
  202. #ifdef COBJMACROS
  203. #define ITMSPAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  204. #define ITMSPAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
  205. #define ITMSPAddress_Release(This) (This)->lpVtbl->Release(This)
  206. #define ITMSPAddress_Initialize(This,hEvent) (This)->lpVtbl->Initialize(This,hEvent)
  207. #define ITMSPAddress_Shutdown(This) (This)->lpVtbl->Shutdown(This)
  208. #define ITMSPAddress_CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) (This)->lpVtbl->CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl)
  209. #define ITMSPAddress_ShutdownMSPCall(This,pStreamControl) (This)->lpVtbl->ShutdownMSPCall(This,pStreamControl)
  210. #define ITMSPAddress_ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) (This)->lpVtbl->ReceiveTSPData(This,pMSPCall,pBuffer,dwSize)
  211. #define ITMSPAddress_GetEvent(This,pdwSize,pEventBuffer) (This)->lpVtbl->GetEvent(This,pdwSize,pEventBuffer)
  212. #endif
  213. #endif
  214. HRESULT WINAPI ITMSPAddress_Initialize_Proxy(ITMSPAddress *This,MSP_HANDLE hEvent);
  215. void __RPC_STUB ITMSPAddress_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  216. HRESULT WINAPI ITMSPAddress_Shutdown_Proxy(ITMSPAddress *This);
  217. void __RPC_STUB ITMSPAddress_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  218. HRESULT WINAPI ITMSPAddress_CreateMSPCall_Proxy(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
  219. void __RPC_STUB ITMSPAddress_CreateMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  220. HRESULT WINAPI ITMSPAddress_ShutdownMSPCall_Proxy(ITMSPAddress *This,IUnknown *pStreamControl);
  221. void __RPC_STUB ITMSPAddress_ShutdownMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  222. HRESULT WINAPI ITMSPAddress_ReceiveTSPData_Proxy(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
  223. void __RPC_STUB ITMSPAddress_ReceiveTSPData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  224. HRESULT WINAPI ITMSPAddress_GetEvent_Proxy(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
  225. void __RPC_STUB ITMSPAddress_GetEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  226. #endif
  227. #ifdef __cplusplus
  228. }
  229. #endif
  230. #endif