

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


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

#pragma warning( disable: 4049 )  /* more than 64k source lines */


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

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

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

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

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

#ifndef __windows2Eui2Examl2Einterop_h__
#define __windows2Eui2Examl2Einterop_h__

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

/* Forward Declarations */ 

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface INotifyCollectionChangedEventHandler;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableVectorChangedEventHandler;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableIterator;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableIterable;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableVectorView;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableVector;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface INotifyCollectionChangedEventArgs;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface INotifyCollectionChangedEventArgsFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface INotifyCollectionChanged;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    interface IBindableObservableVector;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_FWD_DEFINED__ */


/* header files for imported files */
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "Windows.Foundation.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0000 */
/* [local] */ 

#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CUI_CXaml_CInterop_CNotifyCollectionChangedAction __x_ABI_CWindows_CUI_CXaml_CInterop_CNotifyCollectionChangedAction;


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


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

typedef enum __x_ABI_CWindows_CUI_CXaml_CInterop_CTypeKind __x_ABI_CWindows_CUI_CXaml_CInterop_CTypeKind;


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


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

#endif










#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace UI {
namespace Xaml {
namespace Interop {
class NotifyCollectionChangedEventArgs;
} /*Interop*/
} /*Xaml*/
} /*UI*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CUI_CXaml_CInterop_CNotifyCollectionChangedAction
    {
        NotifyCollectionChangedAction_Add	= 0,
        NotifyCollectionChangedAction_Remove	= 1,
        NotifyCollectionChangedAction_Replace	= 2,
        NotifyCollectionChangedAction_Move	= 3,
        NotifyCollectionChangedAction_Reset	= 4
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CUI_CXaml_CInterop_CTypeKind
    {
        TypeKind_Primitive	= 0,
        TypeKind_Metadata	= 1,
        TypeKind_Custom	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)
struct __x_ABI_CWindows_CUI_CXaml_CInterop_CTypeName
    {
    HSTRING Name;
    __x_ABI_CWindows_CUI_CXaml_CInterop_CTypeKind Kind;
    } ;
#endif


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0000 */
/* [local] */ 

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    typedef enum NotifyCollectionChangedAction NotifyCollectionChangedAction;
                    
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    typedef enum TypeKind TypeKind;
                    
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    typedef struct TypeName TypeName;
                    
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif











