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