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