1 /*** Autogenerated by WIDL 1.6 from include/icodecapi.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 __icodecapi_h__
16 #define __icodecapi_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __ICodecAPI_FWD_DEFINED__
21 #define __ICodecAPI_FWD_DEFINED__
22 typedef interface ICodecAPI ICodecAPI;
23 #endif
24 
25 /* Headers for imported files */
26 
27 #include <unknwn.h>
28 #include <oaidl.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /**
35  * This file is part of the mingw-w64 runtime package.
36  * No warranty is given; refer to the file DISCLAIMER within this package.
37  */
38 
39 #include <winapifamily.h>
40 
41 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
42 
43 struct CodecAPIEventData {
44     GUID guid;
45     DWORD dataLength;
46     DWORD reserved[3];
47 };
48 
49 
50 #ifndef __IStream_FWD_DEFINED__
51 #define __IStream_FWD_DEFINED__
52 typedef interface IStream IStream;
53 #endif
54 
55 
56 /*****************************************************************************
57  * ICodecAPI interface
58  */
59 #ifndef __ICodecAPI_INTERFACE_DEFINED__
60 #define __ICodecAPI_INTERFACE_DEFINED__
61 
62 DEFINE_GUID(IID_ICodecAPI, 0x901db4c7, 0x31ce, 0x41a2, 0x85,0xdc, 0x8f,0xa0,0xbf,0x41,0xb8,0xda);
63 #if defined(__cplusplus) && !defined(CINTERFACE)
64 MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
65 ICodecAPI : public IUnknown
66 {
67     virtual HRESULT STDMETHODCALLTYPE IsSupported(
68         const GUID *Api) = 0;
69 
70     virtual HRESULT STDMETHODCALLTYPE IsModifiable(
71         const GUID *Api) = 0;
72 
73     virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
74         const GUID *Api,
75         VARIANT *ValueMin,
76         VARIANT *ValueMax,
77         VARIANT *SteppingDelta) = 0;
78 
79     virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
80         const GUID *Api,
81         VARIANT **Values,
82         ULONG *ValuesCount) = 0;
83 
84     virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
85         const GUID *Api,
86         VARIANT *Value) = 0;
87 
88     virtual HRESULT STDMETHODCALLTYPE GetValue(
89         const GUID *Api,
90         VARIANT *Value) = 0;
91 
92     virtual HRESULT STDMETHODCALLTYPE SetValue(
93         const GUID *Api,
94         VARIANT *Value) = 0;
95 
96     virtual HRESULT STDMETHODCALLTYPE RegisterForEvent(
97         const GUID *Api,
98         LONG_PTR userData) = 0;
99 
100     virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent(
101         const GUID *Api) = 0;
102 
103     virtual HRESULT STDMETHODCALLTYPE SetAllDefaults(
104         ) = 0;
105 
106     virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify(
107         const GUID *Api,
108         VARIANT *Value,
109         GUID **ChangedParam,
110         ULONG *ChangedParamCount) = 0;
111 
112     virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify(
113         GUID **ChangedParam,
114         ULONG *ChangedParamCount) = 0;
115 
116     virtual HRESULT STDMETHODCALLTYPE GetAllSettings(
117         IStream *a) = 0;
118 
119     virtual HRESULT STDMETHODCALLTYPE SetAllSettings(
120         IStream *a) = 0;
121 
122     virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify(
123         IStream *a,
124         GUID **ChangedParam,
125         ULONG *ChangedParamCount) = 0;
126 
127 };
128 #ifdef __CRT_UUID_DECL
129 __CRT_UUID_DECL(ICodecAPI, 0x901db4c7, 0x31ce, 0x41a2, 0x85,0xdc, 0x8f,0xa0,0xbf,0x41,0xb8,0xda)
130 #endif
131 #else
132 typedef struct ICodecAPIVtbl {
133     BEGIN_INTERFACE
134 
135     /*** IUnknown methods ***/
136     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
137         ICodecAPI* This,
138         REFIID riid,
139         void **ppvObject);
140 
141     ULONG (STDMETHODCALLTYPE *AddRef)(
142         ICodecAPI* This);
143 
144     ULONG (STDMETHODCALLTYPE *Release)(
145         ICodecAPI* This);
146 
147     /*** ICodecAPI methods ***/
148     HRESULT (STDMETHODCALLTYPE *IsSupported)(
149         ICodecAPI* This,
150         const GUID *Api);
151 
152     HRESULT (STDMETHODCALLTYPE *IsModifiable)(
153         ICodecAPI* This,
154         const GUID *Api);
155 
156     HRESULT (STDMETHODCALLTYPE *GetParameterRange)(
157         ICodecAPI* This,
158         const GUID *Api,
159         VARIANT *ValueMin,
160         VARIANT *ValueMax,
161         VARIANT *SteppingDelta);
162 
163     HRESULT (STDMETHODCALLTYPE *GetParameterValues)(
164         ICodecAPI* This,
165         const GUID *Api,
166         VARIANT **Values,
167         ULONG *ValuesCount);
168 
169     HRESULT (STDMETHODCALLTYPE *GetDefaultValue)(
170         ICodecAPI* This,
171         const GUID *Api,
172         VARIANT *Value);
173 
174     HRESULT (STDMETHODCALLTYPE *GetValue)(
175         ICodecAPI* This,
176         const GUID *Api,
177         VARIANT *Value);
178 
179     HRESULT (STDMETHODCALLTYPE *SetValue)(
180         ICodecAPI* This,
181         const GUID *Api,
182         VARIANT *Value);
183 
184     HRESULT (STDMETHODCALLTYPE *RegisterForEvent)(
185         ICodecAPI* This,
186         const GUID *Api,
187         LONG_PTR userData);
188 
189     HRESULT (STDMETHODCALLTYPE *UnregisterForEvent)(
190         ICodecAPI* This,
191         const GUID *Api);
192 
193     HRESULT (STDMETHODCALLTYPE *SetAllDefaults)(
194         ICodecAPI* This);
195 
196     HRESULT (STDMETHODCALLTYPE *SetValueWithNotify)(
197         ICodecAPI* This,
198         const GUID *Api,
199         VARIANT *Value,
200         GUID **ChangedParam,
201         ULONG *ChangedParamCount);
202 
203     HRESULT (STDMETHODCALLTYPE *SetAllDefaultsWithNotify)(
204         ICodecAPI* This,
205         GUID **ChangedParam,
206         ULONG *ChangedParamCount);
207 
208     HRESULT (STDMETHODCALLTYPE *GetAllSettings)(
209         ICodecAPI* This,
210         IStream *a);
211 
212     HRESULT (STDMETHODCALLTYPE *SetAllSettings)(
213         ICodecAPI* This,
214         IStream *a);
215 
216     HRESULT (STDMETHODCALLTYPE *SetAllSettingsWithNotify)(
217         ICodecAPI* This,
218         IStream *a,
219         GUID **ChangedParam,
220         ULONG *ChangedParamCount);
221 
222     END_INTERFACE
223 } ICodecAPIVtbl;
224 interface ICodecAPI {
225     CONST_VTBL ICodecAPIVtbl* lpVtbl;
226 };
227 
228 #ifdef COBJMACROS
229 #ifndef WIDL_C_INLINE_WRAPPERS
230 /*** IUnknown methods ***/
231 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
232 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
233 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
234 /*** ICodecAPI methods ***/
235 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
236 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
237 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
238 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
239 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
240 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
241 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
242 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
243 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
244 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
245 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
246 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
247 #define ICodecAPI_GetAllSettings(This,a) (This)->lpVtbl->GetAllSettings(This,a)
248 #define ICodecAPI_SetAllSettings(This,a) (This)->lpVtbl->SetAllSettings(This,a)
249 #define ICodecAPI_SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount)
250 #else
251 /*** IUnknown methods ***/
252 static FORCEINLINE HRESULT ICodecAPI_QueryInterface(ICodecAPI* This,REFIID riid,void **ppvObject) {
253     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
254 }
255 static FORCEINLINE ULONG ICodecAPI_AddRef(ICodecAPI* This) {
256     return This->lpVtbl->AddRef(This);
257 }
258 static FORCEINLINE ULONG ICodecAPI_Release(ICodecAPI* This) {
259     return This->lpVtbl->Release(This);
260 }
261 /*** ICodecAPI methods ***/
262 static FORCEINLINE HRESULT ICodecAPI_IsSupported(ICodecAPI* This,const GUID *Api) {
263     return This->lpVtbl->IsSupported(This,Api);
264 }
265 static FORCEINLINE HRESULT ICodecAPI_IsModifiable(ICodecAPI* This,const GUID *Api) {
266     return This->lpVtbl->IsModifiable(This,Api);
267 }
268 static FORCEINLINE HRESULT ICodecAPI_GetParameterRange(ICodecAPI* This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) {
269     return This->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta);
270 }
271 static FORCEINLINE HRESULT ICodecAPI_GetParameterValues(ICodecAPI* This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount) {
272     return This->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount);
273 }
274 static FORCEINLINE HRESULT ICodecAPI_GetDefaultValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
275     return This->lpVtbl->GetDefaultValue(This,Api,Value);
276 }
277 static FORCEINLINE HRESULT ICodecAPI_GetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
278     return This->lpVtbl->GetValue(This,Api,Value);
279 }
280 static FORCEINLINE HRESULT ICodecAPI_SetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
281     return This->lpVtbl->SetValue(This,Api,Value);
282 }
283 static FORCEINLINE HRESULT ICodecAPI_RegisterForEvent(ICodecAPI* This,const GUID *Api,LONG_PTR userData) {
284     return This->lpVtbl->RegisterForEvent(This,Api,userData);
285 }
286 static FORCEINLINE HRESULT ICodecAPI_UnregisterForEvent(ICodecAPI* This,const GUID *Api) {
287     return This->lpVtbl->UnregisterForEvent(This,Api);
288 }
289 static FORCEINLINE HRESULT ICodecAPI_SetAllDefaults(ICodecAPI* This) {
290     return This->lpVtbl->SetAllDefaults(This);
291 }
292 static FORCEINLINE HRESULT ICodecAPI_SetValueWithNotify(ICodecAPI* This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) {
293     return This->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount);
294 }
295 static FORCEINLINE HRESULT ICodecAPI_SetAllDefaultsWithNotify(ICodecAPI* This,GUID **ChangedParam,ULONG *ChangedParamCount) {
296     return This->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount);
297 }
298 static FORCEINLINE HRESULT ICodecAPI_GetAllSettings(ICodecAPI* This,IStream *a) {
299     return This->lpVtbl->GetAllSettings(This,a);
300 }
301 static FORCEINLINE HRESULT ICodecAPI_SetAllSettings(ICodecAPI* This,IStream *a) {
302     return This->lpVtbl->SetAllSettings(This,a);
303 }
304 static FORCEINLINE HRESULT ICodecAPI_SetAllSettingsWithNotify(ICodecAPI* This,IStream *a,GUID **ChangedParam,ULONG *ChangedParamCount) {
305     return This->lpVtbl->SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount);
306 }
307 #endif
308 #endif
309 
310 #endif
311 
312 HRESULT STDMETHODCALLTYPE ICodecAPI_IsSupported_Proxy(
313     ICodecAPI* This,
314     const GUID *Api);
315 void __RPC_STUB ICodecAPI_IsSupported_Stub(
316     IRpcStubBuffer* This,
317     IRpcChannelBuffer* pRpcChannelBuffer,
318     PRPC_MESSAGE pRpcMessage,
319     DWORD* pdwStubPhase);
320 HRESULT STDMETHODCALLTYPE ICodecAPI_IsModifiable_Proxy(
321     ICodecAPI* This,
322     const GUID *Api);
323 void __RPC_STUB ICodecAPI_IsModifiable_Stub(
324     IRpcStubBuffer* This,
325     IRpcChannelBuffer* pRpcChannelBuffer,
326     PRPC_MESSAGE pRpcMessage,
327     DWORD* pdwStubPhase);
328 HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterRange_Proxy(
329     ICodecAPI* This,
330     const GUID *Api,
331     VARIANT *ValueMin,
332     VARIANT *ValueMax,
333     VARIANT *SteppingDelta);
334 void __RPC_STUB ICodecAPI_GetParameterRange_Stub(
335     IRpcStubBuffer* This,
336     IRpcChannelBuffer* pRpcChannelBuffer,
337     PRPC_MESSAGE pRpcMessage,
338     DWORD* pdwStubPhase);
339 HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterValues_Proxy(
340     ICodecAPI* This,
341     const GUID *Api,
342     VARIANT **Values,
343     ULONG *ValuesCount);
344 void __RPC_STUB ICodecAPI_GetParameterValues_Stub(
345     IRpcStubBuffer* This,
346     IRpcChannelBuffer* pRpcChannelBuffer,
347     PRPC_MESSAGE pRpcMessage,
348     DWORD* pdwStubPhase);
349 HRESULT STDMETHODCALLTYPE ICodecAPI_GetDefaultValue_Proxy(
350     ICodecAPI* This,
351     const GUID *Api,
352     VARIANT *Value);
353 void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(
354     IRpcStubBuffer* This,
355     IRpcChannelBuffer* pRpcChannelBuffer,
356     PRPC_MESSAGE pRpcMessage,
357     DWORD* pdwStubPhase);
358 HRESULT STDMETHODCALLTYPE ICodecAPI_GetValue_Proxy(
359     ICodecAPI* This,
360     const GUID *Api,
361     VARIANT *Value);
362 void __RPC_STUB ICodecAPI_GetValue_Stub(
363     IRpcStubBuffer* This,
364     IRpcChannelBuffer* pRpcChannelBuffer,
365     PRPC_MESSAGE pRpcMessage,
366     DWORD* pdwStubPhase);
367 HRESULT STDMETHODCALLTYPE ICodecAPI_SetValue_Proxy(
368     ICodecAPI* This,
369     const GUID *Api,
370     VARIANT *Value);
371 void __RPC_STUB ICodecAPI_SetValue_Stub(
372     IRpcStubBuffer* This,
373     IRpcChannelBuffer* pRpcChannelBuffer,
374     PRPC_MESSAGE pRpcMessage,
375     DWORD* pdwStubPhase);
376 HRESULT STDMETHODCALLTYPE ICodecAPI_RegisterForEvent_Proxy(
377     ICodecAPI* This,
378     const GUID *Api,
379     LONG_PTR userData);
380 void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(
381     IRpcStubBuffer* This,
382     IRpcChannelBuffer* pRpcChannelBuffer,
383     PRPC_MESSAGE pRpcMessage,
384     DWORD* pdwStubPhase);
385 HRESULT STDMETHODCALLTYPE ICodecAPI_UnregisterForEvent_Proxy(
386     ICodecAPI* This,
387     const GUID *Api);
388 void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(
389     IRpcStubBuffer* This,
390     IRpcChannelBuffer* pRpcChannelBuffer,
391     PRPC_MESSAGE pRpcMessage,
392     DWORD* pdwStubPhase);
393 HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaults_Proxy(
394     ICodecAPI* This);
395 void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(
396     IRpcStubBuffer* This,
397     IRpcChannelBuffer* pRpcChannelBuffer,
398     PRPC_MESSAGE pRpcMessage,
399     DWORD* pdwStubPhase);
400 HRESULT STDMETHODCALLTYPE ICodecAPI_SetValueWithNotify_Proxy(
401     ICodecAPI* This,
402     const GUID *Api,
403     VARIANT *Value,
404     GUID **ChangedParam,
405     ULONG *ChangedParamCount);
406 void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(
407     IRpcStubBuffer* This,
408     IRpcChannelBuffer* pRpcChannelBuffer,
409     PRPC_MESSAGE pRpcMessage,
410     DWORD* pdwStubPhase);
411 HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaultsWithNotify_Proxy(
412     ICodecAPI* This,
413     GUID **ChangedParam,
414     ULONG *ChangedParamCount);
415 void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(
416     IRpcStubBuffer* This,
417     IRpcChannelBuffer* pRpcChannelBuffer,
418     PRPC_MESSAGE pRpcMessage,
419     DWORD* pdwStubPhase);
420 HRESULT STDMETHODCALLTYPE ICodecAPI_GetAllSettings_Proxy(
421     ICodecAPI* This,
422     IStream *a);
423 void __RPC_STUB ICodecAPI_GetAllSettings_Stub(
424     IRpcStubBuffer* This,
425     IRpcChannelBuffer* pRpcChannelBuffer,
426     PRPC_MESSAGE pRpcMessage,
427     DWORD* pdwStubPhase);
428 HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettings_Proxy(
429     ICodecAPI* This,
430     IStream *a);
431 void __RPC_STUB ICodecAPI_SetAllSettings_Stub(
432     IRpcStubBuffer* This,
433     IRpcChannelBuffer* pRpcChannelBuffer,
434     PRPC_MESSAGE pRpcMessage,
435     DWORD* pdwStubPhase);
436 HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettingsWithNotify_Proxy(
437     ICodecAPI* This,
438     IStream *a,
439     GUID **ChangedParam,
440     ULONG *ChangedParamCount);
441 void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(
442     IRpcStubBuffer* This,
443     IRpcChannelBuffer* pRpcChannelBuffer,
444     PRPC_MESSAGE pRpcMessage,
445     DWORD* pdwStubPhase);
446 
447 #endif  /* __ICodecAPI_INTERFACE_DEFINED__ */
448 
449 #endif
450 /* Begin additional prototypes for all interfaces */
451 
452 
453 /* End additional prototypes */
454 
455 #ifdef __cplusplus
456 }
457 #endif
458 
459 #endif /* __icodecapi_h__ */
460