1 /*** Autogenerated by WIDL 6.4 from include/icodecapi.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 __icodecapi_h__
17 #define __icodecapi_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __ICodecAPI_FWD_DEFINED__
22 #define __ICodecAPI_FWD_DEFINED__
23 typedef interface ICodecAPI ICodecAPI;
24 #ifdef __cplusplus
25 interface ICodecAPI;
26 #endif /* __cplusplus */
27 #endif
28 
29 /* Headers for imported files */
30 
31 #include <unknwn.h>
32 #include <oaidl.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /**
39  * This file is part of the mingw-w64 runtime package.
40  * No warranty is given; refer to the file DISCLAIMER within this package.
41  */
42 
43 #include <winapifamily.h>
44 
45 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
46 
47 struct CodecAPIEventData {
48     GUID guid;
49     DWORD dataLength;
50     DWORD reserved[3];
51 };
52 
53 #ifndef __IStream_FWD_DEFINED__
54 #define __IStream_FWD_DEFINED__
55 typedef interface IStream IStream;
56 #ifdef __cplusplus
57 interface IStream;
58 #endif /* __cplusplus */
59 #endif
60 
61 
62 /*****************************************************************************
63  * ICodecAPI interface
64  */
65 #ifndef __ICodecAPI_INTERFACE_DEFINED__
66 #define __ICodecAPI_INTERFACE_DEFINED__
67 
68 DEFINE_GUID(IID_ICodecAPI, 0x901db4c7, 0x31ce, 0x41a2, 0x85,0xdc, 0x8f,0xa0,0xbf,0x41,0xb8,0xda);
69 #if defined(__cplusplus) && !defined(CINTERFACE)
70 MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
71 ICodecAPI : public IUnknown
72 {
73     virtual HRESULT STDMETHODCALLTYPE IsSupported(
74         const GUID *Api) = 0;
75 
76     virtual HRESULT STDMETHODCALLTYPE IsModifiable(
77         const GUID *Api) = 0;
78 
79     virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
80         const GUID *Api,
81         VARIANT *ValueMin,
82         VARIANT *ValueMax,
83         VARIANT *SteppingDelta) = 0;
84 
85     virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
86         const GUID *Api,
87         VARIANT **Values,
88         ULONG *ValuesCount) = 0;
89 
90     virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
91         const GUID *Api,
92         VARIANT *Value) = 0;
93 
94     virtual HRESULT STDMETHODCALLTYPE GetValue(
95         const GUID *Api,
96         VARIANT *Value) = 0;
97 
98     virtual HRESULT STDMETHODCALLTYPE SetValue(
99         const GUID *Api,
100         VARIANT *Value) = 0;
101 
102     virtual HRESULT STDMETHODCALLTYPE RegisterForEvent(
103         const GUID *Api,
104         LONG_PTR userData) = 0;
105 
106     virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent(
107         const GUID *Api) = 0;
108 
109     virtual HRESULT STDMETHODCALLTYPE SetAllDefaults(
110         ) = 0;
111 
112     virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify(
113         const GUID *Api,
114         VARIANT *Value,
115         GUID **ChangedParam,
116         ULONG *ChangedParamCount) = 0;
117 
118     virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify(
119         GUID **ChangedParam,
120         ULONG *ChangedParamCount) = 0;
121 
122     virtual HRESULT STDMETHODCALLTYPE GetAllSettings(
123         IStream *a) = 0;
124 
125     virtual HRESULT STDMETHODCALLTYPE SetAllSettings(
126         IStream *a) = 0;
127 
128     virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify(
129         IStream *a,
130         GUID **ChangedParam,
131         ULONG *ChangedParamCount) = 0;
132 
133 };
134 #ifdef __CRT_UUID_DECL
135 __CRT_UUID_DECL(ICodecAPI, 0x901db4c7, 0x31ce, 0x41a2, 0x85,0xdc, 0x8f,0xa0,0xbf,0x41,0xb8,0xda)
136 #endif
137 #else
138 typedef struct ICodecAPIVtbl {
139     BEGIN_INTERFACE
140 
141     /*** IUnknown methods ***/
142     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
143         ICodecAPI *This,
144         REFIID riid,
145         void **ppvObject);
146 
147     ULONG (STDMETHODCALLTYPE *AddRef)(
148         ICodecAPI *This);
149 
150     ULONG (STDMETHODCALLTYPE *Release)(
151         ICodecAPI *This);
152 
153     /*** ICodecAPI methods ***/
154     HRESULT (STDMETHODCALLTYPE *IsSupported)(
155         ICodecAPI *This,
156         const GUID *Api);
157 
158     HRESULT (STDMETHODCALLTYPE *IsModifiable)(
159         ICodecAPI *This,
160         const GUID *Api);
161 
162     HRESULT (STDMETHODCALLTYPE *GetParameterRange)(
163         ICodecAPI *This,
164         const GUID *Api,
165         VARIANT *ValueMin,
166         VARIANT *ValueMax,
167         VARIANT *SteppingDelta);
168 
169     HRESULT (STDMETHODCALLTYPE *GetParameterValues)(
170         ICodecAPI *This,
171         const GUID *Api,
172         VARIANT **Values,
173         ULONG *ValuesCount);
174 
175     HRESULT (STDMETHODCALLTYPE *GetDefaultValue)(
176         ICodecAPI *This,
177         const GUID *Api,
178         VARIANT *Value);
179 
180     HRESULT (STDMETHODCALLTYPE *GetValue)(
181         ICodecAPI *This,
182         const GUID *Api,
183         VARIANT *Value);
184 
185     HRESULT (STDMETHODCALLTYPE *SetValue)(
186         ICodecAPI *This,
187         const GUID *Api,
188         VARIANT *Value);
189 
190     HRESULT (STDMETHODCALLTYPE *RegisterForEvent)(
191         ICodecAPI *This,
192         const GUID *Api,
193         LONG_PTR userData);
194 
195     HRESULT (STDMETHODCALLTYPE *UnregisterForEvent)(
196         ICodecAPI *This,
197         const GUID *Api);
198 
199     HRESULT (STDMETHODCALLTYPE *SetAllDefaults)(
200         ICodecAPI *This);
201 
202     HRESULT (STDMETHODCALLTYPE *SetValueWithNotify)(
203         ICodecAPI *This,
204         const GUID *Api,
205         VARIANT *Value,
206         GUID **ChangedParam,
207         ULONG *ChangedParamCount);
208 
209     HRESULT (STDMETHODCALLTYPE *SetAllDefaultsWithNotify)(
210         ICodecAPI *This,
211         GUID **ChangedParam,
212         ULONG *ChangedParamCount);
213 
214     HRESULT (STDMETHODCALLTYPE *GetAllSettings)(
215         ICodecAPI *This,
216         IStream *a);
217 
218     HRESULT (STDMETHODCALLTYPE *SetAllSettings)(
219         ICodecAPI *This,
220         IStream *a);
221 
222     HRESULT (STDMETHODCALLTYPE *SetAllSettingsWithNotify)(
223         ICodecAPI *This,
224         IStream *a,
225         GUID **ChangedParam,
226         ULONG *ChangedParamCount);
227 
228     END_INTERFACE
229 } ICodecAPIVtbl;
230 
231 interface ICodecAPI {
232     CONST_VTBL ICodecAPIVtbl* lpVtbl;
233 };
234 
235 #ifdef COBJMACROS
236 #ifndef WIDL_C_INLINE_WRAPPERS
237 /*** IUnknown methods ***/
238 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
239 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
240 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
241 /*** ICodecAPI methods ***/
242 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
243 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
244 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
245 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
246 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
247 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
248 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
249 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
250 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
251 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
252 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
253 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
254 #define ICodecAPI_GetAllSettings(This,a) (This)->lpVtbl->GetAllSettings(This,a)
255 #define ICodecAPI_SetAllSettings(This,a) (This)->lpVtbl->SetAllSettings(This,a)
256 #define ICodecAPI_SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount)
257 #else
258 /*** IUnknown methods ***/
259 static FORCEINLINE HRESULT ICodecAPI_QueryInterface(ICodecAPI* This,REFIID riid,void **ppvObject) {
260     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
261 }
262 static FORCEINLINE ULONG ICodecAPI_AddRef(ICodecAPI* This) {
263     return This->lpVtbl->AddRef(This);
264 }
265 static FORCEINLINE ULONG ICodecAPI_Release(ICodecAPI* This) {
266     return This->lpVtbl->Release(This);
267 }
268 /*** ICodecAPI methods ***/
269 static FORCEINLINE HRESULT ICodecAPI_IsSupported(ICodecAPI* This,const GUID *Api) {
270     return This->lpVtbl->IsSupported(This,Api);
271 }
272 static FORCEINLINE HRESULT ICodecAPI_IsModifiable(ICodecAPI* This,const GUID *Api) {
273     return This->lpVtbl->IsModifiable(This,Api);
274 }
275 static FORCEINLINE HRESULT ICodecAPI_GetParameterRange(ICodecAPI* This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) {
276     return This->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta);
277 }
278 static FORCEINLINE HRESULT ICodecAPI_GetParameterValues(ICodecAPI* This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount) {
279     return This->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount);
280 }
281 static FORCEINLINE HRESULT ICodecAPI_GetDefaultValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
282     return This->lpVtbl->GetDefaultValue(This,Api,Value);
283 }
284 static FORCEINLINE HRESULT ICodecAPI_GetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
285     return This->lpVtbl->GetValue(This,Api,Value);
286 }
287 static FORCEINLINE HRESULT ICodecAPI_SetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
288     return This->lpVtbl->SetValue(This,Api,Value);
289 }
290 static FORCEINLINE HRESULT ICodecAPI_RegisterForEvent(ICodecAPI* This,const GUID *Api,LONG_PTR userData) {
291     return This->lpVtbl->RegisterForEvent(This,Api,userData);
292 }
293 static FORCEINLINE HRESULT ICodecAPI_UnregisterForEvent(ICodecAPI* This,const GUID *Api) {
294     return This->lpVtbl->UnregisterForEvent(This,Api);
295 }
296 static FORCEINLINE HRESULT ICodecAPI_SetAllDefaults(ICodecAPI* This) {
297     return This->lpVtbl->SetAllDefaults(This);
298 }
299 static FORCEINLINE HRESULT ICodecAPI_SetValueWithNotify(ICodecAPI* This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) {
300     return This->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount);
301 }
302 static FORCEINLINE HRESULT ICodecAPI_SetAllDefaultsWithNotify(ICodecAPI* This,GUID **ChangedParam,ULONG *ChangedParamCount) {
303     return This->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount);
304 }
305 static FORCEINLINE HRESULT ICodecAPI_GetAllSettings(ICodecAPI* This,IStream *a) {
306     return This->lpVtbl->GetAllSettings(This,a);
307 }
308 static FORCEINLINE HRESULT ICodecAPI_SetAllSettings(ICodecAPI* This,IStream *a) {
309     return This->lpVtbl->SetAllSettings(This,a);
310 }
311 static FORCEINLINE HRESULT ICodecAPI_SetAllSettingsWithNotify(ICodecAPI* This,IStream *a,GUID **ChangedParam,ULONG *ChangedParamCount) {
312     return This->lpVtbl->SetAllSettingsWithNotify(This,a,ChangedParam,ChangedParamCount);
313 }
314 #endif
315 #endif
316 
317 #endif
318 
319 
320 #endif  /* __ICodecAPI_INTERFACE_DEFINED__ */
321 
322 #endif
323 /* Begin additional prototypes for all interfaces */
324 
325 
326 /* End additional prototypes */
327 
328 #ifdef __cplusplus
329 }
330 #endif
331 
332 #endif /* __icodecapi_h__ */
333