#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    /* [v1_enum] */ 
                    enum NotifyCollectionChangedAction
                        {
                            NotifyCollectionChangedAction_Add	= 0,
                            NotifyCollectionChangedAction_Remove	= 1,
                            NotifyCollectionChangedAction_Replace	= 2,
                            NotifyCollectionChangedAction_Move	= 3,
                            NotifyCollectionChangedAction_Reset	= 4
                        } ;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    /* [v1_enum] */ 
                    enum TypeKind
                        {
                            TypeKind_Primitive	= 0,
                            TypeKind_Metadata	= 1,
                            TypeKind_Custom	= 2
                        } ;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Xaml {
                namespace Interop {
                    
                    struct TypeName
                        {
                        HSTRING Name;
                        TypeKind Kind;
                        } ;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0000_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("CA10B37C-F382-4591-8557-5E24965279B0")
                        INotifyCollectionChangedEventHandler : public IUnknown
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Invoke( 
                                /* [in] */ __RPC__in_opt IInspectable *sender,
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventArgs *e) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_INotifyCollectionChangedEventHandler = __uuidof(INotifyCollectionChangedEventHandler);

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

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

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler_INTERFACE_DEFINED__ */


#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableVectorChangedEventHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("624CD4E1-D007-43B1-9C03-AF4D3E6258C4")
                        IBindableVectorChangedEventHandler : public IUnknown
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Invoke( 
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::IBindableObservableVector *vector,
                                /* [in] */ __RPC__in_opt IInspectable *e) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableVectorChangedEventHandler = __uuidof(IBindableVectorChangedEventHandler);

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

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

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_Invoke(This,vector,e)	\
    ( (This)->lpVtbl -> Invoke(This,vector,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0002 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_IBindableIterator[] = L"Windows.UI.Xaml.Interop.IBindableIterator";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0002 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0002_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableIterator */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("6A1D6C07-076D-49F2-8314-F52C9C9A8331")
                        IBindableIterator : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
                                /* [out][retval] */ __RPC__deref_out_opt IInspectable **value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
                                /* [out][retval] */ __RPC__out boolean *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE MoveNext( 
                                /* [out][retval] */ __RPC__out boolean *returnValue) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableIterator = __uuidof(IBindableIterator);

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

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

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIteratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_get_Current(This,value)	\
    ( (This)->lpVtbl -> get_Current(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_get_HasCurrent(This,value)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_MoveNext(This,returnValue)	\
    ( (This)->lpVtbl -> MoveNext(This,returnValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterator_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0003 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_IBindableIterable[] = L"Windows.UI.Xaml.Interop.IBindableIterable";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0003 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0003_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableIterable */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("036D2C08-DF29-41AF-8AA2-D774BE62BA6F")
                        IBindableIterable : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE First( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::UI::Xaml::Interop::IBindableIterator **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableIterable = __uuidof(IBindableIterable);

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

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

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_First(This,value)	\
    ( (This)->lpVtbl -> First(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableIterable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0004 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_IBindableVectorView[] = L"Windows.UI.Xaml.Interop.IBindableVectorView";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0004 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0004_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableVectorView */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("346DD6E7-976E-4BC3-815D-ECE243BC0F33")
                        IBindableVectorView : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE GetAt( 
                                /* [in] */ UINT32 index,
                                /* [out][retval] */ __RPC__deref_out_opt IInspectable **returnValue) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
                                /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE IndexOf( 
                                /* [in] */ __RPC__in_opt IInspectable *value,
                                /* [out] */ __RPC__out UINT32 *index,
                                /* [out][retval] */ __RPC__out boolean *returnValue) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableVectorView = __uuidof(IBindableVectorView);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [in] */ UINT32 index,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **returnValue);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView * This,
            /* [in] */ __RPC__in_opt IInspectable *value,
            /* [out] */ __RPC__out UINT32 *index,
            /* [out][retval] */ __RPC__out boolean *returnValue);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorViewVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_GetAt(This,index,returnValue)	\
    ( (This)->lpVtbl -> GetAt(This,index,returnValue) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_get_Size(This,value)	\
    ( (This)->lpVtbl -> get_Size(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_IndexOf(This,value,index,returnValue)	\
    ( (This)->lpVtbl -> IndexOf(This,value,index,returnValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0005 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_IBindableVector[] = L"Windows.UI.Xaml.Interop.IBindableVector";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0005 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0005_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableVector */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("393DE7DE-6FD0-4C0D-BB71-47244A113E93")
                        IBindableVector : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE GetAt( 
                                /* [in] */ UINT32 index,
                                /* [out][retval] */ __RPC__deref_out_opt IInspectable **returnValue) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
                                /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE GetView( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::UI::Xaml::Interop::IBindableVectorView **returnValue) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE IndexOf( 
                                /* [in] */ __RPC__in_opt IInspectable *value,
                                /* [out] */ __RPC__out UINT32 *index,
                                /* [out][retval] */ __RPC__out boolean *returnValue) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE SetAt( 
                                /* [in] */ UINT32 index,
                                /* [in] */ __RPC__in_opt IInspectable *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE InsertAt( 
                                /* [in] */ UINT32 index,
                                /* [in] */ __RPC__in_opt IInspectable *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
                                /* [in] */ UINT32 index) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE Append( 
                                /* [in] */ __RPC__in_opt IInspectable *value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableVector = __uuidof(IBindableVector);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ UINT32 index,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **returnValue);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorView **returnValue);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ __RPC__in_opt IInspectable *value,
            /* [out] */ __RPC__out UINT32 *index,
            /* [out][retval] */ __RPC__out boolean *returnValue);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ UINT32 index,
            /* [in] */ __RPC__in_opt IInspectable *value);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ UINT32 index,
            /* [in] */ __RPC__in_opt IInspectable *value);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ UINT32 index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This,
            /* [in] */ __RPC__in_opt IInspectable *value);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_GetAt(This,index,returnValue)	\
    ( (This)->lpVtbl -> GetAt(This,index,returnValue) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_get_Size(This,value)	\
    ( (This)->lpVtbl -> get_Size(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_GetView(This,returnValue)	\
    ( (This)->lpVtbl -> GetView(This,returnValue) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_IndexOf(This,value,index,returnValue)	\
    ( (This)->lpVtbl -> IndexOf(This,value,index,returnValue) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_SetAt(This,index,value)	\
    ( (This)->lpVtbl -> SetAt(This,index,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_InsertAt(This,index,value)	\
    ( (This)->lpVtbl -> InsertAt(This,index,value) ) 

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

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_Append(This,value)	\
    ( (This)->lpVtbl -> Append(This,value) ) 

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0006 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_INotifyCollectionChangedEventArgs[] = L"Windows.UI.Xaml.Interop.INotifyCollectionChangedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0006 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0006_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("4CF68D33-E3F2-4964-B85E-945B4F7E2F21")
                        INotifyCollectionChangedEventArgs : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Action( 
                                /* [out][retval] */ __RPC__out ABI::Windows::UI::Xaml::Interop::NotifyCollectionChangedAction *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NewItems( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::UI::Xaml::Interop::IBindableVector **value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OldItems( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::UI::Xaml::Interop::IBindableVector **value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NewStartingIndex( 
                                /* [out][retval] */ __RPC__out INT32 *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OldStartingIndex( 
                                /* [out][retval] */ __RPC__out INT32 *value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_INotifyCollectionChangedEventArgs = __uuidof(INotifyCollectionChangedEventArgs);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Action )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CXaml_CInterop_CNotifyCollectionChangedAction *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewItems )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OldItems )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewStartingIndex )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OldStartingIndex )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_get_Action(This,value)	\
    ( (This)->lpVtbl -> get_Action(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_get_NewItems(This,value)	\
    ( (This)->lpVtbl -> get_NewItems(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_get_OldItems(This,value)	\
    ( (This)->lpVtbl -> get_OldItems(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_get_NewStartingIndex(This,value)	\
    ( (This)->lpVtbl -> get_NewStartingIndex(This,value) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_get_OldStartingIndex(This,value)	\
    ( (This)->lpVtbl -> get_OldStartingIndex(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0007 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_INotifyCollectionChangedEventArgsFactory[] = L"Windows.UI.Xaml.Interop.INotifyCollectionChangedEventArgsFactory";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0007 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0007_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventArgsFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("B30C3E3A-DF8D-44A5-9A38-7AC0D08CE63D")
                        INotifyCollectionChangedEventArgsFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE CreateInstanceWithAllParameters( 
                                /* [in] */ ABI::Windows::UI::Xaml::Interop::NotifyCollectionChangedAction action,
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::IBindableVector *newItems,
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::IBindableVector *oldItems,
                                /* [in] */ INT32 newIndex,
                                /* [in] */ INT32 oldIndex,
                                /* [in] */ __RPC__in_opt IInspectable *outer,
                                /* [out] */ __RPC__deref_out_opt IInspectable **inner,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventArgs **instance) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_INotifyCollectionChangedEventArgsFactory = __uuidof(INotifyCollectionChangedEventArgsFactory);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateInstanceWithAllParameters )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory * This,
            /* [in] */ __x_ABI_CWindows_CUI_CXaml_CInterop_CNotifyCollectionChangedAction action,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector *newItems,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVector *oldItems,
            /* [in] */ INT32 newIndex,
            /* [in] */ INT32 oldIndex,
            /* [in] */ __RPC__in_opt IInspectable *outer,
            /* [out] */ __RPC__deref_out_opt IInspectable **inner,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgs **instance);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactoryVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_CreateInstanceWithAllParameters(This,action,newItems,oldItems,newIndex,oldIndex,outer,inner,instance)	\
    ( (This)->lpVtbl -> CreateInstanceWithAllParameters(This,action,newItems,oldItems,newIndex,oldIndex,outer,inner,instance) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventArgsFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0008 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_INotifyCollectionChanged[] = L"Windows.UI.Xaml.Interop.INotifyCollectionChanged";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0008 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0008_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::INotifyCollectionChanged */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("28B167D5-1A31-465B-9B25-D5C3AE686C40")
                        INotifyCollectionChanged : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE add_CollectionChanged( 
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventHandler *value,
                                /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE remove_CollectionChanged( 
                                /* [in] */ EventRegistrationToken token) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_INotifyCollectionChanged = __uuidof(INotifyCollectionChanged);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_CollectionChanged )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedEventHandler *value,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_CollectionChanged )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChangedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_add_CollectionChanged(This,value,token)	\
    ( (This)->lpVtbl -> add_CollectionChanged(This,value,token) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_remove_CollectionChanged(This,token)	\
    ( (This)->lpVtbl -> remove_CollectionChanged(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CINotifyCollectionChanged_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0009 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_UI_Xaml_Interop_IBindableObservableVector[] = L"Windows.UI.Xaml.Interop.IBindableObservableVector";
#endif /* !defined(____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0009 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0009_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector */
/* [uuid][object] */ 



/* interface ABI::Windows::UI::Xaml::Interop::IBindableObservableVector */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace UI {
                namespace Xaml {
                    namespace Interop {
                        
                        MIDL_INTERFACE("FE1EB536-7E7F-4F90-AC9A-474984AAE512")
                        IBindableObservableVector : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE add_VectorChanged( 
                                /* [in] */ __RPC__in_opt ABI::Windows::UI::Xaml::Interop::IBindableVectorChangedEventHandler *value,
                                /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE remove_VectorChanged( 
                                /* [in] */ EventRegistrationToken token) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IBindableObservableVector = __uuidof(IBindableObservableVector);

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

    typedef struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_VectorChanged )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableVectorChangedEventHandler *value,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_VectorChanged )( 
            __RPC__in __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVectorVtbl;

    interface __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_add_VectorChanged(This,value,token)	\
    ( (This)->lpVtbl -> add_VectorChanged(This,value,token) ) 

#define __x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_remove_VectorChanged(This,token)	\
    ( (This)->lpVtbl -> remove_VectorChanged(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CUI_CXaml_CInterop_CIBindableObservableVector_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0010 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_UI_Xaml_Interop_NotifyCollectionChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_UI_Xaml_Interop_NotifyCollectionChangedEventArgs_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_UI_Xaml_Interop_NotifyCollectionChangedEventArgs[] = L"Windows.UI.Xaml.Interop.NotifyCollectionChangedEventArgs";
#endif


/* interface __MIDL_itf_windows2Eui2Examl2Einterop_0000_0010 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Eui2Examl2Einterop_0000_0010_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


