master
  1/*** Autogenerated by WIDL 10.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__
 23typedef interface ICodecAPI ICodecAPI;
 24#ifdef __cplusplus
 25interface 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
 35extern "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
 47struct CodecAPIEventData {
 48    GUID guid;
 49    DWORD dataLength;
 50    DWORD reserved[3];
 51};
 52
 53#ifndef __IStream_FWD_DEFINED__
 54#define __IStream_FWD_DEFINED__
 55typedef interface IStream IStream;
 56#ifdef __cplusplus
 57interface IStream;
 58#endif /* __cplusplus */
 59#endif
 60
 61
 62/*****************************************************************************
 63 * ICodecAPI interface
 64 */
 65#ifndef __ICodecAPI_INTERFACE_DEFINED__
 66#define __ICodecAPI_INTERFACE_DEFINED__
 67
 68DEFINE_GUID(IID_ICodecAPI, 0x901db4c7, 0x31ce, 0x41a2, 0x85,0xdc, 0x8f,0xa0,0xbf,0x41,0xb8,0xda);
 69#if defined(__cplusplus) && !defined(CINTERFACE)
 70MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
 71ICodecAPI : 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
138typedef 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
231interface 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 ***/
259static inline HRESULT ICodecAPI_QueryInterface(ICodecAPI* This,REFIID riid,void **ppvObject) {
260    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
261}
262static inline ULONG ICodecAPI_AddRef(ICodecAPI* This) {
263    return This->lpVtbl->AddRef(This);
264}
265static inline ULONG ICodecAPI_Release(ICodecAPI* This) {
266    return This->lpVtbl->Release(This);
267}
268/*** ICodecAPI methods ***/
269static inline HRESULT ICodecAPI_IsSupported(ICodecAPI* This,const GUID *Api) {
270    return This->lpVtbl->IsSupported(This,Api);
271}
272static inline HRESULT ICodecAPI_IsModifiable(ICodecAPI* This,const GUID *Api) {
273    return This->lpVtbl->IsModifiable(This,Api);
274}
275static inline 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}
278static inline HRESULT ICodecAPI_GetParameterValues(ICodecAPI* This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount) {
279    return This->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount);
280}
281static inline HRESULT ICodecAPI_GetDefaultValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
282    return This->lpVtbl->GetDefaultValue(This,Api,Value);
283}
284static inline HRESULT ICodecAPI_GetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
285    return This->lpVtbl->GetValue(This,Api,Value);
286}
287static inline HRESULT ICodecAPI_SetValue(ICodecAPI* This,const GUID *Api,VARIANT *Value) {
288    return This->lpVtbl->SetValue(This,Api,Value);
289}
290static inline HRESULT ICodecAPI_RegisterForEvent(ICodecAPI* This,const GUID *Api,LONG_PTR userData) {
291    return This->lpVtbl->RegisterForEvent(This,Api,userData);
292}
293static inline HRESULT ICodecAPI_UnregisterForEvent(ICodecAPI* This,const GUID *Api) {
294    return This->lpVtbl->UnregisterForEvent(This,Api);
295}
296static inline HRESULT ICodecAPI_SetAllDefaults(ICodecAPI* This) {
297    return This->lpVtbl->SetAllDefaults(This);
298}
299static inline 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}
302static inline HRESULT ICodecAPI_SetAllDefaultsWithNotify(ICodecAPI* This,GUID **ChangedParam,ULONG *ChangedParamCount) {
303    return This->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount);
304}
305static inline HRESULT ICodecAPI_GetAllSettings(ICodecAPI* This,IStream *a) {
306    return This->lpVtbl->GetAllSettings(This,a);
307}
308static inline HRESULT ICodecAPI_SetAllSettings(ICodecAPI* This,IStream *a) {
309    return This->lpVtbl->SetAllSettings(This,a);
310}
311static inline 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__ */