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__
27 typedef struct ITParticipant ITParticipant;
28 #endif
29 
30 #ifndef __ITFormatControl_FWD_DEFINED__
31 #define __ITFormatControl_FWD_DEFINED__
32 typedef struct ITFormatControl ITFormatControl;
33 #endif
34 
35 #ifndef __ITStreamQualityControl_FWD_DEFINED__
36 #define __ITStreamQualityControl_FWD_DEFINED__
37 typedef struct ITStreamQualityControl ITStreamQualityControl;
38 #endif
39 
40 #ifndef __ITCallQualityControl_FWD_DEFINED__
41 #define __ITCallQualityControl_FWD_DEFINED__
42 typedef struct ITCallQualityControl ITCallQualityControl;
43 #endif
44 
45 #ifndef __ITAudioDeviceControl_FWD_DEFINED__
46 #define __ITAudioDeviceControl_FWD_DEFINED__
47 typedef struct ITAudioDeviceControl ITAudioDeviceControl;
48 #endif
49 
50 #ifndef __ITAudioSettings_FWD_DEFINED__
51 #define __ITAudioSettings_FWD_DEFINED__
52 typedef struct ITAudioSettings ITAudioSettings;
53 #endif
54 
55 #ifndef __ITQOSApplicationID_FWD_DEFINED__
56 #define __ITQOSApplicationID_FWD_DEFINED__
57 typedef struct ITQOSApplicationID ITQOSApplicationID;
58 #endif
59 
60 #include "tapi3if.h"
61 
62 #ifdef __cplusplus
63 extern "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