// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.Foundation.Numerics.h"
#include "Windows.Graphics.DirectX.Direct3D11.h"
#include "Windows.Media.h"
#include "Windows.Media.Capture.h"
#include "Windows.Media.Editing.h"
#include "Windows.Media.MediaProperties.h"
#include "Windows.Media.Playback.h"
#include "Windows.Media.Render.h"
#include "Windows.Media.Transcoding.h"
#include "Windows.Storage.Streams.h"
#include "Windows.UI.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_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;

#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;

#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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_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;

#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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_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;

#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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_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;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2 __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection;

#endif // ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#ifndef ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__
#define ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface;

#endif // ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties;

#endif // ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties;

#endif // ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        UINT32 index,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurfaceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* sender,
        IInspectable* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* sender,
        IInspectable* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;

#endif // ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion;

typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;

typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;

#ifndef ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__
#define ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice;

#endif // ____x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CIAudioFrame_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CIAudioFrame_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CIAudioFrame __x_ABI_CWindows_CMedia_CIAudioFrame;

#endif // ____x_ABI_CWindows_CMedia_CIAudioFrame_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CMedia_CAudioProcessing __x_ABI_CWindows_CMedia_CAudioProcessing;

typedef enum __x_ABI_CWindows_CMedia_CCapture_CMediaCategory __x_ABI_CWindows_CMedia_CCapture_CMediaCategory;

#ifndef ____x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay __x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay;

#endif // ____x_ABI_CWindows_CMedia_CEditing_CIMediaOverlay_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CIMediaExtension_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CIMediaExtension_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CIMediaExtension __x_ABI_CWindows_CMedia_CIMediaExtension;

#endif // ____x_ABI_CWindows_CMedia_CIMediaExtension_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions;

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation;

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CSphericalVideoFrameFormat __x_ABI_CWindows_CMedia_CMediaProperties_CSphericalVideoFrameFormat;

typedef enum __x_ABI_CWindows_CMedia_CPlayback_CSphericalVideoProjectionMode __x_ABI_CWindows_CMedia_CPlayback_CSphericalVideoProjectionMode;

typedef enum __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory;

typedef enum __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm;

#ifndef ____x_ABI_CWindows_CMedia_CIVideoFrame_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CIVideoFrame_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CIVideoFrame __x_ABI_CWindows_CMedia_CIVideoFrame;

#endif // ____x_ABI_CWindows_CMedia_CIVideoFrame_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CUI_CColor __x_ABI_CWindows_CUI_CColor;

typedef enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType;

typedef enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason;

typedef enum __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes;

enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType
    {
        __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_Other = 0,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_AcousticEchoCancellation = 1,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_NoiseSuppression = 2,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_AutomaticGainControl = 3,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_BeamForming = 4,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_ConstantToneRemoval = 5,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_Equalizer = 6,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_LoudnessEqualizer = 7,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_BassBoost = 8,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_VirtualSurround = 9,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_VirtualHeadphones = 10,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_SpeakerFill = 11,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_RoomCorrection = 12,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_BassManagement = 13,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_EnvironmentalEffects = 14,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_SpeakerProtection = 15,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_SpeakerCompensation = 16,
    __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_DynamicRangeCompression = 17,
};

enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason
    {
        __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason_Done = 0,
    __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason_UnknownError = 1,
    __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason_UnsupportedEncodingFormat = 2,
    __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason_EffectCurrentlyUnloaded = 3,
};

enum __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes
    {
        __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes_Gpu = 0,
    __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes_Cpu = 1,
    __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes_GpuAndCpu = 2,
};

