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 __ipmsp_h__
23#define __ipmsp_h__
24
25#ifndef __ITParticipant_FWD_DEFINED__
26#define __ITParticipant_FWD_DEFINED__
27typedef struct ITParticipant ITParticipant;
28#endif
29
30#ifndef __ITFormatControl_FWD_DEFINED__
31#define __ITFormatControl_FWD_DEFINED__
32typedef struct ITFormatControl ITFormatControl;
33#endif
34
35#ifndef __ITStreamQualityControl_FWD_DEFINED__
36#define __ITStreamQualityControl_FWD_DEFINED__
37typedef struct ITStreamQualityControl ITStreamQualityControl;
38#endif
39
40#ifndef __ITCallQualityControl_FWD_DEFINED__
41#define __ITCallQualityControl_FWD_DEFINED__
42typedef struct ITCallQualityControl ITCallQualityControl;
43#endif
44
45#ifndef __ITAudioDeviceControl_FWD_DEFINED__
46#define __ITAudioDeviceControl_FWD_DEFINED__
47typedef struct ITAudioDeviceControl ITAudioDeviceControl;
48#endif
49
50#ifndef __ITAudioSettings_FWD_DEFINED__
51#define __ITAudioSettings_FWD_DEFINED__
52typedef struct ITAudioSettings ITAudioSettings;
53#endif
54
55#ifndef __ITQOSApplicationID_FWD_DEFINED__
56#define __ITQOSApplicationID_FWD_DEFINED__
57typedef struct ITQOSApplicationID ITQOSApplicationID;
58#endif
59
60#include "tapi3if.h"
61
62#ifdef __cplusplus
63extern "C"{
64#endif
65
66#ifndef __MIDL_user_allocate_free_DEFINED__
67#define __MIDL_user_allocate_free_DEFINED__
68  void *__RPC_API MIDL_user_allocate(size_t);
69  void __RPC_API MIDL_user_free(void *);
70#endif
71
72#define MAX_PARTICIPANT_TYPED_INFO_LENGTH (256)
73
74#define MAX_QOS_ID_LEN (128)
75
76  typedef enum PARTICIPANT_TYPED_INFO {
77    PTI_CANONICALNAME = 0,PTI_NAME,PTI_EMAILADDRESS,PTI_PHONENUMBER,
78    PTI_LOCATION,PTI_TOOL,PTI_NOTES,PTI_PRIVATE
79  } PARTICIPANT_TYPED_INFO;
80
81  typedef enum PARTICIPANT_EVENT {
82    PE_NEW_PARTICIPANT = 0,PE_INFO_CHANGE,PE_PARTICIPANT_LEAVE,
83    PE_NEW_SUBSTREAM,PE_SUBSTREAM_REMOVED,PE_SUBSTREAM_MAPPED,
84    PE_SUBSTREAM_UNMAPPED,PE_PARTICIPANT_TIMEOUT,PE_PARTICIPANT_RECOVERED,
85    PE_PARTICIPANT_ACTIVE,PE_PARTICIPANT_INACTIVE,PE_LOCAL_TALKING,
86    PE_LOCAL_SILENT
87  } PARTICIPANT_EVENT;
88
89  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0000_v0_0_c_ifspec;
90  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0000_v0_0_s_ifspec;
91
92#ifndef __ITParticipant_INTERFACE_DEFINED__
93#define __ITParticipant_INTERFACE_DEFINED__
94  EXTERN_C const IID IID_ITParticipant;
95#if defined(__cplusplus) && !defined(CINTERFACE)
96  struct ITParticipant : public IDispatch {
97  public:
98    virtual HRESULT WINAPI get_ParticipantTypedInfo(PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo) = 0;
99    virtual HRESULT WINAPI get_MediaTypes(__LONG32 *plMediaType) = 0;
100    virtual HRESULT WINAPI put_Status(ITStream *pITStream,VARIANT_BOOL fEnable) = 0;
101    virtual HRESULT WINAPI get_Status(ITStream *pITStream,VARIANT_BOOL *pStatus) = 0;
102    virtual HRESULT WINAPI get_Streams(VARIANT *pVariant) = 0;
103    virtual HRESULT WINAPI EnumerateStreams(IEnumStream **ppEnumStream) = 0;
104  };
105#else
106  typedef struct ITParticipantVtbl {
107    BEGIN_INTERFACE
108      HRESULT (WINAPI *QueryInterface)(ITParticipant *This,REFIID riid,void **ppvObject);
109      ULONG (WINAPI *AddRef)(ITParticipant *This);
110      ULONG (WINAPI *Release)(ITParticipant *This);
111      HRESULT (WINAPI *GetTypeInfoCount)(ITParticipant *This,UINT *pctinfo);
112      HRESULT (WINAPI *GetTypeInfo)(ITParticipant *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
113      HRESULT (WINAPI *GetIDsOfNames)(ITParticipant *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
114      HRESULT (WINAPI *Invoke)(ITParticipant *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
115      HRESULT (WINAPI *get_ParticipantTypedInfo)(ITParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo);
116      HRESULT (WINAPI *get_MediaTypes)(ITParticipant *This,__LONG32 *plMediaType);
117      HRESULT (WINAPI *put_Status)(ITParticipant *This,ITStream *pITStream,VARIANT_BOOL fEnable);
118      HRESULT (WINAPI *get_Status)(ITParticipant *This,ITStream *pITStream,VARIANT_BOOL *pStatus);
119      HRESULT (WINAPI *get_Streams)(ITParticipant *This,VARIANT *pVariant);
120      HRESULT (WINAPI *EnumerateStreams)(ITParticipant *This,IEnumStream **ppEnumStream);
121    END_INTERFACE
122  } ITParticipantVtbl;
123  struct ITParticipant {
124    CONST_VTBL struct ITParticipantVtbl *lpVtbl;
125  };
126#ifdef COBJMACROS
127#define ITParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
128#define ITParticipant_AddRef(This) (This)->lpVtbl->AddRef(This)
129#define ITParticipant_Release(This) (This)->lpVtbl->Release(This)
130#define ITParticipant_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
131#define ITParticipant_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
132#define ITParticipant_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
133#define ITParticipant_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
134#define ITParticipant_get_ParticipantTypedInfo(This,InfoType,ppInfo) (This)->lpVtbl->get_ParticipantTypedInfo(This,InfoType,ppInfo)
135#define ITParticipant_get_MediaTypes(This,plMediaType) (This)->lpVtbl->get_MediaTypes(This,plMediaType)
136#define ITParticipant_put_Status(This,pITStream,fEnable) (This)->lpVtbl->put_Status(This,pITStream,fEnable)
137#define ITParticipant_get_Status(This,pITStream,pStatus) (This)->lpVtbl->get_Status(This,pITStream,pStatus)
138#define ITParticipant_get_Streams(This,pVariant) (This)->lpVtbl->get_Streams(This,pVariant)
139#define ITParticipant_EnumerateStreams(This,ppEnumStream) (This)->lpVtbl->EnumerateStreams(This,ppEnumStream)
140#endif
141#endif
142  HRESULT WINAPI ITParticipant_get_ParticipantTypedInfo_Proxy(ITParticipant *This,PARTICIPANT_TYPED_INFO InfoType,BSTR *ppInfo);
143  void __RPC_STUB ITParticipant_get_ParticipantTypedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
144  HRESULT WINAPI ITParticipant_get_MediaTypes_Proxy(ITParticipant *This,__LONG32 *plMediaType);
145  void __RPC_STUB ITParticipant_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
146  HRESULT WINAPI ITParticipant_put_Status_Proxy(ITParticipant *This,ITStream *pITStream,VARIANT_BOOL fEnable);
147  void __RPC_STUB ITParticipant_put_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
148  HRESULT WINAPI ITParticipant_get_Status_Proxy(ITParticipant *This,ITStream *pITStream,VARIANT_BOOL *pStatus);
149  void __RPC_STUB ITParticipant_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
150  HRESULT WINAPI ITParticipant_get_Streams_Proxy(ITParticipant *This,VARIANT *pVariant);
151  void __RPC_STUB ITParticipant_get_Streams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
152  HRESULT WINAPI ITParticipant_EnumerateStreams_Proxy(ITParticipant *This,IEnumStream **ppEnumStream);
153  void __RPC_STUB ITParticipant_EnumerateStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
154#endif
155
156#ifndef STREAM_INTERFACES_DEFINED
157#define STREAM_INTERFACES_DEFINED
158#define MAX_DESCRIPTION_LEN (256)
159  typedef struct _TAPI_AUDIO_STREAM_CONFIG_CAPS {
160    WCHAR Description[256 ];
161    ULONG MinimumChannels;
162    ULONG MaximumChannels;
163    ULONG ChannelsGranularity;
164    ULONG MinimumBitsPerSample;
165    ULONG MaximumBitsPerSample;
166    ULONG BitsPerSampleGranularity;
167    ULONG MinimumSampleFrequency;
168    ULONG MaximumSampleFrequency;
169    ULONG SampleFrequencyGranularity;
170    ULONG MinimumAvgBytesPerSec;
171    ULONG MaximumAvgBytesPerSec;
172    ULONG AvgBytesPerSecGranularity;
173  } TAPI_AUDIO_STREAM_CONFIG_CAPS;
174
175  typedef struct _TAPI_AUDIO_STREAM_CONFIG_CAPS *PTAPI_AUDIO_STREAM_CONFIG_CAPS;
176
177  typedef struct _TAPI_VIDEO_STREAM_CONFIG_CAPS {
178    WCHAR Description[256 ];
179    ULONG VideoStandard;
180    SIZE InputSize;
181    SIZE MinCroppingSize;
182    SIZE MaxCroppingSize;
183    int CropGranularityX;
184    int CropGranularityY;
185    int CropAlignX;
186    int CropAlignY;
187    SIZE MinOutputSize;
188    SIZE MaxOutputSize;
189    int OutputGranularityX;
190    int OutputGranularityY;
191    int StretchTapsX;
192    int StretchTapsY;
193    int ShrinkTapsX;
194    int ShrinkTapsY;
195    LONGLONG MinFrameInterval;
196    LONGLONG MaxFrameInterval;
197    LONG MinBitsPerSecond;
198    LONG MaxBitsPerSecond;
199  } TAPI_VIDEO_STREAM_CONFIG_CAPS;
200
201  typedef struct _TAPI_VIDEO_STREAM_CONFIG_CAPS *PTAPI_VIDEO_STREAM_CONFIG_CAPS;
202
203  typedef enum tagStreamConfigCapsType {
204    AudioStreamConfigCaps = 0,VideoStreamConfigCaps = AudioStreamConfigCaps + 1
205  } StreamConfigCapsType;
206
207  typedef struct tagTAPI_STREAM_CONFIG_CAPS {
208    StreamConfigCapsType CapsType;
209    __C89_NAMELESS union {
210      TAPI_VIDEO_STREAM_CONFIG_CAPS VideoCap;
211      TAPI_AUDIO_STREAM_CONFIG_CAPS AudioCap;
212    };
213  } TAPI_STREAM_CONFIG_CAPS;
214
215  typedef struct tagTAPI_STREAM_CONFIG_CAPS *PTAPI_STREAM_CONFIG_CAPS;
216
217  typedef enum tagTAPIControlFlags {
218    TAPIControl_Flags_None = 0,TAPIControl_Flags_Auto = 0x1,TAPIControl_Flags_Manual = 0x2
219  } TAPIControlFlags;
220
221  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0502_v0_0_c_ifspec;
222  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0502_v0_0_s_ifspec;
223
224#ifndef __ITFormatControl_INTERFACE_DEFINED__
225#define __ITFormatControl_INTERFACE_DEFINED__
226  EXTERN_C const IID IID_ITFormatControl;
227#if defined(__cplusplus) && !defined(CINTERFACE)
228  struct ITFormatControl : public IUnknown {
229  public:
230    virtual HRESULT WINAPI GetCurrentFormat(AM_MEDIA_TYPE **ppMediaType) = 0;
231    virtual HRESULT WINAPI ReleaseFormat(AM_MEDIA_TYPE *pMediaType) = 0;
232    virtual HRESULT WINAPI GetNumberOfCapabilities(DWORD *pdwCount) = 0;
233    virtual HRESULT WINAPI GetStreamCaps(DWORD dwIndex,AM_MEDIA_TYPE **ppMediaType,TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,WINBOOL *pfEnabled) = 0;
234    virtual HRESULT WINAPI ReOrderCapabilities(DWORD *pdwIndices,WINBOOL *pfEnabled,WINBOOL *pfPublicize,DWORD dwNumIndices) = 0;
235  };
236#else
237  typedef struct ITFormatControlVtbl {
238    BEGIN_INTERFACE
239      HRESULT (WINAPI *QueryInterface)(ITFormatControl *This,REFIID riid,void **ppvObject);
240      ULONG (WINAPI *AddRef)(ITFormatControl *This);
241      ULONG (WINAPI *Release)(ITFormatControl *This);
242      HRESULT (WINAPI *GetCurrentFormat)(ITFormatControl *This,AM_MEDIA_TYPE **ppMediaType);
243      HRESULT (WINAPI *ReleaseFormat)(ITFormatControl *This,AM_MEDIA_TYPE *pMediaType);
244      HRESULT (WINAPI *GetNumberOfCapabilities)(ITFormatControl *This,DWORD *pdwCount);
245      HRESULT (WINAPI *GetStreamCaps)(ITFormatControl *This,DWORD dwIndex,AM_MEDIA_TYPE **ppMediaType,TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,WINBOOL *pfEnabled);
246      HRESULT (WINAPI *ReOrderCapabilities)(ITFormatControl *This,DWORD *pdwIndices,WINBOOL *pfEnabled,WINBOOL *pfPublicize,DWORD dwNumIndices);
247    END_INTERFACE
248  } ITFormatControlVtbl;
249  struct ITFormatControl {
250    CONST_VTBL struct ITFormatControlVtbl *lpVtbl;
251  };
252#ifdef COBJMACROS
253#define ITFormatControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
254#define ITFormatControl_AddRef(This) (This)->lpVtbl->AddRef(This)
255#define ITFormatControl_Release(This) (This)->lpVtbl->Release(This)
256#define ITFormatControl_GetCurrentFormat(This,ppMediaType) (This)->lpVtbl->GetCurrentFormat(This,ppMediaType)
257#define ITFormatControl_ReleaseFormat(This,pMediaType) (This)->lpVtbl->ReleaseFormat(This,pMediaType)
258#define ITFormatControl_GetNumberOfCapabilities(This,pdwCount) (This)->lpVtbl->GetNumberOfCapabilities(This,pdwCount)
259#define ITFormatControl_GetStreamCaps(This,dwIndex,ppMediaType,pStreamConfigCaps,pfEnabled) (This)->lpVtbl->GetStreamCaps(This,dwIndex,ppMediaType,pStreamConfigCaps,pfEnabled)
260#define ITFormatControl_ReOrderCapabilities(This,pdwIndices,pfEnabled,pfPublicize,dwNumIndices) (This)->lpVtbl->ReOrderCapabilities(This,pdwIndices,pfEnabled,pfPublicize,dwNumIndices)
261#endif
262#endif
263  HRESULT WINAPI ITFormatControl_GetCurrentFormat_Proxy(ITFormatControl *This,AM_MEDIA_TYPE **ppMediaType);
264  void __RPC_STUB ITFormatControl_GetCurrentFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
265  HRESULT WINAPI ITFormatControl_ReleaseFormat_Proxy(ITFormatControl *This,AM_MEDIA_TYPE *pMediaType);
266  void __RPC_STUB ITFormatControl_ReleaseFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
267  HRESULT WINAPI ITFormatControl_GetNumberOfCapabilities_Proxy(ITFormatControl *This,DWORD *pdwCount);
268  void __RPC_STUB ITFormatControl_GetNumberOfCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
269  HRESULT WINAPI ITFormatControl_GetStreamCaps_Proxy(ITFormatControl *This,DWORD dwIndex,AM_MEDIA_TYPE **ppMediaType,TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,WINBOOL *pfEnabled);
270  void __RPC_STUB ITFormatControl_GetStreamCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
271  HRESULT WINAPI ITFormatControl_ReOrderCapabilities_Proxy(ITFormatControl *This,DWORD *pdwIndices,WINBOOL *pfEnabled,WINBOOL *pfPublicize,DWORD dwNumIndices);
272  void __RPC_STUB ITFormatControl_ReOrderCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
273#endif
274
275  typedef enum tagStreamQualityProperty {
276    StreamQuality_MaxBitrate = 0,StreamQuality_CurrBitrate,StreamQuality_MinFrameInterval,
277    StreamQuality_AvgFrameInterval
278  } StreamQualityProperty;
279
280  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0503_v0_0_c_ifspec;
281  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0503_v0_0_s_ifspec;
282
283#ifndef __ITStreamQualityControl_INTERFACE_DEFINED__
284#define __ITStreamQualityControl_INTERFACE_DEFINED__
285  EXTERN_C const IID IID_ITStreamQualityControl;
286#if defined(__cplusplus) && !defined(CINTERFACE)
287  struct ITStreamQualityControl : public IUnknown {
288  public:
289    virtual HRESULT WINAPI GetRange(StreamQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags) = 0;
290    virtual HRESULT WINAPI Get(StreamQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags) = 0;
291    virtual HRESULT WINAPI Set(StreamQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags) = 0;
292  };
293#else
294  typedef struct ITStreamQualityControlVtbl {
295    BEGIN_INTERFACE
296      HRESULT (WINAPI *QueryInterface)(ITStreamQualityControl *This,REFIID riid,void **ppvObject);
297      ULONG (WINAPI *AddRef)(ITStreamQualityControl *This);
298      ULONG (WINAPI *Release)(ITStreamQualityControl *This);
299      HRESULT (WINAPI *GetRange)(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
300      HRESULT (WINAPI *Get)(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
301      HRESULT (WINAPI *Set)(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
302    END_INTERFACE
303  } ITStreamQualityControlVtbl;
304  struct ITStreamQualityControl {
305    CONST_VTBL struct ITStreamQualityControlVtbl *lpVtbl;
306  };
307#ifdef COBJMACROS
308#define ITStreamQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
309#define ITStreamQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
310#define ITStreamQualityControl_Release(This) (This)->lpVtbl->Release(This)
311#define ITStreamQualityControl_GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags) (This)->lpVtbl->GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags)
312#define ITStreamQualityControl_Get(This,Property,plValue,plFlags) (This)->lpVtbl->Get(This,Property,plValue,plFlags)
313#define ITStreamQualityControl_Set(This,Property,lValue,lFlags) (This)->lpVtbl->Set(This,Property,lValue,lFlags)
314#endif
315#endif
316  HRESULT WINAPI ITStreamQualityControl_GetRange_Proxy(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
317  void __RPC_STUB ITStreamQualityControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
318  HRESULT WINAPI ITStreamQualityControl_Get_Proxy(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
319  void __RPC_STUB ITStreamQualityControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
320  HRESULT WINAPI ITStreamQualityControl_Set_Proxy(ITStreamQualityControl *This,StreamQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
321  void __RPC_STUB ITStreamQualityControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
322#endif
323
324  typedef enum tagCallQualityProperty {
325    CallQuality_ControlInterval = 0,CallQuality_ConfBitrate,CallQuality_MaxInputBitrate,
326    CallQuality_CurrInputBitrate,CallQuality_MaxOutputBitrate,
327    CallQuality_CurrOutputBitrate,CallQuality_MaxCPULoad,CallQuality_CurrCPULoad
328  } CallQualityProperty;
329
330  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0504_v0_0_c_ifspec;
331  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0504_v0_0_s_ifspec;
332
333#ifndef __ITCallQualityControl_INTERFACE_DEFINED__
334#define __ITCallQualityControl_INTERFACE_DEFINED__
335  EXTERN_C const IID IID_ITCallQualityControl;
336#if defined(__cplusplus) && !defined(CINTERFACE)
337  struct ITCallQualityControl : public IUnknown {
338  public:
339    virtual HRESULT WINAPI GetRange(CallQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags) = 0;
340    virtual HRESULT WINAPI Get(CallQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags) = 0;
341    virtual HRESULT WINAPI Set(CallQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags) = 0;
342  };
343#else
344  typedef struct ITCallQualityControlVtbl {
345    BEGIN_INTERFACE
346      HRESULT (WINAPI *QueryInterface)(ITCallQualityControl *This,REFIID riid,void **ppvObject);
347      ULONG (WINAPI *AddRef)(ITCallQualityControl *This);
348      ULONG (WINAPI *Release)(ITCallQualityControl *This);
349      HRESULT (WINAPI *GetRange)(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
350      HRESULT (WINAPI *Get)(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
351      HRESULT (WINAPI *Set)(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
352    END_INTERFACE
353  } ITCallQualityControlVtbl;
354  struct ITCallQualityControl {
355    CONST_VTBL struct ITCallQualityControlVtbl *lpVtbl;
356  };
357#ifdef COBJMACROS
358#define ITCallQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
359#define ITCallQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
360#define ITCallQualityControl_Release(This) (This)->lpVtbl->Release(This)
361#define ITCallQualityControl_GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags) (This)->lpVtbl->GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags)
362#define ITCallQualityControl_Get(This,Property,plValue,plFlags) (This)->lpVtbl->Get(This,Property,plValue,plFlags)
363#define ITCallQualityControl_Set(This,Property,lValue,lFlags) (This)->lpVtbl->Set(This,Property,lValue,lFlags)
364#endif
365#endif
366  HRESULT WINAPI ITCallQualityControl_GetRange_Proxy(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
367  void __RPC_STUB ITCallQualityControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
368  HRESULT WINAPI ITCallQualityControl_Get_Proxy(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
369  void __RPC_STUB ITCallQualityControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
370  HRESULT WINAPI ITCallQualityControl_Set_Proxy(ITCallQualityControl *This,CallQualityProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
371  void __RPC_STUB ITCallQualityControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
372#endif
373
374  typedef enum tagAudioDeviceProperty {
375    AudioDevice_DuplexMode = 0,AudioDevice_AutomaticGainControl,
376    AudioDevice_AcousticEchoCancellation
377  } AudioDeviceProperty;
378
379  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0505_v0_0_c_ifspec;
380  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0505_v0_0_s_ifspec;
381
382#ifndef __ITAudioDeviceControl_INTERFACE_DEFINED__
383#define __ITAudioDeviceControl_INTERFACE_DEFINED__
384  EXTERN_C const IID IID_ITAudioDeviceControl;
385#if defined(__cplusplus) && !defined(CINTERFACE)
386  struct ITAudioDeviceControl : public IUnknown {
387  public:
388    virtual HRESULT WINAPI GetRange(AudioDeviceProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags) = 0;
389    virtual HRESULT WINAPI Get(AudioDeviceProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags) = 0;
390    virtual HRESULT WINAPI Set(AudioDeviceProperty Property,__LONG32 lValue,TAPIControlFlags lFlags) = 0;
391  };
392#else
393  typedef struct ITAudioDeviceControlVtbl {
394    BEGIN_INTERFACE
395      HRESULT (WINAPI *QueryInterface)(ITAudioDeviceControl *This,REFIID riid,void **ppvObject);
396      ULONG (WINAPI *AddRef)(ITAudioDeviceControl *This);
397      ULONG (WINAPI *Release)(ITAudioDeviceControl *This);
398      HRESULT (WINAPI *GetRange)(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
399      HRESULT (WINAPI *Get)(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
400      HRESULT (WINAPI *Set)(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
401    END_INTERFACE
402  } ITAudioDeviceControlVtbl;
403  struct ITAudioDeviceControl {
404    CONST_VTBL struct ITAudioDeviceControlVtbl *lpVtbl;
405  };
406#ifdef COBJMACROS
407#define ITAudioDeviceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
408#define ITAudioDeviceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
409#define ITAudioDeviceControl_Release(This) (This)->lpVtbl->Release(This)
410#define ITAudioDeviceControl_GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags) (This)->lpVtbl->GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags)
411#define ITAudioDeviceControl_Get(This,Property,plValue,plFlags) (This)->lpVtbl->Get(This,Property,plValue,plFlags)
412#define ITAudioDeviceControl_Set(This,Property,lValue,lFlags) (This)->lpVtbl->Set(This,Property,lValue,lFlags)
413#endif
414#endif
415  HRESULT WINAPI ITAudioDeviceControl_GetRange_Proxy(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
416  void __RPC_STUB ITAudioDeviceControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
417  HRESULT WINAPI ITAudioDeviceControl_Get_Proxy(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
418  void __RPC_STUB ITAudioDeviceControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
419  HRESULT WINAPI ITAudioDeviceControl_Set_Proxy(ITAudioDeviceControl *This,AudioDeviceProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
420  void __RPC_STUB ITAudioDeviceControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
421#endif
422
423  typedef enum tagAudioSettingsProperty {
424    AudioSettings_SignalLevel = 0,AudioSettings_SilenceThreshold,
425    AudioSettings_Volume,AudioSettings_Balance,AudioSettings_Loudness,
426    AudioSettings_Treble,AudioSettings_Bass,AudioSettings_Mono
427  } AudioSettingsProperty;
428
429  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0506_v0_0_c_ifspec;
430  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0506_v0_0_s_ifspec;
431
432#ifndef __ITAudioSettings_INTERFACE_DEFINED__
433#define __ITAudioSettings_INTERFACE_DEFINED__
434  EXTERN_C const IID IID_ITAudioSettings;
435#if defined(__cplusplus) && !defined(CINTERFACE)
436  struct ITAudioSettings : public IUnknown {
437  public:
438    virtual HRESULT WINAPI GetRange(AudioSettingsProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags) = 0;
439    virtual HRESULT WINAPI Get(AudioSettingsProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags) = 0;
440    virtual HRESULT WINAPI Set(AudioSettingsProperty Property,__LONG32 lValue,TAPIControlFlags lFlags) = 0;
441  };
442#else
443  typedef struct ITAudioSettingsVtbl {
444    BEGIN_INTERFACE
445      HRESULT (WINAPI *QueryInterface)(ITAudioSettings *This,REFIID riid,void **ppvObject);
446      ULONG (WINAPI *AddRef)(ITAudioSettings *This);
447      ULONG (WINAPI *Release)(ITAudioSettings *This);
448      HRESULT (WINAPI *GetRange)(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
449      HRESULT (WINAPI *Get)(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
450      HRESULT (WINAPI *Set)(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
451    END_INTERFACE
452  } ITAudioSettingsVtbl;
453  struct ITAudioSettings {
454    CONST_VTBL struct ITAudioSettingsVtbl *lpVtbl;
455  };
456#ifdef COBJMACROS
457#define ITAudioSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
458#define ITAudioSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
459#define ITAudioSettings_Release(This) (This)->lpVtbl->Release(This)
460#define ITAudioSettings_GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags) (This)->lpVtbl->GetRange(This,Property,plMin,plMax,plSteppingDelta,plDefault,plFlags)
461#define ITAudioSettings_Get(This,Property,plValue,plFlags) (This)->lpVtbl->Get(This,Property,plValue,plFlags)
462#define ITAudioSettings_Set(This,Property,lValue,lFlags) (This)->lpVtbl->Set(This,Property,lValue,lFlags)
463#endif
464#endif
465  HRESULT WINAPI ITAudioSettings_GetRange_Proxy(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 *plMin,__LONG32 *plMax,__LONG32 *plSteppingDelta,__LONG32 *plDefault,TAPIControlFlags *plFlags);
466  void __RPC_STUB ITAudioSettings_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
467  HRESULT WINAPI ITAudioSettings_Get_Proxy(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 *plValue,TAPIControlFlags *plFlags);
468  void __RPC_STUB ITAudioSettings_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
469  HRESULT WINAPI ITAudioSettings_Set_Proxy(ITAudioSettings *This,AudioSettingsProperty Property,__LONG32 lValue,TAPIControlFlags lFlags);
470  void __RPC_STUB ITAudioSettings_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
471#endif
472
473#ifndef __ITQOSApplicationID_INTERFACE_DEFINED__
474#define __ITQOSApplicationID_INTERFACE_DEFINED__
475  EXTERN_C const IID IID_ITQOSApplicationID;
476#if defined(__cplusplus) && !defined(CINTERFACE)
477  struct ITQOSApplicationID : public IDispatch {
478  public:
479    virtual HRESULT WINAPI SetQOSApplicationID(BSTR pApplicationID,BSTR pApplicationGUID,BSTR pSubIDs) = 0;
480  };
481#else
482  typedef struct ITQOSApplicationIDVtbl {
483    BEGIN_INTERFACE
484      HRESULT (WINAPI *QueryInterface)(ITQOSApplicationID *This,REFIID riid,void **ppvObject);
485      ULONG (WINAPI *AddRef)(ITQOSApplicationID *This);
486      ULONG (WINAPI *Release)(ITQOSApplicationID *This);
487      HRESULT (WINAPI *GetTypeInfoCount)(ITQOSApplicationID *This,UINT *pctinfo);
488      HRESULT (WINAPI *GetTypeInfo)(ITQOSApplicationID *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
489      HRESULT (WINAPI *GetIDsOfNames)(ITQOSApplicationID *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
490      HRESULT (WINAPI *Invoke)(ITQOSApplicationID *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
491      HRESULT (WINAPI *SetQOSApplicationID)(ITQOSApplicationID *This,BSTR pApplicationID,BSTR pApplicationGUID,BSTR pSubIDs);
492    END_INTERFACE
493  } ITQOSApplicationIDVtbl;
494  struct ITQOSApplicationID {
495    CONST_VTBL struct ITQOSApplicationIDVtbl *lpVtbl;
496  };
497#ifdef COBJMACROS
498#define ITQOSApplicationID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
499#define ITQOSApplicationID_AddRef(This) (This)->lpVtbl->AddRef(This)
500#define ITQOSApplicationID_Release(This) (This)->lpVtbl->Release(This)
501#define ITQOSApplicationID_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
502#define ITQOSApplicationID_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
503#define ITQOSApplicationID_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
504#define ITQOSApplicationID_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
505#define ITQOSApplicationID_SetQOSApplicationID(This,pApplicationID,pApplicationGUID,pSubIDs) (This)->lpVtbl->SetQOSApplicationID(This,pApplicationID,pApplicationGUID,pSubIDs)
506#endif
507#endif
508  HRESULT WINAPI ITQOSApplicationID_SetQOSApplicationID_Proxy(ITQOSApplicationID *This,BSTR pApplicationID,BSTR pApplicationGUID,BSTR pSubIDs);
509  void __RPC_STUB ITQOSApplicationID_SetQOSApplicationID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
510#endif
511#endif
512
513#ifndef RTP_MEDIATYPE_DEFINED
514#define RTP_MEDIATYPE_DEFINED
515  struct MEDIATYPE_RTP_Single_Stream;
516#endif
517  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0508_v0_0_c_ifspec;
518  extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0508_v0_0_s_ifspec;
519
520  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
521  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
522  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
523  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
524  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
525  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
526  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
527  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
528
529#ifdef __cplusplus
530}
531#endif
532#endif
533