• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*** Autogenerated by WIDL 4.12.1 from direct-x/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__
23 typedef interface IMediaParams IMediaParams;
24 #ifdef __cplusplus
25 interface IMediaParams;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IMediaParamInfo_FWD_DEFINED__
30 #define __IMediaParamInfo_FWD_DEFINED__
31 typedef interface IMediaParamInfo IMediaParamInfo;
32 #ifdef __cplusplus
33 interface 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
43 extern "C" {
44 #endif
45 
46 typedef DWORD MP_TIMEDATA;
47 typedef DWORD MP_CAPS;
48 typedef DWORD MP_FLAGS;
49 typedef float MP_DATA;
50 typedef 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;
57 typedef 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;
64 typedef 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;
73 typedef 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 
97 DEFINE_GUID(IID_IMediaParams, 0x6d6cbb61, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6e);
98 #if defined(__cplusplus) && !defined(CINTERFACE)
99 MIDL_INTERFACE("6d6cbb61-a223-44aa-842f-a2f06750be6e")
100 IMediaParams : 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
129 typedef 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 
175 interface 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 ***/
193 static FORCEINLINE HRESULT IMediaParams_QueryInterface(IMediaParams* This,REFIID riid,void **ppvObject) {
194     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
195 }
196 static FORCEINLINE ULONG IMediaParams_AddRef(IMediaParams* This) {
197     return This->lpVtbl->AddRef(This);
198 }
199 static FORCEINLINE ULONG IMediaParams_Release(IMediaParams* This) {
200     return This->lpVtbl->Release(This);
201 }
202 /*** IMediaParams methods ***/
203 static FORCEINLINE HRESULT IMediaParams_AddEnvelope(IMediaParams* This,DWORD dwParamIndex,DWORD cPoints,MP_ENVELOPE_SEGMENT *pEnvelope) {
204     return This->lpVtbl->AddEnvelope(This,dwParamIndex,cPoints,pEnvelope);
205 }
206 static FORCEINLINE HRESULT IMediaParams_FlushEnvelope(IMediaParams* This,DWORD dwParamIndex,REFERENCE_TIME refTimeStart,REFERENCE_TIME refTimeEnd) {
207     return This->lpVtbl->FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd);
208 }
209 static FORCEINLINE HRESULT IMediaParams_GetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA *pValue) {
210     return This->lpVtbl->GetParam(This,dwParamIndex,pValue);
211 }
212 static FORCEINLINE HRESULT IMediaParams_SetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA value) {
213     return This->lpVtbl->SetParam(This,dwParamIndex,value);
214 }
215 static FORCEINLINE 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 
232 DEFINE_GUID(IID_IMediaParamInfo, 0x6d6cbb60, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6d);
233 #if defined(__cplusplus) && !defined(CINTERFACE)
234 MIDL_INTERFACE("6d6cbb60-a223-44aa-842f-a2f06750be6d")
235 IMediaParamInfo : 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
264 typedef 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 
311 interface 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 ***/
330 static FORCEINLINE HRESULT IMediaParamInfo_QueryInterface(IMediaParamInfo* This,REFIID riid,void **ppvObject) {
331     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
332 }
333 static FORCEINLINE ULONG IMediaParamInfo_AddRef(IMediaParamInfo* This) {
334     return This->lpVtbl->AddRef(This);
335 }
336 static FORCEINLINE ULONG IMediaParamInfo_Release(IMediaParamInfo* This) {
337     return This->lpVtbl->Release(This);
338 }
339 /*** IMediaParamInfo methods ***/
340 static FORCEINLINE HRESULT IMediaParamInfo_GetParamCount(IMediaParamInfo* This,DWORD *pdwParams) {
341     return This->lpVtbl->GetParamCount(This,pdwParams);
342 }
343 static FORCEINLINE HRESULT IMediaParamInfo_GetParamInfo(IMediaParamInfo* This,DWORD dwParamIndex,MP_PARAMINFO *pInfo) {
344     return This->lpVtbl->GetParamInfo(This,dwParamIndex,pInfo);
345 }
346 static FORCEINLINE HRESULT IMediaParamInfo_GetParamText(IMediaParamInfo* This,DWORD dwParamIndex,WCHAR **ppwchText) {
347     return This->lpVtbl->GetParamText(This,dwParamIndex,ppwchText);
348 }
349 static FORCEINLINE HRESULT IMediaParamInfo_GetNumTimeFormats(IMediaParamInfo* This,DWORD *pdwNumTimeFormats) {
350     return This->lpVtbl->GetNumTimeFormats(This,pdwNumTimeFormats);
351 }
352 static FORCEINLINE HRESULT IMediaParamInfo_GetSupportedTimeFormat(IMediaParamInfo* This,DWORD dwFormatIndex,GUID *pguidTimeFormat) {
353     return This->lpVtbl->GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat);
354 }
355 static FORCEINLINE 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__ */
376