

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.00.0613 */
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __windows2Emedia2Eeffects_h__
#define __windows2Emedia2Eeffects_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect;

#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect;

#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect;

#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#endif 	/* ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#endif 	/* ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable;

#endif 	/* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable;

#endif 	/* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoCompositorDefinition;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoCompositorDefinitionFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface ICompositeVideoFrameContext;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffect;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffectsManagerStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioCaptureEffectsManager;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoCompositor;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffectDefinition;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoEffectDefinition;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoEffectDefinitionFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffectDefinitionFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IProcessVideoFrameContext;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IBasicVideoEffect;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IProcessAudioFrameContext;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IBasicAudioEffect;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IVideoTransformEffectDefinition;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_FWD_DEFINED__ */


/* header files for imported files */
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "Windows.Foundation.h"
#include "Windows.Graphics.DirectX.Direct3D11.h"
#include "Windows.Media.h"
#include "Windows.Media.Capture.h"
#include "Windows.Media.Editing.h"
#include "Windows.Media.Render.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0000 */
/* [local] */ 

#ifdef __cplusplus
} /*extern "C"*/ 
#endif
#include <windows.foundation.collections.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class AudioEffect;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
interface IAudioEffect;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3225 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3225 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3225_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3225_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_USE
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("673ce717-a3cf-5d68-a80b-5ed3e7b93fed"))
IIterator<ABI::Windows::Media::Effects::AudioEffect*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.Effects.AudioEffect>"; }
};
typedef IIterator<ABI::Windows::Media::Effects::AudioEffect*> __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_t;
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3226 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3226 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3226_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3226_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_USE
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("07af9afd-25b8-579d-be7e-8acc03418d0b"))
IIterable<ABI::Windows::Media::Effects::AudioEffect*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.Effects.AudioEffect>"; }
};
typedef IIterable<ABI::Windows::Media::Effects::AudioEffect*> __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_t;
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
interface IAudioEffectDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0002 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3227 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3227 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3227_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3227_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0003 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ec0f39fc-6959-5423-9e1a-f7cb8e845ca1"))
IIterator<ABI::Windows::Media::Effects::IAudioEffectDefinition*> : IIterator_impl<ABI::Windows::Media::Effects::IAudioEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.Effects.IAudioEffectDefinition>"; }
};
typedef IIterator<ABI::Windows::Media::Effects::IAudioEffectDefinition*> __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t;
#define ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3228 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3228 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3228_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3228_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0004 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("607a20bf-32b4-5b8e-a793-3024f8d3582a"))
IIterable<ABI::Windows::Media::Effects::IAudioEffectDefinition*> : IIterable_impl<ABI::Windows::Media::Effects::IAudioEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.Effects.IAudioEffectDefinition>"; }
};
typedef IIterable<ABI::Windows::Media::Effects::IAudioEffectDefinition*> __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t;
#define ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
interface IVideoEffectDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0004 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3229 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3229 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3229_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3229_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0005 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("9d82379d-4958-558e-a155-3a809bb16c04"))
IIterator<ABI::Windows::Media::Effects::IVideoEffectDefinition*> : IIterator_impl<ABI::Windows::Media::Effects::IVideoEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.Effects.IVideoEffectDefinition>"; }
};
typedef IIterator<ABI::Windows::Media::Effects::IVideoEffectDefinition*> __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t;
#define ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3230 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3230 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3230_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3230_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0006 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("eb567f6f-b014-513d-99cd-f16c226c3c41"))
IIterable<ABI::Windows::Media::Effects::IVideoEffectDefinition*> : IIterable_impl<ABI::Windows::Media::Effects::IVideoEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.Effects.IVideoEffectDefinition>"; }
};
typedef IIterable<ABI::Windows::Media::Effects::IVideoEffectDefinition*> __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t;
#define ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0006 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3231 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3231 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3231_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3231_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0007 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_USE
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("cdcbc9e7-53d8-5e66-9e45-31d5a23fd01d"))
IVectorView<ABI::Windows::Media::Effects::AudioEffect*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.Effects.AudioEffect>"; }
};
typedef IVectorView<ABI::Windows::Media::Effects::AudioEffect*> __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_t;
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3232 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3232 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3232_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3232_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0008 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("de9e6a7f-d28e-5ef1-916a-efa880b489d1"))
IVectorView<ABI::Windows::Media::Effects::IAudioEffectDefinition*> : IVectorView_impl<ABI::Windows::Media::Effects::IAudioEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.Effects.IAudioEffectDefinition>"; }
};
typedef IVectorView<ABI::Windows::Media::Effects::IAudioEffectDefinition*> __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t;
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0008 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3233 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3233 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3233_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3233_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0009 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("a44b4f8e-7ca3-53b1-b68b-098baf45c73e"))
IVectorView<ABI::Windows::Media::Effects::IVideoEffectDefinition*> : IVectorView_impl<ABI::Windows::Media::Effects::IVideoEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.Effects.IVideoEffectDefinition>"; }
};
typedef IVectorView<ABI::Windows::Media::Effects::IVideoEffectDefinition*> __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t;
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3234 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3234 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3234_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3234_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0010 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#define DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2828a982-d849-5fc9-84ce-f9a4b3b4d341"))
IVector<ABI::Windows::Media::Effects::IAudioEffectDefinition*> : IVector_impl<ABI::Windows::Media::Effects::IAudioEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Media.Effects.IAudioEffectDefinition>"; }
};
typedef IVector<ABI::Windows::Media::Effects::IAudioEffectDefinition*> __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t;
#define ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_FWD_DEFINED__
#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0010 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3235 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3235 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3235_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3235_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0011 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#define DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("7ca161ed-e201-5615-aacc-25348564f0b3"))
IVector<ABI::Windows::Media::Effects::IVideoEffectDefinition*> : IVector_impl<ABI::Windows::Media::Effects::IVideoEffectDefinition*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Media.Effects.IVideoEffectDefinition>"; }
};
typedef IVector<ABI::Windows::Media::Effects::IVideoEffectDefinition*> __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t;
#define ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_FWD_DEFINED__
#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class AudioCaptureEffectsManager;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
interface IAudioCaptureEffectsManager;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif

