/*** Autogenerated by WIDL 8.0 from ../wine-ge-custom/proton-wine/include/windows.foundation.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_foundation_h__
#define __windows_foundation_h__

#ifndef __WIDL_INLINE
#if defined(__cplusplus) || defined(_MSC_VER)
#define __WIDL_INLINE inline
#elif defined(__GNUC__)
#define __WIDL_INLINE __inline__
#endif
#endif

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler ABI::Windows::Foundation::IAsyncActionCompletedHandler
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncActionCompletedHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIStringable ABI::Windows::Foundation::IStringable
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IStringable;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIClosable __x_ABI_CWindows_CFoundation_CIClosable;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIClosable ABI::Windows::Foundation::IClosable
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IClosable;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBuffer __x_ABI_CWindows_CFoundation_CIMemoryBuffer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer ABI::Windows::Foundation::IMemoryBuffer
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBuffer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory ABI::Windows::Foundation::IMemoryBufferFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBufferFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBufferReference __x_ABI_CWindows_CFoundation_CIMemoryBufferReference;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference ABI::Windows::Foundation::IMemoryBufferReference
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBufferReference;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CMemoryBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CMemoryBuffer_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class MemoryBuffer;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CMemoryBuffer __x_ABI_CWindows_CFoundation_CMemoryBuffer;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CMemoryBuffer_FWD_DEFINED__ */

#ifndef ____FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIKeyValuePair_2_HSTRING_IInspectable __FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapChangedEventArgs_1_HSTRING_FWD_DEFINED__
#define ____FIMapChangedEventArgs_1_HSTRING_FWD_DEFINED__
typedef interface __FIMapChangedEventArgs_1_HSTRING __FIMapChangedEventArgs_1_HSTRING;
#ifdef __cplusplus
#define __FIMapChangedEventArgs_1_HSTRING ABI::Windows::Foundation::Collections::IMapChangedEventArgs<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapChangedEventHandler_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIMapChangedEventHandler_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIMapChangedEventHandler_2_HSTRING_IInspectable __FIMapChangedEventHandler_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIMapChangedEventHandler_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMapChangedEventHandler<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIMap_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIMap_2_HSTRING_IInspectable __FIMap_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMap<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIMapView_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIMapView_2_HSTRING_IInspectable __FIMapView_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIMapView_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMapView<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIObservableMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIObservableMap_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIObservableMap_2_HSTRING_IInspectable __FIObservableMap_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIObservableMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IObservableMap<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_HSTRING_FWD_DEFINED__
#define ____FIIterable_1_HSTRING_FWD_DEFINED__
typedef interface __FIIterable_1_HSTRING __FIIterable_1_HSTRING;
#ifdef __cplusplus
#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::IIterable<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_IInspectable_FWD_DEFINED__
#define ____FIIterable_1_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1_IInspectable __FIIterable_1_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1_IInspectable ABI::Windows::Foundation::Collections::IIterable<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_HSTRING_FWD_DEFINED__
#define ____FIIterator_1_HSTRING_FWD_DEFINED__
typedef interface __FIIterator_1_HSTRING __FIIterator_1_HSTRING;
#ifdef __cplusplus
#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::IIterator<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_IInspectable_FWD_DEFINED__
#define ____FIIterator_1_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1_IInspectable __FIIterator_1_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1_IInspectable ABI::Windows::Foundation::Collections::IIterator<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_HSTRING_FWD_DEFINED__
#define ____FIVectorView_1_HSTRING_FWD_DEFINED__
typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;
#ifdef __cplusplus
#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::IVectorView<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_IInspectable_FWD_DEFINED__
#define ____FIVectorView_1_IInspectable_FWD_DEFINED__
typedef interface __FIVectorView_1_IInspectable __FIVectorView_1_IInspectable;
#ifdef __cplusplus
#define __FIVectorView_1_IInspectable ABI::Windows::Foundation::Collections::IVectorView<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_HSTRING_FWD_DEFINED__
#define ____FIVector_1_HSTRING_FWD_DEFINED__
typedef interface __FIVector_1_HSTRING __FIVector_1_HSTRING;
#ifdef __cplusplus
#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::IVector<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_IInspectable_FWD_DEFINED__
#define ____FIVector_1_IInspectable_FWD_DEFINED__
typedef interface __FIVector_1_IInspectable __FIVector_1_IInspectable;
#ifdef __cplusplus
#define __FIVector_1_IInspectable ABI::Windows::Foundation::Collections::IVector<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_FWD_DEFINED__
#define ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_FWD_DEFINED__
typedef interface __FIMapView_2_HSTRING___FIVectorView_1_HSTRING __FIMapView_2_HSTRING___FIVectorView_1_HSTRING;
#ifdef __cplusplus
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIEventHandler_1_IInspectable_FWD_DEFINED__
#define ____FIEventHandler_1_IInspectable_FWD_DEFINED__
typedef interface __FIEventHandler_1_IInspectable __FIEventHandler_1_IInspectable;
#ifdef __cplusplus
#define __FIEventHandler_1_IInspectable ABI::Windows::Foundation::IEventHandler<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_IInspectable_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_IInspectable_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_IInspectable __FIAsyncOperationCompletedHandler_1_IInspectable;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_IInspectable ABI::Windows::Foundation::IAsyncOperationCompletedHandler<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_boolean_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_boolean __FIAsyncOperationCompletedHandler_1_boolean;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_boolean ABI::Windows::Foundation::IAsyncOperationCompletedHandler<boolean >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_IInspectable_FWD_DEFINED__
#define ____FIAsyncOperation_1_IInspectable_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_IInspectable __FIAsyncOperation_1_IInspectable;
#ifdef __cplusplus
#define __FIAsyncOperation_1_IInspectable ABI::Windows::Foundation::IAsyncOperation<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_boolean_FWD_DEFINED__
#define ____FIAsyncOperation_1_boolean_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;
#ifdef __cplusplus
#define __FIAsyncOperation_1_boolean ABI::Windows::Foundation::IAsyncOperation<boolean >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_INT32_FWD_DEFINED__
#define ____FIReference_1_INT32_FWD_DEFINED__
typedef interface __FIReference_1_INT32 __FIReference_1_INT32;
#ifdef __cplusplus
#define __FIReference_1_INT32 ABI::Windows::Foundation::IReference<INT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_IInspectable_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_IInspectable_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_IInspectable_IInspectable __FITypedEventHandler_2_IInspectable_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_IInspectable_IInspectable ABI::Windows::Foundation::ITypedEventHandler<IInspectable*,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <asyncinfo.h>
#include <windowscontracts.h>
#include <eventtoken.h>
#include <windows.foundation.collections.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIKeyValuePair_2_HSTRING_IInspectable __FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapChangedEventArgs_1_HSTRING_FWD_DEFINED__
#define ____FIMapChangedEventArgs_1_HSTRING_FWD_DEFINED__
typedef interface __FIMapChangedEventArgs_1_HSTRING __FIMapChangedEventArgs_1_HSTRING;
#ifdef __cplusplus
#define __FIMapChangedEventArgs_1_HSTRING ABI::Windows::Foundation::Collections::IMapChangedEventArgs<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIMap_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIMap_2_HSTRING_IInspectable __FIMap_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMap<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIMapView_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIMapView_2_HSTRING_IInspectable __FIMapView_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIMapView_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMapView<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIObservableMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define ____FIObservableMap_2_HSTRING_IInspectable_FWD_DEFINED__
typedef interface __FIObservableMap_2_HSTRING_IInspectable __FIObservableMap_2_HSTRING_IInspectable;
#ifdef __cplusplus
#define __FIObservableMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IObservableMap<HSTRING,IInspectable* >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IPropertySet interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CCollections_CIPropertySet, 0x8a43ed9f, 0xf4e6, 0x4421, 0xac,0xf9, 0x1d,0xab,0x29,0x86,0x82,0x0c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                MIDL_INTERFACE("8a43ed9f-f4e6-4421-acf9-1dab2986820c")
                IPropertySet : public IInspectable
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet, 0x8a43ed9f, 0xf4e6, 0x4421, 0xac,0xf9, 0x1d,0xab,0x29,0x86,0x82,0x0c)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl;

interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_QueryInterface(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_AddRef(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_Release(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetIids(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetTrustLevel(__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IPropertySet IID___x_ABI_CWindows_CFoundation_CCollections_CIPropertySet
#define IPropertySetVtbl __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl
#define IPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet
#define IPropertySet_QueryInterface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_QueryInterface
#define IPropertySet_AddRef __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_AddRef
#define IPropertySet_Release __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_Release
#define IPropertySet_GetIids __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetIids
#define IPropertySet_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetRuntimeClassName
#define IPropertySet_GetTrustLevel __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_GetTrustLevel
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CFoundation_CPropertyType __x_ABI_CWindows_CFoundation_CPropertyType;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CPoint __x_ABI_CWindows_CFoundation_CPoint;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            typedef struct Point Point;
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            typedef struct Size Size;
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            typedef struct Rect Rect;
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CDateTime __x_ABI_CWindows_CFoundation_CDateTime;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            typedef struct DateTime DateTime;
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            typedef struct TimeSpan TimeSpan;
        }
    }
}
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIClosable __x_ABI_CWindows_CFoundation_CIClosable;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIClosable ABI::Windows::Foundation::IClosable
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IClosable;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBuffer __x_ABI_CWindows_CFoundation_CIMemoryBuffer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer ABI::Windows::Foundation::IMemoryBuffer
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBuffer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory ABI::Windows::Foundation::IMemoryBufferFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBufferFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIMemoryBufferReference __x_ABI_CWindows_CFoundation_CIMemoryBufferReference;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference ABI::Windows::Foundation::IMemoryBufferReference
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IMemoryBufferReference;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIStringable ABI::Windows::Foundation::IStringable
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IStringable;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_HSTRING_FWD_DEFINED__
#define ____FIIterable_1_HSTRING_FWD_DEFINED__
typedef interface __FIIterable_1_HSTRING __FIIterable_1_HSTRING;
#ifdef __cplusplus
#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::IIterable<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_IInspectable_FWD_DEFINED__
#define ____FIIterable_1_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1_IInspectable __FIIterable_1_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1_IInspectable ABI::Windows::Foundation::Collections::IIterable<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_HSTRING_FWD_DEFINED__
#define ____FIIterator_1_HSTRING_FWD_DEFINED__
typedef interface __FIIterator_1_HSTRING __FIIterator_1_HSTRING;
#ifdef __cplusplus
#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::IIterator<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_IInspectable_FWD_DEFINED__
#define ____FIIterator_1_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1_IInspectable __FIIterator_1_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1_IInspectable ABI::Windows::Foundation::Collections::IIterator<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_HSTRING_FWD_DEFINED__
#define ____FIVectorView_1_HSTRING_FWD_DEFINED__
typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;
#ifdef __cplusplus
#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::IVectorView<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_IInspectable_FWD_DEFINED__
#define ____FIVectorView_1_IInspectable_FWD_DEFINED__
typedef interface __FIVectorView_1_IInspectable __FIVectorView_1_IInspectable;
#ifdef __cplusplus
#define __FIVectorView_1_IInspectable ABI::Windows::Foundation::Collections::IVectorView<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_HSTRING_FWD_DEFINED__
#define ____FIVector_1_HSTRING_FWD_DEFINED__
typedef interface __FIVector_1_HSTRING __FIVector_1_HSTRING;
#ifdef __cplusplus
#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::IVector<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_IInspectable_FWD_DEFINED__
#define ____FIVector_1_IInspectable_FWD_DEFINED__
typedef interface __FIVector_1_IInspectable __FIVector_1_IInspectable;
#ifdef __cplusplus
#define __FIVector_1_IInspectable ABI::Windows::Foundation::Collections::IVector<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_FWD_DEFINED__
#define ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_FWD_DEFINED__
typedef interface __FIMapView_2_HSTRING___FIVectorView_1_HSTRING __FIMapView_2_HSTRING___FIVectorView_1_HSTRING;
#ifdef __cplusplus
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_IInspectable_FWD_DEFINED__
#define ____FIAsyncOperation_1_IInspectable_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_IInspectable __FIAsyncOperation_1_IInspectable;
#ifdef __cplusplus
#define __FIAsyncOperation_1_IInspectable ABI::Windows::Foundation::IAsyncOperation<IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_boolean_FWD_DEFINED__
#define ____FIAsyncOperation_1_boolean_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;
#ifdef __cplusplus
#define __FIAsyncOperation_1_boolean ABI::Windows::Foundation::IAsyncOperation<boolean >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_INT32_FWD_DEFINED__
#define ____FIReference_1_INT32_FWD_DEFINED__
typedef interface __FIReference_1_INT32 __FIReference_1_INT32;
#ifdef __cplusplus
#define __FIReference_1_INT32 ABI::Windows::Foundation::IReference<INT32 >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IAsyncActionCompletedHandler interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
            IAsyncActionCompletedHandler : public IUnknown
            {
                virtual HRESULT STDMETHODCALLTYPE Invoke(
                    ABI::Windows::Foundation::IAsyncAction *action,
                    AsyncStatus status) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandlerVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncActionCompletedHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler *This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction *action,
        AsyncStatus status);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandlerVtbl;

interface __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncActionCompletedHandler methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Invoke(This,action,status) (This)->lpVtbl->Invoke(This,action,status)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_QueryInterface(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncActionCompletedHandler methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This,__x_ABI_CWindows_CFoundation_CIAsyncAction *action,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,action,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncActionCompletedHandler IID___x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler
#define IAsyncActionCompletedHandlerVtbl __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandlerVtbl
#define IAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler
#define IAsyncActionCompletedHandler_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_QueryInterface
#define IAsyncActionCompletedHandler_AddRef __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef
#define IAsyncActionCompletedHandler_Release __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release
#define IAsyncActionCompletedHandler_Invoke __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            enum PropertyType {
                PropertyType_Empty = 0,
                PropertyType_UInt8 = 1,
                PropertyType_Int16 = 2,
                PropertyType_UInt16 = 3,
                PropertyType_Int32 = 4,
                PropertyType_UInt32 = 5,
                PropertyType_Int64 = 6,
                PropertyType_UInt64 = 7,
                PropertyType_Single = 8,
                PropertyType_Double = 9,
                PropertyType_Char16 = 10,
                PropertyType_Boolean = 11,
                PropertyType_String = 12,
                PropertyType_Inspectable = 13,
                PropertyType_DateTime = 14,
                PropertyType_TimeSpan = 15,
                PropertyType_Guid = 16,
                PropertyType_Point = 17,
                PropertyType_Size = 18,
                PropertyType_Rect = 19,
                PropertyType_OtherType = 20,
                PropertyType_UInt8Array = 1025,
                PropertyType_Int16Array = 1026,
                PropertyType_UInt16Array = 1027,
                PropertyType_Int32Array = 1028,
                PropertyType_UInt32Array = 1029,
                PropertyType_Int64Array = 1030,
                PropertyType_UInt64Array = 1031,
                PropertyType_SingleArray = 1032,
                PropertyType_DoubleArray = 1033,
                PropertyType_Char16Array = 1034,
                PropertyType_BooleanArray = 1035,
                PropertyType_StringArray = 1036,
                PropertyType_InspectableArray = 1037,
                PropertyType_DateTimeArray = 1038,
                PropertyType_TimeSpanArray = 1039,
                PropertyType_GuidArray = 1040,
                PropertyType_PointArray = 1041,
                PropertyType_SizeArray = 1042,
                PropertyType_RectArray = 1043,
                PropertyType_OtherTypeArray = 1044
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CFoundation_CPropertyType {
    PropertyType_Empty = 0,
    PropertyType_UInt8 = 1,
    PropertyType_Int16 = 2,
    PropertyType_UInt16 = 3,
    PropertyType_Int32 = 4,
    PropertyType_UInt32 = 5,
    PropertyType_Int64 = 6,
    PropertyType_UInt64 = 7,
    PropertyType_Single = 8,
    PropertyType_Double = 9,
    PropertyType_Char16 = 10,
    PropertyType_Boolean = 11,
    PropertyType_String = 12,
    PropertyType_Inspectable = 13,
    PropertyType_DateTime = 14,
    PropertyType_TimeSpan = 15,
    PropertyType_Guid = 16,
    PropertyType_Point = 17,
    PropertyType_Size = 18,
    PropertyType_Rect = 19,
    PropertyType_OtherType = 20,
    PropertyType_UInt8Array = 1025,
    PropertyType_Int16Array = 1026,
    PropertyType_UInt16Array = 1027,
    PropertyType_Int32Array = 1028,
    PropertyType_UInt32Array = 1029,
    PropertyType_Int64Array = 1030,
    PropertyType_UInt64Array = 1031,
    PropertyType_SingleArray = 1032,
    PropertyType_DoubleArray = 1033,
    PropertyType_Char16Array = 1034,
    PropertyType_BooleanArray = 1035,
    PropertyType_StringArray = 1036,
    PropertyType_InspectableArray = 1037,
    PropertyType_DateTimeArray = 1038,
    PropertyType_TimeSpanArray = 1039,
    PropertyType_GuidArray = 1040,
    PropertyType_PointArray = 1041,
    PropertyType_SizeArray = 1042,
    PropertyType_RectArray = 1043,
    PropertyType_OtherTypeArray = 1044
};
#ifdef WIDL_using_Windows_Foundation
#define PropertyType __x_ABI_CWindows_CFoundation_CPropertyType
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct Point {
                FLOAT X;
                FLOAT Y;
            };
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CPoint {
    FLOAT X;
    FLOAT Y;
};
#ifdef WIDL_using_Windows_Foundation
#define Point __x_ABI_CWindows_CFoundation_CPoint
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct Size {
                FLOAT Width;
                FLOAT Height;
            };
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CSize {
    FLOAT Width;
    FLOAT Height;
};
#ifdef WIDL_using_Windows_Foundation
#define Size __x_ABI_CWindows_CFoundation_CSize
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct Rect {
                FLOAT X;
                FLOAT Y;
                FLOAT Width;
                FLOAT Height;
            };
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CRect {
    FLOAT X;
    FLOAT Y;
    FLOAT Width;
    FLOAT Height;
};
#ifdef WIDL_using_Windows_Foundation
#define Rect __x_ABI_CWindows_CFoundation_CRect
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct DateTime {
                INT64 UniversalTime;
            };
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CDateTime {
    INT64 UniversalTime;
};
#ifdef WIDL_using_Windows_Foundation
#define DateTime __x_ABI_CWindows_CFoundation_CDateTime
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct TimeSpan {
                INT64 Duration;
            };
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CTimeSpan {
    INT64 Duration;
};
#ifdef WIDL_using_Windows_Foundation
#define TimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
/*****************************************************************************
 * IStringable interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3")
            IStringable : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE ToString(
                    HSTRING *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IStringable methods ***/
    HRESULT (STDMETHODCALLTYPE *ToString)(
        __x_ABI_CWindows_CFoundation_CIStringable *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIStringableVtbl;

interface __x_ABI_CWindows_CFoundation_CIStringable {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IStringable methods ***/
#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IStringable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) {
    return This->lpVtbl->ToString(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IStringable IID___x_ABI_CWindows_CFoundation_CIStringable
#define IStringableVtbl __x_ABI_CWindows_CFoundation_CIStringableVtbl
#define IStringable __x_ABI_CWindows_CFoundation_CIStringable
#define IStringable_QueryInterface __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface
#define IStringable_AddRef __x_ABI_CWindows_CFoundation_CIStringable_AddRef
#define IStringable_Release __x_ABI_CWindows_CFoundation_CIStringable_Release
#define IStringable_GetIids __x_ABI_CWindows_CFoundation_CIStringable_GetIids
#define IStringable_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName
#define IStringable_GetTrustLevel __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel
#define IStringable_ToString __x_ABI_CWindows_CFoundation_CIStringable_ToString
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IClosable interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIClosable, 0x30d5a829, 0x7fa4, 0x4026, 0x83,0xbb, 0xd7,0x5b,0xae,0x4e,0xa9,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("30d5a829-7fa4-4026-83bb-d75bae4ea99e")
            IClosable : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE Close(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIClosable, 0x30d5a829, 0x7fa4, 0x4026, 0x83,0xbb, 0xd7,0x5b,0xae,0x4e,0xa9,0x9e)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIClosableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IClosable methods ***/
    HRESULT (STDMETHODCALLTYPE *Close)(
        __x_ABI_CWindows_CFoundation_CIClosable *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIClosableVtbl;

interface __x_ABI_CWindows_CFoundation_CIClosable {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIClosableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIClosable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIClosable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIClosable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IClosable methods ***/
#define __x_ABI_CWindows_CFoundation_CIClosable_Close(This) (This)->lpVtbl->Close(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface(__x_ABI_CWindows_CFoundation_CIClosable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_AddRef(__x_ABI_CWindows_CFoundation_CIClosable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_Release(__x_ABI_CWindows_CFoundation_CIClosable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetIids(__x_ABI_CWindows_CFoundation_CIClosable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIClosable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIClosable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IClosable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_Close(__x_ABI_CWindows_CFoundation_CIClosable* This) {
    return This->lpVtbl->Close(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IClosable IID___x_ABI_CWindows_CFoundation_CIClosable
#define IClosableVtbl __x_ABI_CWindows_CFoundation_CIClosableVtbl
#define IClosable __x_ABI_CWindows_CFoundation_CIClosable
#define IClosable_QueryInterface __x_ABI_CWindows_CFoundation_CIClosable_QueryInterface
#define IClosable_AddRef __x_ABI_CWindows_CFoundation_CIClosable_AddRef
#define IClosable_Release __x_ABI_CWindows_CFoundation_CIClosable_Release
#define IClosable_GetIids __x_ABI_CWindows_CFoundation_CIClosable_GetIids
#define IClosable_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName
#define IClosable_GetTrustLevel __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel
#define IClosable_Close __x_ABI_CWindows_CFoundation_CIClosable_Close
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIClosable_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAsyncAction interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIAsyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
            IAsyncAction : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE put_Completed(
                    ABI::Windows::Foundation::IAsyncActionCompletedHandler *handler) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Completed(
                    ABI::Windows::Foundation::IAsyncActionCompletedHandler **handler) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetResults(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIAsyncActionVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncAction methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __x_ABI_CWindows_CFoundation_CIAsyncAction *This,
        __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __x_ABI_CWindows_CFoundation_CIAsyncAction *This,
        __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __x_ABI_CWindows_CFoundation_CIAsyncAction *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIAsyncActionVtbl;

interface __x_ABI_CWindows_CFoundation_CIAsyncAction {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIAsyncActionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncAction methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __x_ABI_CWindows_CFoundation_CIAsyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_QueryInterface(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncAction_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncAction* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncAction_Release(__x_ABI_CWindows_CFoundation_CIAsyncAction* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetIids(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncAction methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_put_Completed(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_get_Completed(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetResults(__x_ABI_CWindows_CFoundation_CIAsyncAction* This) {
    return This->lpVtbl->GetResults(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncAction IID___x_ABI_CWindows_CFoundation_CIAsyncAction
#define IAsyncActionVtbl __x_ABI_CWindows_CFoundation_CIAsyncActionVtbl
#define IAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction
#define IAsyncAction_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncAction_QueryInterface
#define IAsyncAction_AddRef __x_ABI_CWindows_CFoundation_CIAsyncAction_AddRef
#define IAsyncAction_Release __x_ABI_CWindows_CFoundation_CIAsyncAction_Release
#define IAsyncAction_GetIids __x_ABI_CWindows_CFoundation_CIAsyncAction_GetIids
#define IAsyncAction_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIAsyncAction_GetRuntimeClassName
#define IAsyncAction_GetTrustLevel __x_ABI_CWindows_CFoundation_CIAsyncAction_GetTrustLevel
#define IAsyncAction_put_Completed __x_ABI_CWindows_CFoundation_CIAsyncAction_put_Completed
#define IAsyncAction_get_Completed __x_ABI_CWindows_CFoundation_CIAsyncAction_get_Completed
#define IAsyncAction_GetResults __x_ABI_CWindows_CFoundation_CIAsyncAction_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIAsyncAction_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IMemoryBuffer interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBuffer_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIMemoryBuffer, 0xfbc4dd2a, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("fbc4dd2a-245b-11e4-af98-689423260cf8")
            IMemoryBuffer : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateReference(
                    ABI::Windows::Foundation::IMemoryBufferReference **reference) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIMemoryBuffer, 0xfbc4dd2a, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMemoryBuffer methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateReference)(
        __x_ABI_CWindows_CFoundation_CIMemoryBuffer *This,
        __x_ABI_CWindows_CFoundation_CIMemoryBufferReference **reference);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBuffer {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMemoryBuffer methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBuffer_CreateReference(This,reference) (This)->lpVtbl->CreateReference(This,reference)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_QueryInterface(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBuffer_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBuffer_Release(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetIids(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBuffer methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_CreateReference(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,__x_ABI_CWindows_CFoundation_CIMemoryBufferReference **reference) {
    return This->lpVtbl->CreateReference(This,reference);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IMemoryBuffer IID___x_ABI_CWindows_CFoundation_CIMemoryBuffer
#define IMemoryBufferVtbl __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl
#define IMemoryBuffer __x_ABI_CWindows_CFoundation_CIMemoryBuffer
#define IMemoryBuffer_QueryInterface __x_ABI_CWindows_CFoundation_CIMemoryBuffer_QueryInterface
#define IMemoryBuffer_AddRef __x_ABI_CWindows_CFoundation_CIMemoryBuffer_AddRef
#define IMemoryBuffer_Release __x_ABI_CWindows_CFoundation_CIMemoryBuffer_Release
#define IMemoryBuffer_GetIids __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetIids
#define IMemoryBuffer_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetRuntimeClassName
#define IMemoryBuffer_GetTrustLevel __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetTrustLevel
#define IMemoryBuffer_CreateReference __x_ABI_CWindows_CFoundation_CIMemoryBuffer_CreateReference
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IMemoryBufferFactory interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIMemoryBufferFactory, 0xfbc4dd2b, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("fbc4dd2b-245b-11e4-af98-689423260cf8")
            IMemoryBufferFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE Create(
                    UINT32 capacity,
                    ABI::Windows::Foundation::IMemoryBuffer **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory, 0xfbc4dd2b, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMemoryBufferFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *Create)(
        __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory *This,
        UINT32 capacity,
        __x_ABI_CWindows_CFoundation_CIMemoryBuffer **value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMemoryBufferFactory methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Create(This,capacity,value) (This)->lpVtbl->Create(This,capacity,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_QueryInterface(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Release(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetIids(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBufferFactory methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Create(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,UINT32 capacity,__x_ABI_CWindows_CFoundation_CIMemoryBuffer **value) {
    return This->lpVtbl->Create(This,capacity,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IMemoryBufferFactory IID___x_ABI_CWindows_CFoundation_CIMemoryBufferFactory
#define IMemoryBufferFactoryVtbl __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl
#define IMemoryBufferFactory __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory
#define IMemoryBufferFactory_QueryInterface __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_QueryInterface
#define IMemoryBufferFactory_AddRef __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_AddRef
#define IMemoryBufferFactory_Release __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Release
#define IMemoryBufferFactory_GetIids __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetIids
#define IMemoryBufferFactory_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetRuntimeClassName
#define IMemoryBufferFactory_GetTrustLevel __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetTrustLevel
#define IMemoryBufferFactory_Create __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Create
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IMemoryBufferReference interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIMemoryBufferReference_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIMemoryBufferReference, 0xfbc4dd29, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("fbc4dd29-245b-11e4-af98-689423260cf8")
            IMemoryBufferReference : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Capacity(
                    UINT32 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE add_Closed(
                    ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > *handler,
                    EventRegistrationToken *cookie) = 0;

                virtual HRESULT STDMETHODCALLTYPE remove_Closed(
                    EventRegistrationToken cookie) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference, 0xfbc4dd29, 0x245b, 0x11e4, 0xaf,0x98, 0x68,0x94,0x23,0x26,0x0c,0xf8)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMemoryBufferReference methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Capacity)(
        __x_ABI_CWindows_CFoundation_CIMemoryBufferReference *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *add_Closed)(
        __x_ABI_CWindows_CFoundation_CIMemoryBufferReference *This,
        __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable *handler,
        EventRegistrationToken *cookie);

    HRESULT (STDMETHODCALLTYPE *remove_Closed)(
        __x_ABI_CWindows_CFoundation_CIMemoryBufferReference *This,
        EventRegistrationToken cookie);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBufferReference {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMemoryBufferReference methods ***/
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_get_Capacity(This,value) (This)->lpVtbl->get_Capacity(This,value)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_add_Closed(This,handler,cookie) (This)->lpVtbl->add_Closed(This,handler,cookie)
#define __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_remove_Closed(This,cookie) (This)->lpVtbl->remove_Closed(This,cookie)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_QueryInterface(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_Release(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetIids(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBufferReference methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_get_Capacity(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,UINT32 *value) {
    return This->lpVtbl->get_Capacity(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_add_Closed(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable *handler,EventRegistrationToken *cookie) {
    return This->lpVtbl->add_Closed(This,handler,cookie);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_remove_Closed(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,EventRegistrationToken cookie) {
    return This->lpVtbl->remove_Closed(This,cookie);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IMemoryBufferReference IID___x_ABI_CWindows_CFoundation_CIMemoryBufferReference
#define IMemoryBufferReferenceVtbl __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl
#define IMemoryBufferReference __x_ABI_CWindows_CFoundation_CIMemoryBufferReference
#define IMemoryBufferReference_QueryInterface __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_QueryInterface
#define IMemoryBufferReference_AddRef __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_AddRef
#define IMemoryBufferReference_Release __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_Release
#define IMemoryBufferReference_GetIids __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetIids
#define IMemoryBufferReference_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetRuntimeClassName
#define IMemoryBufferReference_GetTrustLevel __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetTrustLevel
#define IMemoryBufferReference_get_Capacity __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_get_Capacity
#define IMemoryBufferReference_add_Closed __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_add_Closed
#define IMemoryBufferReference_remove_Closed __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_remove_Closed
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*
 * Class Windows.Foundation.MemoryBuffer
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_MemoryBuffer_DEFINED
#define RUNTIMECLASS_Windows_Foundation_MemoryBuffer_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_MemoryBuffer[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','M','e','m','o','r','y','B','u','f','f','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_MemoryBuffer[] = L"Windows.Foundation.MemoryBuffer";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_MemoryBuffer[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','M','e','m','o','r','y','B','u','f','f','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_MemoryBuffer_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IKeyValuePair<HSTRING,IInspectable* > interface
 */
#ifndef ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIKeyValuePair_2_HSTRING_IInspectable, 0x09335560, 0x6c6b, 0x5a26, 0x93,0x48, 0x97,0xb7,0x81,0x13,0x2b,0x20);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("09335560-6c6b-5a26-9348-97b781132b20")
                IKeyValuePair<HSTRING,IInspectable* > : IKeyValuePair_impl<HSTRING, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIKeyValuePair_2_HSTRING_IInspectable, 0x09335560, 0x6c6b, 0x5a26, 0x93,0x48, 0x97,0xb7,0x81,0x13,0x2b,0x20)
#endif
#else
typedef struct __FIKeyValuePair_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyValuePair<HSTRING,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Key)(
        __FIKeyValuePair_2_HSTRING_IInspectable *This,
        HSTRING *key);

    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIKeyValuePair_2_HSTRING_IInspectable *This,
        IInspectable **value);

    END_INTERFACE
} __FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIKeyValuePair_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyValuePair<HSTRING,IInspectable* > methods ***/
#define __FIKeyValuePair_2_HSTRING_IInspectable_get_Key(This,key) (This)->lpVtbl->get_Key(This,key)
#define __FIKeyValuePair_2_HSTRING_IInspectable_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(__FIKeyValuePair_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIKeyValuePair_2_HSTRING_IInspectable_AddRef(__FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIKeyValuePair_2_HSTRING_IInspectable_Release(__FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_GetIids(__FIKeyValuePair_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(__FIKeyValuePair_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(__FIKeyValuePair_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyValuePair<HSTRING,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_get_Key(__FIKeyValuePair_2_HSTRING_IInspectable* This,HSTRING *key) {
    return This->lpVtbl->get_Key(This,key);
}
static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_IInspectable_get_Value(__FIKeyValuePair_2_HSTRING_IInspectable* This,IInspectable **value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IKeyValuePair_HSTRING_IInspectable IID___FIKeyValuePair_2_HSTRING_IInspectable
#define IKeyValuePair_HSTRING_IInspectableVtbl __FIKeyValuePair_2_HSTRING_IInspectableVtbl
#define IKeyValuePair_HSTRING_IInspectable __FIKeyValuePair_2_HSTRING_IInspectable
#define IKeyValuePair_HSTRING_IInspectable_QueryInterface __FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface
#define IKeyValuePair_HSTRING_IInspectable_AddRef __FIKeyValuePair_2_HSTRING_IInspectable_AddRef
#define IKeyValuePair_HSTRING_IInspectable_Release __FIKeyValuePair_2_HSTRING_IInspectable_Release
#define IKeyValuePair_HSTRING_IInspectable_GetIids __FIKeyValuePair_2_HSTRING_IInspectable_GetIids
#define IKeyValuePair_HSTRING_IInspectable_GetRuntimeClassName __FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName
#define IKeyValuePair_HSTRING_IInspectable_GetTrustLevel __FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel
#define IKeyValuePair_HSTRING_IInspectable_get_Key __FIKeyValuePair_2_HSTRING_IInspectable_get_Key
#define IKeyValuePair_HSTRING_IInspectable_get_Value __FIKeyValuePair_2_HSTRING_IInspectable_get_Value
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > interface
 */
#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable, 0xfe2f3d47, 0x5d47, 0x5499, 0x83,0x74, 0x43,0x0c,0x7c,0xda,0x02,0x04);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("fe2f3d47-5d47-5499-8374-430c7cda0204")
                IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > : IIterable_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable, 0xfe2f3d47, 0x5d47, 0x5499, 0x83,0x74, 0x43,0x0c,0x7c,0xda,0x02,0x04)
#endif
#else
typedef struct __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable *This,
        __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable **value);

    END_INTERFACE
} __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_First(__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable* This,__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_IKeyValuePair_HSTRING_IInspectable IID___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable
#define IIterable_IKeyValuePair_HSTRING_IInspectableVtbl __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl
#define IIterable_IKeyValuePair_HSTRING_IInspectable __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable
#define IIterable_IKeyValuePair_HSTRING_IInspectable_QueryInterface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface
#define IIterable_IKeyValuePair_HSTRING_IInspectable_AddRef __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef
#define IIterable_IKeyValuePair_HSTRING_IInspectable_Release __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_Release
#define IIterable_IKeyValuePair_HSTRING_IInspectable_GetIids __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids
#define IIterable_IKeyValuePair_HSTRING_IInspectable_GetRuntimeClassName __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName
#define IIterable_IKeyValuePair_HSTRING_IInspectable_GetTrustLevel __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel
#define IIterable_IKeyValuePair_HSTRING_IInspectable_First __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > interface
 */
#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable, 0x5db5fa32, 0x707c, 0x5849, 0xa0,0x6b, 0x91,0xc8,0xeb,0x9d,0x10,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("5db5fa32-707c-5849-a06b-91c8eb9d10e8")
                IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > : IIterator_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable, 0x5db5fa32, 0x707c, 0x5849, 0xa0,0x6b, 0x91,0xc8,0xeb,0x9d,0x10,0xe8)
#endif
#else
typedef struct __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable *This,
        __FIKeyValuePair_2_HSTRING_IInspectable **value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable *This,
        UINT32 items_size,
        __FIKeyValuePair_2_HSTRING_IInspectable **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable* >* > methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_Current(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,__FIKeyValuePair_2_HSTRING_IInspectable **value) {
    return This->lpVtbl->get_Current(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_HasCurrent(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_MoveNext(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetMany(__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable* This,UINT32 items_size,__FIKeyValuePair_2_HSTRING_IInspectable **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_IKeyValuePair_HSTRING_IInspectable IID___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable
#define IIterator_IKeyValuePair_HSTRING_IInspectableVtbl __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl
#define IIterator_IKeyValuePair_HSTRING_IInspectable __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable
#define IIterator_IKeyValuePair_HSTRING_IInspectable_QueryInterface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface
#define IIterator_IKeyValuePair_HSTRING_IInspectable_AddRef __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef
#define IIterator_IKeyValuePair_HSTRING_IInspectable_Release __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_Release
#define IIterator_IKeyValuePair_HSTRING_IInspectable_GetIids __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids
#define IIterator_IKeyValuePair_HSTRING_IInspectable_GetRuntimeClassName __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName
#define IIterator_IKeyValuePair_HSTRING_IInspectable_GetTrustLevel __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel
#define IIterator_IKeyValuePair_HSTRING_IInspectable_get_Current __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_Current
#define IIterator_IKeyValuePair_HSTRING_IInspectable_get_HasCurrent __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_HasCurrent
#define IIterator_IKeyValuePair_HSTRING_IInspectable_MoveNext __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_MoveNext
#define IIterator_IKeyValuePair_HSTRING_IInspectable_GetMany __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapChangedEventArgs<HSTRING > interface
 */
#ifndef ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__
#define ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapChangedEventArgs_1_HSTRING, 0x60141efb, 0xf2f9, 0x5377, 0x96,0xfd, 0xf8,0xc6,0x0d,0x95,0x58,0xb5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("60141efb-f2f9-5377-96fd-f8c60d9558b5")
                IMapChangedEventArgs<HSTRING > : IMapChangedEventArgs_impl<HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapChangedEventArgs_1_HSTRING, 0x60141efb, 0xf2f9, 0x5377, 0x96,0xfd, 0xf8,0xc6,0x0d,0x95,0x58,0xb5)
#endif
#else
typedef struct __FIMapChangedEventArgs_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMapChangedEventArgs<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CollectionChanged)(
        __FIMapChangedEventArgs_1_HSTRING *This,
        enum __x_ABI_CWindows_CFoundation_CCollections_CCollectionChange *value);

    HRESULT (STDMETHODCALLTYPE *get_Key)(
        __FIMapChangedEventArgs_1_HSTRING *This,
        HSTRING *key);

    END_INTERFACE
} __FIMapChangedEventArgs_1_HSTRINGVtbl;

interface __FIMapChangedEventArgs_1_HSTRING {
    CONST_VTBL __FIMapChangedEventArgs_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapChangedEventArgs_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapChangedEventArgs_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapChangedEventArgs_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMapChangedEventArgs_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMapChangedEventArgs_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMapChangedEventArgs_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMapChangedEventArgs<HSTRING > methods ***/
#define __FIMapChangedEventArgs_1_HSTRING_get_CollectionChanged(This,value) (This)->lpVtbl->get_CollectionChanged(This,value)
#define __FIMapChangedEventArgs_1_HSTRING_get_Key(This,key) (This)->lpVtbl->get_Key(This,key)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_QueryInterface(__FIMapChangedEventArgs_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIMapChangedEventArgs_1_HSTRING_AddRef(__FIMapChangedEventArgs_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIMapChangedEventArgs_1_HSTRING_Release(__FIMapChangedEventArgs_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_GetIids(__FIMapChangedEventArgs_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_GetRuntimeClassName(__FIMapChangedEventArgs_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_GetTrustLevel(__FIMapChangedEventArgs_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMapChangedEventArgs<HSTRING > methods ***/
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_get_CollectionChanged(__FIMapChangedEventArgs_1_HSTRING* This,enum __x_ABI_CWindows_CFoundation_CCollections_CCollectionChange *value) {
    return This->lpVtbl->get_CollectionChanged(This,value);
}
static __WIDL_INLINE HRESULT __FIMapChangedEventArgs_1_HSTRING_get_Key(__FIMapChangedEventArgs_1_HSTRING* This,HSTRING *key) {
    return This->lpVtbl->get_Key(This,key);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapChangedEventArgs_HSTRING IID___FIMapChangedEventArgs_1_HSTRING
#define IMapChangedEventArgs_HSTRINGVtbl __FIMapChangedEventArgs_1_HSTRINGVtbl
#define IMapChangedEventArgs_HSTRING __FIMapChangedEventArgs_1_HSTRING
#define IMapChangedEventArgs_HSTRING_QueryInterface __FIMapChangedEventArgs_1_HSTRING_QueryInterface
#define IMapChangedEventArgs_HSTRING_AddRef __FIMapChangedEventArgs_1_HSTRING_AddRef
#define IMapChangedEventArgs_HSTRING_Release __FIMapChangedEventArgs_1_HSTRING_Release
#define IMapChangedEventArgs_HSTRING_GetIids __FIMapChangedEventArgs_1_HSTRING_GetIids
#define IMapChangedEventArgs_HSTRING_GetRuntimeClassName __FIMapChangedEventArgs_1_HSTRING_GetRuntimeClassName
#define IMapChangedEventArgs_HSTRING_GetTrustLevel __FIMapChangedEventArgs_1_HSTRING_GetTrustLevel
#define IMapChangedEventArgs_HSTRING_get_CollectionChanged __FIMapChangedEventArgs_1_HSTRING_get_CollectionChanged
#define IMapChangedEventArgs_HSTRING_get_Key __FIMapChangedEventArgs_1_HSTRING_get_Key
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapChangedEventHandler<HSTRING,IInspectable* > interface
 */
#ifndef ____FIMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapChangedEventHandler_2_HSTRING_IInspectable, 0x24f981e5, 0xddca, 0x538d, 0xaa,0xda, 0xa5,0x99,0x06,0x08,0x4c,0xf1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("24f981e5-ddca-538d-aada-a59906084cf1")
                IMapChangedEventHandler<HSTRING,IInspectable* > : IMapChangedEventHandler_impl<HSTRING, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapChangedEventHandler_2_HSTRING_IInspectable, 0x24f981e5, 0xddca, 0x538d, 0xaa,0xda, 0xa5,0x99,0x06,0x08,0x4c,0xf1)
#endif
#else
typedef struct __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IMapChangedEventHandler<HSTRING,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIMapChangedEventHandler_2_HSTRING_IInspectable *This,
        __FIObservableMap_2_HSTRING_IInspectable *sender,
        __FIMapChangedEventArgs_1_HSTRING *args);

    END_INTERFACE
} __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl;

interface __FIMapChangedEventHandler_2_HSTRING_IInspectable {
    CONST_VTBL __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapChangedEventHandler_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapChangedEventHandler_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapChangedEventHandler_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IMapChangedEventHandler<HSTRING,IInspectable* > methods ***/
#define __FIMapChangedEventHandler_2_HSTRING_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIMapChangedEventHandler_2_HSTRING_IInspectable_QueryInterface(__FIMapChangedEventHandler_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIMapChangedEventHandler_2_HSTRING_IInspectable_AddRef(__FIMapChangedEventHandler_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIMapChangedEventHandler_2_HSTRING_IInspectable_Release(__FIMapChangedEventHandler_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IMapChangedEventHandler<HSTRING,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIMapChangedEventHandler_2_HSTRING_IInspectable_Invoke(__FIMapChangedEventHandler_2_HSTRING_IInspectable* This,__FIObservableMap_2_HSTRING_IInspectable *sender,__FIMapChangedEventArgs_1_HSTRING *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapChangedEventHandler_HSTRING_IInspectable IID___FIMapChangedEventHandler_2_HSTRING_IInspectable
#define IMapChangedEventHandler_HSTRING_IInspectableVtbl __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl
#define IMapChangedEventHandler_HSTRING_IInspectable __FIMapChangedEventHandler_2_HSTRING_IInspectable
#define IMapChangedEventHandler_HSTRING_IInspectable_QueryInterface __FIMapChangedEventHandler_2_HSTRING_IInspectable_QueryInterface
#define IMapChangedEventHandler_HSTRING_IInspectable_AddRef __FIMapChangedEventHandler_2_HSTRING_IInspectable_AddRef
#define IMapChangedEventHandler_HSTRING_IInspectable_Release __FIMapChangedEventHandler_2_HSTRING_IInspectable_Release
#define IMapChangedEventHandler_HSTRING_IInspectable_Invoke __FIMapChangedEventHandler_2_HSTRING_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMap<HSTRING,IInspectable* > interface
 */
#ifndef ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMap_2_HSTRING_IInspectable, 0x1b0d3570, 0x0877, 0x5ec2, 0x8a,0x2c, 0x3b,0x95,0x39,0x50,0x6a,0xca);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("1b0d3570-0877-5ec2-8a2c-3b9539506aca")
                IMap<HSTRING,IInspectable* > : IMap_impl<HSTRING, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMap_2_HSTRING_IInspectable, 0x1b0d3570, 0x0877, 0x5ec2, 0x8a,0x2c, 0x3b,0x95,0x39,0x50,0x6a,0xca)
#endif
#else
typedef struct __FIMap_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMap<HSTRING,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Lookup)(
        __FIMap_2_HSTRING_IInspectable *This,
        HSTRING key,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIMap_2_HSTRING_IInspectable *This,
        unsigned int *size);

    HRESULT (STDMETHODCALLTYPE *HasKey)(
        __FIMap_2_HSTRING_IInspectable *This,
        HSTRING key,
        boolean *found);

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIMap_2_HSTRING_IInspectable *This,
        __FIMapView_2_HSTRING_IInspectable **view);

    HRESULT (STDMETHODCALLTYPE *Insert)(
        __FIMap_2_HSTRING_IInspectable *This,
        HSTRING key,
        IInspectable *value,
        boolean *replaced);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        __FIMap_2_HSTRING_IInspectable *This,
        HSTRING key);

    HRESULT (STDMETHODCALLTYPE *Clear)(
        __FIMap_2_HSTRING_IInspectable *This);

    END_INTERFACE
} __FIMap_2_HSTRING_IInspectableVtbl;

interface __FIMap_2_HSTRING_IInspectable {
    CONST_VTBL __FIMap_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMap_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMap_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMap_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMap_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMap_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMap_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMap<HSTRING,IInspectable* > methods ***/
#define __FIMap_2_HSTRING_IInspectable_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMap_2_HSTRING_IInspectable_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMap_2_HSTRING_IInspectable_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMap_2_HSTRING_IInspectable_GetView(This,view) (This)->lpVtbl->GetView(This,view)
#define __FIMap_2_HSTRING_IInspectable_Insert(This,key,value,replaced) (This)->lpVtbl->Insert(This,key,value,replaced)
#define __FIMap_2_HSTRING_IInspectable_Remove(This,key) (This)->lpVtbl->Remove(This,key)
#define __FIMap_2_HSTRING_IInspectable_Clear(This) (This)->lpVtbl->Clear(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_QueryInterface(__FIMap_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIMap_2_HSTRING_IInspectable_AddRef(__FIMap_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIMap_2_HSTRING_IInspectable_Release(__FIMap_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_GetIids(__FIMap_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_GetRuntimeClassName(__FIMap_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_GetTrustLevel(__FIMap_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMap<HSTRING,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_Lookup(__FIMap_2_HSTRING_IInspectable* This,HSTRING key,IInspectable **value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_get_Size(__FIMap_2_HSTRING_IInspectable* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_HasKey(__FIMap_2_HSTRING_IInspectable* This,HSTRING key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_GetView(__FIMap_2_HSTRING_IInspectable* This,__FIMapView_2_HSTRING_IInspectable **view) {
    return This->lpVtbl->GetView(This,view);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_Insert(__FIMap_2_HSTRING_IInspectable* This,HSTRING key,IInspectable *value,boolean *replaced) {
    return This->lpVtbl->Insert(This,key,value,replaced);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_Remove(__FIMap_2_HSTRING_IInspectable* This,HSTRING key) {
    return This->lpVtbl->Remove(This,key);
}
static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_IInspectable_Clear(__FIMap_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Clear(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMap_HSTRING_IInspectable IID___FIMap_2_HSTRING_IInspectable
#define IMap_HSTRING_IInspectableVtbl __FIMap_2_HSTRING_IInspectableVtbl
#define IMap_HSTRING_IInspectable __FIMap_2_HSTRING_IInspectable
#define IMap_HSTRING_IInspectable_QueryInterface __FIMap_2_HSTRING_IInspectable_QueryInterface
#define IMap_HSTRING_IInspectable_AddRef __FIMap_2_HSTRING_IInspectable_AddRef
#define IMap_HSTRING_IInspectable_Release __FIMap_2_HSTRING_IInspectable_Release
#define IMap_HSTRING_IInspectable_GetIids __FIMap_2_HSTRING_IInspectable_GetIids
#define IMap_HSTRING_IInspectable_GetRuntimeClassName __FIMap_2_HSTRING_IInspectable_GetRuntimeClassName
#define IMap_HSTRING_IInspectable_GetTrustLevel __FIMap_2_HSTRING_IInspectable_GetTrustLevel
#define IMap_HSTRING_IInspectable_Lookup __FIMap_2_HSTRING_IInspectable_Lookup
#define IMap_HSTRING_IInspectable_get_Size __FIMap_2_HSTRING_IInspectable_get_Size
#define IMap_HSTRING_IInspectable_HasKey __FIMap_2_HSTRING_IInspectable_HasKey
#define IMap_HSTRING_IInspectable_GetView __FIMap_2_HSTRING_IInspectable_GetView
#define IMap_HSTRING_IInspectable_Insert __FIMap_2_HSTRING_IInspectable_Insert
#define IMap_HSTRING_IInspectable_Remove __FIMap_2_HSTRING_IInspectable_Remove
#define IMap_HSTRING_IInspectable_Clear __FIMap_2_HSTRING_IInspectable_Clear
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapView<HSTRING,IInspectable* > interface
 */
#ifndef ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapView_2_HSTRING_IInspectable, 0xbb78502a, 0xf79d, 0x54fa, 0x92,0xc9, 0x90,0xc5,0x03,0x9f,0xdf,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("bb78502a-f79d-54fa-92c9-90c5039fdf7e")
                IMapView<HSTRING,IInspectable* > : IMapView_impl<HSTRING, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapView_2_HSTRING_IInspectable, 0xbb78502a, 0xf79d, 0x54fa, 0x92,0xc9, 0x90,0xc5,0x03,0x9f,0xdf,0x7e)
#endif
#else
typedef struct __FIMapView_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMapView<HSTRING,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Lookup)(
        __FIMapView_2_HSTRING_IInspectable *This,
        HSTRING key,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIMapView_2_HSTRING_IInspectable *This,
        unsigned int *size);

    HRESULT (STDMETHODCALLTYPE *HasKey)(
        __FIMapView_2_HSTRING_IInspectable *This,
        HSTRING key,
        boolean *found);

    HRESULT (STDMETHODCALLTYPE *Split)(
        __FIMapView_2_HSTRING_IInspectable *This,
        __FIMapView_2_HSTRING_IInspectable **first,
        __FIMapView_2_HSTRING_IInspectable **second);

    END_INTERFACE
} __FIMapView_2_HSTRING_IInspectableVtbl;

interface __FIMapView_2_HSTRING_IInspectable {
    CONST_VTBL __FIMapView_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapView_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapView_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapView_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMapView_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMapView_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMapView_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMapView<HSTRING,IInspectable* > methods ***/
#define __FIMapView_2_HSTRING_IInspectable_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMapView_2_HSTRING_IInspectable_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMapView_2_HSTRING_IInspectable_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMapView_2_HSTRING_IInspectable_Split(This,first,second) (This)->lpVtbl->Split(This,first,second)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_QueryInterface(__FIMapView_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIMapView_2_HSTRING_IInspectable_AddRef(__FIMapView_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIMapView_2_HSTRING_IInspectable_Release(__FIMapView_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_GetIids(__FIMapView_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_GetRuntimeClassName(__FIMapView_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_GetTrustLevel(__FIMapView_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMapView<HSTRING,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_Lookup(__FIMapView_2_HSTRING_IInspectable* This,HSTRING key,IInspectable **value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_get_Size(__FIMapView_2_HSTRING_IInspectable* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_HasKey(__FIMapView_2_HSTRING_IInspectable* This,HSTRING key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_IInspectable_Split(__FIMapView_2_HSTRING_IInspectable* This,__FIMapView_2_HSTRING_IInspectable **first,__FIMapView_2_HSTRING_IInspectable **second) {
    return This->lpVtbl->Split(This,first,second);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapView_HSTRING_IInspectable IID___FIMapView_2_HSTRING_IInspectable
#define IMapView_HSTRING_IInspectableVtbl __FIMapView_2_HSTRING_IInspectableVtbl
#define IMapView_HSTRING_IInspectable __FIMapView_2_HSTRING_IInspectable
#define IMapView_HSTRING_IInspectable_QueryInterface __FIMapView_2_HSTRING_IInspectable_QueryInterface
#define IMapView_HSTRING_IInspectable_AddRef __FIMapView_2_HSTRING_IInspectable_AddRef
#define IMapView_HSTRING_IInspectable_Release __FIMapView_2_HSTRING_IInspectable_Release
#define IMapView_HSTRING_IInspectable_GetIids __FIMapView_2_HSTRING_IInspectable_GetIids
#define IMapView_HSTRING_IInspectable_GetRuntimeClassName __FIMapView_2_HSTRING_IInspectable_GetRuntimeClassName
#define IMapView_HSTRING_IInspectable_GetTrustLevel __FIMapView_2_HSTRING_IInspectable_GetTrustLevel
#define IMapView_HSTRING_IInspectable_Lookup __FIMapView_2_HSTRING_IInspectable_Lookup
#define IMapView_HSTRING_IInspectable_get_Size __FIMapView_2_HSTRING_IInspectable_get_Size
#define IMapView_HSTRING_IInspectable_HasKey __FIMapView_2_HSTRING_IInspectable_HasKey
#define IMapView_HSTRING_IInspectable_Split __FIMapView_2_HSTRING_IInspectable_Split
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IObservableMap<HSTRING,IInspectable* > interface
 */
#ifndef ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__
#define ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIObservableMap_2_HSTRING_IInspectable, 0x236aac9d, 0xfb12, 0x5c4d, 0xa4,0x1c, 0x9e,0x44,0x5f,0xb4,0xd7,0xec);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("236aac9d-fb12-5c4d-a41c-9e445fb4d7ec")
                IObservableMap<HSTRING,IInspectable* > : IObservableMap_impl<HSTRING, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIObservableMap_2_HSTRING_IInspectable, 0x236aac9d, 0xfb12, 0x5c4d, 0xa4,0x1c, 0x9e,0x44,0x5f,0xb4,0xd7,0xec)
#endif
#else
typedef struct __FIObservableMap_2_HSTRING_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IObservableMap<HSTRING,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *add_MapChanged)(
        __FIObservableMap_2_HSTRING_IInspectable *This,
        __FIMapChangedEventHandler_2_HSTRING_IInspectable *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MapChanged)(
        __FIObservableMap_2_HSTRING_IInspectable *This,
        EventRegistrationToken token);

    END_INTERFACE
} __FIObservableMap_2_HSTRING_IInspectableVtbl;

interface __FIObservableMap_2_HSTRING_IInspectable {
    CONST_VTBL __FIObservableMap_2_HSTRING_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIObservableMap_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIObservableMap_2_HSTRING_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIObservableMap_2_HSTRING_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIObservableMap_2_HSTRING_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIObservableMap_2_HSTRING_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIObservableMap_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IObservableMap<HSTRING,IInspectable* > methods ***/
#define __FIObservableMap_2_HSTRING_IInspectable_add_MapChanged(This,handler,token) (This)->lpVtbl->add_MapChanged(This,handler,token)
#define __FIObservableMap_2_HSTRING_IInspectable_remove_MapChanged(This,token) (This)->lpVtbl->remove_MapChanged(This,token)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_QueryInterface(__FIObservableMap_2_HSTRING_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIObservableMap_2_HSTRING_IInspectable_AddRef(__FIObservableMap_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIObservableMap_2_HSTRING_IInspectable_Release(__FIObservableMap_2_HSTRING_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_GetIids(__FIObservableMap_2_HSTRING_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_GetRuntimeClassName(__FIObservableMap_2_HSTRING_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_GetTrustLevel(__FIObservableMap_2_HSTRING_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IObservableMap<HSTRING,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_add_MapChanged(__FIObservableMap_2_HSTRING_IInspectable* This,__FIMapChangedEventHandler_2_HSTRING_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_MapChanged(This,handler,token);
}
static __WIDL_INLINE HRESULT __FIObservableMap_2_HSTRING_IInspectable_remove_MapChanged(__FIObservableMap_2_HSTRING_IInspectable* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MapChanged(This,token);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IObservableMap_HSTRING_IInspectable IID___FIObservableMap_2_HSTRING_IInspectable
#define IObservableMap_HSTRING_IInspectableVtbl __FIObservableMap_2_HSTRING_IInspectableVtbl
#define IObservableMap_HSTRING_IInspectable __FIObservableMap_2_HSTRING_IInspectable
#define IObservableMap_HSTRING_IInspectable_QueryInterface __FIObservableMap_2_HSTRING_IInspectable_QueryInterface
#define IObservableMap_HSTRING_IInspectable_AddRef __FIObservableMap_2_HSTRING_IInspectable_AddRef
#define IObservableMap_HSTRING_IInspectable_Release __FIObservableMap_2_HSTRING_IInspectable_Release
#define IObservableMap_HSTRING_IInspectable_GetIids __FIObservableMap_2_HSTRING_IInspectable_GetIids
#define IObservableMap_HSTRING_IInspectable_GetRuntimeClassName __FIObservableMap_2_HSTRING_IInspectable_GetRuntimeClassName
#define IObservableMap_HSTRING_IInspectable_GetTrustLevel __FIObservableMap_2_HSTRING_IInspectable_GetTrustLevel
#define IObservableMap_HSTRING_IInspectable_add_MapChanged __FIObservableMap_2_HSTRING_IInspectable_add_MapChanged
#define IObservableMap_HSTRING_IInspectable_remove_MapChanged __FIObservableMap_2_HSTRING_IInspectable_remove_MapChanged
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<HSTRING > interface
 */
#ifndef ____FIIterable_1_HSTRING_INTERFACE_DEFINED__
#define ____FIIterable_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_HSTRING, 0xe2fcc7c1, 0x3bfc, 0x5a0b, 0xb2,0xb0, 0x72,0xe7,0x69,0xd1,0xcb,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("e2fcc7c1-3bfc-5a0b-b2b0-72e769d1cb7e")
                IIterable<HSTRING > : IIterable_impl<HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_HSTRING, 0xe2fcc7c1, 0x3bfc, 0x5a0b, 0xb2,0xb0, 0x72,0xe7,0x69,0xd1,0xcb,0x7e)
#endif
#else
typedef struct __FIIterable_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_HSTRING *This,
        __FIIterator_1_HSTRING **value);

    END_INTERFACE
} __FIIterable_1_HSTRINGVtbl;

interface __FIIterable_1_HSTRING {
    CONST_VTBL __FIIterable_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<HSTRING > methods ***/
#define __FIIterable_1_HSTRING_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_HSTRING_QueryInterface(__FIIterable_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterable_1_HSTRING_AddRef(__FIIterable_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterable_1_HSTRING_Release(__FIIterable_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_HSTRING_GetIids(__FIIterable_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterable_1_HSTRING_GetRuntimeClassName(__FIIterable_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterable_1_HSTRING_GetTrustLevel(__FIIterable_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<HSTRING > methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_HSTRING_First(__FIIterable_1_HSTRING* This,__FIIterator_1_HSTRING **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_HSTRING IID___FIIterable_1_HSTRING
#define IIterable_HSTRINGVtbl __FIIterable_1_HSTRINGVtbl
#define IIterable_HSTRING __FIIterable_1_HSTRING
#define IIterable_HSTRING_QueryInterface __FIIterable_1_HSTRING_QueryInterface
#define IIterable_HSTRING_AddRef __FIIterable_1_HSTRING_AddRef
#define IIterable_HSTRING_Release __FIIterable_1_HSTRING_Release
#define IIterable_HSTRING_GetIids __FIIterable_1_HSTRING_GetIids
#define IIterable_HSTRING_GetRuntimeClassName __FIIterable_1_HSTRING_GetRuntimeClassName
#define IIterable_HSTRING_GetTrustLevel __FIIterable_1_HSTRING_GetTrustLevel
#define IIterable_HSTRING_First __FIIterable_1_HSTRING_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<IInspectable* > interface
 */
#ifndef ____FIIterable_1_IInspectable_INTERFACE_DEFINED__
#define ____FIIterable_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_IInspectable, 0x092b849b, 0x60b1, 0x52be, 0xa4,0x4a, 0x6f,0xe8,0xe9,0x33,0xcb,0xe4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("092b849b-60b1-52be-a44a-6fe8e933cbe4")
                IIterable<IInspectable* > : IIterable_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_IInspectable, 0x092b849b, 0x60b1, 0x52be, 0xa4,0x4a, 0x6f,0xe8,0xe9,0x33,0xcb,0xe4)
#endif
#else
typedef struct __FIIterable_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_IInspectable *This,
        __FIIterator_1_IInspectable **value);

    END_INTERFACE
} __FIIterable_1_IInspectableVtbl;

interface __FIIterable_1_IInspectable {
    CONST_VTBL __FIIterable_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<IInspectable* > methods ***/
#define __FIIterable_1_IInspectable_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_IInspectable_QueryInterface(__FIIterable_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterable_1_IInspectable_AddRef(__FIIterable_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterable_1_IInspectable_Release(__FIIterable_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_IInspectable_GetIids(__FIIterable_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterable_1_IInspectable_GetRuntimeClassName(__FIIterable_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterable_1_IInspectable_GetTrustLevel(__FIIterable_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_IInspectable_First(__FIIterable_1_IInspectable* This,__FIIterator_1_IInspectable **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_IInspectable IID___FIIterable_1_IInspectable
#define IIterable_IInspectableVtbl __FIIterable_1_IInspectableVtbl
#define IIterable_IInspectable __FIIterable_1_IInspectable
#define IIterable_IInspectable_QueryInterface __FIIterable_1_IInspectable_QueryInterface
#define IIterable_IInspectable_AddRef __FIIterable_1_IInspectable_AddRef
#define IIterable_IInspectable_Release __FIIterable_1_IInspectable_Release
#define IIterable_IInspectable_GetIids __FIIterable_1_IInspectable_GetIids
#define IIterable_IInspectable_GetRuntimeClassName __FIIterable_1_IInspectable_GetRuntimeClassName
#define IIterable_IInspectable_GetTrustLevel __FIIterable_1_IInspectable_GetTrustLevel
#define IIterable_IInspectable_First __FIIterable_1_IInspectable_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<HSTRING > interface
 */
#ifndef ____FIIterator_1_HSTRING_INTERFACE_DEFINED__
#define ____FIIterator_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_HSTRING, 0x8c304ebb, 0x6615, 0x50a4, 0x88,0x29, 0x87,0x9e,0xcd,0x44,0x32,0x36);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("8c304ebb-6615-50a4-8829-879ecd443236")
                IIterator<HSTRING > : IIterator_impl<HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_HSTRING, 0x8c304ebb, 0x6615, 0x50a4, 0x88,0x29, 0x87,0x9e,0xcd,0x44,0x32,0x36)
#endif
#else
typedef struct __FIIterator_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_HSTRING *This,
        HSTRING *value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_HSTRING *This,
        UINT32 items_size,
        HSTRING *items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_HSTRINGVtbl;

interface __FIIterator_1_HSTRING {
    CONST_VTBL __FIIterator_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<HSTRING > methods ***/
#define __FIIterator_1_HSTRING_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_HSTRING_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_HSTRING_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_HSTRING_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_QueryInterface(__FIIterator_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterator_1_HSTRING_AddRef(__FIIterator_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterator_1_HSTRING_Release(__FIIterator_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_GetIids(__FIIterator_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_GetRuntimeClassName(__FIIterator_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_GetTrustLevel(__FIIterator_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<HSTRING > methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_get_Current(__FIIterator_1_HSTRING* This,HSTRING *value) {
    return This->lpVtbl->get_Current(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_get_HasCurrent(__FIIterator_1_HSTRING* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_MoveNext(__FIIterator_1_HSTRING* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_HSTRING_GetMany(__FIIterator_1_HSTRING* This,UINT32 items_size,HSTRING *items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_HSTRING IID___FIIterator_1_HSTRING
#define IIterator_HSTRINGVtbl __FIIterator_1_HSTRINGVtbl
#define IIterator_HSTRING __FIIterator_1_HSTRING
#define IIterator_HSTRING_QueryInterface __FIIterator_1_HSTRING_QueryInterface
#define IIterator_HSTRING_AddRef __FIIterator_1_HSTRING_AddRef
#define IIterator_HSTRING_Release __FIIterator_1_HSTRING_Release
#define IIterator_HSTRING_GetIids __FIIterator_1_HSTRING_GetIids
#define IIterator_HSTRING_GetRuntimeClassName __FIIterator_1_HSTRING_GetRuntimeClassName
#define IIterator_HSTRING_GetTrustLevel __FIIterator_1_HSTRING_GetTrustLevel
#define IIterator_HSTRING_get_Current __FIIterator_1_HSTRING_get_Current
#define IIterator_HSTRING_get_HasCurrent __FIIterator_1_HSTRING_get_HasCurrent
#define IIterator_HSTRING_MoveNext __FIIterator_1_HSTRING_MoveNext
#define IIterator_HSTRING_GetMany __FIIterator_1_HSTRING_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<IInspectable* > interface
 */
#ifndef ____FIIterator_1_IInspectable_INTERFACE_DEFINED__
#define ____FIIterator_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_IInspectable, 0x44a94f2d, 0x04f8, 0x5091, 0xb3,0x36, 0xbe,0x78,0x92,0xdd,0x10,0xbe);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("44a94f2d-04f8-5091-b336-be7892dd10be")
                IIterator<IInspectable* > : IIterator_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_IInspectable, 0x44a94f2d, 0x04f8, 0x5091, 0xb3,0x36, 0xbe,0x78,0x92,0xdd,0x10,0xbe)
#endif
#else
typedef struct __FIIterator_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_IInspectable *This,
        IInspectable **value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_IInspectable *This,
        UINT32 items_size,
        IInspectable **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_IInspectableVtbl;

interface __FIIterator_1_IInspectable {
    CONST_VTBL __FIIterator_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<IInspectable* > methods ***/
#define __FIIterator_1_IInspectable_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_IInspectable_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_IInspectable_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_IInspectable_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_QueryInterface(__FIIterator_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterator_1_IInspectable_AddRef(__FIIterator_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterator_1_IInspectable_Release(__FIIterator_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_GetIids(__FIIterator_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_GetRuntimeClassName(__FIIterator_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_GetTrustLevel(__FIIterator_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_get_Current(__FIIterator_1_IInspectable* This,IInspectable **value) {
    return This->lpVtbl->get_Current(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_get_HasCurrent(__FIIterator_1_IInspectable* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_MoveNext(__FIIterator_1_IInspectable* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_IInspectable_GetMany(__FIIterator_1_IInspectable* This,UINT32 items_size,IInspectable **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_IInspectable IID___FIIterator_1_IInspectable
#define IIterator_IInspectableVtbl __FIIterator_1_IInspectableVtbl
#define IIterator_IInspectable __FIIterator_1_IInspectable
#define IIterator_IInspectable_QueryInterface __FIIterator_1_IInspectable_QueryInterface
#define IIterator_IInspectable_AddRef __FIIterator_1_IInspectable_AddRef
#define IIterator_IInspectable_Release __FIIterator_1_IInspectable_Release
#define IIterator_IInspectable_GetIids __FIIterator_1_IInspectable_GetIids
#define IIterator_IInspectable_GetRuntimeClassName __FIIterator_1_IInspectable_GetRuntimeClassName
#define IIterator_IInspectable_GetTrustLevel __FIIterator_1_IInspectable_GetTrustLevel
#define IIterator_IInspectable_get_Current __FIIterator_1_IInspectable_get_Current
#define IIterator_IInspectable_get_HasCurrent __FIIterator_1_IInspectable_get_HasCurrent
#define IIterator_IInspectable_MoveNext __FIIterator_1_IInspectable_MoveNext
#define IIterator_IInspectable_GetMany __FIIterator_1_IInspectable_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<HSTRING > interface
 */
#ifndef ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__
#define ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_HSTRING, 0x2f13c006, 0xa03a, 0x5f69, 0xb0,0x90, 0x75,0xa4,0x3e,0x33,0x42,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("2f13c006-a03a-5f69-b090-75a43e33423e")
                IVectorView<HSTRING > : IVectorView_impl<HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_HSTRING, 0x2f13c006, 0xa03a, 0x5f69, 0xb0,0x90, 0x75,0xa4,0x3e,0x33,0x42,0x3e)
#endif
#else
typedef struct __FIVectorView_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_HSTRING *This,
        UINT32 index,
        HSTRING *value);

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_HSTRING *This,
        HSTRING element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_HSTRING *This,
        UINT32 start_index,
        UINT32 items_size,
        HSTRING *items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_HSTRINGVtbl;

interface __FIVectorView_1_HSTRING {
    CONST_VTBL __FIVectorView_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<HSTRING > methods ***/
#define __FIVectorView_1_HSTRING_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_HSTRING_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_HSTRING_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_HSTRING_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_QueryInterface(__FIVectorView_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVectorView_1_HSTRING_AddRef(__FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVectorView_1_HSTRING_Release(__FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_GetIids(__FIVectorView_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_GetRuntimeClassName(__FIVectorView_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_GetTrustLevel(__FIVectorView_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<HSTRING > methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_GetAt(__FIVectorView_1_HSTRING* This,UINT32 index,HSTRING *value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_get_Size(__FIVectorView_1_HSTRING* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_IndexOf(__FIVectorView_1_HSTRING* This,HSTRING element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_HSTRING_GetMany(__FIVectorView_1_HSTRING* This,UINT32 start_index,UINT32 items_size,HSTRING *items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_HSTRING IID___FIVectorView_1_HSTRING
#define IVectorView_HSTRINGVtbl __FIVectorView_1_HSTRINGVtbl
#define IVectorView_HSTRING __FIVectorView_1_HSTRING
#define IVectorView_HSTRING_QueryInterface __FIVectorView_1_HSTRING_QueryInterface
#define IVectorView_HSTRING_AddRef __FIVectorView_1_HSTRING_AddRef
#define IVectorView_HSTRING_Release __FIVectorView_1_HSTRING_Release
#define IVectorView_HSTRING_GetIids __FIVectorView_1_HSTRING_GetIids
#define IVectorView_HSTRING_GetRuntimeClassName __FIVectorView_1_HSTRING_GetRuntimeClassName
#define IVectorView_HSTRING_GetTrustLevel __FIVectorView_1_HSTRING_GetTrustLevel
#define IVectorView_HSTRING_GetAt __FIVectorView_1_HSTRING_GetAt
#define IVectorView_HSTRING_get_Size __FIVectorView_1_HSTRING_get_Size
#define IVectorView_HSTRING_IndexOf __FIVectorView_1_HSTRING_IndexOf
#define IVectorView_HSTRING_GetMany __FIVectorView_1_HSTRING_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<IInspectable* > interface
 */
#ifndef ____FIVectorView_1_IInspectable_INTERFACE_DEFINED__
#define ____FIVectorView_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_IInspectable, 0xa6487363, 0xb074, 0x5c60, 0xab,0x16, 0x86,0x6d,0xce,0x4e,0xe5,0x4d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("a6487363-b074-5c60-ab16-866dce4ee54d")
                IVectorView<IInspectable* > : IVectorView_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_IInspectable, 0xa6487363, 0xb074, 0x5c60, 0xab,0x16, 0x86,0x6d,0xce,0x4e,0xe5,0x4d)
#endif
#else
typedef struct __FIVectorView_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_IInspectable *This,
        UINT32 index,
        IInspectable **value);

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_IInspectable *This,
        IInspectable *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_IInspectable *This,
        UINT32 start_index,
        UINT32 items_size,
        IInspectable **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_IInspectableVtbl;

interface __FIVectorView_1_IInspectable {
    CONST_VTBL __FIVectorView_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<IInspectable* > methods ***/
#define __FIVectorView_1_IInspectable_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_IInspectable_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_IInspectable_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_IInspectable_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_QueryInterface(__FIVectorView_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVectorView_1_IInspectable_AddRef(__FIVectorView_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVectorView_1_IInspectable_Release(__FIVectorView_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_GetIids(__FIVectorView_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_GetRuntimeClassName(__FIVectorView_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_GetTrustLevel(__FIVectorView_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_GetAt(__FIVectorView_1_IInspectable* This,UINT32 index,IInspectable **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_get_Size(__FIVectorView_1_IInspectable* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_IndexOf(__FIVectorView_1_IInspectable* This,IInspectable *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_IInspectable_GetMany(__FIVectorView_1_IInspectable* This,UINT32 start_index,UINT32 items_size,IInspectable **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_IInspectable IID___FIVectorView_1_IInspectable
#define IVectorView_IInspectableVtbl __FIVectorView_1_IInspectableVtbl
#define IVectorView_IInspectable __FIVectorView_1_IInspectable
#define IVectorView_IInspectable_QueryInterface __FIVectorView_1_IInspectable_QueryInterface
#define IVectorView_IInspectable_AddRef __FIVectorView_1_IInspectable_AddRef
#define IVectorView_IInspectable_Release __FIVectorView_1_IInspectable_Release
#define IVectorView_IInspectable_GetIids __FIVectorView_1_IInspectable_GetIids
#define IVectorView_IInspectable_GetRuntimeClassName __FIVectorView_1_IInspectable_GetRuntimeClassName
#define IVectorView_IInspectable_GetTrustLevel __FIVectorView_1_IInspectable_GetTrustLevel
#define IVectorView_IInspectable_GetAt __FIVectorView_1_IInspectable_GetAt
#define IVectorView_IInspectable_get_Size __FIVectorView_1_IInspectable_get_Size
#define IVectorView_IInspectable_IndexOf __FIVectorView_1_IInspectable_IndexOf
#define IVectorView_IInspectable_GetMany __FIVectorView_1_IInspectable_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVector<HSTRING > interface
 */
#ifndef ____FIVector_1_HSTRING_INTERFACE_DEFINED__
#define ____FIVector_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVector_1_HSTRING, 0x98b9acc1, 0x4b56, 0x532e, 0xac,0x73, 0x03,0xd5,0x29,0x1c,0xca,0x90);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("98b9acc1-4b56-532e-ac73-03d5291cca90")
                IVector<HSTRING > : IVector_impl<HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVector_1_HSTRING, 0x98b9acc1, 0x4b56, 0x532e, 0xac,0x73, 0x03,0xd5,0x29,0x1c,0xca,0x90)
#endif
#else
typedef struct __FIVector_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVector<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVector_1_HSTRING *This,
        UINT32 index,
        HSTRING *value);

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

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIVector_1_HSTRING *This,
        __FIVectorView_1_HSTRING **value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVector_1_HSTRING *This,
        HSTRING element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *SetAt)(
        __FIVector_1_HSTRING *This,
        UINT32 index,
        HSTRING value);

    HRESULT (STDMETHODCALLTYPE *InsertAt)(
        __FIVector_1_HSTRING *This,
        UINT32 index,
        HSTRING value);

    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
        __FIVector_1_HSTRING *This,
        UINT32 index);

    HRESULT (STDMETHODCALLTYPE *Append)(
        __FIVector_1_HSTRING *This,
        HSTRING value);

    HRESULT (STDMETHODCALLTYPE *RemoveAtEnd)(
        __FIVector_1_HSTRING *This);

    HRESULT (STDMETHODCALLTYPE *Clear)(
        __FIVector_1_HSTRING *This);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVector_1_HSTRING *This,
        UINT32 start_index,
        UINT32 items_size,
        HSTRING *items,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
        __FIVector_1_HSTRING *This,
        UINT32 count,
        HSTRING *items);

    END_INTERFACE
} __FIVector_1_HSTRINGVtbl;

interface __FIVector_1_HSTRING {
    CONST_VTBL __FIVector_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVector_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVector_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVector_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVector_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVector_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVector_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVector<HSTRING > methods ***/
#define __FIVector_1_HSTRING_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVector_1_HSTRING_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVector_1_HSTRING_GetView(This,value) (This)->lpVtbl->GetView(This,value)
#define __FIVector_1_HSTRING_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVector_1_HSTRING_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
#define __FIVector_1_HSTRING_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
#define __FIVector_1_HSTRING_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
#define __FIVector_1_HSTRING_Append(This,value) (This)->lpVtbl->Append(This,value)
#define __FIVector_1_HSTRING_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
#define __FIVector_1_HSTRING_Clear(This) (This)->lpVtbl->Clear(This)
#define __FIVector_1_HSTRING_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#define __FIVector_1_HSTRING_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_QueryInterface(__FIVector_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVector_1_HSTRING_AddRef(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVector_1_HSTRING_Release(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetIids(__FIVector_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetRuntimeClassName(__FIVector_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetTrustLevel(__FIVector_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVector<HSTRING > methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING *value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_get_Size(__FIVector_1_HSTRING* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetView(__FIVector_1_HSTRING* This,__FIVectorView_1_HSTRING **value) {
    return This->lpVtbl->GetView(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_IndexOf(__FIVector_1_HSTRING* This,HSTRING element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_SetAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING value) {
    return This->lpVtbl->SetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_InsertAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING value) {
    return This->lpVtbl->InsertAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_RemoveAt(__FIVector_1_HSTRING* This,UINT32 index) {
    return This->lpVtbl->RemoveAt(This,index);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_Append(__FIVector_1_HSTRING* This,HSTRING value) {
    return This->lpVtbl->Append(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_RemoveAtEnd(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->RemoveAtEnd(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_Clear(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->Clear(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_GetMany(__FIVector_1_HSTRING* This,UINT32 start_index,UINT32 items_size,HSTRING *items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_HSTRING_ReplaceAll(__FIVector_1_HSTRING* This,UINT32 count,HSTRING *items) {
    return This->lpVtbl->ReplaceAll(This,count,items);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVector_HSTRING IID___FIVector_1_HSTRING
#define IVector_HSTRINGVtbl __FIVector_1_HSTRINGVtbl
#define IVector_HSTRING __FIVector_1_HSTRING
#define IVector_HSTRING_QueryInterface __FIVector_1_HSTRING_QueryInterface
#define IVector_HSTRING_AddRef __FIVector_1_HSTRING_AddRef
#define IVector_HSTRING_Release __FIVector_1_HSTRING_Release
#define IVector_HSTRING_GetIids __FIVector_1_HSTRING_GetIids
#define IVector_HSTRING_GetRuntimeClassName __FIVector_1_HSTRING_GetRuntimeClassName
#define IVector_HSTRING_GetTrustLevel __FIVector_1_HSTRING_GetTrustLevel
#define IVector_HSTRING_GetAt __FIVector_1_HSTRING_GetAt
#define IVector_HSTRING_get_Size __FIVector_1_HSTRING_get_Size
#define IVector_HSTRING_GetView __FIVector_1_HSTRING_GetView
#define IVector_HSTRING_IndexOf __FIVector_1_HSTRING_IndexOf
#define IVector_HSTRING_SetAt __FIVector_1_HSTRING_SetAt
#define IVector_HSTRING_InsertAt __FIVector_1_HSTRING_InsertAt
#define IVector_HSTRING_RemoveAt __FIVector_1_HSTRING_RemoveAt
#define IVector_HSTRING_Append __FIVector_1_HSTRING_Append
#define IVector_HSTRING_RemoveAtEnd __FIVector_1_HSTRING_RemoveAtEnd
#define IVector_HSTRING_Clear __FIVector_1_HSTRING_Clear
#define IVector_HSTRING_GetMany __FIVector_1_HSTRING_GetMany
#define IVector_HSTRING_ReplaceAll __FIVector_1_HSTRING_ReplaceAll
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVector_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVector<IInspectable* > interface
 */
#ifndef ____FIVector_1_IInspectable_INTERFACE_DEFINED__
#define ____FIVector_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVector_1_IInspectable, 0xb32bdca4, 0x5e52, 0x5b27, 0xbc,0x5d, 0xd6,0x6a,0x1a,0x26,0x8c,0x2a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("b32bdca4-5e52-5b27-bc5d-d66a1a268c2a")
                IVector<IInspectable* > : IVector_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVector_1_IInspectable, 0xb32bdca4, 0x5e52, 0x5b27, 0xbc,0x5d, 0xd6,0x6a,0x1a,0x26,0x8c,0x2a)
#endif
#else
typedef struct __FIVector_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVector<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVector_1_IInspectable *This,
        UINT32 index,
        IInspectable **value);

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

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIVector_1_IInspectable *This,
        __FIVectorView_1_IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVector_1_IInspectable *This,
        IInspectable *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *SetAt)(
        __FIVector_1_IInspectable *This,
        UINT32 index,
        IInspectable *value);

    HRESULT (STDMETHODCALLTYPE *InsertAt)(
        __FIVector_1_IInspectable *This,
        UINT32 index,
        IInspectable *value);

    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
        __FIVector_1_IInspectable *This,
        UINT32 index);

    HRESULT (STDMETHODCALLTYPE *Append)(
        __FIVector_1_IInspectable *This,
        IInspectable *value);

    HRESULT (STDMETHODCALLTYPE *RemoveAtEnd)(
        __FIVector_1_IInspectable *This);

    HRESULT (STDMETHODCALLTYPE *Clear)(
        __FIVector_1_IInspectable *This);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVector_1_IInspectable *This,
        UINT32 start_index,
        UINT32 items_size,
        IInspectable **items,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
        __FIVector_1_IInspectable *This,
        UINT32 count,
        IInspectable **items);

    END_INTERFACE
} __FIVector_1_IInspectableVtbl;

interface __FIVector_1_IInspectable {
    CONST_VTBL __FIVector_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVector_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVector_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVector_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVector_1_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVector_1_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVector_1_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVector<IInspectable* > methods ***/
#define __FIVector_1_IInspectable_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVector_1_IInspectable_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVector_1_IInspectable_GetView(This,value) (This)->lpVtbl->GetView(This,value)
#define __FIVector_1_IInspectable_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVector_1_IInspectable_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
#define __FIVector_1_IInspectable_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
#define __FIVector_1_IInspectable_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
#define __FIVector_1_IInspectable_Append(This,value) (This)->lpVtbl->Append(This,value)
#define __FIVector_1_IInspectable_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
#define __FIVector_1_IInspectable_Clear(This) (This)->lpVtbl->Clear(This)
#define __FIVector_1_IInspectable_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#define __FIVector_1_IInspectable_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_QueryInterface(__FIVector_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVector_1_IInspectable_AddRef(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVector_1_IInspectable_Release(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetIids(__FIVector_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetRuntimeClassName(__FIVector_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetTrustLevel(__FIVector_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVector<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_get_Size(__FIVector_1_IInspectable* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetView(__FIVector_1_IInspectable* This,__FIVectorView_1_IInspectable **value) {
    return This->lpVtbl->GetView(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_IndexOf(__FIVector_1_IInspectable* This,IInspectable *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_SetAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable *value) {
    return This->lpVtbl->SetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_InsertAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable *value) {
    return This->lpVtbl->InsertAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_RemoveAt(__FIVector_1_IInspectable* This,UINT32 index) {
    return This->lpVtbl->RemoveAt(This,index);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_Append(__FIVector_1_IInspectable* This,IInspectable *value) {
    return This->lpVtbl->Append(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_RemoveAtEnd(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->RemoveAtEnd(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_Clear(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->Clear(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_GetMany(__FIVector_1_IInspectable* This,UINT32 start_index,UINT32 items_size,IInspectable **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_IInspectable_ReplaceAll(__FIVector_1_IInspectable* This,UINT32 count,IInspectable **items) {
    return This->lpVtbl->ReplaceAll(This,count,items);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVector_IInspectable IID___FIVector_1_IInspectable
#define IVector_IInspectableVtbl __FIVector_1_IInspectableVtbl
#define IVector_IInspectable __FIVector_1_IInspectable
#define IVector_IInspectable_QueryInterface __FIVector_1_IInspectable_QueryInterface
#define IVector_IInspectable_AddRef __FIVector_1_IInspectable_AddRef
#define IVector_IInspectable_Release __FIVector_1_IInspectable_Release
#define IVector_IInspectable_GetIids __FIVector_1_IInspectable_GetIids
#define IVector_IInspectable_GetRuntimeClassName __FIVector_1_IInspectable_GetRuntimeClassName
#define IVector_IInspectable_GetTrustLevel __FIVector_1_IInspectable_GetTrustLevel
#define IVector_IInspectable_GetAt __FIVector_1_IInspectable_GetAt
#define IVector_IInspectable_get_Size __FIVector_1_IInspectable_get_Size
#define IVector_IInspectable_GetView __FIVector_1_IInspectable_GetView
#define IVector_IInspectable_IndexOf __FIVector_1_IInspectable_IndexOf
#define IVector_IInspectable_SetAt __FIVector_1_IInspectable_SetAt
#define IVector_IInspectable_InsertAt __FIVector_1_IInspectable_InsertAt
#define IVector_IInspectable_RemoveAt __FIVector_1_IInspectable_RemoveAt
#define IVector_IInspectable_Append __FIVector_1_IInspectable_Append
#define IVector_IInspectable_RemoveAtEnd __FIVector_1_IInspectable_RemoveAtEnd
#define IVector_IInspectable_Clear __FIVector_1_IInspectable_Clear
#define IVector_IInspectable_GetMany __FIVector_1_IInspectable_GetMany
#define IVector_IInspectable_ReplaceAll __FIVector_1_IInspectable_ReplaceAll
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVector_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* > interface
 */
#ifndef ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_INTERFACE_DEFINED__
#define ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapView_2_HSTRING___FIVectorView_1_HSTRING, 0x2843d34f, 0xd3e5, 0x5fca, 0x9f,0xdc, 0xb5,0x68,0xdd,0x5c,0x1e,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("2843d34f-d3e5-5fca-9fdc-b568dd5c1e64")
                IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* > : IMapView_impl<HSTRING, ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING, 0x2843d34f, 0xd3e5, 0x5fca, 0x9f,0xdc, 0xb5,0x68,0xdd,0x5c,0x1e,0x64)
#endif
#else
typedef struct __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Lookup)(
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING *This,
        HSTRING key,
        __FIVectorView_1_HSTRING **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING *This,
        unsigned int *size);

    HRESULT (STDMETHODCALLTYPE *HasKey)(
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING *This,
        HSTRING key,
        boolean *found);

    HRESULT (STDMETHODCALLTYPE *Split)(
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING *This,
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING **first,
        __FIMapView_2_HSTRING___FIVectorView_1_HSTRING **second);

    END_INTERFACE
} __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl;

interface __FIMapView_2_HSTRING___FIVectorView_1_HSTRING {
    CONST_VTBL __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* > methods ***/
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Split(This,first,second) (This)->lpVtbl->Split(This,first,second)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_QueryInterface(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_AddRef(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Release(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetIids(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetRuntimeClassName(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetTrustLevel(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMapView<HSTRING,ABI::Windows::Foundation::Collections::IVectorView<HSTRING >* > methods ***/
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Lookup(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,HSTRING key,__FIVectorView_1_HSTRING **value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_get_Size(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_HasKey(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,HSTRING key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Split(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,__FIMapView_2_HSTRING___FIVectorView_1_HSTRING **first,__FIMapView_2_HSTRING___FIVectorView_1_HSTRING **second) {
    return This->lpVtbl->Split(This,first,second);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapView_HSTRING_IVectorView_HSTRING IID___FIMapView_2_HSTRING___FIVectorView_1_HSTRING
#define IMapView_HSTRING_IVectorView_HSTRINGVtbl __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl
#define IMapView_HSTRING_IVectorView_HSTRING __FIMapView_2_HSTRING___FIVectorView_1_HSTRING
#define IMapView_HSTRING_IVectorView_HSTRING_QueryInterface __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_QueryInterface
#define IMapView_HSTRING_IVectorView_HSTRING_AddRef __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_AddRef
#define IMapView_HSTRING_IVectorView_HSTRING_Release __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Release
#define IMapView_HSTRING_IVectorView_HSTRING_GetIids __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetIids
#define IMapView_HSTRING_IVectorView_HSTRING_GetRuntimeClassName __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetRuntimeClassName
#define IMapView_HSTRING_IVectorView_HSTRING_GetTrustLevel __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetTrustLevel
#define IMapView_HSTRING_IVectorView_HSTRING_Lookup __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Lookup
#define IMapView_HSTRING_IVectorView_HSTRING_get_Size __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_get_Size
#define IMapView_HSTRING_IVectorView_HSTRING_HasKey __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_HasKey
#define IMapView_HSTRING_IVectorView_HSTRING_Split __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Split
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEventHandler<IInspectable* > interface
 */
#ifndef ____FIEventHandler_1_IInspectable_INTERFACE_DEFINED__
#define ____FIEventHandler_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIEventHandler_1_IInspectable, 0xc50898f6, 0xc536, 0x5f47, 0x85,0x83, 0x8b,0x2c,0x24,0x38,0xa1,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("c50898f6-c536-5f47-8583-8b2c2438a13b")
            IEventHandler<IInspectable* > : IEventHandler_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIEventHandler_1_IInspectable, 0xc50898f6, 0xc536, 0x5f47, 0x85,0x83, 0x8b,0x2c,0x24,0x38,0xa1,0x3b)
#endif
#else
typedef struct __FIEventHandler_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IEventHandler<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIEventHandler_1_IInspectable *This,
        IInspectable *sender,
        IInspectable *args);

    END_INTERFACE
} __FIEventHandler_1_IInspectableVtbl;

interface __FIEventHandler_1_IInspectable {
    CONST_VTBL __FIEventHandler_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIEventHandler_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIEventHandler_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIEventHandler_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IEventHandler<IInspectable* > methods ***/
#define __FIEventHandler_1_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIEventHandler_1_IInspectable_QueryInterface(__FIEventHandler_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIEventHandler_1_IInspectable_AddRef(__FIEventHandler_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIEventHandler_1_IInspectable_Release(__FIEventHandler_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IEventHandler<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIEventHandler_1_IInspectable_Invoke(__FIEventHandler_1_IInspectable* This,IInspectable *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IEventHandler_IInspectable IID___FIEventHandler_1_IInspectable
#define IEventHandler_IInspectableVtbl __FIEventHandler_1_IInspectableVtbl
#define IEventHandler_IInspectable __FIEventHandler_1_IInspectable
#define IEventHandler_IInspectable_QueryInterface __FIEventHandler_1_IInspectable_QueryInterface
#define IEventHandler_IInspectable_AddRef __FIEventHandler_1_IInspectable_AddRef
#define IEventHandler_IInspectable_Release __FIEventHandler_1_IInspectable_Release
#define IEventHandler_IInspectable_Invoke __FIEventHandler_1_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIEventHandler_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<IInspectable* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_IInspectable_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_IInspectable, 0x3f08262e, 0xa2e1, 0x5134, 0x92,0x97, 0xe9,0x21,0x1f,0x48,0x1a,0x2d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("3f08262e-a2e1-5134-9297-e9211f481a2d")
            IAsyncOperationCompletedHandler<IInspectable* > : IAsyncOperationCompletedHandler_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_IInspectable, 0x3f08262e, 0xa2e1, 0x5134, 0x92,0x97, 0xe9,0x21,0x1f,0x48,0x1a,0x2d)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_IInspectable *This,
        __FIAsyncOperation_1_IInspectable *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_IInspectableVtbl;

interface __FIAsyncOperationCompletedHandler_1_IInspectable {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<IInspectable* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_IInspectable_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperationCompletedHandler_1_IInspectable_QueryInterface(__FIAsyncOperationCompletedHandler_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIAsyncOperationCompletedHandler_1_IInspectable_AddRef(__FIAsyncOperationCompletedHandler_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIAsyncOperationCompletedHandler_1_IInspectable_Release(__FIAsyncOperationCompletedHandler_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperationCompletedHandler_1_IInspectable_Invoke(__FIAsyncOperationCompletedHandler_1_IInspectable* This,__FIAsyncOperation_1_IInspectable *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_IInspectable IID___FIAsyncOperationCompletedHandler_1_IInspectable
#define IAsyncOperationCompletedHandler_IInspectableVtbl __FIAsyncOperationCompletedHandler_1_IInspectableVtbl
#define IAsyncOperationCompletedHandler_IInspectable __FIAsyncOperationCompletedHandler_1_IInspectable
#define IAsyncOperationCompletedHandler_IInspectable_QueryInterface __FIAsyncOperationCompletedHandler_1_IInspectable_QueryInterface
#define IAsyncOperationCompletedHandler_IInspectable_AddRef __FIAsyncOperationCompletedHandler_1_IInspectable_AddRef
#define IAsyncOperationCompletedHandler_IInspectable_Release __FIAsyncOperationCompletedHandler_1_IInspectable_Release
#define IAsyncOperationCompletedHandler_IInspectable_Invoke __FIAsyncOperationCompletedHandler_1_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<boolean > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_boolean, 0xc1d3d1a2, 0xae17, 0x5a5f, 0xb5,0xa2, 0xbd,0xcc,0x88,0x44,0x88,0x9a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("c1d3d1a2-ae17-5a5f-b5a2-bdcc8844889a")
            IAsyncOperationCompletedHandler<boolean > : IAsyncOperationCompletedHandler_impl<boolean >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_boolean, 0xc1d3d1a2, 0xae17, 0x5a5f, 0xb5,0xa2, 0xbd,0xcc,0x88,0x44,0x88,0x9a)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_booleanVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<boolean > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_boolean *This,
        __FIAsyncOperation_1_boolean *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_booleanVtbl;

interface __FIAsyncOperationCompletedHandler_1_boolean {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_booleanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_boolean_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_boolean_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_boolean_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<boolean > methods ***/
#define __FIAsyncOperationCompletedHandler_1_boolean_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperationCompletedHandler_1_boolean_QueryInterface(__FIAsyncOperationCompletedHandler_1_boolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIAsyncOperationCompletedHandler_1_boolean_AddRef(__FIAsyncOperationCompletedHandler_1_boolean* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIAsyncOperationCompletedHandler_1_boolean_Release(__FIAsyncOperationCompletedHandler_1_boolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<boolean > methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperationCompletedHandler_1_boolean_Invoke(__FIAsyncOperationCompletedHandler_1_boolean* This,__FIAsyncOperation_1_boolean *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_boolean IID___FIAsyncOperationCompletedHandler_1_boolean
#define IAsyncOperationCompletedHandler_booleanVtbl __FIAsyncOperationCompletedHandler_1_booleanVtbl
#define IAsyncOperationCompletedHandler_boolean __FIAsyncOperationCompletedHandler_1_boolean
#define IAsyncOperationCompletedHandler_boolean_QueryInterface __FIAsyncOperationCompletedHandler_1_boolean_QueryInterface
#define IAsyncOperationCompletedHandler_boolean_AddRef __FIAsyncOperationCompletedHandler_1_boolean_AddRef
#define IAsyncOperationCompletedHandler_boolean_Release __FIAsyncOperationCompletedHandler_1_boolean_Release
#define IAsyncOperationCompletedHandler_boolean_Invoke __FIAsyncOperationCompletedHandler_1_boolean_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<IInspectable* > interface
 */
#ifndef ____FIAsyncOperation_1_IInspectable_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_IInspectable, 0xabf53c57, 0xee50, 0x5342, 0xb5,0x2a, 0x26,0xe3,0xb8,0xcc,0x02,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("abf53c57-ee50-5342-b52a-26e3b8cc024f")
            IAsyncOperation<IInspectable* > : IAsyncOperation_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_IInspectable, 0xabf53c57, 0xee50, 0x5342, 0xb5,0x2a, 0x26,0xe3,0xb8,0xcc,0x02,0x4f)
#endif
#else
typedef struct __FIAsyncOperation_1_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_IInspectable *This,
        __FIAsyncOperationCompletedHandler_1_IInspectable *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_IInspectable *This,
        __FIAsyncOperationCompletedHandler_1_IInspectable **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_IInspectable *This,
        IInspectable **results);

    END_INTERFACE
} __FIAsyncOperation_1_IInspectableVtbl;

interface __FIAsyncOperation_1_IInspectable {
    CONST_VTBL __FIAsyncOperation_1_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<IInspectable* > methods ***/
#define __FIAsyncOperation_1_IInspectable_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_IInspectable_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_IInspectable_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_QueryInterface(__FIAsyncOperation_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIAsyncOperation_1_IInspectable_AddRef(__FIAsyncOperation_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIAsyncOperation_1_IInspectable_Release(__FIAsyncOperation_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_GetIids(__FIAsyncOperation_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_GetRuntimeClassName(__FIAsyncOperation_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_GetTrustLevel(__FIAsyncOperation_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_put_Completed(__FIAsyncOperation_1_IInspectable* This,__FIAsyncOperationCompletedHandler_1_IInspectable *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_get_Completed(__FIAsyncOperation_1_IInspectable* This,__FIAsyncOperationCompletedHandler_1_IInspectable **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_IInspectable_GetResults(__FIAsyncOperation_1_IInspectable* This,IInspectable **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_IInspectable IID___FIAsyncOperation_1_IInspectable
#define IAsyncOperation_IInspectableVtbl __FIAsyncOperation_1_IInspectableVtbl
#define IAsyncOperation_IInspectable __FIAsyncOperation_1_IInspectable
#define IAsyncOperation_IInspectable_QueryInterface __FIAsyncOperation_1_IInspectable_QueryInterface
#define IAsyncOperation_IInspectable_AddRef __FIAsyncOperation_1_IInspectable_AddRef
#define IAsyncOperation_IInspectable_Release __FIAsyncOperation_1_IInspectable_Release
#define IAsyncOperation_IInspectable_GetIids __FIAsyncOperation_1_IInspectable_GetIids
#define IAsyncOperation_IInspectable_GetRuntimeClassName __FIAsyncOperation_1_IInspectable_GetRuntimeClassName
#define IAsyncOperation_IInspectable_GetTrustLevel __FIAsyncOperation_1_IInspectable_GetTrustLevel
#define IAsyncOperation_IInspectable_put_Completed __FIAsyncOperation_1_IInspectable_put_Completed
#define IAsyncOperation_IInspectable_get_Completed __FIAsyncOperation_1_IInspectable_get_Completed
#define IAsyncOperation_IInspectable_GetResults __FIAsyncOperation_1_IInspectable_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<boolean > interface
 */
#ifndef ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_boolean, 0xcdb5efb3, 0x5788, 0x509d, 0x9b,0xe1, 0x71,0xcc,0xb8,0xa3,0x36,0x2a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("cdb5efb3-5788-509d-9be1-71ccb8a3362a")
            IAsyncOperation<boolean > : IAsyncOperation_impl<boolean >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_boolean, 0xcdb5efb3, 0x5788, 0x509d, 0x9b,0xe1, 0x71,0xcc,0xb8,0xa3,0x36,0x2a)
#endif
#else
typedef struct __FIAsyncOperation_1_booleanVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<boolean > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_boolean *This,
        __FIAsyncOperationCompletedHandler_1_boolean *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_boolean *This,
        __FIAsyncOperationCompletedHandler_1_boolean **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_boolean *This,
        boolean *results);

    END_INTERFACE
} __FIAsyncOperation_1_booleanVtbl;

interface __FIAsyncOperation_1_boolean {
    CONST_VTBL __FIAsyncOperation_1_booleanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_boolean_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_boolean_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_boolean_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_boolean_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_boolean_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_boolean_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<boolean > methods ***/
#define __FIAsyncOperation_1_boolean_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_boolean_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_boolean_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_QueryInterface(__FIAsyncOperation_1_boolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIAsyncOperation_1_boolean_AddRef(__FIAsyncOperation_1_boolean* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIAsyncOperation_1_boolean_Release(__FIAsyncOperation_1_boolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_GetIids(__FIAsyncOperation_1_boolean* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_GetRuntimeClassName(__FIAsyncOperation_1_boolean* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_GetTrustLevel(__FIAsyncOperation_1_boolean* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<boolean > methods ***/
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_put_Completed(__FIAsyncOperation_1_boolean* This,__FIAsyncOperationCompletedHandler_1_boolean *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_get_Completed(__FIAsyncOperation_1_boolean* This,__FIAsyncOperationCompletedHandler_1_boolean **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static __WIDL_INLINE HRESULT __FIAsyncOperation_1_boolean_GetResults(__FIAsyncOperation_1_boolean* This,boolean *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_boolean IID___FIAsyncOperation_1_boolean
#define IAsyncOperation_booleanVtbl __FIAsyncOperation_1_booleanVtbl
#define IAsyncOperation_boolean __FIAsyncOperation_1_boolean
#define IAsyncOperation_boolean_QueryInterface __FIAsyncOperation_1_boolean_QueryInterface
#define IAsyncOperation_boolean_AddRef __FIAsyncOperation_1_boolean_AddRef
#define IAsyncOperation_boolean_Release __FIAsyncOperation_1_boolean_Release
#define IAsyncOperation_boolean_GetIids __FIAsyncOperation_1_boolean_GetIids
#define IAsyncOperation_boolean_GetRuntimeClassName __FIAsyncOperation_1_boolean_GetRuntimeClassName
#define IAsyncOperation_boolean_GetTrustLevel __FIAsyncOperation_1_boolean_GetTrustLevel
#define IAsyncOperation_boolean_put_Completed __FIAsyncOperation_1_boolean_put_Completed
#define IAsyncOperation_boolean_get_Completed __FIAsyncOperation_1_boolean_get_Completed
#define IAsyncOperation_boolean_GetResults __FIAsyncOperation_1_boolean_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<INT32 > interface
 */
#ifndef ____FIReference_1_INT32_INTERFACE_DEFINED__
#define ____FIReference_1_INT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_INT32, 0x548cefbd, 0xbc8a, 0x5fa0, 0x8d,0xf2, 0x95,0x74,0x40,0xfc,0x8b,0xf4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("548cefbd-bc8a-5fa0-8df2-957440fc8bf4")
            IReference<INT32 > : IReference_impl<INT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_INT32, 0x548cefbd, 0xbc8a, 0x5fa0, 0x8d,0xf2, 0x95,0x74,0x40,0xfc,0x8b,0xf4)
#endif
#else
typedef struct __FIReference_1_INT32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<INT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_INT32 *This,
        INT32 *value);

    END_INTERFACE
} __FIReference_1_INT32Vtbl;

interface __FIReference_1_INT32 {
    CONST_VTBL __FIReference_1_INT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_INT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_INT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_INT32_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_INT32_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_INT32_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_INT32_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<INT32 > methods ***/
#define __FIReference_1_INT32_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIReference_1_INT32_QueryInterface(__FIReference_1_INT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIReference_1_INT32_AddRef(__FIReference_1_INT32* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIReference_1_INT32_Release(__FIReference_1_INT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIReference_1_INT32_GetIids(__FIReference_1_INT32* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIReference_1_INT32_GetRuntimeClassName(__FIReference_1_INT32* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIReference_1_INT32_GetTrustLevel(__FIReference_1_INT32* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<INT32 > methods ***/
static __WIDL_INLINE HRESULT __FIReference_1_INT32_get_Value(__FIReference_1_INT32* This,INT32 *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_INT32 IID___FIReference_1_INT32
#define IReference_INT32Vtbl __FIReference_1_INT32Vtbl
#define IReference_INT32 __FIReference_1_INT32
#define IReference_INT32_QueryInterface __FIReference_1_INT32_QueryInterface
#define IReference_INT32_AddRef __FIReference_1_INT32_AddRef
#define IReference_INT32_Release __FIReference_1_INT32_Release
#define IReference_INT32_GetIids __FIReference_1_INT32_GetIids
#define IReference_INT32_GetRuntimeClassName __FIReference_1_INT32_GetRuntimeClassName
#define IReference_INT32_GetTrustLevel __FIReference_1_INT32_GetTrustLevel
#define IReference_INT32_get_Value __FIReference_1_INT32_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_INT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<IInspectable*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_IInspectable_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_IInspectable_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_IInspectable_IInspectable, 0xc7e65ce2, 0xfad5, 0x5e3b, 0x9c,0x58, 0x18,0x6c,0xa8,0xc1,0xdd,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("c7e65ce2-fad5-5e3b-9c58-186ca8c1dd57")
            ITypedEventHandler<IInspectable*,IInspectable* > : ITypedEventHandler_impl<IInspectable*, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_IInspectable_IInspectable, 0xc7e65ce2, 0xfad5, 0x5e3b, 0x9c,0x58, 0x18,0x6c,0xa8,0xc1,0xdd,0x57)
#endif
#else
typedef struct __FITypedEventHandler_2_IInspectable_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<IInspectable*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_IInspectable_IInspectable *This,
        IInspectable *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_IInspectable_IInspectableVtbl;

interface __FITypedEventHandler_2_IInspectable_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_IInspectable_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_IInspectable_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_IInspectable_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_IInspectable_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<IInspectable*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_IInspectable_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_IInspectable_IInspectable_QueryInterface(__FITypedEventHandler_2_IInspectable_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_IInspectable_IInspectable_AddRef(__FITypedEventHandler_2_IInspectable_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_IInspectable_IInspectable_Release(__FITypedEventHandler_2_IInspectable_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<IInspectable*,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_IInspectable_IInspectable_Invoke(__FITypedEventHandler_2_IInspectable_IInspectable* This,IInspectable *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_IInspectable_IInspectable IID___FITypedEventHandler_2_IInspectable_IInspectable
#define ITypedEventHandler_IInspectable_IInspectableVtbl __FITypedEventHandler_2_IInspectable_IInspectableVtbl
#define ITypedEventHandler_IInspectable_IInspectable __FITypedEventHandler_2_IInspectable_IInspectable
#define ITypedEventHandler_IInspectable_IInspectable_QueryInterface __FITypedEventHandler_2_IInspectable_IInspectable_QueryInterface
#define ITypedEventHandler_IInspectable_IInspectable_AddRef __FITypedEventHandler_2_IInspectable_IInspectable_AddRef
#define ITypedEventHandler_IInspectable_IInspectable_Release __FITypedEventHandler_2_IInspectable_IInspectable_Release
#define ITypedEventHandler_IInspectable_IInspectable_Invoke __FITypedEventHandler_2_IInspectable_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_IInspectable_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable, 0xf4637d4a, 0x0760, 0x5431, 0xbf,0xc0, 0x24,0xeb,0x1d,0x4f,0x6c,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("f4637d4a-0760-5431-bfc0-24eb1d4f6c4f")
            ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::IMemoryBufferReference*, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable, 0xf4637d4a, 0x0760, 0x5431, 0xbf,0xc0, 0x24,0xeb,0x1d,0x4f,0x6c,0x4f)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable *This,
        __x_ABI_CWindows_CFoundation_CIMemoryBufferReference *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Release(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Foundation::IMemoryBufferReference*,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable* This,__x_ABI_CWindows_CFoundation_CIMemoryBufferReference *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_IMemoryBufferReference_IInspectable IID___FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable
#define ITypedEventHandler_IMemoryBufferReference_IInspectableVtbl __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl
#define ITypedEventHandler_IMemoryBufferReference_IInspectable __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable
#define ITypedEventHandler_IMemoryBufferReference_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_QueryInterface
#define ITypedEventHandler_IMemoryBufferReference_IInspectable_AddRef __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_AddRef
#define ITypedEventHandler_IMemoryBufferReference_IInspectable_Release __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Release
#define ITypedEventHandler_IMemoryBufferReference_IInspectable_Invoke __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_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_foundation_h__ */
