/*** Autogenerated by WIDL 11.6 from include/windows.media.effects.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_media_effects_h__
#define __windows_media_effects_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;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager ABI::Windows::Media::Effects::IAudioCaptureEffectsManager
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioCaptureEffectsManager;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect ABI::Windows::Media::Effects::IAudioEffect
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffect;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics ABI::Windows::Media::Effects::IAudioEffectsManagerStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffectsManagerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager ABI::Windows::Media::Effects::IAudioRenderEffectsManager
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 ABI::Windows::Media::Effects::IAudioRenderEffectsManager2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CAudioCaptureEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CAudioCaptureEffectsManager_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                class AudioCaptureEffectsManager;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CAudioCaptureEffectsManager __x_ABI_CWindows_CMedia_CEffects_CAudioCaptureEffectsManager;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CEffects_CAudioCaptureEffectsManager_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CAudioEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CAudioEffect_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                class AudioEffect;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CAudioEffect __x_ABI_CWindows_CMedia_CEffects_CAudioEffect;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CEffects_CAudioEffect_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectsManager_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                class AudioEffectsManager;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CAudioEffectsManager __x_ABI_CWindows_CMedia_CEffects_CAudioEffectsManager;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectsManager_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CAudioRenderEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CAudioRenderEffectsManager_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                class AudioRenderEffectsManager;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CAudioRenderEffectsManager;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CEffects_CAudioRenderEffectsManager_FWD_DEFINED__ */

#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <windows.foundation.h>
#include <windows.media.h>
#include <windows.media.capture.h>
#include <windows.media.render.h>
#include <windows.storage.streams.h>