interface IInspectable;


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0011 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3236 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3236 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3236_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3236_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0012 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_USE
#define DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("a1c5e803-a275-5bb1-9d44-2ac8ae9ffb89"))
ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*, ABI::Windows::Media::Effects::IAudioCaptureEffectsManager*>,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Media.Effects.AudioCaptureEffectsManager, Object>"; }
};
typedef ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable*> __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_t;
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class AudioRenderEffectsManager;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
interface IAudioRenderEffectsManager;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3237 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3237 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3237_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3237_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0013 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_USE
#define DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4be29c7e-449c-576e-a7b8-3a40f2f01dc8"))
ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioRenderEffectsManager*, ABI::Windows::Media::Effects::IAudioRenderEffectsManager*>,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Media.Effects.AudioRenderEffectsManager, Object>"; }
};
typedef ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable*> __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_t;
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Graphics {
namespace DirectX {
namespace Direct3D11 {
interface IDirect3DSurface;
} /*Direct3D11*/
} /*DirectX*/
} /*Graphics*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0013 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3238 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3238 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3238_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3238_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0014 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#define DEF___FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("bdfb6d0b-e785-5d5a-abd2-fe1b18c43257"))
IIterator<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> : IIterator_impl<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface>"; }
};
typedef IIterator<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> __FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t;
#define ____FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_FWD_DEFINED__
#define __FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0014 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3239 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3239 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3239_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3239_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0015 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#define DEF___FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("cc63bf9c-e16a-5a75-a5aa-2b53f975b0b0"))
IIterable<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> : IIterable_impl<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface>"; }
};
typedef IIterable<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> __FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t;
#define ____FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_FWD_DEFINED__
#define __FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3240 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3240 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3240_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3240_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0016 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#define DEF___FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("1a81ec3e-5afb-5e10-92bb-c843fec70887"))
IVectorView<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> : IVectorView_impl<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface>"; }
};
typedef IVectorView<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface*> __FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t;
#define ____FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_FWD_DEFINED__
#define __FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
class VideoEncodingProperties;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
interface IVideoEncodingProperties;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0016 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3241 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3241 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3241_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3241_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0017 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#define DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("094166ef-ae5f-5315-a3bf-fe54e8c35fcd"))
IIterator<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*, ABI::Windows::Media::MediaProperties::IVideoEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.MediaProperties.VideoEncodingProperties>"; }
};
typedef IIterator<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> __FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t;
#define ____FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0017 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0017_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3242 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3242 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3242_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3242_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0018 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#define DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("73c7317c-8682-5f81-84a2-30c425fa2d24"))
IIterable<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*, ABI::Windows::Media::MediaProperties::IVideoEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.MediaProperties.VideoEncodingProperties>"; }
};
typedef IIterable<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> __FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t;
#define ____FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0018 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3243 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3243 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3243_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3243_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0019 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#define DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("04c7baba-04d7-51db-a4e3-5147963ec5ff"))
IVectorView<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*, ABI::Windows::Media::MediaProperties::IVideoEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.MediaProperties.VideoEncodingProperties>"; }
};
typedef IVectorView<ABI::Windows::Media::MediaProperties::VideoEncodingProperties*> __FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t;
#define ____FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
class AudioEncodingProperties;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
interface IAudioEncodingProperties;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0019 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0019_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3244 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3244 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3244_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3244_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0020 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#define DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("064b6aef-3bd0-5463-8450-72c6169af5d4"))
IIterator<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*, ABI::Windows::Media::MediaProperties::IAudioEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.MediaProperties.AudioEncodingProperties>"; }
};
typedef IIterator<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> __FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t;
#define ____FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0020 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3245 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3245 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3245_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3245_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0021 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#define DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("00939468-25d8-533f-854e-4f20f36c51dc"))
IIterable<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*, ABI::Windows::Media::MediaProperties::IAudioEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.MediaProperties.AudioEncodingProperties>"; }
};
typedef IIterable<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> __FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t;
#define ____FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0021 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0021_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3246 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3246 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3246_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3246_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0022 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#define DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("64ac506c-ccd0-56cb-b088-b1a36e8755df"))
IVectorView<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*, ABI::Windows::Media::MediaProperties::IAudioEncodingProperties*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.MediaProperties.AudioEncodingProperties>"; }
};
typedef IVectorView<ABI::Windows::Media::MediaProperties::AudioEncodingProperties*> __FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t;
#define ____FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Egraphics2Edirectx2Edirect3d11_h__)
#include <Windows.Graphics.DirectX.Direct3D11.h>
#endif // !defined(__windows2Egraphics2Edirectx2Edirect3d11_h__)
#if !defined(__windows2Emedia_h__)
#include <Windows.Media.h>
#endif // !defined(__windows2Emedia_h__)
#if !defined(__windows2Emedia2Ecapture_h__)
#include <Windows.Media.Capture.h>
#endif // !defined(__windows2Emedia2Ecapture_h__)
#if !defined(__windows2Emedia2Eediting_h__)
#include <Windows.Media.Editing.h>
#endif // !defined(__windows2Emedia2Eediting_h__)
#if !defined(__windows2Emedia2Emediaproperties_h__)
#include <Windows.Media.MediaProperties.h>
#endif // !defined(__windows2Emedia2Emediaproperties_h__)
#if !defined(__windows2Emedia2Erender_h__)
#include <Windows.Media.Render.h>
#endif // !defined(__windows2Emedia2Erender_h__)
#if !defined(__windows2Emedia2Etranscoding_h__)
#include <Windows.Media.Transcoding.h>
#endif // !defined(__windows2Emedia2Etranscoding_h__)
#if !defined(__windows2Estorage2Estreams_h__)
#include <Windows.Storage.Streams.h>
#endif // !defined(__windows2Estorage2Estreams_h__)
#if !defined(__windows2Eui_h__)
#include <Windows.UI.h>
#endif // !defined(__windows2Eui_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)

#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;

#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;

#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
class AudioFrame;
} /*Media*/
} /*Windows*/
}
#endif

