xapo.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. /*** Autogenerated by WIDL 7.7 from include/xapo.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 __xapo_h__
  14. #define __xapo_h__
  15. /* Forward declarations */
  16. #ifndef __IXAPO_FWD_DEFINED__
  17. #define __IXAPO_FWD_DEFINED__
  18. typedef interface IXAPO IXAPO;
  19. #ifdef __cplusplus
  20. interface IXAPO;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IXAPOParameters_FWD_DEFINED__
  24. #define __IXAPOParameters_FWD_DEFINED__
  25. typedef interface IXAPOParameters IXAPOParameters;
  26. #ifdef __cplusplus
  27. interface IXAPOParameters;
  28. #endif /* __cplusplus */
  29. #endif
  30. /* Headers for imported files */
  31. #include <unknwn.h>
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35. #define XAPO_FLAG_CHANNELS_MUST_MATCH 0x1
  36. #define XAPO_FLAG_FRAMERATE_MUST_MATCH 0x2
  37. #define XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH 0x4
  38. #define XAPO_FLAG_BUFFERCOUNT_MUST_MATCH 0x8
  39. #define XAPO_FLAG_INPLACE_SUPPORTED 0x10
  40. #define XAPO_FLAG_INPLACE_REQUIRED 0x20
  41. #if 0
  42. typedef struct WAVEFORMATEX {
  43. WORD wFormatTag;
  44. WORD nChannels;
  45. DWORD nSamplesPerSec;
  46. DWORD nAvgBytesPerSec;
  47. WORD nBlockAlign;
  48. WORD wBitsPerSample;
  49. WORD cbSize;
  50. } WAVEFORMATEX;
  51. typedef struct __WIDL_xapo_generated_name_0000000C {
  52. WAVEFORMATEX Format;
  53. union {
  54. WORD wValidBitsPerSample;
  55. WORD wSamplesPerBlock;
  56. WORD wReserved;
  57. } Samples;
  58. DWORD dwChannelMask;
  59. GUID SubFormat;
  60. } WAVEFORMATEXTENSIBLE;
  61. typedef struct __WIDL_xapo_generated_name_0000000C *PWAVEFORMATEXTENSIBLE;
  62. #else
  63. #include <mmreg.h>
  64. #endif
  65. typedef struct XAPO_REGISTRATION_PROPERTIES {
  66. CLSID clsid;
  67. WCHAR FriendlyName[256];
  68. WCHAR CopyrightInfo[256];
  69. UINT32 MajorVersion;
  70. UINT32 MinorVersion;
  71. UINT32 Flags;
  72. UINT32 MinInputBufferCount;
  73. UINT32 MaxInputBufferCount;
  74. UINT32 MinOutputBufferCount;
  75. UINT32 MaxOutputBufferCount;
  76. } XAPO_REGISTRATION_PROPERTIES;
  77. typedef struct XAPO20_REGISTRATION_PROPERTIES {
  78. CLSID clsid;
  79. WCHAR FriendlyName[256];
  80. WCHAR CopyrightInfo[256];
  81. UINT32 MajorVersion;
  82. UINT32 MinorVersion;
  83. UINT32 Flags;
  84. UINT32 MinInputBufferCount;
  85. UINT32 MaxInputBufferCount;
  86. UINT32 MinOutputBufferCount;
  87. UINT32 MaxOutputBufferCount;
  88. UINT32 InterfaceCount;
  89. IID InterfaceArray[1];
  90. } XAPO20_REGISTRATION_PROPERTIES;
  91. typedef struct XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS {
  92. const WAVEFORMATEX *pFormat;
  93. UINT32 MaxFrameCount;
  94. } XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS;
  95. typedef enum XAPO_BUFFER_FLAGS {
  96. XAPO_BUFFER_SILENT = 0,
  97. XAPO_BUFFER_VALID = 1
  98. } XAPO_BUFFER_FLAGS;
  99. typedef struct XAPO_PROCESS_BUFFER_PARAMETERS {
  100. void *pBuffer;
  101. XAPO_BUFFER_FLAGS BufferFlags;
  102. UINT32 ValidFrameCount;
  103. } XAPO_PROCESS_BUFFER_PARAMETERS;
  104. /*****************************************************************************
  105. * IXAPO interface
  106. */
  107. #ifndef __IXAPO_INTERFACE_DEFINED__
  108. #define __IXAPO_INTERFACE_DEFINED__
  109. DEFINE_GUID(IID_IXAPO, 0xa410b984, 0x9839, 0x4819, 0xa0,0xbe, 0x28,0x56,0xae,0x6b,0x3a,0xdb);
  110. #if defined(__cplusplus) && !defined(CINTERFACE)
  111. MIDL_INTERFACE("a410b984-9839-4819-a0be-2856ae6b3adb")
  112. IXAPO : public IUnknown
  113. {
  114. virtual HRESULT STDMETHODCALLTYPE GetRegistrationProperties(
  115. XAPO_REGISTRATION_PROPERTIES **props) = 0;
  116. virtual HRESULT STDMETHODCALLTYPE IsInputFormatSupported(
  117. const WAVEFORMATEX *output_fmt,
  118. const WAVEFORMATEX *input_fmt,
  119. WAVEFORMATEX **supported_fmt) = 0;
  120. virtual HRESULT STDMETHODCALLTYPE IsOutputFormatSupported(
  121. const WAVEFORMATEX *input_fmt,
  122. const WAVEFORMATEX *output_fmt,
  123. WAVEFORMATEX **supported_fmt) = 0;
  124. virtual HRESULT STDMETHODCALLTYPE Initialize(
  125. const void *data,
  126. UINT32 data_len) = 0;
  127. virtual void STDMETHODCALLTYPE Reset(
  128. ) = 0;
  129. virtual HRESULT STDMETHODCALLTYPE LockForProcess(
  130. UINT32 in_params_count,
  131. const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params,
  132. UINT32 out_params_count,
  133. const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params) = 0;
  134. virtual void STDMETHODCALLTYPE UnlockForProcess(
  135. ) = 0;
  136. virtual void STDMETHODCALLTYPE Process(
  137. UINT32 in_params_count,
  138. const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,
  139. UINT32 out_params_count,
  140. XAPO_PROCESS_BUFFER_PARAMETERS *out_params,
  141. WINBOOL enabled) = 0;
  142. virtual UINT32 STDMETHODCALLTYPE CalcInputFrames(
  143. UINT32 output_frames) = 0;
  144. virtual UINT32 STDMETHODCALLTYPE CalcOutputFrames(
  145. UINT32 input_frames) = 0;
  146. };
  147. #ifdef __CRT_UUID_DECL
  148. __CRT_UUID_DECL(IXAPO, 0xa410b984, 0x9839, 0x4819, 0xa0,0xbe, 0x28,0x56,0xae,0x6b,0x3a,0xdb)
  149. #endif
  150. #else
  151. typedef struct IXAPOVtbl {
  152. BEGIN_INTERFACE
  153. /*** IUnknown methods ***/
  154. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  155. IXAPO *This,
  156. REFIID riid,
  157. void **ppvObject);
  158. ULONG (STDMETHODCALLTYPE *AddRef)(
  159. IXAPO *This);
  160. ULONG (STDMETHODCALLTYPE *Release)(
  161. IXAPO *This);
  162. /*** IXAPO methods ***/
  163. HRESULT (STDMETHODCALLTYPE *GetRegistrationProperties)(
  164. IXAPO *This,
  165. XAPO_REGISTRATION_PROPERTIES **props);
  166. HRESULT (STDMETHODCALLTYPE *IsInputFormatSupported)(
  167. IXAPO *This,
  168. const WAVEFORMATEX *output_fmt,
  169. const WAVEFORMATEX *input_fmt,
  170. WAVEFORMATEX **supported_fmt);
  171. HRESULT (STDMETHODCALLTYPE *IsOutputFormatSupported)(
  172. IXAPO *This,
  173. const WAVEFORMATEX *input_fmt,
  174. const WAVEFORMATEX *output_fmt,
  175. WAVEFORMATEX **supported_fmt);
  176. HRESULT (STDMETHODCALLTYPE *Initialize)(
  177. IXAPO *This,
  178. const void *data,
  179. UINT32 data_len);
  180. void (STDMETHODCALLTYPE *Reset)(
  181. IXAPO *This);
  182. HRESULT (STDMETHODCALLTYPE *LockForProcess)(
  183. IXAPO *This,
  184. UINT32 in_params_count,
  185. const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params,
  186. UINT32 out_params_count,
  187. const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params);
  188. void (STDMETHODCALLTYPE *UnlockForProcess)(
  189. IXAPO *This);
  190. void (STDMETHODCALLTYPE *Process)(
  191. IXAPO *This,
  192. UINT32 in_params_count,
  193. const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,
  194. UINT32 out_params_count,
  195. XAPO_PROCESS_BUFFER_PARAMETERS *out_params,
  196. WINBOOL enabled);
  197. UINT32 (STDMETHODCALLTYPE *CalcInputFrames)(
  198. IXAPO *This,
  199. UINT32 output_frames);
  200. UINT32 (STDMETHODCALLTYPE *CalcOutputFrames)(
  201. IXAPO *This,
  202. UINT32 input_frames);
  203. END_INTERFACE
  204. } IXAPOVtbl;
  205. interface IXAPO {
  206. CONST_VTBL IXAPOVtbl* lpVtbl;
  207. };
  208. #ifdef COBJMACROS
  209. #ifndef WIDL_C_INLINE_WRAPPERS
  210. /*** IUnknown methods ***/
  211. #define IXAPO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  212. #define IXAPO_AddRef(This) (This)->lpVtbl->AddRef(This)
  213. #define IXAPO_Release(This) (This)->lpVtbl->Release(This)
  214. /*** IXAPO methods ***/
  215. #define IXAPO_GetRegistrationProperties(This,props) (This)->lpVtbl->GetRegistrationProperties(This,props)
  216. #define IXAPO_IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt) (This)->lpVtbl->IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt)
  217. #define IXAPO_IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt) (This)->lpVtbl->IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt)
  218. #define IXAPO_Initialize(This,data,data_len) (This)->lpVtbl->Initialize(This,data,data_len)
  219. #define IXAPO_Reset(This) (This)->lpVtbl->Reset(This)
  220. #define IXAPO_LockForProcess(This,in_params_count,in_params,out_params_count,out_params) (This)->lpVtbl->LockForProcess(This,in_params_count,in_params,out_params_count,out_params)
  221. #define IXAPO_UnlockForProcess(This) (This)->lpVtbl->UnlockForProcess(This)
  222. #define IXAPO_Process(This,in_params_count,in_params,out_params_count,out_params,enabled) (This)->lpVtbl->Process(This,in_params_count,in_params,out_params_count,out_params,enabled)
  223. #define IXAPO_CalcInputFrames(This,output_frames) (This)->lpVtbl->CalcInputFrames(This,output_frames)
  224. #define IXAPO_CalcOutputFrames(This,input_frames) (This)->lpVtbl->CalcOutputFrames(This,input_frames)
  225. #else
  226. /*** IUnknown methods ***/
  227. static FORCEINLINE HRESULT IXAPO_QueryInterface(IXAPO* This,REFIID riid,void **ppvObject) {
  228. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  229. }
  230. static FORCEINLINE ULONG IXAPO_AddRef(IXAPO* This) {
  231. return This->lpVtbl->AddRef(This);
  232. }
  233. static FORCEINLINE ULONG IXAPO_Release(IXAPO* This) {
  234. return This->lpVtbl->Release(This);
  235. }
  236. /*** IXAPO methods ***/
  237. static FORCEINLINE HRESULT IXAPO_GetRegistrationProperties(IXAPO* This,XAPO_REGISTRATION_PROPERTIES **props) {
  238. return This->lpVtbl->GetRegistrationProperties(This,props);
  239. }
  240. static FORCEINLINE HRESULT IXAPO_IsInputFormatSupported(IXAPO* This,const WAVEFORMATEX *output_fmt,const WAVEFORMATEX *input_fmt,WAVEFORMATEX **supported_fmt) {
  241. return This->lpVtbl->IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt);
  242. }
  243. static FORCEINLINE HRESULT IXAPO_IsOutputFormatSupported(IXAPO* This,const WAVEFORMATEX *input_fmt,const WAVEFORMATEX *output_fmt,WAVEFORMATEX **supported_fmt) {
  244. return This->lpVtbl->IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt);
  245. }
  246. static FORCEINLINE HRESULT IXAPO_Initialize(IXAPO* This,const void *data,UINT32 data_len) {
  247. return This->lpVtbl->Initialize(This,data,data_len);
  248. }
  249. static FORCEINLINE void IXAPO_Reset(IXAPO* This) {
  250. This->lpVtbl->Reset(This);
  251. }
  252. static FORCEINLINE HRESULT IXAPO_LockForProcess(IXAPO* This,UINT32 in_params_count,const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params,UINT32 out_params_count,const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params) {
  253. return This->lpVtbl->LockForProcess(This,in_params_count,in_params,out_params_count,out_params);
  254. }
  255. static FORCEINLINE void IXAPO_UnlockForProcess(IXAPO* This) {
  256. This->lpVtbl->UnlockForProcess(This);
  257. }
  258. static FORCEINLINE void IXAPO_Process(IXAPO* This,UINT32 in_params_count,const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,UINT32 out_params_count,XAPO_PROCESS_BUFFER_PARAMETERS *out_params,WINBOOL enabled) {
  259. This->lpVtbl->Process(This,in_params_count,in_params,out_params_count,out_params,enabled);
  260. }
  261. static FORCEINLINE UINT32 IXAPO_CalcInputFrames(IXAPO* This,UINT32 output_frames) {
  262. return This->lpVtbl->CalcInputFrames(This,output_frames);
  263. }
  264. static FORCEINLINE UINT32 IXAPO_CalcOutputFrames(IXAPO* This,UINT32 input_frames) {
  265. return This->lpVtbl->CalcOutputFrames(This,input_frames);
  266. }
  267. #endif
  268. #endif
  269. #endif
  270. #endif /* __IXAPO_INTERFACE_DEFINED__ */
  271. DEFINE_GUID(IID_IXAPO27, 0xa90bc001, 0xe897, 0xe897, 0x55, 0xe4, 0x9e, 0x47, 0x00, 0x00, 0x00, 0x00);
  272. /*****************************************************************************
  273. * IXAPOParameters interface
  274. */
  275. #ifndef __IXAPOParameters_INTERFACE_DEFINED__
  276. #define __IXAPOParameters_INTERFACE_DEFINED__
  277. DEFINE_GUID(IID_IXAPOParameters, 0x26d95c66, 0x80f2, 0x499a, 0xad,0x54, 0x5a,0xe7,0xf0,0x1c,0x6d,0x98);
  278. #if defined(__cplusplus) && !defined(CINTERFACE)
  279. MIDL_INTERFACE("26d95c66-80f2-499a-ad54-5ae7f01c6d98")
  280. IXAPOParameters : public IUnknown
  281. {
  282. virtual void STDMETHODCALLTYPE SetParameters(
  283. const void *params,
  284. UINT32 params_len) = 0;
  285. virtual void STDMETHODCALLTYPE GetParameters(
  286. void *params,
  287. UINT32 params_len) = 0;
  288. };
  289. #ifdef __CRT_UUID_DECL
  290. __CRT_UUID_DECL(IXAPOParameters, 0x26d95c66, 0x80f2, 0x499a, 0xad,0x54, 0x5a,0xe7,0xf0,0x1c,0x6d,0x98)
  291. #endif
  292. #else
  293. typedef struct IXAPOParametersVtbl {
  294. BEGIN_INTERFACE
  295. /*** IUnknown methods ***/
  296. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  297. IXAPOParameters *This,
  298. REFIID riid,
  299. void **ppvObject);
  300. ULONG (STDMETHODCALLTYPE *AddRef)(
  301. IXAPOParameters *This);
  302. ULONG (STDMETHODCALLTYPE *Release)(
  303. IXAPOParameters *This);
  304. /*** IXAPOParameters methods ***/
  305. void (STDMETHODCALLTYPE *SetParameters)(
  306. IXAPOParameters *This,
  307. const void *params,
  308. UINT32 params_len);
  309. void (STDMETHODCALLTYPE *GetParameters)(
  310. IXAPOParameters *This,
  311. void *params,
  312. UINT32 params_len);
  313. END_INTERFACE
  314. } IXAPOParametersVtbl;
  315. interface IXAPOParameters {
  316. CONST_VTBL IXAPOParametersVtbl* lpVtbl;
  317. };
  318. #ifdef COBJMACROS
  319. #ifndef WIDL_C_INLINE_WRAPPERS
  320. /*** IUnknown methods ***/
  321. #define IXAPOParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  322. #define IXAPOParameters_AddRef(This) (This)->lpVtbl->AddRef(This)
  323. #define IXAPOParameters_Release(This) (This)->lpVtbl->Release(This)
  324. /*** IXAPOParameters methods ***/
  325. #define IXAPOParameters_SetParameters(This,params,params_len) (This)->lpVtbl->SetParameters(This,params,params_len)
  326. #define IXAPOParameters_GetParameters(This,params,params_len) (This)->lpVtbl->GetParameters(This,params,params_len)
  327. #else
  328. /*** IUnknown methods ***/
  329. static FORCEINLINE HRESULT IXAPOParameters_QueryInterface(IXAPOParameters* This,REFIID riid,void **ppvObject) {
  330. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  331. }
  332. static FORCEINLINE ULONG IXAPOParameters_AddRef(IXAPOParameters* This) {
  333. return This->lpVtbl->AddRef(This);
  334. }
  335. static FORCEINLINE ULONG IXAPOParameters_Release(IXAPOParameters* This) {
  336. return This->lpVtbl->Release(This);
  337. }
  338. /*** IXAPOParameters methods ***/
  339. static FORCEINLINE void IXAPOParameters_SetParameters(IXAPOParameters* This,const void *params,UINT32 params_len) {
  340. This->lpVtbl->SetParameters(This,params,params_len);
  341. }
  342. static FORCEINLINE void IXAPOParameters_GetParameters(IXAPOParameters* This,void *params,UINT32 params_len) {
  343. This->lpVtbl->GetParameters(This,params,params_len);
  344. }
  345. #endif
  346. #endif
  347. #endif
  348. #endif /* __IXAPOParameters_INTERFACE_DEFINED__ */
  349. DEFINE_GUID(IID_IXAPO27Parameters, 0xa90bc001, 0xe897, 0xe897, 0x55, 0xe4, 0x9e, 0x47, 0x00, 0x00, 0x00, 0x01);
  350. /* Begin additional prototypes for all interfaces */
  351. /* End additional prototypes */
  352. #ifdef __cplusplus
  353. }
  354. #endif
  355. #endif /* __xapo_h__ */