#ifdef __cplusplus
extern "C" {
#endif

#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)
#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0xe0000
#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_ENUM_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                enum AudioEffectType {
                    AudioEffectType_Other = 0,
                    AudioEffectType_AcousticEchoCancellation = 1,
                    AudioEffectType_NoiseSuppression = 2,
                    AudioEffectType_AutomaticGainControl = 3,
                    AudioEffectType_BeamForming = 4,
                    AudioEffectType_ConstantToneRemoval = 5,
                    AudioEffectType_Equalizer = 6,
                    AudioEffectType_LoudnessEqualizer = 7,
                    AudioEffectType_BassBoost = 8,
                    AudioEffectType_VirtualSurround = 9,
                    AudioEffectType_VirtualHeadphones = 10,
                    AudioEffectType_SpeakerFill = 11,
                    AudioEffectType_RoomCorrection = 12,
                    AudioEffectType_BassManagement = 13,
                    AudioEffectType_EnvironmentalEffects = 14,
                    AudioEffectType_SpeakerProtection = 15,
                    AudioEffectType_SpeakerCompensation = 16,
                    AudioEffectType_DynamicRangeCompression = 17,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xc0000
                    AudioEffectType_FarFieldBeamForming = 18,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xc0000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xd0000
                    AudioEffectType_DeepNoiseSuppression = 19
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xd0000 */
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType {
    AudioEffectType_Other = 0,
    AudioEffectType_AcousticEchoCancellation = 1,
    AudioEffectType_NoiseSuppression = 2,
    AudioEffectType_AutomaticGainControl = 3,
    AudioEffectType_BeamForming = 4,
    AudioEffectType_ConstantToneRemoval = 5,
    AudioEffectType_Equalizer = 6,
    AudioEffectType_LoudnessEqualizer = 7,
    AudioEffectType_BassBoost = 8,
    AudioEffectType_VirtualSurround = 9,
    AudioEffectType_VirtualHeadphones = 10,
    AudioEffectType_SpeakerFill = 11,
    AudioEffectType_RoomCorrection = 12,
    AudioEffectType_BassManagement = 13,
    AudioEffectType_EnvironmentalEffects = 14,
    AudioEffectType_SpeakerProtection = 15,
    AudioEffectType_SpeakerCompensation = 16,
    AudioEffectType_DynamicRangeCompression = 17,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xc0000
    AudioEffectType_FarFieldBeamForming = 18,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xc0000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xd0000
    AudioEffectType_DeepNoiseSuppression = 19
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xd0000 */
};
#ifdef WIDL_using_Windows_Media_Effects
#define AudioEffectType __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif /* ____x_ABI_CWindows_CMedia_CEffects_CAudioEffectType_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType;
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager ABI::Windows::Media::Effects::IAudioCaptureEffectsManager
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioCaptureEffectsManager;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect ABI::Windows::Media::Effects::IAudioEffect
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffect;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics ABI::Windows::Media::Effects::IAudioEffectsManagerStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioEffectsManagerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager ABI::Windows::Media::Effects::IAudioRenderEffectsManager
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2 ABI::Windows::Media::Effects::IAudioRenderEffectsManager2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                interface IAudioRenderEffectsManager2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::Effects::AudioEffect* >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IAudioCaptureEffectsManager interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager, 0x8f85c271, 0x038d, 0x4393, 0x82,0x98, 0x54,0x01,0x10,0x60,0x8e,0xef);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                MIDL_INTERFACE("8f85c271-038d-4393-8298-540110608eef")
                IAudioCaptureEffectsManager : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE add_AudioCaptureEffectsChanged(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > *handler,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_AudioCaptureEffectsChanged(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE GetAudioCaptureEffects(
                        ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::Effects::AudioEffect* > **effects) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager, 0x8f85c271, 0x038d, 0x4393, 0x82,0x98, 0x54,0x01,0x10,0x60,0x8e,0xef)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    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);

    /*** IInspectable methods ***/
    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);

    /*** IAudioCaptureEffectsManager methods ***/
    HRESULT (STDMETHODCALLTYPE *add_AudioCaptureEffectsChanged)(
        __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager *This,
        __FITypedEventHandler_2_Windows__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,
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl;

interface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager {
    CONST_VTBL __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioCaptureEffectsManager methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_add_AudioCaptureEffectsChanged(This,handler,token) (This)->lpVtbl->add_AudioCaptureEffectsChanged(This,handler,token)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_remove_AudioCaptureEffectsChanged(This,token) (This)->lpVtbl->remove_AudioCaptureEffectsChanged(This,token)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetAudioCaptureEffects(This,effects) (This)->lpVtbl->GetAudioCaptureEffects(This,effects)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_QueryInterface(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_AddRef(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_Release(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetIids(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetTrustLevel(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioCaptureEffectsManager methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_add_AudioCaptureEffectsChanged(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_AudioCaptureEffectsChanged(This,handler,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_remove_AudioCaptureEffectsChanged(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_AudioCaptureEffectsChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetAudioCaptureEffects(__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager* This,__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects) {
    return This->lpVtbl->GetAudioCaptureEffects(This,effects);
}
#endif
#ifdef WIDL_using_Windows_Media_Effects
#define IID_IAudioCaptureEffectsManager IID___x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager
#define IAudioCaptureEffectsManagerVtbl __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManagerVtbl
#define IAudioCaptureEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager
#define IAudioCaptureEffectsManager_QueryInterface __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_QueryInterface
#define IAudioCaptureEffectsManager_AddRef __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_AddRef
#define IAudioCaptureEffectsManager_Release __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_Release
#define IAudioCaptureEffectsManager_GetIids __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetIids
#define IAudioCaptureEffectsManager_GetRuntimeClassName __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetRuntimeClassName
#define IAudioCaptureEffectsManager_GetTrustLevel __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetTrustLevel
#define IAudioCaptureEffectsManager_add_AudioCaptureEffectsChanged __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_add_AudioCaptureEffectsChanged
#define IAudioCaptureEffectsManager_remove_AudioCaptureEffectsChanged __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_remove_AudioCaptureEffectsChanged
#define IAudioCaptureEffectsManager_GetAudioCaptureEffects __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_GetAudioCaptureEffects
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAudioEffect interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffect, 0x34aafa51, 0x9207, 0x4055, 0xbe,0x93, 0x6e,0x57,0x34,0xa8,0x6a,0xe4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                MIDL_INTERFACE("34aafa51-9207-4055-be93-6e5734a86ae4")
                IAudioEffect : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_AudioEffectType(
                        ABI::Windows::Media::Effects::AudioEffectType *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect, 0x34aafa51, 0x9207, 0x4055, 0xbe,0x93, 0x6e,0x57,0x34,0xa8,0x6a,0xe4)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    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);

    /*** IInspectable methods ***/
    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);

    /*** IAudioEffect methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AudioEffectType)(
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect *This,
        __x_ABI_CWindows_CMedia_CEffects_CAudioEffectType *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl;

interface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect {
    CONST_VTBL __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioEffect methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_get_AudioEffectType(This,value) (This)->lpVtbl->get_AudioEffectType(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_QueryInterface(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_AddRef(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_Release(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetIids(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetTrustLevel(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioEffect methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_get_AudioEffectType(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect* This,__x_ABI_CWindows_CMedia_CEffects_CAudioEffectType *value) {
    return This->lpVtbl->get_AudioEffectType(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Effects
#define IID_IAudioEffect IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffect
#define IAudioEffectVtbl __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectVtbl
#define IAudioEffect __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect
#define IAudioEffect_QueryInterface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_QueryInterface
#define IAudioEffect_AddRef __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_AddRef
#define IAudioEffect_Release __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_Release
#define IAudioEffect_GetIids __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetIids
#define IAudioEffect_GetRuntimeClassName __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetRuntimeClassName
#define IAudioEffect_GetTrustLevel __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_GetTrustLevel
#define IAudioEffect_get_AudioEffectType __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_get_AudioEffectType
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffect_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAudioEffectsManagerStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics, 0x66406c04, 0x86fa, 0x47cc, 0xa3,0x15, 0xf4,0x89,0xd8,0xc3,0xfe,0x10);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                MIDL_INTERFACE("66406c04-86fa-47cc-a315-f489d8c3fe10")
                IAudioEffectsManagerStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE CreateAudioRenderEffectsManager(
                        HSTRING device_id,
                        ABI::Windows::Media::Render::AudioRenderCategory category,
                        ABI::Windows::Media::Effects::IAudioRenderEffectsManager **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE CreateAudioRenderEffectsManagerWithMode(
                        HSTRING device_id,
                        ABI::Windows::Media::Render::AudioRenderCategory category,
                        ABI::Windows::Media::AudioProcessing mode,
                        ABI::Windows::Media::Effects::IAudioRenderEffectsManager **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE CreateAudioCaptureEffectsManager(
                        HSTRING device_id,
                        ABI::Windows::Media::Capture::MediaCategory category,
                        ABI::Windows::Media::Effects::IAudioCaptureEffectsManager **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE CreateAudioCaptureEffectsManagerWithMode(
                        HSTRING device_id,
                        ABI::Windows::Media::Capture::MediaCategory category,
                        ABI::Windows::Media::AudioProcessing mode,
                        ABI::Windows::Media::Effects::IAudioCaptureEffectsManager **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics, 0x66406c04, 0x86fa, 0x47cc, 0xa3,0x15, 0xf4,0x89,0xd8,0xc3,0xfe,0x10)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    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);

    /*** IInspectable methods ***/
    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);

    /*** IAudioEffectsManagerStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateAudioRenderEffectsManager)(
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics *This,
        HSTRING device_id,
        __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 device_id,
        __x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,
        __x_ABI_CWindows_CMedia_CAudioProcessing mode,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager **value);

    HRESULT (STDMETHODCALLTYPE *CreateAudioCaptureEffectsManager)(
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics *This,
        HSTRING device_id,
        __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 device_id,
        __x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,
        __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 __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioEffectsManagerStatics methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManager(This,device_id,category,value) (This)->lpVtbl->CreateAudioRenderEffectsManager(This,device_id,category,value)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManagerWithMode(This,device_id,category,mode,value) (This)->lpVtbl->CreateAudioRenderEffectsManagerWithMode(This,device_id,category,mode,value)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManager(This,device_id,category,value) (This)->lpVtbl->CreateAudioCaptureEffectsManager(This,device_id,category,value)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManagerWithMode(This,device_id,category,mode,value) (This)->lpVtbl->CreateAudioCaptureEffectsManagerWithMode(This,device_id,category,mode,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_QueryInterface(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_AddRef(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_Release(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetIids(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetTrustLevel(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioEffectsManagerStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManager(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,HSTRING device_id,__x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager **value) {
    return This->lpVtbl->CreateAudioRenderEffectsManager(This,device_id,category,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManagerWithMode(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,HSTRING device_id,__x_ABI_CWindows_CMedia_CRender_CAudioRenderCategory category,__x_ABI_CWindows_CMedia_CAudioProcessing mode,__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager **value) {
    return This->lpVtbl->CreateAudioRenderEffectsManagerWithMode(This,device_id,category,mode,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManager(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,HSTRING device_id,__x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager **value) {
    return This->lpVtbl->CreateAudioCaptureEffectsManager(This,device_id,category,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManagerWithMode(__x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics* This,HSTRING device_id,__x_ABI_CWindows_CMedia_CCapture_CMediaCategory category,__x_ABI_CWindows_CMedia_CAudioProcessing mode,__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager **value) {
    return This->lpVtbl->CreateAudioCaptureEffectsManagerWithMode(This,device_id,category,mode,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Effects
#define IID_IAudioEffectsManagerStatics IID___x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics
#define IAudioEffectsManagerStaticsVtbl __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStaticsVtbl
#define IAudioEffectsManagerStatics __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics
#define IAudioEffectsManagerStatics_QueryInterface __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_QueryInterface
#define IAudioEffectsManagerStatics_AddRef __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_AddRef
#define IAudioEffectsManagerStatics_Release __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_Release
#define IAudioEffectsManagerStatics_GetIids __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetIids
#define IAudioEffectsManagerStatics_GetRuntimeClassName __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetRuntimeClassName
#define IAudioEffectsManagerStatics_GetTrustLevel __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_GetTrustLevel
#define IAudioEffectsManagerStatics_CreateAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManager
#define IAudioEffectsManagerStatics_CreateAudioRenderEffectsManagerWithMode __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioRenderEffectsManagerWithMode
#define IAudioEffectsManagerStatics_CreateAudioCaptureEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManager
#define IAudioEffectsManagerStatics_CreateAudioCaptureEffectsManagerWithMode __x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_CreateAudioCaptureEffectsManagerWithMode
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CEffects_CIAudioEffectsManagerStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAudioRenderEffectsManager interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager, 0x4dc98966, 0x8751, 0x42b2, 0xbf,0xcb, 0x39,0xca,0x78,0x64,0xbd,0x47);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                MIDL_INTERFACE("4dc98966-8751-42b2-bfcb-39ca7864bd47")
                IAudioRenderEffectsManager : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE add_AudioRenderEffectsChanged(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > *handler,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_AudioRenderEffectsChanged(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE GetAudioRenderEffects(
                        ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Media::Effects::AudioEffect* > **effects) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager, 0x4dc98966, 0x8751, 0x42b2, 0xbf,0xcb, 0x39,0xca,0x78,0x64,0xbd,0x47)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    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);

    /*** IInspectable methods ***/
    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);

    /*** IAudioRenderEffectsManager methods ***/
    HRESULT (STDMETHODCALLTYPE *add_AudioRenderEffectsChanged)(
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager *This,
        __FITypedEventHandler_2_Windows__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,
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl;

interface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager {
    CONST_VTBL __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioRenderEffectsManager methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_add_AudioRenderEffectsChanged(This,handler,token) (This)->lpVtbl->add_AudioRenderEffectsChanged(This,handler,token)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_remove_AudioRenderEffectsChanged(This,token) (This)->lpVtbl->remove_AudioRenderEffectsChanged(This,token)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetAudioRenderEffects(This,effects) (This)->lpVtbl->GetAudioRenderEffects(This,effects)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_QueryInterface(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_AddRef(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_Release(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetIids(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetTrustLevel(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioRenderEffectsManager methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_add_AudioRenderEffectsChanged(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_AudioRenderEffectsChanged(This,handler,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_remove_AudioRenderEffectsChanged(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_AudioRenderEffectsChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetAudioRenderEffects(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager* This,__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect **effects) {
    return This->lpVtbl->GetAudioRenderEffects(This,effects);
}
#endif
#ifdef WIDL_using_Windows_Media_Effects
#define IID_IAudioRenderEffectsManager IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager
#define IAudioRenderEffectsManagerVtbl __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManagerVtbl
#define IAudioRenderEffectsManager __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager
#define IAudioRenderEffectsManager_QueryInterface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_QueryInterface
#define IAudioRenderEffectsManager_AddRef __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_AddRef
#define IAudioRenderEffectsManager_Release __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_Release
#define IAudioRenderEffectsManager_GetIids __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetIids
#define IAudioRenderEffectsManager_GetRuntimeClassName __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetRuntimeClassName
#define IAudioRenderEffectsManager_GetTrustLevel __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetTrustLevel
#define IAudioRenderEffectsManager_add_AudioRenderEffectsChanged __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_add_AudioRenderEffectsChanged
#define IAudioRenderEffectsManager_remove_AudioRenderEffectsChanged __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_remove_AudioRenderEffectsChanged
#define IAudioRenderEffectsManager_GetAudioRenderEffects __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_GetAudioRenderEffects
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAudioRenderEffectsManager2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2, 0xa844cd09, 0x5ecc, 0x44b3, 0xbb,0x4e, 0x1d,0xb0,0x72,0x87,0x13,0x9c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Effects {
                MIDL_INTERFACE("a844cd09-5ecc-44b3-bb4e-1db07287139c")
                IAudioRenderEffectsManager2 : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_EffectsProviderThumbnail(
                        ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_EffectsProviderSettingsLabel(
                        HSTRING *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE ShowSettingsUI(
                        ) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2, 0xa844cd09, 0x5ecc, 0x44b3, 0xbb,0x4e, 0x1d,0xb0,0x72,0x87,0x13,0x9c)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    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);

    /*** IInspectable methods ***/
    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);

    /*** IAudioRenderEffectsManager2 methods ***/
    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 __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioRenderEffectsManager2 methods ***/
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderThumbnail(This,value) (This)->lpVtbl->get_EffectsProviderThumbnail(This,value)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderSettingsLabel(This,value) (This)->lpVtbl->get_EffectsProviderSettingsLabel(This,value)
#define __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_ShowSettingsUI(This) (This)->lpVtbl->ShowSettingsUI(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_QueryInterface(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_AddRef(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_Release(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetIids(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetTrustLevel(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioRenderEffectsManager2 methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderThumbnail(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType **value) {
    return This->lpVtbl->get_EffectsProviderThumbnail(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderSettingsLabel(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This,HSTRING *value) {
    return This->lpVtbl->get_EffectsProviderSettingsLabel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_ShowSettingsUI(__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2* This) {
    return This->lpVtbl->ShowSettingsUI(This);
}
#endif
#ifdef WIDL_using_Windows_Media_Effects
#define IID_IAudioRenderEffectsManager2 IID___x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2
#define IAudioRenderEffectsManager2Vtbl __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2Vtbl
#define IAudioRenderEffectsManager2 __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2
#define IAudioRenderEffectsManager2_QueryInterface __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_QueryInterface
#define IAudioRenderEffectsManager2_AddRef __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_AddRef
#define IAudioRenderEffectsManager2_Release __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_Release
#define IAudioRenderEffectsManager2_GetIids __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetIids
#define IAudioRenderEffectsManager2_GetRuntimeClassName __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetRuntimeClassName
#define IAudioRenderEffectsManager2_GetTrustLevel __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_GetTrustLevel
#define IAudioRenderEffectsManager2_get_EffectsProviderThumbnail __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderThumbnail
#define IAudioRenderEffectsManager2_get_EffectsProviderSettingsLabel __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_get_EffectsProviderSettingsLabel
#define IAudioRenderEffectsManager2_ShowSettingsUI __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_ShowSettingsUI
#endif /* WIDL_using_Windows_Media_Effects */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Effects.AudioCaptureEffectsManager
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioCaptureEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioCaptureEffectsManager_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Effects_AudioCaptureEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','C','a','p','t','u','r','e','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioCaptureEffectsManager[] = L"Windows.Media.Effects.AudioCaptureEffectsManager";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioCaptureEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','C','a','p','t','u','r','e','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Effects_AudioCaptureEffectsManager_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Effects.AudioEffect
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioEffect_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioEffect_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Effects_AudioEffect[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','E','f','f','e','c','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioEffect[] = L"Windows.Media.Effects.AudioEffect";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioEffect[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','E','f','f','e','c','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Effects_AudioEffect_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Effects.AudioEffectsManager
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioEffectsManager_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Effects_AudioEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioEffectsManager[] = L"Windows.Media.Effects.AudioEffectsManager";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Effects_AudioEffectsManager_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Effects.AudioRenderEffectsManager
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Effects_AudioRenderEffectsManager_DEFINED
#define RUNTIMECLASS_Windows_Media_Effects_AudioRenderEffectsManager_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Effects_AudioRenderEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','R','e','n','d','e','r','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioRenderEffectsManager[] = L"Windows.Media.Effects.AudioRenderEffectsManager";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Effects_AudioRenderEffectsManager[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','E','f','f','e','c','t','s','.','A','u','d','i','o','R','e','n','d','e','r','E','f','f','e','c','t','s','M','a','n','a','g','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Effects_AudioRenderEffectsManager_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IIterable<ABI::Windows::Media::Effects::AudioEffect* > interface
 */
#ifndef ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect, 0x07af9afd, 0x25b8, 0x579d, 0xbe,0x7e, 0x8a,0xcc,0x03,0x41,0x8d,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("07af9afd-25b8-579d-be7e-8acc03418d0b")
                IIterable<ABI::Windows::Media::Effects::AudioEffect* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect, 0x07af9afd, 0x25b8, 0x579d, 0xbe,0x7e, 0x8a,0xcc,0x03,0x41,0x8d,0x0b)
#endif
#else
typedef struct __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This,
        TrustLevel *trustLevel);

    /*** IIterable<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect *This,
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect **value);

    END_INTERFACE
} __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

interface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect {
    CONST_VTBL __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
#define __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_Release(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_First(__FIIterable_1_Windows__CMedia__CEffects__CAudioEffect* This,__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_AudioEffect IID___FIIterable_1_Windows__CMedia__CEffects__CAudioEffect
#define IIterable_AudioEffectVtbl __FIIterable_1_Windows__CMedia__CEffects__CAudioEffectVtbl
#define IIterable_AudioEffect __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect
#define IIterable_AudioEffect_QueryInterface __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface
#define IIterable_AudioEffect_AddRef __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_AddRef
#define IIterable_AudioEffect_Release __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_Release
#define IIterable_AudioEffect_GetIids __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetIids
#define IIterable_AudioEffect_GetRuntimeClassName __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName
#define IIterable_AudioEffect_GetTrustLevel __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel
#define IIterable_AudioEffect_First __FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Media::Effects::AudioEffect* > interface
 */
#ifndef ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect, 0x673ce717, 0xa3cf, 0x5d68, 0xa8,0x0b, 0x5e,0xd3,0xe7,0xb9,0x3f,0xed);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("673ce717-a3cf-5d68-a80b-5ed3e7b93fed")
                IIterator<ABI::Windows::Media::Effects::AudioEffect* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect, 0x673ce717, 0xa3cf, 0x5d68, 0xa8,0x0b, 0x5e,0xd3,0xe7,0xb9,0x3f,0xed)
#endif
#else
typedef struct __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        TrustLevel *trustLevel);

    /*** IIterator<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect *This,
        UINT32 items_size,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

interface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect {
    CONST_VTBL __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_Release(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_Current(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_HasCurrent(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_MoveNext(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(__FIIterator_1_Windows__CMedia__CEffects__CAudioEffect* This,UINT32 items_size,__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_AudioEffect IID___FIIterator_1_Windows__CMedia__CEffects__CAudioEffect
#define IIterator_AudioEffectVtbl __FIIterator_1_Windows__CMedia__CEffects__CAudioEffectVtbl
#define IIterator_AudioEffect __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect
#define IIterator_AudioEffect_QueryInterface __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface
#define IIterator_AudioEffect_AddRef __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_AddRef
#define IIterator_AudioEffect_Release __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_Release
#define IIterator_AudioEffect_GetIids __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetIids
#define IIterator_AudioEffect_GetRuntimeClassName __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName
#define IIterator_AudioEffect_GetTrustLevel __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel
#define IIterator_AudioEffect_get_Current __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_Current
#define IIterator_AudioEffect_get_HasCurrent __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_get_HasCurrent
#define IIterator_AudioEffect_MoveNext __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_MoveNext
#define IIterator_AudioEffect_GetMany __FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Media::Effects::AudioEffect* > interface
 */
#ifndef ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect, 0xcdcbc9e7, 0x53d8, 0x5e66, 0x9e,0x45, 0x31,0xd5,0xa2,0x3f,0xd0,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("cdcbc9e7-53d8-5e66-9e45-31d5a23fd01d")
                IVectorView<ABI::Windows::Media::Effects::AudioEffect* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioEffect*, ABI::Windows::Media::Effects::IAudioEffect* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect, 0xcdcbc9e7, 0x53d8, 0x5e66, 0x9e,0x45, 0x31,0xd5,0xa2,0x3f,0xd0,0x1d)
#endif
#else
typedef struct __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        TrustLevel *trustLevel);

    /*** IVectorView<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl;

interface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect {
    CONST_VTBL __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_AddRef(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_Release(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetIids(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Media::Effects::AudioEffect* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetAt(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,UINT32 index,__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_get_Size(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_IndexOf(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetMany(__FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CMedia_CEffects_CIAudioEffect **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_AudioEffect IID___FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect
#define IVectorView_AudioEffectVtbl __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffectVtbl
#define IVectorView_AudioEffect __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect
#define IVectorView_AudioEffect_QueryInterface __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_QueryInterface
#define IVectorView_AudioEffect_AddRef __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_AddRef
#define IVectorView_AudioEffect_Release __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_Release
#define IVectorView_AudioEffect_GetIids __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetIids
#define IVectorView_AudioEffect_GetRuntimeClassName __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetRuntimeClassName
#define IVectorView_AudioEffect_GetTrustLevel __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetTrustLevel
#define IVectorView_AudioEffect_GetAt __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetAt
#define IVectorView_AudioEffect_get_Size __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_get_Size
#define IVectorView_AudioEffect_IndexOf __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_IndexOf
#define IVectorView_AudioEffect_GetMany __FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CMedia__CEffects__CAudioEffect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable, 0xa1c5e803, 0xa275, 0x5bb1, 0x9d,0x44, 0x2a,0xc8,0xae,0x9f,0xfb,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("a1c5e803-a275-5bb1-9d44-2ac8ae9ffb89")
            ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*, ABI::Windows::Media::Effects::IAudioCaptureEffectsManager* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable, 0xa1c5e803, 0xa275, 0x5bb1, 0x9d,0x44, 0x2a,0xc8,0xae,0x9f,0xfb,0x89)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *This);

    /*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable *This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Release(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioCaptureEffectsManager*,IInspectable* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable* This,__x_ABI_CWindows_CMedia_CEffects_CIAudioCaptureEffectsManager *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_AudioCaptureEffectsManager_IInspectable IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectableVtbl __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectableVtbl
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_QueryInterface
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectable_AddRef __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_AddRef
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectable_Release __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Release
#define ITypedEventHandler_AudioCaptureEffectsManager_IInspectable_Invoke __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioCaptureEffectsManager_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable, 0x4be29c7e, 0x449c, 0x576e, 0xa7,0xb8, 0x3a,0x40,0xf2,0xf0,0x1d,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("4be29c7e-449c-576e-a7b8-3a40f2f01dc8")
            ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Effects::AudioRenderEffectsManager*, ABI::Windows::Media::Effects::IAudioRenderEffectsManager* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable, 0x4be29c7e, 0x449c, 0x576e, 0xa7,0xb8, 0x3a,0x40,0xf2,0xf0,0x1d,0xc8)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *This);

    /*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable *This,
        __x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Release(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Effects::AudioRenderEffectsManager*,IInspectable* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable* This,__x_ABI_CWindows_CMedia_CEffects_CIAudioRenderEffectsManager *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_AudioRenderEffectsManager_IInspectable IID___FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectableVtbl __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectableVtbl
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectable __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_QueryInterface
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectable_AddRef __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_AddRef
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectable_Release __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Release
#define ITypedEventHandler_AudioRenderEffectsManager_IInspectable_Invoke __FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CEffects__CAudioRenderEffectsManager_IInspectable_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_media_effects_h__ */
