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__ 27typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink; 28#endif 29 30#ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__ 31#define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__ 32typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration; 33#endif 34 35#ifndef __ITMSPAddress_FWD_DEFINED__ 36#define __ITMSPAddress_FWD_DEFINED__ 37typedef struct ITMSPAddress ITMSPAddress; 38#endif 39 40#include "tapi3if.h" 41 42#ifdef __cplusplus 43extern "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