#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CAudioProcessing __x_ABI_CWindows_CMedia_CAudioProcessing;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CCapture_CMediaCategory __x_ABI_CWindows_CMedia_CCapture_CMediaCategory;


#endif /* end if !defined(__cplusplus) */


#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Editing {
class MediaOverlay;
} /*Editing*/
} /*Media*/
} /*Windows*/
}
#endif


#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm;


#endif /* end if !defined(__cplusplus) */


#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
class VideoFrame;
} /*Media*/
} /*Windows*/
}
#endif


#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CUI_CColor __x_ABI_CWindows_CUI_CColor;

#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason;


#endif /* end if !defined(__cplusplus) */


#endif













#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class VideoCompositorDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class CompositeVideoFrameContext;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class VideoEffectDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class AudioEffectDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class ProcessVideoFrameContext;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class ProcessAudioFrameContext;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Effects {
class VideoTransformEffectDefinition;
} /*Effects*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0022 */
/* [local] */ 



#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct Rect Rect;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct Size Size;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            
            typedef enum AudioProcessing AudioProcessing;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum MediaCategory MediaCategory;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                
                typedef enum MediaMirroringOptions MediaMirroringOptions;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                
                typedef enum MediaRotation MediaRotation;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Render {
                
                typedef enum AudioRenderCategory AudioRenderCategory;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Transcoding {
                
                typedef enum MediaVideoProcessingAlgorithm MediaVideoProcessingAlgorithm;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            
            typedef struct Color Color;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                typedef enum AudioEffectType AudioEffectType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                typedef enum MediaMemoryTypes MediaMemoryTypes;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                typedef enum MediaEffectClosedReason MediaEffectClosedReason;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif
















extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0022_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3247 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3247 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3247_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3247_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0023 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0023 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0023_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("673ce717-a3cf-5d68-a80b-5ed3e7b93fed")
    __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffect **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IAudioEffect **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

    interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0024 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0024 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0024_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3248 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3248 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3248_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3248_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0025 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0025 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0025_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07af9afd-25b8-579d-be7e-8acc03418d0b")
    __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

    interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0026 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0026 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0026_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3249 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3249 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3249_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3249_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0027 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0027 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0027_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ec0f39fc-6959-5423-9e1a-f7cb8e845ca1")
    __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffectDefinition **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl;

    interface __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
    {
        CONST_VTBL struct __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0028 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0028 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0028_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3250 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3250 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3250_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3250_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0029 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0029 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0029_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("607a20bf-32b4-5b8e-a793-3024f8d3582a")
    __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CIAudioEffectDefinition **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl;

    interface __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
    {
        CONST_VTBL struct __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0030 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0030 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0030_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3251 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3251 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3251_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3251_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0031 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#define DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0031 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0031_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9d82379d-4958-558e-a155-3a809bb16c04")
    __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoEffectDefinition **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl;

    interface __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
    {
        CONST_VTBL struct __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0032 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0032 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0032_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3252 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3252 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3252_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3252_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0033 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#define DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0033 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0033_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("eb567f6f-b014-513d-99cd-f16c226c3c41")
    __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CEffects__CIVideoEffectDefinition **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl;

    interface __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
    {
        CONST_VTBL struct __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0034 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0034 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0034_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3253 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3253 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3253_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3253_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0035 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0035 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0035_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cdcbc9e7-53d8-5e66-9e45-31d5a23fd01d")
    __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffect **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffect *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IAudioEffect **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

    interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0036 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0036 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0036_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3254 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3254 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3254_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3254_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0037 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0037 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0037_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("de9e6a7f-d28e-5ef1-916a-efa880b489d1")
    __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffectDefinition **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl;

    interface __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0038 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0038 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0038_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3255 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3255 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3255_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3255_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0039 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#define DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0039 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0039_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a44b4f8e-7ca3-53b1-b68b-098baf45c73e")
    __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoEffectDefinition **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IVideoEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl;

    interface __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0040 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0040 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0040_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3256 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3256 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3256_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3256_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0041 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#define DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0041 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0041_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2828a982-d849-5fc9-84ce-f9a4b3b4d341")
    __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffectDefinition **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Media::Effects::IAudioEffectDefinition **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CIAudioEffectDefinition **view);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        HRESULT ( STDMETHODCALLTYPE *ReplaceAll )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition * This,
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **value);
        
        END_INTERFACE
    } __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl;

    interface __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition
    {
        CONST_VTBL struct __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0042 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CMedia__CEffects__CIAudioEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0042 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3257 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3257 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3257_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3257_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0043 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#define DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0043 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0043_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7ca161ed-e201-5615-aacc-25348564f0b3")
    __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoEffectDefinition **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IVideoEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IVideoEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IVideoEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IVideoEffectDefinition *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Effects::IVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Media::Effects::IVideoEffectDefinition **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CIVideoEffectDefinition **view);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        HRESULT ( STDMETHODCALLTYPE *ReplaceAll )( 
            __RPC__in __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition * This,
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **value);
        
        END_INTERFACE
    } __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl;

    interface __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition
    {
        CONST_VTBL struct __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0044 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CMedia__CEffects__CIVideoEffectDefinition */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0044 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3258 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3258 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3258_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3258_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0045 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
#define DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0045 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0045_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__

/* interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable */
/* [unique][uuid][object] */ 



/* interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a1c5e803-a275-5bb1-9d44-2ac8ae9ffb89")
    __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioCaptureEffectsManager *sender,
            /* [in] */ __RPC__in_opt IInspectable *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager *sender,
            /* [in] */ __RPC__in_opt IInspectable *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl;

    interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0046 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0046 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0046_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3259 */




/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_3259 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3259_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_3259_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0047 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
#define DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0047 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0047_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__

/* interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable */
/* [unique][uuid][object] */ 



/* interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4be29c7e-449c-576e-a7b8-3a40f2f01dc8")
    __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IAudioRenderEffectsManager *sender,
            /* [in] */ __RPC__in_opt IInspectable *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager *sender,
            /* [in] */ __RPC__in_opt IInspectable *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl;

    interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0048 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable */
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType
    {
        AudioEffectType_Other	= 0,
        AudioEffectType_AcousticEchoCancellation	= 1,
        AudioEffectType_NoiseSuppression	= 2,
        AudioEffectType_AutomaticGainControl	= 3,
        AudioEffectType_BeamForming	= 4,
        AudioEffectType_ConstantToneRemoval	= 5,
        AudioEffectType_Equalizer	= 6,
        AudioEffectType_LoudnessEqualizer	= 7,
        AudioEffectType_BassBoost	= 8,
        AudioEffectType_VirtualSurround	= 9,
        AudioEffectType_VirtualHeadphones	= 10,
        AudioEffectType_SpeakerFill	= 11,
        AudioEffectType_RoomCorrection	= 12,
        AudioEffectType_BassManagement	= 13,
        AudioEffectType_EnvironmentalEffects	= 14,
        AudioEffectType_SpeakerProtection	= 15,
        AudioEffectType_SpeakerCompensation	= 16,
        AudioEffectType_DynamicRangeCompression	= 17
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes
    {
        MediaMemoryTypes_Gpu	= 0,
        MediaMemoryTypes_Cpu	= 1,
        MediaMemoryTypes_GpuAndCpu	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason
    {
        MediaEffectClosedReason_Done	= 0,
        MediaEffectClosedReason_UnknownError	= 1,
        MediaEffectClosedReason_UnsupportedEncodingFormat	= 2,
        MediaEffectClosedReason_EffectCurrentlyUnloaded	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoCompositorDefinition[] = L"Windows.Media.Effects.IVideoCompositorDefinition";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0048 */
/* [local] */ 

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                /* [v1_enum] */ 
                enum AudioEffectType
                    {
                        AudioEffectType_Other	= 0,
                        AudioEffectType_AcousticEchoCancellation	= 1,
                        AudioEffectType_NoiseSuppression	= 2,
                        AudioEffectType_AutomaticGainControl	= 3,
                        AudioEffectType_BeamForming	= 4,
                        AudioEffectType_ConstantToneRemoval	= 5,
                        AudioEffectType_Equalizer	= 6,
                        AudioEffectType_LoudnessEqualizer	= 7,
                        AudioEffectType_BassBoost	= 8,
                        AudioEffectType_VirtualSurround	= 9,
                        AudioEffectType_VirtualHeadphones	= 10,
                        AudioEffectType_SpeakerFill	= 11,
                        AudioEffectType_RoomCorrection	= 12,
                        AudioEffectType_BassManagement	= 13,
                        AudioEffectType_EnvironmentalEffects	= 14,
                        AudioEffectType_SpeakerProtection	= 15,
                        AudioEffectType_SpeakerCompensation	= 16,
                        AudioEffectType_DynamicRangeCompression	= 17
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                /* [v1_enum] */ 
                enum MediaMemoryTypes
                    {
                        MediaMemoryTypes_Gpu	= 0,
                        MediaMemoryTypes_Cpu	= 1,
                        MediaMemoryTypes_GpuAndCpu	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                
                /* [v1_enum] */ 
                enum MediaEffectClosedReason
                    {
                        MediaEffectClosedReason_Done	= 0,
                        MediaEffectClosedReason_UnknownError	= 1,
                        MediaEffectClosedReason_UnsupportedEncodingFormat	= 2,
                        MediaEffectClosedReason_EffectCurrentlyUnloaded	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0048_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoCompositorDefinition */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("7946B8D0-2010-4AE3-9AB2-2CEF42EDD4D2")
                    IVideoCompositorDefinition : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActivatableClassId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoCompositorDefinition = __uuidof(IVideoCompositorDefinition);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActivatableClassId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_get_ActivatableClassId(This,value)	\
    ( (This)->lpVtbl -> get_ActivatableClassId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_get_Properties(This,value)	\
    ( (This)->lpVtbl -> get_Properties(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0049 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoCompositorDefinitionFactory[] = L"Windows.Media.Effects.IVideoCompositorDefinitionFactory";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0049 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0049_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoCompositorDefinitionFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("4366FD10-68B8-4D52-89B6-02A968CCA899")
                    IVideoCompositorDefinitionFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Create( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoCompositorDefinition **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWithProperties( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *props,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoCompositorDefinition **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoCompositorDefinitionFactory = __uuidof(IVideoCompositorDefinitionFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWithProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *props,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactoryVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_Create(This,activatableClassId,value)	\
    ( (This)->lpVtbl -> Create(This,activatableClassId,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_CreateWithProperties(This,activatableClassId,props,value)	\
    ( (This)->lpVtbl -> CreateWithProperties(This,activatableClassId,props,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0050 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_ICompositeVideoFrameContext[] = L"Windows.Media.Effects.ICompositeVideoFrameContext";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0050 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0050_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::ICompositeVideoFrameContext */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("6C30024B-F514-4278-A5F7-B9188049D110")
                    ICompositeVideoFrameContext : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SurfacesToOverlay( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IVideoFrame **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IVideoFrame **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetOverlayForSurface( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface *surfaceToOverlay,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Editing::IMediaOverlay **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ICompositeVideoFrameContext = __uuidof(ICompositeVideoFrameContext);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfacesToOverlay )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIVideoFrame **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIVideoFrame **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetOverlayForSurface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface *surfaceToOverlay,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContextVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_get_SurfacesToOverlay(This,value)	\
    ( (This)->lpVtbl -> get_SurfacesToOverlay(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_get_BackgroundFrame(This,value)	\
    ( (This)->lpVtbl -> get_BackgroundFrame(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_get_OutputFrame(This,value)	\
    ( (This)->lpVtbl -> get_OutputFrame(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_GetOverlayForSurface(This,surfaceToOverlay,value)	\
    ( (This)->lpVtbl -> GetOverlayForSurface(This,surfaceToOverlay,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0051 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioEffect[] = L"Windows.Media.Effects.IAudioEffect";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0051 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0051_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioEffect */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("34AAFA51-9207-4055-BE93-6E5734A86AE4")
                    IAudioEffect : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioEffectType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Effects::AudioEffectType *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioEffect = __uuidof(IAudioEffect);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioEffectType )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_get_AudioEffectType(This,value)	\
    ( (This)->lpVtbl -> get_AudioEffectType(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0052 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioEffectsManagerStatics[] = L"Windows.Media.Effects.IAudioEffectsManagerStatics";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0052 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0052_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioEffectsManagerStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("66406C04-86FA-47CC-A315-F489D8C3FE10")
                    IAudioEffectsManagerStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateAudioRenderEffectsManager( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ ABI::Windows::Media::Render::AudioRenderCategory category,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioRenderEffectsManager **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateAudioRenderEffectsManagerWithMode( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ ABI::Windows::Media::Render::AudioRenderCategory category,
                            /* [in] */ ABI::Windows::Media::AudioProcessing mode,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioRenderEffectsManager **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateAudioCaptureEffectsManager( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ ABI::Windows::Media::Capture::MediaCategory category,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioCaptureEffectsManager **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateAudioCaptureEffectsManagerWithMode( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ ABI::Windows::Media::Capture::MediaCategory category,
                            /* [in] */ ABI::Windows::Media::AudioProcessing mode,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioCaptureEffectsManager **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioEffectsManagerStatics = __uuidof(IAudioEffectsManagerStatics);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateAudioRenderEffectsManager )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateAudioRenderEffectsManagerWithMode )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,
            /* [in] */ __x_ABI_CWindows_CMedia_CAudioProcessing mode,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateAudioCaptureEffectsManager )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateAudioCaptureEffectsManagerWithMode )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,
            /* [in] */ __x_ABI_CWindows_CMedia_CAudioProcessing mode,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManager(This,deviceId,category,value)	\
    ( (This)->lpVtbl -> CreateAudioRenderEffectsManager(This,deviceId,category,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManagerWithMode(This,deviceId,category,mode,value)	\
    ( (This)->lpVtbl -> CreateAudioRenderEffectsManagerWithMode(This,deviceId,category,mode,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManager(This,deviceId,category,value)	\
    ( (This)->lpVtbl -> CreateAudioCaptureEffectsManager(This,deviceId,category,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManagerWithMode(This,deviceId,category,mode,value)	\
    ( (This)->lpVtbl -> CreateAudioCaptureEffectsManagerWithMode(This,deviceId,category,mode,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0053 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioRenderEffectsManager[] = L"Windows.Media.Effects.IAudioRenderEffectsManager";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0053 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0053_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioRenderEffectsManager */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("4DC98966-8751-42B2-BFCB-39CA7864BD47")
                    IAudioRenderEffectsManager : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_AudioRenderEffectsChanged( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_AudioRenderEffectsChanged( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetAudioRenderEffects( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioRenderEffectsManager = __uuidof(IAudioRenderEffectsManager);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_AudioRenderEffectsChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_AudioRenderEffectsChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *GetAudioRenderEffects )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_add_AudioRenderEffectsChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_AudioRenderEffectsChanged(This,handler,token) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_remove_AudioRenderEffectsChanged(This,token)	\
    ( (This)->lpVtbl -> remove_AudioRenderEffectsChanged(This,token) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetAudioRenderEffects(This,effects)	\
    ( (This)->lpVtbl -> GetAudioRenderEffects(This,effects) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0054 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioRenderEffectsManager2[] = L"Windows.Media.Effects.IAudioRenderEffectsManager2";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0054 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0054_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioRenderEffectsManager2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("A844CD09-5ECC-44B3-BB4E-1DB07287139C")
                    IAudioRenderEffectsManager2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EffectsProviderThumbnail( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EffectsProviderSettingsLabel( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ShowSettingsUI( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioRenderEffectsManager2 = __uuidof(IAudioRenderEffectsManager2);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EffectsProviderThumbnail )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EffectsProviderSettingsLabel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        HRESULT ( STDMETHODCALLTYPE *ShowSettingsUI )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderThumbnail(This,value)	\
    ( (This)->lpVtbl -> get_EffectsProviderThumbnail(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderSettingsLabel(This,value)	\
    ( (This)->lpVtbl -> get_EffectsProviderSettingsLabel(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_ShowSettingsUI(This)	\
    ( (This)->lpVtbl -> ShowSettingsUI(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0055 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioCaptureEffectsManager[] = L"Windows.Media.Effects.IAudioCaptureEffectsManager";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0055 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0055_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioCaptureEffectsManager */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("8F85C271-038D-4393-8298-540110608EEF")
                    IAudioCaptureEffectsManager : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_AudioCaptureEffectsChanged( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_AudioCaptureEffectsChanged( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetAudioCaptureEffects( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioCaptureEffectsManager = __uuidof(IAudioCaptureEffectsManager);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_AudioCaptureEffectsChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_AudioCaptureEffectsChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *GetAudioCaptureEffects )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_add_AudioCaptureEffectsChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_AudioCaptureEffectsChanged(This,handler,token) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_remove_AudioCaptureEffectsChanged(This,token)	\
    ( (This)->lpVtbl -> remove_AudioCaptureEffectsChanged(This,token) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetAudioCaptureEffects(This,effects)	\
    ( (This)->lpVtbl -> GetAudioCaptureEffects(This,effects) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0056 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoCompositor[] = L"Windows.Media.Effects.IVideoCompositor";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0056 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0056_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoCompositor */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("8510B43E-420C-420F-96C7-7C98BBA1FC55")
                    IVideoCompositor : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeIndependent( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetEncodingProperties( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IVideoEncodingProperties *backgroundProperties,
                            /* [in] */ __RPC__in_opt ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice *device) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CompositeFrame( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::ICompositeVideoFrameContext *context) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Close( 
                            /* [in] */ ABI::Windows::Media::Effects::MediaEffectClosedReason reason) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE DiscardQueuedFrames( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoCompositor = __uuidof(IVideoCompositor);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeIndependent )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetEncodingProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *backgroundProperties,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice *device);
        
        HRESULT ( STDMETHODCALLTYPE *CompositeFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext *context);
        
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
        
        HRESULT ( STDMETHODCALLTYPE *DiscardQueuedFrames )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_get_TimeIndependent(This,value)	\
    ( (This)->lpVtbl -> get_TimeIndependent(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_SetEncodingProperties(This,backgroundProperties,device)	\
    ( (This)->lpVtbl -> SetEncodingProperties(This,backgroundProperties,device) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_CompositeFrame(This,context)	\
    ( (This)->lpVtbl -> CompositeFrame(This,context) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_Close(This,reason)	\
    ( (This)->lpVtbl -> Close(This,reason) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_DiscardQueuedFrames(This)	\
    ( (This)->lpVtbl -> DiscardQueuedFrames(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0057 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioEffectDefinition[] = L"Windows.Media.Effects.IAudioEffectDefinition";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0057 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0057_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioEffectDefinition */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("E4D7F974-7D80-4F73-9089-E31C9DB9C294")
                    IAudioEffectDefinition : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActivatableClassId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioEffectDefinition = __uuidof(IAudioEffectDefinition);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActivatableClassId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_get_ActivatableClassId(This,value)	\
    ( (This)->lpVtbl -> get_ActivatableClassId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_get_Properties(This,value)	\
    ( (This)->lpVtbl -> get_Properties(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0058 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoEffectDefinition[] = L"Windows.Media.Effects.IVideoEffectDefinition";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0058 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0058_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoEffectDefinition */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("39F38CF0-8D0F-4F3E-84FC-2D46A5297943")
                    IVideoEffectDefinition : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActivatableClassId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoEffectDefinition = __uuidof(IVideoEffectDefinition);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActivatableClassId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_get_ActivatableClassId(This,value)	\
    ( (This)->lpVtbl -> get_ActivatableClassId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_get_Properties(This,value)	\
    ( (This)->lpVtbl -> get_Properties(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0059 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoEffectDefinitionFactory[] = L"Windows.Media.Effects.IVideoEffectDefinitionFactory";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0059 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0059_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoEffectDefinitionFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("81439B4E-6E33-428F-9D21-B5AAFEF7617C")
                    IVideoEffectDefinitionFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Create( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoEffectDefinition **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWithProperties( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *props,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IVideoEffectDefinition **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoEffectDefinitionFactory = __uuidof(IVideoEffectDefinitionFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWithProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *props,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactoryVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_Create(This,activatableClassId,value)	\
    ( (This)->lpVtbl -> Create(This,activatableClassId,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_CreateWithProperties(This,activatableClassId,props,value)	\
    ( (This)->lpVtbl -> CreateWithProperties(This,activatableClassId,props,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0060 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IAudioEffectDefinitionFactory[] = L"Windows.Media.Effects.IAudioEffectDefinitionFactory";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0060 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0060_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IAudioEffectDefinitionFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("8E1DA646-E705-45ED-8A2B-FC4E4F405A97")
                    IAudioEffectDefinitionFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Create( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffectDefinition **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWithProperties( 
                            /* [in] */ __RPC__in HSTRING activatableClassId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *props,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Effects::IAudioEffectDefinition **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IAudioEffectDefinitionFactory = __uuidof(IAudioEffectDefinitionFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWithProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory * This,
            /* [in] */ __RPC__in HSTRING activatableClassId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *props,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactoryVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_Create(This,activatableClassId,value)	\
    ( (This)->lpVtbl -> Create(This,activatableClassId,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_CreateWithProperties(This,activatableClassId,props,value)	\
    ( (This)->lpVtbl -> CreateWithProperties(This,activatableClassId,props,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0061 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IProcessVideoFrameContext[] = L"Windows.Media.Effects.IProcessVideoFrameContext";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0061 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0061_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IProcessVideoFrameContext */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("276F0E2B-6461-401E-BA78-0FDAD6114EEC")
                    IProcessVideoFrameContext : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InputFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IVideoFrame **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IVideoFrame **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IProcessVideoFrameContext = __uuidof(IProcessVideoFrameContext);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIVideoFrame **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIVideoFrame **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContextVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_get_InputFrame(This,value)	\
    ( (This)->lpVtbl -> get_InputFrame(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_get_OutputFrame(This,value)	\
    ( (This)->lpVtbl -> get_OutputFrame(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0062 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IBasicVideoEffect[] = L"Windows.Media.Effects.IBasicVideoEffect";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0062 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0062_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IBasicVideoEffect */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("8262C7EF-B360-40BE-949B-2FF42FF35693")
                    IBasicVideoEffect : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsReadOnly( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedMemoryTypes( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Effects::MediaMemoryTypes *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeIndependent( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedEncodingProperties( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetEncodingProperties( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IVideoEncodingProperties *encodingProperties,
                            /* [in] */ __RPC__in_opt ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice *device) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ProcessFrame( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IProcessVideoFrameContext *context) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Close( 
                            /* [in] */ ABI::Windows::Media::Effects::MediaEffectClosedReason reason) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE DiscardQueuedFrames( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IBasicVideoEffect = __uuidof(IBasicVideoEffect);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReadOnly )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedMemoryTypes )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeIndependent )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedEncodingProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CMediaProperties__CVideoEncodingProperties **value);
        
        HRESULT ( STDMETHODCALLTYPE *SetEncodingProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *encodingProperties,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice *device);
        
        HRESULT ( STDMETHODCALLTYPE *ProcessFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext *context);
        
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
        
        HRESULT ( STDMETHODCALLTYPE *DiscardQueuedFrames )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffectVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_get_IsReadOnly(This,value)	\
    ( (This)->lpVtbl -> get_IsReadOnly(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_get_SupportedMemoryTypes(This,value)	\
    ( (This)->lpVtbl -> get_SupportedMemoryTypes(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_get_TimeIndependent(This,value)	\
    ( (This)->lpVtbl -> get_TimeIndependent(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_get_SupportedEncodingProperties(This,value)	\
    ( (This)->lpVtbl -> get_SupportedEncodingProperties(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_SetEncodingProperties(This,encodingProperties,device)	\
    ( (This)->lpVtbl -> SetEncodingProperties(This,encodingProperties,device) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_ProcessFrame(This,context)	\
    ( (This)->lpVtbl -> ProcessFrame(This,context) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_Close(This,reason)	\
    ( (This)->lpVtbl -> Close(This,reason) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_DiscardQueuedFrames(This)	\
    ( (This)->lpVtbl -> DiscardQueuedFrames(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0063 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IProcessAudioFrameContext[] = L"Windows.Media.Effects.IProcessAudioFrameContext";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0063 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0063_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IProcessAudioFrameContext */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("4CD92946-1222-4A27-A586-FB3E20273255")
                    IProcessAudioFrameContext : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InputFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IAudioFrame **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputFrame( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::IAudioFrame **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IProcessAudioFrameContext = __uuidof(IProcessAudioFrameContext);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIAudioFrame **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CIAudioFrame **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContextVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_get_InputFrame(This,value)	\
    ( (This)->lpVtbl -> get_InputFrame(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_get_OutputFrame(This,value)	\
    ( (This)->lpVtbl -> get_OutputFrame(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0064 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IBasicAudioEffect[] = L"Windows.Media.Effects.IBasicAudioEffect";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0064 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0064_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IBasicAudioEffect */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("8C062C53-6BC0-48B8-A99A-4B41550F1359")
                    IBasicAudioEffect : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseInputFrameForOutput( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedEncodingProperties( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetEncodingProperties( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IAudioEncodingProperties *encodingProperties) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ProcessFrame( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Effects::IProcessAudioFrameContext *context) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Close( 
                            /* [in] */ ABI::Windows::Media::Effects::MediaEffectClosedReason reason) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE DiscardQueuedFrames( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IBasicAudioEffect = __uuidof(IBasicAudioEffect);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseInputFrameForOutput )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedEncodingProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CMediaProperties__CAudioEncodingProperties **value);
        
        HRESULT ( STDMETHODCALLTYPE *SetEncodingProperties )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *encodingProperties);
        
        HRESULT ( STDMETHODCALLTYPE *ProcessFrame )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext *context);
        
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
        
        HRESULT ( STDMETHODCALLTYPE *DiscardQueuedFrames )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffectVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_get_UseInputFrameForOutput(This,value)	\
    ( (This)->lpVtbl -> get_UseInputFrameForOutput(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_get_SupportedEncodingProperties(This,value)	\
    ( (This)->lpVtbl -> get_SupportedEncodingProperties(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_SetEncodingProperties(This,encodingProperties)	\
    ( (This)->lpVtbl -> SetEncodingProperties(This,encodingProperties) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_ProcessFrame(This,context)	\
    ( (This)->lpVtbl -> ProcessFrame(This,context) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_Close(This,reason)	\
    ( (This)->lpVtbl -> Close(This,reason) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_DiscardQueuedFrames(This)	\
    ( (This)->lpVtbl -> DiscardQueuedFrames(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0065 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Effects_IVideoTransformEffectDefinition[] = L"Windows.Media.Effects.IVideoTransformEffectDefinition";
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0065 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0065_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Effects::IVideoTransformEffectDefinition */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Effects {
                    
                    MIDL_INTERFACE("9664BB6A-1EA6-4AA6-8074-ABE8851ECAE2")
                    IVideoTransformEffectDefinition : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PaddingColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PaddingColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputSize( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Size *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutputSize( 
                            /* [in] */ ABI::Windows::Foundation::Size value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CropRectangle( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Rect *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CropRectangle( 
                            /* [in] */ ABI::Windows::Foundation::Rect value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::MediaProperties::MediaRotation *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
                            /* [in] */ ABI::Windows::Media::MediaProperties::MediaRotation value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Mirror( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::MediaProperties::MediaMirroringOptions *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Mirror( 
                            /* [in] */ ABI::Windows::Media::MediaProperties::MediaMirroringOptions value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProcessingAlgorithm( 
                            /* [in] */ ABI::Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessingAlgorithm( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Transcoding::MediaVideoProcessingAlgorithm *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVideoTransformEffectDefinition = __uuidof(IVideoTransformEffectDefinition);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PaddingColor )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PaddingColor )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputSize )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CSize *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutputSize )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CSize value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CropRectangle )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CRect *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CropRectangle )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CRect value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mirror )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mirror )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProcessingAlgorithm )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessingAlgorithm )( 
            __RPC__in __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinitionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_PaddingColor(This,value)	\
    ( (This)->lpVtbl -> get_PaddingColor(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_PaddingColor(This,value)	\
    ( (This)->lpVtbl -> put_PaddingColor(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_OutputSize(This,value)	\
    ( (This)->lpVtbl -> get_OutputSize(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_OutputSize(This,value)	\
    ( (This)->lpVtbl -> put_OutputSize(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_CropRectangle(This,value)	\
    ( (This)->lpVtbl -> get_CropRectangle(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_CropRectangle(This,value)	\
    ( (This)->lpVtbl -> put_CropRectangle(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_Rotation(This,value)	\
    ( (This)->lpVtbl -> get_Rotation(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_Rotation(This,value)	\
    ( (This)->lpVtbl -> put_Rotation(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_Mirror(This,value)	\
    ( (This)->lpVtbl -> get_Mirror(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_Mirror(This,value)	\
    ( (This)->lpVtbl -> put_Mirror(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_put_ProcessingAlgorithm(This,value)	\
    ( (This)->lpVtbl -> put_ProcessingAlgorithm(This,value) ) 

#define __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_get_ProcessingAlgorithm(This,value)	\
    ( (This)->lpVtbl -> get_ProcessingAlgorithm(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0066 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Media_Effects_VideoCompositorDefinition_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_VideoCompositorDefinition_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_VideoCompositorDefinition[] = L"Windows.Media.Effects.VideoCompositorDefinition";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_CompositeVideoFrameContext_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_CompositeVideoFrameContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_CompositeVideoFrameContext[] = L"Windows.Media.Effects.CompositeVideoFrameContext";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioEffect_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioEffect_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_AudioEffect[] = L"Windows.Media.Effects.AudioEffect";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioRenderEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioRenderEffectsManager_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_AudioRenderEffectsManager[] = L"Windows.Media.Effects.AudioRenderEffectsManager";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioCaptureEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioCaptureEffectsManager_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_AudioCaptureEffectsManager[] = L"Windows.Media.Effects.AudioCaptureEffectsManager";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioEffectsManager_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_AudioEffectsManager[] = L"Windows.Media.Effects.AudioEffectsManager";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_VideoEffectDefinition_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_VideoEffectDefinition_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_VideoEffectDefinition[] = L"Windows.Media.Effects.VideoEffectDefinition";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioEffectDefinition_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioEffectDefinition_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_AudioEffectDefinition[] = L"Windows.Media.Effects.AudioEffectDefinition";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_ProcessVideoFrameContext_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_ProcessVideoFrameContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_ProcessVideoFrameContext[] = L"Windows.Media.Effects.ProcessVideoFrameContext";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_ProcessAudioFrameContext_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_ProcessAudioFrameContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_ProcessAudioFrameContext[] = L"Windows.Media.Effects.ProcessAudioFrameContext";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Effects_VideoTransformEffectDefinition_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_VideoTransformEffectDefinition_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Effects_VideoTransformEffectDefinition[] = L"Windows.Media.Effects.VideoTransformEffectDefinition";
#endif


/* interface __MIDL_itf_windows2Emedia2Eeffects_0000_0066 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Eeffects_0000_0066_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  HSTRING_UserSize(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

unsigned long             __RPC_USER  HSTRING_UserSize64(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal64(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree64(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


