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