icodecapi.h 11 KB

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