/*** Autogenerated by WIDL 7.7 from 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__

/* Forward declarations */

#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 ____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 __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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncActionCompletedHandler methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IStringable methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_AddRef(__x_ABI_CWindows_CFoundation_CIClosable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIClosable_Release(__x_ABI_CWindows_CFoundation_CIClosable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIClosable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIClosable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIClosable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IClosable methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncAction_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncAction* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncAction_Release(__x_ABI_CWindows_CFoundation_CIAsyncAction* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncAction_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIAsyncAction* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncAction methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBuffer_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBuffer_Release(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBuffer_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBuffer* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBuffer methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_Release(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBufferFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBufferFactory methods ***/
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_AddRef(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_Release(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMemoryBufferReference methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIMemoryBufferReference_get_Capacity(__x_ABI_CWindows_CFoundation_CIMemoryBufferReference* This,UINT32 *value) {
    return This->lpVtbl->get_Capacity(This,value);
}
static FORCEINLINE 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 FORCEINLINE 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 */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT __FIIterable_1_HSTRING_QueryInterface(__FIIterable_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIIterable_1_HSTRING_AddRef(__FIIterable_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIIterable_1_HSTRING_Release(__FIIterable_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIIterable_1_HSTRING_GetIids(__FIIterable_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIIterable_1_HSTRING_GetRuntimeClassName(__FIIterable_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIIterable_1_HSTRING_GetTrustLevel(__FIIterable_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<HSTRING > methods ***/
static FORCEINLINE 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, 0xc0d2c3fd, 0x2a3d, 0x5bf8, 0xb7,0x50, 0x17,0x26,0xae,0x12,0x9d,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("c0d2c3fd-2a3d-5bf8-b750-1726ae129d6b")
                IIterable<IInspectable* > : IIterable_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_IInspectable, 0xc0d2c3fd, 0x2a3d, 0x5bf8, 0xb7,0x50, 0x17,0x26,0xae,0x12,0x9d,0x6b)
#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 FORCEINLINE HRESULT __FIIterable_1_IInspectable_QueryInterface(__FIIterable_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIIterable_1_IInspectable_AddRef(__FIIterable_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIIterable_1_IInspectable_Release(__FIIterable_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIIterable_1_IInspectable_GetIids(__FIIterable_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIIterable_1_IInspectable_GetRuntimeClassName(__FIIterable_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIIterable_1_IInspectable_GetTrustLevel(__FIIterable_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<IInspectable* > methods ***/
static FORCEINLINE 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,
        WINBOOL *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_HSTRING *This,
        WINBOOL *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 FORCEINLINE HRESULT __FIIterator_1_HSTRING_QueryInterface(__FIIterator_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIIterator_1_HSTRING_AddRef(__FIIterator_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIIterator_1_HSTRING_Release(__FIIterator_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_GetIids(__FIIterator_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_GetRuntimeClassName(__FIIterator_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_GetTrustLevel(__FIIterator_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<HSTRING > methods ***/
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_get_Current(__FIIterator_1_HSTRING* This,HSTRING *value) {
    return This->lpVtbl->get_Current(This,value);
}
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_get_HasCurrent(__FIIterator_1_HSTRING* This,WINBOOL *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static FORCEINLINE HRESULT __FIIterator_1_HSTRING_MoveNext(__FIIterator_1_HSTRING* This,WINBOOL *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static FORCEINLINE 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, 0x2606791a, 0x69e4, 0x5e91, 0xba,0xa0, 0x92,0x05,0xee,0x3c,0x84,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("2606791a-69e4-5e91-baa0-9205ee3c843b")
                IIterator<IInspectable* > : IIterator_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_IInspectable, 0x2606791a, 0x69e4, 0x5e91, 0xba,0xa0, 0x92,0x05,0xee,0x3c,0x84,0x3b)
#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,
        WINBOOL *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_IInspectable *This,
        WINBOOL *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 FORCEINLINE HRESULT __FIIterator_1_IInspectable_QueryInterface(__FIIterator_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIIterator_1_IInspectable_AddRef(__FIIterator_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIIterator_1_IInspectable_Release(__FIIterator_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_GetIids(__FIIterator_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_GetRuntimeClassName(__FIIterator_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_GetTrustLevel(__FIIterator_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<IInspectable* > methods ***/
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_get_Current(__FIIterator_1_IInspectable* This,IInspectable **value) {
    return This->lpVtbl->get_Current(This,value);
}
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_get_HasCurrent(__FIIterator_1_IInspectable* This,WINBOOL *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static FORCEINLINE HRESULT __FIIterator_1_IInspectable_MoveNext(__FIIterator_1_IInspectable* This,WINBOOL *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static FORCEINLINE 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 FORCEINLINE HRESULT __FIVectorView_1_HSTRING_QueryInterface(__FIVectorView_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIVectorView_1_HSTRING_AddRef(__FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIVectorView_1_HSTRING_Release(__FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_GetIids(__FIVectorView_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_GetRuntimeClassName(__FIVectorView_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_GetTrustLevel(__FIVectorView_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<HSTRING > methods ***/
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_GetAt(__FIVectorView_1_HSTRING* This,UINT32 index,HSTRING *value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_get_Size(__FIVectorView_1_HSTRING* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static FORCEINLINE HRESULT __FIVectorView_1_HSTRING_IndexOf(__FIVectorView_1_HSTRING* This,HSTRING element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static FORCEINLINE 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, 0x2c23e10f, 0x4919, 0x5736, 0xae,0x4b, 0x70,0x3a,0x3b,0xed,0xbd,0x71);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("2c23e10f-4919-5736-ae4b-703a3bedbd71")
                IVectorView<IInspectable* > : IVectorView_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_IInspectable, 0x2c23e10f, 0x4919, 0x5736, 0xae,0x4b, 0x70,0x3a,0x3b,0xed,0xbd,0x71)
#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 FORCEINLINE HRESULT __FIVectorView_1_IInspectable_QueryInterface(__FIVectorView_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIVectorView_1_IInspectable_AddRef(__FIVectorView_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIVectorView_1_IInspectable_Release(__FIVectorView_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_GetIids(__FIVectorView_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_GetRuntimeClassName(__FIVectorView_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_GetTrustLevel(__FIVectorView_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<IInspectable* > methods ***/
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_GetAt(__FIVectorView_1_IInspectable* This,UINT32 index,IInspectable **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_get_Size(__FIVectorView_1_IInspectable* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static FORCEINLINE HRESULT __FIVectorView_1_IInspectable_IndexOf(__FIVectorView_1_IInspectable* This,IInspectable *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static FORCEINLINE 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 FORCEINLINE HRESULT __FIVector_1_HSTRING_QueryInterface(__FIVector_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIVector_1_HSTRING_AddRef(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIVector_1_HSTRING_Release(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIVector_1_HSTRING_GetIids(__FIVector_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_GetRuntimeClassName(__FIVector_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_GetTrustLevel(__FIVector_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVector<HSTRING > methods ***/
static FORCEINLINE HRESULT __FIVector_1_HSTRING_GetAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING *value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_get_Size(__FIVector_1_HSTRING* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_GetView(__FIVector_1_HSTRING* This,__FIVectorView_1_HSTRING **value) {
    return This->lpVtbl->GetView(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_IndexOf(__FIVector_1_HSTRING* This,HSTRING element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_SetAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING value) {
    return This->lpVtbl->SetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_InsertAt(__FIVector_1_HSTRING* This,UINT32 index,HSTRING value) {
    return This->lpVtbl->InsertAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_RemoveAt(__FIVector_1_HSTRING* This,UINT32 index) {
    return This->lpVtbl->RemoveAt(This,index);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_Append(__FIVector_1_HSTRING* This,HSTRING value) {
    return This->lpVtbl->Append(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_RemoveAtEnd(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->RemoveAtEnd(This);
}
static FORCEINLINE HRESULT __FIVector_1_HSTRING_Clear(__FIVector_1_HSTRING* This) {
    return This->lpVtbl->Clear(This);
}
static FORCEINLINE 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 FORCEINLINE 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, 0xcec6afee, 0x1995, 0x55b6, 0x97,0xff, 0x4e,0x92,0xa7,0xa1,0x61,0x41);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("cec6afee-1995-55b6-97ff-4e92a7a16141")
                IVector<IInspectable* > : IVector_impl<IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVector_1_IInspectable, 0xcec6afee, 0x1995, 0x55b6, 0x97,0xff, 0x4e,0x92,0xa7,0xa1,0x61,0x41)
#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 FORCEINLINE HRESULT __FIVector_1_IInspectable_QueryInterface(__FIVector_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIVector_1_IInspectable_AddRef(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIVector_1_IInspectable_Release(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIVector_1_IInspectable_GetIids(__FIVector_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_GetRuntimeClassName(__FIVector_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_GetTrustLevel(__FIVector_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVector<IInspectable* > methods ***/
static FORCEINLINE HRESULT __FIVector_1_IInspectable_GetAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_get_Size(__FIVector_1_IInspectable* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_GetView(__FIVector_1_IInspectable* This,__FIVectorView_1_IInspectable **value) {
    return This->lpVtbl->GetView(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_IndexOf(__FIVector_1_IInspectable* This,IInspectable *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_SetAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable *value) {
    return This->lpVtbl->SetAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_InsertAt(__FIVector_1_IInspectable* This,UINT32 index,IInspectable *value) {
    return This->lpVtbl->InsertAt(This,index,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_RemoveAt(__FIVector_1_IInspectable* This,UINT32 index) {
    return This->lpVtbl->RemoveAt(This,index);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_Append(__FIVector_1_IInspectable* This,IInspectable *value) {
    return This->lpVtbl->Append(This,value);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_RemoveAtEnd(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->RemoveAtEnd(This);
}
static FORCEINLINE HRESULT __FIVector_1_IInspectable_Clear(__FIVector_1_IInspectable* This) {
    return This->lpVtbl->Clear(This);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE ULONG __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_AddRef(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_Release(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __FIMapView_2_HSTRING___FIVectorView_1_HSTRING_GetRuntimeClassName(__FIMapView_2_HSTRING___FIVectorView_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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, 0x027dea16, 0x68b2, 0x51b5, 0xa1,0x84, 0xde,0x5e,0x05,0x22,0x4d,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("027dea16-68b2-51b5-a184-de5e05224d00")
            IEventHandler<IInspectable* > : IEventHandler_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIEventHandler_1_IInspectable, 0x027dea16, 0x68b2, 0x51b5, 0xa1,0x84, 0xde,0x5e,0x05,0x22,0x4d,0x00)
#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 FORCEINLINE HRESULT __FIEventHandler_1_IInspectable_QueryInterface(__FIEventHandler_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIEventHandler_1_IInspectable_AddRef(__FIEventHandler_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIEventHandler_1_IInspectable_Release(__FIEventHandler_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IEventHandler<IInspectable* > methods ***/
static FORCEINLINE 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, 0xdcb6616b, 0xc8d9, 0x5fad, 0xbc,0xf1, 0x63,0x0a,0x79,0xd1,0x36,0x39);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("dcb6616b-c8d9-5fad-bcf1-630a79d13639")
            IAsyncOperationCompletedHandler<IInspectable* > : IAsyncOperationCompletedHandler_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_IInspectable, 0xdcb6616b, 0xc8d9, 0x5fad, 0xbc,0xf1, 0x63,0x0a,0x79,0xd1,0x36,0x39)
#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 FORCEINLINE HRESULT __FIAsyncOperationCompletedHandler_1_IInspectable_QueryInterface(__FIAsyncOperationCompletedHandler_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_IInspectable_AddRef(__FIAsyncOperationCompletedHandler_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_IInspectable_Release(__FIAsyncOperationCompletedHandler_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<IInspectable* > methods ***/
static FORCEINLINE 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 FORCEINLINE HRESULT __FIAsyncOperationCompletedHandler_1_boolean_QueryInterface(__FIAsyncOperationCompletedHandler_1_boolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_boolean_AddRef(__FIAsyncOperationCompletedHandler_1_boolean* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIAsyncOperationCompletedHandler_1_boolean_Release(__FIAsyncOperationCompletedHandler_1_boolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<boolean > methods ***/
static FORCEINLINE 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, 0x2feabde8, 0x2559, 0x50f9, 0x81,0x7c, 0xa0,0x0e,0xc4,0xa5,0xb2,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2feabde8-2559-50f9-817c-a00ec4a5b26b")
            IAsyncOperation<IInspectable* > : IAsyncOperation_impl<IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_IInspectable, 0x2feabde8, 0x2559, 0x50f9, 0x81,0x7c, 0xa0,0x0e,0xc4,0xa5,0xb2,0x6b)
#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 FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_QueryInterface(__FIAsyncOperation_1_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIAsyncOperation_1_IInspectable_AddRef(__FIAsyncOperation_1_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIAsyncOperation_1_IInspectable_Release(__FIAsyncOperation_1_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_GetIids(__FIAsyncOperation_1_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_GetRuntimeClassName(__FIAsyncOperation_1_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_GetTrustLevel(__FIAsyncOperation_1_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<IInspectable* > methods ***/
static FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_put_Completed(__FIAsyncOperation_1_IInspectable* This,__FIAsyncOperationCompletedHandler_1_IInspectable *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_IInspectable_get_Completed(__FIAsyncOperation_1_IInspectable* This,__FIAsyncOperationCompletedHandler_1_IInspectable **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static FORCEINLINE 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 FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_QueryInterface(__FIAsyncOperation_1_boolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIAsyncOperation_1_boolean_AddRef(__FIAsyncOperation_1_boolean* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIAsyncOperation_1_boolean_Release(__FIAsyncOperation_1_boolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_GetIids(__FIAsyncOperation_1_boolean* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_GetRuntimeClassName(__FIAsyncOperation_1_boolean* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_GetTrustLevel(__FIAsyncOperation_1_boolean* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<boolean > methods ***/
static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_put_Completed(__FIAsyncOperation_1_boolean* This,__FIAsyncOperationCompletedHandler_1_boolean *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_get_Completed(__FIAsyncOperation_1_boolean* This,__FIAsyncOperationCompletedHandler_1_boolean **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static FORCEINLINE 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 FORCEINLINE HRESULT __FIReference_1_INT32_QueryInterface(__FIReference_1_INT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FIReference_1_INT32_AddRef(__FIReference_1_INT32* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FIReference_1_INT32_Release(__FIReference_1_INT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __FIReference_1_INT32_GetIids(__FIReference_1_INT32* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __FIReference_1_INT32_GetRuntimeClassName(__FIReference_1_INT32* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __FIReference_1_INT32_GetTrustLevel(__FIReference_1_INT32* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<INT32 > methods ***/
static FORCEINLINE 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, 0xff74922f, 0x3589, 0x504e, 0xa9,0x00, 0xec,0xc3,0x6e,0x20,0xf9,0x4e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ff74922f-3589-504e-a900-ecc36e20f94e")
            ITypedEventHandler<IInspectable*,IInspectable* > : ITypedEventHandler_impl<IInspectable*, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_IInspectable_IInspectable, 0xff74922f, 0x3589, 0x504e, 0xa9,0x00, 0xec,0xc3,0x6e,0x20,0xf9,0x4e)
#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 FORCEINLINE HRESULT __FITypedEventHandler_2_IInspectable_IInspectable_QueryInterface(__FITypedEventHandler_2_IInspectable_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __FITypedEventHandler_2_IInspectable_IInspectable_AddRef(__FITypedEventHandler_2_IInspectable_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __FITypedEventHandler_2_IInspectable_IInspectable_Release(__FITypedEventHandler_2_IInspectable_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<IInspectable*,IInspectable* > methods ***/
static FORCEINLINE 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, 0x14328700, 0xbeb7, 0x5bb6, 0x9a,0x24, 0x89,0x5f,0x19,0xbe,0x93,0x1e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("14328700-beb7-5bb6-9a24-895f19be931e")
            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, 0x14328700, 0xbeb7, 0x5bb6, 0x9a,0x24, 0x89,0x5f,0x19,0xbe,0x93,0x1e)
#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 FORCEINLINE 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 FORCEINLINE ULONG __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE 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 FORCEINLINE 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__ */