#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_AudioCaptureEffectsChanged)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_AudioCaptureEffectsChanged)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* GetAudioCaptureEffects)(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AudioEffectType)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,
        enum __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffect;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ActivatableClassId)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Properties)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition* This,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Create)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinition** value);
    HRESULT (STDMETHODCALLTYPE* CreateWithProperties)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* props,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectDefinitionFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateAudioRenderEffectsManager)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
        HSTRING deviceId,
        enum __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager** value);
    HRESULT (STDMETHODCALLTYPE* CreateAudioRenderEffectsManagerWithMode)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
        HSTRING deviceId,
        enum __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,
        enum __x_ABI_CWindows_CMedia_CAudioProcessing mode,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager** value);
    HRESULT (STDMETHODCALLTYPE* CreateAudioCaptureEffectsManager)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
        HSTRING deviceId,
        enum __x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager** value);
    HRESULT (STDMETHODCALLTYPE* CreateAudioCaptureEffectsManagerWithMode)(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,
        HSTRING deviceId,
        enum __x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,
        enum __x_ABI_CWindows_CMedia_CAudioProcessing mode,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_AudioRenderEffectsChanged)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_AudioRenderEffectsChanged)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* GetAudioRenderEffects)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_EffectsProviderThumbnail)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType** value);
    HRESULT (STDMETHODCALLTYPE* get_EffectsProviderSettingsLabel)(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* ShowSettingsUI)(__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_UseInputFrameForOutput)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedEncodingProperties)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CAudioEncodingProperties** value);
    HRESULT (STDMETHODCALLTYPE* SetEncodingProperties)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* encodingProperties);
    HRESULT (STDMETHODCALLTYPE* ProcessFrame)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
        __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* context);
    HRESULT (STDMETHODCALLTYPE* Close)(__x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect* This,
        enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
    HRESULT (STDMETHODCALLTYPE* DiscardQueuedFrames)(__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicAudioEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_IsReadOnly)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedMemoryTypes)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        enum __x_ABI_CWindows_CMedia_CEffects_CMediaMemoryTypes* value);
    HRESULT (STDMETHODCALLTYPE* get_TimeIndependent)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedEncodingProperties)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CVideoEncodingProperties** value);
    HRESULT (STDMETHODCALLTYPE* SetEncodingProperties)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* encodingProperties,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice* device);
    HRESULT (STDMETHODCALLTYPE* ProcessFrame)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* context);
    HRESULT (STDMETHODCALLTYPE* Close)(__x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect* This,
        enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
    HRESULT (STDMETHODCALLTYPE* DiscardQueuedFrames)(__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIBasicVideoEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContextVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SurfacesToOverlay)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGraphics__CDirectX__CDirect3D11__CIDirect3DSurface** value);
    HRESULT (STDMETHODCALLTYPE* get_BackgroundFrame)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
        __x_ABI_CWindows_CMedia_CIVideoFrame** value);
    HRESULT (STDMETHODCALLTYPE* get_OutputFrame)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
        __x_ABI_CWindows_CMedia_CIVideoFrame** value);
    HRESULT (STDMETHODCALLTYPE* GetOverlayForSurface)(__x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* This,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface* surfaceToOverlay,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContextVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_InputFrame)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
        __x_ABI_CWindows_CMedia_CIAudioFrame** value);
    HRESULT (STDMETHODCALLTYPE* get_OutputFrame)(__x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext* This,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessAudioFrameContext_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContextVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_InputFrame)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
        __x_ABI_CWindows_CMedia_CIVideoFrame** value);
    HRESULT (STDMETHODCALLTYPE* get_OutputFrame)(__x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext* This,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIProcessVideoFrameContext_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinitionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_TimeStretchRate)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_TimeStretchRate)(__x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition* This,
        DOUBLE value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinitionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinitionVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CISlowMotionEffectDefinition_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_TimeIndependent)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* SetEncodingProperties)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* backgroundProperties,
        __x_ABI_CWindows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice* device);
    HRESULT (STDMETHODCALLTYPE* CompositeFrame)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
        __x_ABI_CWindows_CMedia_CEffects_CICompositeVideoFrameContext* context);
    HRESULT (STDMETHODCALLTYPE* Close)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor* This,
        enum __x_ABI_CWindows_CMedia_CEffects_CMediaEffectClosedReason reason);
    HRESULT (STDMETHODCALLTYPE* DiscardQueuedFrames)(__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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositor_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ActivatableClassId)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Properties)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition* This,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Create)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinition** value);
    HRESULT (STDMETHODCALLTYPE* CreateWithProperties)(__x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* props,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoCompositorDefinitionFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ActivatableClassId)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Properties)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition* This,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Create)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinition** value);
    HRESULT (STDMETHODCALLTYPE* CreateWithProperties)(__x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory* This,
        HSTRING activatableClassId,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* props,
        __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoEffectDefinitionFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinitionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_PaddingColor)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CUI_CColor* value);
    HRESULT (STDMETHODCALLTYPE* put_PaddingColor)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CUI_CColor value);
    HRESULT (STDMETHODCALLTYPE* get_OutputSize)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CFoundation_CSize* value);
    HRESULT (STDMETHODCALLTYPE* put_OutputSize)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CFoundation_CSize value);
    HRESULT (STDMETHODCALLTYPE* get_CropRectangle)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CFoundation_CRect* value);
    HRESULT (STDMETHODCALLTYPE* put_CropRectangle)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        struct __x_ABI_CWindows_CFoundation_CRect value);
    HRESULT (STDMETHODCALLTYPE* get_Rotation)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation* value);
    HRESULT (STDMETHODCALLTYPE* put_Rotation)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRotation value);
    HRESULT (STDMETHODCALLTYPE* get_Mirror)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions* value);
    HRESULT (STDMETHODCALLTYPE* put_Mirror)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaMirroringOptions value);
    HRESULT (STDMETHODCALLTYPE* put_ProcessingAlgorithm)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __x_ABI_CWindows_CMedia_CTranscoding_CMediaVideoProcessingAlgorithm value);
    HRESULT (STDMETHODCALLTYPE* get_ProcessingAlgorithm)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition* This,
        enum __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;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SphericalProjection)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2* This,
        __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2Vtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformEffectDefinition2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjectionVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_IsEnabled)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_IsEnabled)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_FrameFormat)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CSphericalVideoFrameFormat* value);
    HRESULT (STDMETHODCALLTYPE* put_FrameFormat)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CSphericalVideoFrameFormat value);
    HRESULT (STDMETHODCALLTYPE* get_ProjectionMode)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        enum __x_ABI_CWindows_CMedia_CPlayback_CSphericalVideoProjectionMode* value);
    HRESULT (STDMETHODCALLTYPE* put_ProjectionMode)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        enum __x_ABI_CWindows_CMedia_CPlayback_CSphericalVideoProjectionMode value);
    HRESULT (STDMETHODCALLTYPE* get_HorizontalFieldOfViewInDegrees)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_HorizontalFieldOfViewInDegrees)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_ViewOrientation)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion* value);
    HRESULT (STDMETHODCALLTYPE* put_ViewOrientation)(__x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjectionVtbl;

    interface __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjectionVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection;
#endif /* !defined(____x_ABI_CWindows_CMedia_CEffects_CIVideoTransformSphericalProjection_INTERFACE_DEFINED__) */
    
