/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error This stub requires an updated version of <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif
#ifndef __msp_h__
#define __msp_h__
#ifndef __ITPluggableTerminalEventSink_FWD_DEFINED__
#define __ITPluggableTerminalEventSink_FWD_DEFINED__
typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink;
#endif
#ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
#define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration;
#endif
#ifndef __ITMSPAddress_FWD_DEFINED__
#define __ITMSPAddress_FWD_DEFINED__
typedef struct ITMSPAddress ITMSPAddress;
#endif
#include "tapi3if.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __MIDL_user_allocate_free_DEFINED__
#define __MIDL_user_allocate_free_DEFINED__
void *__RPC_API MIDL_user_allocate(size_t);
void __RPC_API MIDL_user_free(void *);
#endif
typedef __LONG32 *MSP_HANDLE;
typedef enum __MIDL___MIDL_itf_msp_0000_0001 {
ADDRESS_TERMINAL_AVAILABLE = 0,ADDRESS_TERMINAL_UNAVAILABLE
} MSP_ADDRESS_EVENT;
typedef enum __MIDL___MIDL_itf_msp_0000_0002 {
CALL_NEW_STREAM = 0,CALL_STREAM_FAIL,CALL_TERMINAL_FAIL,
CALL_STREAM_NOT_USED,CALL_STREAM_ACTIVE,CALL_STREAM_INACTIVE
} MSP_CALL_EVENT;
typedef enum __MIDL___MIDL_itf_msp_0000_0003 {
CALL_CAUSE_UNKNOWN = 0,CALL_CAUSE_BAD_DEVICE,CALL_CAUSE_CONNECT_FAIL,
CALL_CAUSE_LOCAL_REQUEST,CALL_CAUSE_REMOTE_REQUEST,
CALL_CAUSE_MEDIA_TIMEOUT,CALL_CAUSE_MEDIA_RECOVERED,
CALL_CAUSE_QUALITY_OF_SERVICE
} MSP_CALL_EVENT_CAUSE;
typedef enum __MIDL___MIDL_itf_msp_0000_0004 {
ME_ADDRESS_EVENT = 0,ME_CALL_EVENT,ME_TSP_DATA,ME_PRIVATE_EVENT,
ME_ASR_TERMINAL_EVENT,ME_TTS_TERMINAL_EVENT,ME_FILE_TERMINAL_EVENT,
ME_TONE_TERMINAL_EVENT
} MSP_EVENT;
typedef struct __MIDL___MIDL_itf_msp_0000_0005 {
DWORD dwSize;
MSP_EVENT Event;
MSP_HANDLE hCall;
__C89_NAMELESS union {
struct {
MSP_ADDRESS_EVENT Type;
ITTerminal *pTerminal;
} MSP_ADDRESS_EVENT_INFO;
struct {
MSP_CALL_EVENT Type;
MSP_CALL_EVENT_CAUSE Cause;
ITStream *pStream;
ITTerminal *pTerminal;
HRESULT hrError;
} MSP_CALL_EVENT_INFO;
struct {
DWORD dwBufferSize;
BYTE pBuffer[1 ];
} MSP_TSP_DATA;
struct {
IDispatch *pEvent;
__LONG32 lEventCode;
} MSP_PRIVATE_EVENT_INFO;
struct {
ITTerminal *pParentFileTerminal;
ITFileTrack *pFileTrack;
TERMINAL_MEDIA_STATE TerminalMediaState;
FT_STATE_EVENT_CAUSE ftecEventCause;
HRESULT hrErrorCode;
} MSP_FILE_TERMINAL_EVENT_INFO;
struct {
ITTerminal *pASRTerminal;
HRESULT hrErrorCode;
} MSP_ASR_TERMINAL_EVENT_INFO;
struct {
ITTerminal *pTTSTerminal;
HRESULT hrErrorCode;
} MSP_TTS_TERMINAL_EVENT_INFO;
struct {
ITTerminal *pToneTerminal;
HRESULT hrErrorCode;
} MSP_TONE_TERMINAL_EVENT_INFO;
};
} MSP_EVENT_INFO;
extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_s_ifspec;
#ifndef __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
#define __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
EXTERN_C const IID IID_ITPluggableTerminalEventSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ITPluggableTerminalEventSink : public IUnknown {
public:
virtual HRESULT WINAPI FireEvent(const MSP_EVENT_INFO *pMspEventInfo) = 0;
};
#else
typedef struct ITPluggableTerminalEventSinkVtbl {
BEGIN_INTERFACE
HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSink *This,REFIID riid,void **ppvObject);
ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSink *This);
ULONG (WINAPI *Release)(ITPluggableTerminalEventSink *This);
HRESULT (WINAPI *FireEvent)(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
END_INTERFACE
} ITPluggableTerminalEventSinkVtbl;
struct ITPluggableTerminalEventSink {
CONST_VTBL struct ITPluggableTerminalEventSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ITPluggableTerminalEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITPluggableTerminalEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITPluggableTerminalEventSink_Release(This) (This)->lpVtbl->Release(This)
#define ITPluggableTerminalEventSink_FireEvent(This,pMspEventInfo) (This)->lpVtbl->FireEvent(This,pMspEventInfo)
#endif
#endif
HRESULT WINAPI ITPluggableTerminalEventSink_FireEvent_Proxy(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
void __RPC_STUB ITPluggableTerminalEventSink_FireEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
#ifndef __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
#define __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
EXTERN_C const IID IID_ITPluggableTerminalEventSinkRegistration;
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ITPluggableTerminalEventSinkRegistration : public IUnknown {
public:
virtual HRESULT WINAPI RegisterSink(ITPluggableTerminalEventSink *pEventSink) = 0;
virtual HRESULT WINAPI UnregisterSink(void) = 0;
};
#else
typedef struct ITPluggableTerminalEventSinkRegistrationVtbl {
BEGIN_INTERFACE
HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSinkRegistration *This,REFIID riid,void **ppvObject);
ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSinkRegistration *This);
ULONG (WINAPI *Release)(ITPluggableTerminalEventSinkRegistration *This);
HRESULT (WINAPI *RegisterSink)(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
HRESULT (WINAPI *UnregisterSink)(ITPluggableTerminalEventSinkRegistration *This);
END_INTERFACE
} ITPluggableTerminalEventSinkRegistrationVtbl;
struct ITPluggableTerminalEventSinkRegistration {
CONST_VTBL struct ITPluggableTerminalEventSinkRegistrationVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ITPluggableTerminalEventSinkRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITPluggableTerminalEventSinkRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITPluggableTerminalEventSinkRegistration_Release(This) (This)->lpVtbl->Release(This)
#define ITPluggableTerminalEventSinkRegistration_RegisterSink(This,pEventSink) (This)->lpVtbl->RegisterSink(This,pEventSink)
#define ITPluggableTerminalEventSinkRegistration_UnregisterSink(This) (This)->lpVtbl->UnregisterSink(This)
#endif
#endif
HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_RegisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
void __RPC_STUB ITPluggableTerminalEventSinkRegistration_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_UnregisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This);
void __RPC_STUB ITPluggableTerminalEventSinkRegistration_UnregisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
#ifndef __ITMSPAddress_INTERFACE_DEFINED__
#define __ITMSPAddress_INTERFACE_DEFINED__
EXTERN_C const IID IID_ITMSPAddress;
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ITMSPAddress : public IUnknown {
public:
virtual HRESULT WINAPI Initialize(MSP_HANDLE hEvent) = 0;
virtual HRESULT WINAPI Shutdown(void) = 0;
virtual HRESULT WINAPI CreateMSPCall(MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl) = 0;
virtual HRESULT WINAPI ShutdownMSPCall(IUnknown *pStreamControl) = 0;
virtual HRESULT WINAPI ReceiveTSPData(IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize) = 0;
virtual HRESULT WINAPI GetEvent(DWORD *pdwSize,byte *pEventBuffer) = 0;
};
#else
typedef struct ITMSPAddressVtbl {
BEGIN_INTERFACE
HRESULT (WINAPI *QueryInterface)(ITMSPAddress *This,REFIID riid,void **ppvObject);
ULONG (WINAPI *AddRef)(ITMSPAddress *This);
ULONG (WINAPI *Release)(ITMSPAddress *This);
HRESULT (WINAPI *Initialize)(ITMSPAddress *This,MSP_HANDLE hEvent);
HRESULT (WINAPI *Shutdown)(ITMSPAddress *This);
HRESULT (WINAPI *CreateMSPCall)(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
HRESULT (WINAPI *ShutdownMSPCall)(ITMSPAddress *This,IUnknown *pStreamControl);
HRESULT (WINAPI *ReceiveTSPData)(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
HRESULT (WINAPI *GetEvent)(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
END_INTERFACE
} ITMSPAddressVtbl;
struct ITMSPAddress {
CONST_VTBL struct ITMSPAddressVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ITMSPAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITMSPAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITMSPAddress_Release(This) (This)->lpVtbl->Release(This)
#define ITMSPAddress_Initialize(This,hEvent) (This)->lpVtbl->Initialize(This,hEvent)
#define ITMSPAddress_Shutdown(This) (This)->lpVtbl->Shutdown(This)
#define ITMSPAddress_CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) (This)->lpVtbl->CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl)
#define ITMSPAddress_ShutdownMSPCall(This,pStreamControl) (This)->lpVtbl->ShutdownMSPCall(This,pStreamControl)
#define ITMSPAddress_ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) (This)->lpVtbl->ReceiveTSPData(This,pMSPCall,pBuffer,dwSize)
#define ITMSPAddress_GetEvent(This,pdwSize,pEventBuffer) (This)->lpVtbl->GetEvent(This,pdwSize,pEventBuffer)
#endif
#endif
HRESULT WINAPI ITMSPAddress_Initialize_Proxy(ITMSPAddress *This,MSP_HANDLE hEvent);
void __RPC_STUB ITMSPAddress_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITMSPAddress_Shutdown_Proxy(ITMSPAddress *This);
void __RPC_STUB ITMSPAddress_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITMSPAddress_CreateMSPCall_Proxy(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
void __RPC_STUB ITMSPAddress_CreateMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITMSPAddress_ShutdownMSPCall_Proxy(ITMSPAddress *This,IUnknown *pStreamControl);
void __RPC_STUB ITMSPAddress_ShutdownMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITMSPAddress_ReceiveTSPData_Proxy(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
void __RPC_STUB ITMSPAddress_ReceiveTSPData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI ITMSPAddress_GetEvent_Proxy(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
void __RPC_STUB ITMSPAddress_GetEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
#ifdef __cplusplus
}
#endif
#endif