master
  1/*** Autogenerated by WIDL 10.4 from include/medparam.idl - Do not edit ***/
  2
  3#ifdef _WIN32
  4#ifndef __REQUIRED_RPCNDR_H_VERSION__
  5#define __REQUIRED_RPCNDR_H_VERSION__ 475
  6#endif
  7#include <rpc.h>
  8#include <rpcndr.h>
  9#endif
 10
 11#ifndef COM_NO_WINDOWS_H
 12#include <windows.h>
 13#include <ole2.h>
 14#endif
 15
 16#ifndef __medparam_h__
 17#define __medparam_h__
 18
 19/* Forward declarations */
 20
 21#ifndef __IMediaParams_FWD_DEFINED__
 22#define __IMediaParams_FWD_DEFINED__
 23typedef interface IMediaParams IMediaParams;
 24#ifdef __cplusplus
 25interface IMediaParams;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __IMediaParamInfo_FWD_DEFINED__
 30#define __IMediaParamInfo_FWD_DEFINED__
 31typedef interface IMediaParamInfo IMediaParamInfo;
 32#ifdef __cplusplus
 33interface IMediaParamInfo;
 34#endif /* __cplusplus */
 35#endif
 36
 37/* Headers for imported files */
 38
 39#include <unknwn.h>
 40#include <strmif.h>
 41
 42#ifdef __cplusplus
 43extern "C" {
 44#endif
 45
 46typedef DWORD MP_TIMEDATA;
 47typedef DWORD MP_CAPS;
 48typedef DWORD MP_FLAGS;
 49typedef float MP_DATA;
 50typedef enum _MP_Type {
 51    MPT_INT = 0,
 52    MPT_FLOAT = 1,
 53    MPT_BOOL = 2,
 54    MPT_ENUM = 3,
 55    MPT_MAX = 4
 56} MP_TYPE;
 57typedef enum _MP_CURVE_TYPE {
 58    MP_CURVE_JUMP = 0x1,
 59    MP_CURVE_LINEAR = 0x2,
 60    MP_CURVE_SQUARE = 0x4,
 61    MP_CURVE_INVSQUARE = 0x8,
 62    MP_CURVE_SINE = 0x10
 63} MP_CURVE_TYPE;
 64typedef struct _MP_PARAMINFO {
 65    MP_TYPE mpType;
 66    MP_CAPS mopCaps;
 67    MP_DATA mpdMinValue;
 68    MP_DATA mpdMaxValue;
 69    MP_DATA mpdNeutralValue;
 70    WCHAR szUnitText[32];
 71    WCHAR szLabel[32];
 72} MP_PARAMINFO;
 73typedef struct _MP_ENVELOPE_SEGMENT {
 74    REFERENCE_TIME rtStart;
 75    REFERENCE_TIME rtEnd;
 76    MP_DATA valStart;
 77    MP_DATA valEnd;
 78    MP_CURVE_TYPE iCurve;
 79    MP_FLAGS flags;
 80} MP_ENVELOPE_SEGMENT;
 81#define MP_CAPS_CURVE_JUMP (MP_CURVE_JUMP)
 82
 83#define MP_CAPS_CURVE_LINEAR (MP_CURVE_LINEAR)
 84
 85#define MP_CAPS_CURVE_SQUARE (MP_CURVE_SQUARE)
 86
 87#define MP_CAPS_CURVE_INVSQUARE (MP_CURVE_INVSQUARE)
 88
 89#define MP_CAPS_CURVE_SINE (MP_CURVE_SINE)
 90
 91/*****************************************************************************
 92 * IMediaParams interface
 93 */
 94#ifndef __IMediaParams_INTERFACE_DEFINED__
 95#define __IMediaParams_INTERFACE_DEFINED__
 96
 97DEFINE_GUID(IID_IMediaParams, 0x6d6cbb61, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6e);
 98#if defined(__cplusplus) && !defined(CINTERFACE)
 99MIDL_INTERFACE("6d6cbb61-a223-44aa-842f-a2f06750be6e")
100IMediaParams : public IUnknown
101{
102    virtual HRESULT STDMETHODCALLTYPE AddEnvelope(
103        DWORD dwParamIndex,
104        DWORD cPoints,
105        MP_ENVELOPE_SEGMENT *pEnvelope) = 0;
106
107    virtual HRESULT STDMETHODCALLTYPE FlushEnvelope(
108        DWORD dwParamIndex,
109        REFERENCE_TIME refTimeStart,
110        REFERENCE_TIME refTimeEnd) = 0;
111
112    virtual HRESULT STDMETHODCALLTYPE GetParam(
113        DWORD dwParamIndex,
114        MP_DATA *pValue) = 0;
115
116    virtual HRESULT STDMETHODCALLTYPE SetParam(
117        DWORD dwParamIndex,
118        MP_DATA value) = 0;
119
120    virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
121        GUID guidTimeFormat,
122        MP_TIMEDATA mpTimeData) = 0;
123
124};
125#ifdef __CRT_UUID_DECL
126__CRT_UUID_DECL(IMediaParams, 0x6d6cbb61, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6e)
127#endif
128#else
129typedef struct IMediaParamsVtbl {
130    BEGIN_INTERFACE
131
132    /*** IUnknown methods ***/
133    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
134        IMediaParams *This,
135        REFIID riid,
136        void **ppvObject);
137
138    ULONG (STDMETHODCALLTYPE *AddRef)(
139        IMediaParams *This);
140
141    ULONG (STDMETHODCALLTYPE *Release)(
142        IMediaParams *This);
143
144    /*** IMediaParams methods ***/
145    HRESULT (STDMETHODCALLTYPE *AddEnvelope)(
146        IMediaParams *This,
147        DWORD dwParamIndex,
148        DWORD cPoints,
149        MP_ENVELOPE_SEGMENT *pEnvelope);
150
151    HRESULT (STDMETHODCALLTYPE *FlushEnvelope)(
152        IMediaParams *This,
153        DWORD dwParamIndex,
154        REFERENCE_TIME refTimeStart,
155        REFERENCE_TIME refTimeEnd);
156
157    HRESULT (STDMETHODCALLTYPE *GetParam)(
158        IMediaParams *This,
159        DWORD dwParamIndex,
160        MP_DATA *pValue);
161
162    HRESULT (STDMETHODCALLTYPE *SetParam)(
163        IMediaParams *This,
164        DWORD dwParamIndex,
165        MP_DATA value);
166
167    HRESULT (STDMETHODCALLTYPE *SetTimeFormat)(
168        IMediaParams *This,
169        GUID guidTimeFormat,
170        MP_TIMEDATA mpTimeData);
171
172    END_INTERFACE
173} IMediaParamsVtbl;
174
175interface IMediaParams {
176    CONST_VTBL IMediaParamsVtbl* lpVtbl;
177};
178
179#ifdef COBJMACROS
180#ifndef WIDL_C_INLINE_WRAPPERS
181/*** IUnknown methods ***/
182#define IMediaParams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
183#define IMediaParams_AddRef(This) (This)->lpVtbl->AddRef(This)
184#define IMediaParams_Release(This) (This)->lpVtbl->Release(This)
185/*** IMediaParams methods ***/
186#define IMediaParams_AddEnvelope(This,dwParamIndex,cPoints,pEnvelope) (This)->lpVtbl->AddEnvelope(This,dwParamIndex,cPoints,pEnvelope)
187#define IMediaParams_FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd) (This)->lpVtbl->FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd)
188#define IMediaParams_GetParam(This,dwParamIndex,pValue) (This)->lpVtbl->GetParam(This,dwParamIndex,pValue)
189#define IMediaParams_SetParam(This,dwParamIndex,value) (This)->lpVtbl->SetParam(This,dwParamIndex,value)
190#define IMediaParams_SetTimeFormat(This,guidTimeFormat,mpTimeData) (This)->lpVtbl->SetTimeFormat(This,guidTimeFormat,mpTimeData)
191#else
192/*** IUnknown methods ***/
193static inline HRESULT IMediaParams_QueryInterface(IMediaParams* This,REFIID riid,void **ppvObject) {
194    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
195}
196static inline ULONG IMediaParams_AddRef(IMediaParams* This) {
197    return This->lpVtbl->AddRef(This);
198}
199static inline ULONG IMediaParams_Release(IMediaParams* This) {
200    return This->lpVtbl->Release(This);
201}
202/*** IMediaParams methods ***/
203static inline HRESULT IMediaParams_AddEnvelope(IMediaParams* This,DWORD dwParamIndex,DWORD cPoints,MP_ENVELOPE_SEGMENT *pEnvelope) {
204    return This->lpVtbl->AddEnvelope(This,dwParamIndex,cPoints,pEnvelope);
205}
206static inline HRESULT IMediaParams_FlushEnvelope(IMediaParams* This,DWORD dwParamIndex,REFERENCE_TIME refTimeStart,REFERENCE_TIME refTimeEnd) {
207    return This->lpVtbl->FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd);
208}
209static inline HRESULT IMediaParams_GetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA *pValue) {
210    return This->lpVtbl->GetParam(This,dwParamIndex,pValue);
211}
212static inline HRESULT IMediaParams_SetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA value) {
213    return This->lpVtbl->SetParam(This,dwParamIndex,value);
214}
215static inline HRESULT IMediaParams_SetTimeFormat(IMediaParams* This,GUID guidTimeFormat,MP_TIMEDATA mpTimeData) {
216    return This->lpVtbl->SetTimeFormat(This,guidTimeFormat,mpTimeData);
217}
218#endif
219#endif
220
221#endif
222
223
224#endif  /* __IMediaParams_INTERFACE_DEFINED__ */
225
226/*****************************************************************************
227 * IMediaParamInfo interface
228 */
229#ifndef __IMediaParamInfo_INTERFACE_DEFINED__
230#define __IMediaParamInfo_INTERFACE_DEFINED__
231
232DEFINE_GUID(IID_IMediaParamInfo, 0x6d6cbb60, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6d);
233#if defined(__cplusplus) && !defined(CINTERFACE)
234MIDL_INTERFACE("6d6cbb60-a223-44aa-842f-a2f06750be6d")
235IMediaParamInfo : public IUnknown
236{
237    virtual HRESULT STDMETHODCALLTYPE GetParamCount(
238        DWORD *pdwParams) = 0;
239
240    virtual HRESULT STDMETHODCALLTYPE GetParamInfo(
241        DWORD dwParamIndex,
242        MP_PARAMINFO *pInfo) = 0;
243
244    virtual HRESULT STDMETHODCALLTYPE GetParamText(
245        DWORD dwParamIndex,
246        WCHAR **ppwchText) = 0;
247
248    virtual HRESULT STDMETHODCALLTYPE GetNumTimeFormats(
249        DWORD *pdwNumTimeFormats) = 0;
250
251    virtual HRESULT STDMETHODCALLTYPE GetSupportedTimeFormat(
252        DWORD dwFormatIndex,
253        GUID *pguidTimeFormat) = 0;
254
255    virtual HRESULT STDMETHODCALLTYPE GetCurrentTimeFormat(
256        GUID *pguidTimeFormat,
257        MP_TIMEDATA *pTimeData) = 0;
258
259};
260#ifdef __CRT_UUID_DECL
261__CRT_UUID_DECL(IMediaParamInfo, 0x6d6cbb60, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6d)
262#endif
263#else
264typedef struct IMediaParamInfoVtbl {
265    BEGIN_INTERFACE
266
267    /*** IUnknown methods ***/
268    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
269        IMediaParamInfo *This,
270        REFIID riid,
271        void **ppvObject);
272
273    ULONG (STDMETHODCALLTYPE *AddRef)(
274        IMediaParamInfo *This);
275
276    ULONG (STDMETHODCALLTYPE *Release)(
277        IMediaParamInfo *This);
278
279    /*** IMediaParamInfo methods ***/
280    HRESULT (STDMETHODCALLTYPE *GetParamCount)(
281        IMediaParamInfo *This,
282        DWORD *pdwParams);
283
284    HRESULT (STDMETHODCALLTYPE *GetParamInfo)(
285        IMediaParamInfo *This,
286        DWORD dwParamIndex,
287        MP_PARAMINFO *pInfo);
288
289    HRESULT (STDMETHODCALLTYPE *GetParamText)(
290        IMediaParamInfo *This,
291        DWORD dwParamIndex,
292        WCHAR **ppwchText);
293
294    HRESULT (STDMETHODCALLTYPE *GetNumTimeFormats)(
295        IMediaParamInfo *This,
296        DWORD *pdwNumTimeFormats);
297
298    HRESULT (STDMETHODCALLTYPE *GetSupportedTimeFormat)(
299        IMediaParamInfo *This,
300        DWORD dwFormatIndex,
301        GUID *pguidTimeFormat);
302
303    HRESULT (STDMETHODCALLTYPE *GetCurrentTimeFormat)(
304        IMediaParamInfo *This,
305        GUID *pguidTimeFormat,
306        MP_TIMEDATA *pTimeData);
307
308    END_INTERFACE
309} IMediaParamInfoVtbl;
310
311interface IMediaParamInfo {
312    CONST_VTBL IMediaParamInfoVtbl* lpVtbl;
313};
314
315#ifdef COBJMACROS
316#ifndef WIDL_C_INLINE_WRAPPERS
317/*** IUnknown methods ***/
318#define IMediaParamInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
319#define IMediaParamInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
320#define IMediaParamInfo_Release(This) (This)->lpVtbl->Release(This)
321/*** IMediaParamInfo methods ***/
322#define IMediaParamInfo_GetParamCount(This,pdwParams) (This)->lpVtbl->GetParamCount(This,pdwParams)
323#define IMediaParamInfo_GetParamInfo(This,dwParamIndex,pInfo) (This)->lpVtbl->GetParamInfo(This,dwParamIndex,pInfo)
324#define IMediaParamInfo_GetParamText(This,dwParamIndex,ppwchText) (This)->lpVtbl->GetParamText(This,dwParamIndex,ppwchText)
325#define IMediaParamInfo_GetNumTimeFormats(This,pdwNumTimeFormats) (This)->lpVtbl->GetNumTimeFormats(This,pdwNumTimeFormats)
326#define IMediaParamInfo_GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat) (This)->lpVtbl->GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat)
327#define IMediaParamInfo_GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData) (This)->lpVtbl->GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData)
328#else
329/*** IUnknown methods ***/
330static inline HRESULT IMediaParamInfo_QueryInterface(IMediaParamInfo* This,REFIID riid,void **ppvObject) {
331    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
332}
333static inline ULONG IMediaParamInfo_AddRef(IMediaParamInfo* This) {
334    return This->lpVtbl->AddRef(This);
335}
336static inline ULONG IMediaParamInfo_Release(IMediaParamInfo* This) {
337    return This->lpVtbl->Release(This);
338}
339/*** IMediaParamInfo methods ***/
340static inline HRESULT IMediaParamInfo_GetParamCount(IMediaParamInfo* This,DWORD *pdwParams) {
341    return This->lpVtbl->GetParamCount(This,pdwParams);
342}
343static inline HRESULT IMediaParamInfo_GetParamInfo(IMediaParamInfo* This,DWORD dwParamIndex,MP_PARAMINFO *pInfo) {
344    return This->lpVtbl->GetParamInfo(This,dwParamIndex,pInfo);
345}
346static inline HRESULT IMediaParamInfo_GetParamText(IMediaParamInfo* This,DWORD dwParamIndex,WCHAR **ppwchText) {
347    return This->lpVtbl->GetParamText(This,dwParamIndex,ppwchText);
348}
349static inline HRESULT IMediaParamInfo_GetNumTimeFormats(IMediaParamInfo* This,DWORD *pdwNumTimeFormats) {
350    return This->lpVtbl->GetNumTimeFormats(This,pdwNumTimeFormats);
351}
352static inline HRESULT IMediaParamInfo_GetSupportedTimeFormat(IMediaParamInfo* This,DWORD dwFormatIndex,GUID *pguidTimeFormat) {
353    return This->lpVtbl->GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat);
354}
355static inline HRESULT IMediaParamInfo_GetCurrentTimeFormat(IMediaParamInfo* This,GUID *pguidTimeFormat,MP_TIMEDATA *pTimeData) {
356    return This->lpVtbl->GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData);
357}
358#endif
359#endif
360
361#endif
362
363
364#endif  /* __IMediaParamInfo_INTERFACE_DEFINED__ */
365
366/* Begin additional prototypes for all interfaces */
367
368
369/* End additional prototypes */
370
371#ifdef __cplusplus
372}
373#endif
374
375#endif /* __medparam_h__ */