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