/*** Autogenerated by WIDL 11.5 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_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CPropertySet_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                class PropertySet;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CCollections_CPropertySet __x_ABI_CWindows_CFoundation_CCollections_CPropertySet;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CCollections_CPropertySet_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CValueSet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CValueSet_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                class ValueSet;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CCollections_CValueSet __x_ABI_CWindows_CFoundation_CCollections_CValueSet;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CCollections_CValueSet_FWD_DEFINED__ */

#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_CIDeferralCompletedHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler ABI::Windows::Foundation::IDeferralCompletedHandler
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IDeferralCompletedHandler;
        }
    }
}
#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_CIDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIDeferral __x_ABI_CWindows_CFoundation_CIDeferral;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIDeferral ABI::Windows::Foundation::IDeferral
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IDeferral;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIDeferralFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferralFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIDeferralFactory __x_ABI_CWindows_CFoundation_CIDeferralFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory ABI::Windows::Foundation::IDeferralFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IDeferralFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIGetActivationFactory __x_ABI_CWindows_CFoundation_CIGetActivationFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory ABI::Windows::Foundation::IGetActivationFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IGetActivationFactory;
        }
    }
}
#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_CIPropertyValue_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValue_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIPropertyValue __x_ABI_CWindows_CFoundation_CIPropertyValue;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIPropertyValue ABI::Windows::Foundation::IPropertyValue
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IPropertyValue;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIPropertyValueStatics __x_ABI_CWindows_CFoundation_CIPropertyValueStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics ABI::Windows::Foundation::IPropertyValueStatics
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IPropertyValueStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriEscapeStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriEscapeStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriEscapeStatics __x_ABI_CWindows_CFoundation_CIUriEscapeStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics ABI::Windows::Foundation::IUriEscapeStatics
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriEscapeStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClass __x_ABI_CWindows_CFoundation_CIUriRuntimeClass;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass ABI::Windows::Foundation::IUriRuntimeClass
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClass;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory ABI::Windows::Foundation::IUriRuntimeClassFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClassFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri ABI::Windows::Foundation::IUriRuntimeClassWithAbsoluteCanonicalUri
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClassWithAbsoluteCanonicalUri;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::IWwwFormUrlDecoderEntry
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderEntry;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClass
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderRuntimeClass;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClassFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderRuntimeClassFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CDeferral_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class Deferral;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CDeferral __x_ABI_CWindows_CFoundation_CDeferral;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CDeferral_FWD_DEFINED__ */

#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 ____x_ABI_CWindows_CFoundation_CPropertyValue_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CPropertyValue_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class PropertyValue;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CPropertyValue __x_ABI_CWindows_CFoundation_CPropertyValue;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CPropertyValue_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CFoundation_CUri_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CUri_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class Uri;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CUri __x_ABI_CWindows_CFoundation_CUri;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CUri_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoder_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoder_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class WwwFormUrlDecoder;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CWwwFormUrlDecoder __x_ABI_CWindows_CFoundation_CWwwFormUrlDecoder;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoder_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoderEntry_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Foundation {
            class WwwFormUrlDecoderEntry;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CFoundation_CWwwFormUrlDecoderEntry __x_ABI_CWindows_CFoundation_CWwwFormUrlDecoderEntry;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CFoundation_CWwwFormUrlDecoderEntry_FWD_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#ifndef ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CFoundation__CUri __FIIterable_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Uri* >
#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 ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CFoundation__CUri __FIIterator_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Uri* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_BYTE_FWD_DEFINED__
#define ____FIVectorView_1_BYTE_FWD_DEFINED__
typedef interface __FIVectorView_1_BYTE __FIVectorView_1_BYTE;
#ifdef __cplusplus
#define __FIVectorView_1_BYTE ABI::Windows::Foundation::Collections::IVectorView<BYTE >
#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 ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CFoundation__CUri __FIVectorView_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::Uri* >
#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_HSTRING_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_HSTRING_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_HSTRING __FIAsyncOperationCompletedHandler_1_HSTRING;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_HSTRING ABI::Windows::Foundation::IAsyncOperationCompletedHandler<HSTRING >
#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 ____FIAsyncOperationCompletedHandler_1_HSTRING_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_HSTRING_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_HSTRING __FIAsyncOperationCompletedHandler_1_HSTRING;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_HSTRING ABI::Windows::Foundation::IAsyncOperationCompletedHandler<HSTRING >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_UINT32_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_UINT32 __FIAsyncOperationCompletedHandler_1_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_UINT32 ABI::Windows::Foundation::IAsyncOperationCompletedHandler<UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationProgressHandler_2_UINT32_UINT32_FWD_DEFINED__
#define ____FIAsyncOperationProgressHandler_2_UINT32_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperationProgressHandler_2_UINT32_UINT32 __FIAsyncOperationProgressHandler_2_UINT32_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperationProgressHandler_2_UINT32_UINT32 ABI::Windows::Foundation::IAsyncOperationProgressHandler<UINT32,UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_FWD_DEFINED__
#define ____FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 ABI::Windows::Foundation::IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_HSTRING_FWD_DEFINED__
#define ____FIAsyncOperation_1_HSTRING_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_HSTRING __FIAsyncOperation_1_HSTRING;
#ifdef __cplusplus
#define __FIAsyncOperation_1_HSTRING ABI::Windows::Foundation::IAsyncOperation<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 ____FIAsyncOperation_1_UINT32_FWD_DEFINED__
#define ____FIAsyncOperation_1_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_UINT32 __FIAsyncOperation_1_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperation_1_UINT32 ABI::Windows::Foundation::IAsyncOperation<UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CFoundation__CUri __FIAsyncOperation_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CFoundation__CUri ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Uri* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationWithProgress_2_UINT32_UINT32_FWD_DEFINED__
#define ____FIAsyncOperationWithProgress_2_UINT32_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperationWithProgress_2_UINT32_UINT32 __FIAsyncOperationWithProgress_2_UINT32_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32 ABI::Windows::Foundation::IAsyncOperationWithProgress<UINT32,UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_BYTE_FWD_DEFINED__
#define ____FIReference_1_BYTE_FWD_DEFINED__
typedef interface __FIReference_1_BYTE __FIReference_1_BYTE;
#ifdef __cplusplus
#define __FIReference_1_BYTE ABI::Windows::Foundation::IReference<BYTE >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_DOUBLE_FWD_DEFINED__
#define ____FIReference_1_DOUBLE_FWD_DEFINED__
typedef interface __FIReference_1_DOUBLE __FIReference_1_DOUBLE;
#ifdef __cplusplus
#define __FIReference_1_DOUBLE ABI::Windows::Foundation::IReference<DOUBLE >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_FLOAT_FWD_DEFINED__
#define ____FIReference_1_FLOAT_FWD_DEFINED__
typedef interface __FIReference_1_FLOAT __FIReference_1_FLOAT;
#ifdef __cplusplus
#define __FIReference_1_FLOAT ABI::Windows::Foundation::IReference<FLOAT >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_GUID_FWD_DEFINED__
#define ____FIReference_1_GUID_FWD_DEFINED__
typedef interface __FIReference_1_GUID __FIReference_1_GUID;
#ifdef __cplusplus
#define __FIReference_1_GUID ABI::Windows::Foundation::IReference<GUID >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_INT16_FWD_DEFINED__
#define ____FIReference_1_INT16_FWD_DEFINED__
typedef interface __FIReference_1_INT16 __FIReference_1_INT16;
#ifdef __cplusplus
#define __FIReference_1_INT16 ABI::Windows::Foundation::IReference<INT16 >
#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 ____FIReference_1_INT64_FWD_DEFINED__
#define ____FIReference_1_INT64_FWD_DEFINED__
typedef interface __FIReference_1_INT64 __FIReference_1_INT64;
#ifdef __cplusplus
#define __FIReference_1_INT64 ABI::Windows::Foundation::IReference<INT64 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_UINT32_FWD_DEFINED__
#define ____FIReference_1_UINT32_FWD_DEFINED__
typedef interface __FIReference_1_UINT32 __FIReference_1_UINT32;
#ifdef __cplusplus
#define __FIReference_1_UINT32 ABI::Windows::Foundation::IReference<UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_UINT64_FWD_DEFINED__
#define ____FIReference_1_UINT64_FWD_DEFINED__
typedef interface __FIReference_1_UINT64 __FIReference_1_UINT64;
#ifdef __cplusplus
#define __FIReference_1_UINT64 ABI::Windows::Foundation::IReference<UINT64 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_DateTime_FWD_DEFINED__
#define ____FIReference_1_DateTime_FWD_DEFINED__
typedef interface __FIReference_1_DateTime __FIReference_1_DateTime;
#ifdef __cplusplus
#define __FIReference_1_DateTime ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::DateTime >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Point_FWD_DEFINED__
#define ____FIReference_1_Point_FWD_DEFINED__
typedef interface __FIReference_1_Point __FIReference_1_Point;
#ifdef __cplusplus
#define __FIReference_1_Point ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Point >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Rect_FWD_DEFINED__
#define ____FIReference_1_Rect_FWD_DEFINED__
typedef interface __FIReference_1_Rect __FIReference_1_Rect;
#ifdef __cplusplus
#define __FIReference_1_Rect ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Rect >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Size_FWD_DEFINED__
#define ____FIReference_1_Size_FWD_DEFINED__
typedef interface __FIReference_1_Size __FIReference_1_Size;
#ifdef __cplusplus
#define __FIReference_1_Size ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Size >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_TimeSpan_FWD_DEFINED__
#define ____FIReference_1_TimeSpan_FWD_DEFINED__
typedef interface __FIReference_1_TimeSpan __FIReference_1_TimeSpan;
#ifdef __cplusplus
#define __FIReference_1_TimeSpan ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::TimeSpan >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_boolean_FWD_DEFINED__
#define ____FIReference_1_boolean_FWD_DEFINED__
typedef interface __FIReference_1_boolean __FIReference_1_boolean;
#ifdef __cplusplus
#define __FIReference_1_boolean ABI::Windows::Foundation::IReference<boolean >
#endif /* __cplusplus */
#endif

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

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

/* Headers for imported files */

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

#ifdef __cplusplus
extern "C" {
#endif

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

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

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

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

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

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

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

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

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

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

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

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

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

/*****************************************************************************
 * IPropertySet interface
 */
#if !defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)
#define WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)

#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_INTERFACE_DEFINED__

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

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl;

interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CCollections_CIPropertySetVtbl* lpVtbl;
};

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

#endif

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

/*
 * Class Windows.Foundation.Collections.PropertySet
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_Collections_PropertySet_DEFINED
#define RUNTIMECLASS_Windows_Foundation_Collections_PropertySet_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_Collections_PropertySet[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','C','o','l','l','e','c','t','i','o','n','s','.','P','r','o','p','e','r','t','y','S','e','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Collections_PropertySet[] = L"Windows.Foundation.Collections.PropertySet";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Collections_PropertySet[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','C','o','l','l','e','c','t','i','o','n','s','.','P','r','o','p','e','r','t','y','S','e','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_Collections_PropertySet_DEFINED */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Foundation.Collections.ValueSet
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_Collections_ValueSet_DEFINED
#define RUNTIMECLASS_Windows_Foundation_Collections_ValueSet_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_Collections_ValueSet[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','C','o','l','l','e','c','t','i','o','n','s','.','V','a','l','u','e','S','e','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Collections_ValueSet[] = L"Windows.Foundation.Collections.ValueSet";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Collections_ValueSet[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','C','o','l','l','e','c','t','i','o','n','s','.','V','a','l','u','e','S','e','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_Collections_ValueSet_DEFINED */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CPropertyType_ENUM_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CPropertyType_ENUM_DEFINED__
#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 /* ____x_ABI_CWindows_CFoundation_CPropertyType_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CFoundation_CPropertyType __x_ABI_CWindows_CFoundation_CPropertyType;
#endif /* __cplusplus */

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

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

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

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

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

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

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

#ifndef ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIDeferral __x_ABI_CWindows_CFoundation_CIDeferral;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIDeferral ABI::Windows::Foundation::IDeferral
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IDeferral;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIDeferralFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferralFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIDeferralFactory __x_ABI_CWindows_CFoundation_CIDeferralFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory ABI::Windows::Foundation::IDeferralFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IDeferralFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIGetActivationFactory __x_ABI_CWindows_CFoundation_CIGetActivationFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory ABI::Windows::Foundation::IGetActivationFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IGetActivationFactory;
        }
    }
}
#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_CIPropertyValue_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValue_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIPropertyValue __x_ABI_CWindows_CFoundation_CIPropertyValue;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIPropertyValue ABI::Windows::Foundation::IPropertyValue
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IPropertyValue;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIPropertyValueStatics __x_ABI_CWindows_CFoundation_CIPropertyValueStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics ABI::Windows::Foundation::IPropertyValueStatics
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IPropertyValueStatics;
        }
    }
}
#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_CIUriEscapeStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriEscapeStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriEscapeStatics __x_ABI_CWindows_CFoundation_CIUriEscapeStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics ABI::Windows::Foundation::IUriEscapeStatics
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriEscapeStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClass __x_ABI_CWindows_CFoundation_CIUriRuntimeClass;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass ABI::Windows::Foundation::IUriRuntimeClass
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClass;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory ABI::Windows::Foundation::IUriRuntimeClassFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClassFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri ABI::Windows::Foundation::IUriRuntimeClassWithAbsoluteCanonicalUri
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClassWithAbsoluteCanonicalUri;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::IWwwFormUrlDecoderEntry
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderEntry;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClass
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderRuntimeClass;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClassFactory
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IWwwFormUrlDecoderRuntimeClassFactory;
        }
    }
}
#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 ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CFoundation__CUri __FIIterable_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Uri* >
#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 ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CFoundation__CUri __FIIterator_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Uri* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_BYTE_FWD_DEFINED__
#define ____FIVectorView_1_BYTE_FWD_DEFINED__
typedef interface __FIVectorView_1_BYTE __FIVectorView_1_BYTE;
#ifdef __cplusplus
#define __FIVectorView_1_BYTE ABI::Windows::Foundation::Collections::IVectorView<BYTE >
#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 ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CFoundation__CUri __FIVectorView_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::Uri* >
#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_HSTRING_FWD_DEFINED__
#define ____FIAsyncOperation_1_HSTRING_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_HSTRING __FIAsyncOperation_1_HSTRING;
#ifdef __cplusplus
#define __FIAsyncOperation_1_HSTRING ABI::Windows::Foundation::IAsyncOperation<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 ____FIAsyncOperation_1_UINT32_FWD_DEFINED__
#define ____FIAsyncOperation_1_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_UINT32 __FIAsyncOperation_1_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperation_1_UINT32 ABI::Windows::Foundation::IAsyncOperation<UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CFoundation__CUri_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CFoundation__CUri __FIAsyncOperation_1_Windows__CFoundation__CUri;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CFoundation__CUri ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Uri* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationWithProgress_2_UINT32_UINT32_FWD_DEFINED__
#define ____FIAsyncOperationWithProgress_2_UINT32_UINT32_FWD_DEFINED__
typedef interface __FIAsyncOperationWithProgress_2_UINT32_UINT32 __FIAsyncOperationWithProgress_2_UINT32_UINT32;
#ifdef __cplusplus
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32 ABI::Windows::Foundation::IAsyncOperationWithProgress<UINT32,UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_BYTE_FWD_DEFINED__
#define ____FIReference_1_BYTE_FWD_DEFINED__
typedef interface __FIReference_1_BYTE __FIReference_1_BYTE;
#ifdef __cplusplus
#define __FIReference_1_BYTE ABI::Windows::Foundation::IReference<BYTE >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_DOUBLE_FWD_DEFINED__
#define ____FIReference_1_DOUBLE_FWD_DEFINED__
typedef interface __FIReference_1_DOUBLE __FIReference_1_DOUBLE;
#ifdef __cplusplus
#define __FIReference_1_DOUBLE ABI::Windows::Foundation::IReference<DOUBLE >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_FLOAT_FWD_DEFINED__
#define ____FIReference_1_FLOAT_FWD_DEFINED__
typedef interface __FIReference_1_FLOAT __FIReference_1_FLOAT;
#ifdef __cplusplus
#define __FIReference_1_FLOAT ABI::Windows::Foundation::IReference<FLOAT >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_GUID_FWD_DEFINED__
#define ____FIReference_1_GUID_FWD_DEFINED__
typedef interface __FIReference_1_GUID __FIReference_1_GUID;
#ifdef __cplusplus
#define __FIReference_1_GUID ABI::Windows::Foundation::IReference<GUID >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_INT16_FWD_DEFINED__
#define ____FIReference_1_INT16_FWD_DEFINED__
typedef interface __FIReference_1_INT16 __FIReference_1_INT16;
#ifdef __cplusplus
#define __FIReference_1_INT16 ABI::Windows::Foundation::IReference<INT16 >
#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 ____FIReference_1_INT64_FWD_DEFINED__
#define ____FIReference_1_INT64_FWD_DEFINED__
typedef interface __FIReference_1_INT64 __FIReference_1_INT64;
#ifdef __cplusplus
#define __FIReference_1_INT64 ABI::Windows::Foundation::IReference<INT64 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_UINT32_FWD_DEFINED__
#define ____FIReference_1_UINT32_FWD_DEFINED__
typedef interface __FIReference_1_UINT32 __FIReference_1_UINT32;
#ifdef __cplusplus
#define __FIReference_1_UINT32 ABI::Windows::Foundation::IReference<UINT32 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_UINT64_FWD_DEFINED__
#define ____FIReference_1_UINT64_FWD_DEFINED__
typedef interface __FIReference_1_UINT64 __FIReference_1_UINT64;
#ifdef __cplusplus
#define __FIReference_1_UINT64 ABI::Windows::Foundation::IReference<UINT64 >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_DateTime_FWD_DEFINED__
#define ____FIReference_1_DateTime_FWD_DEFINED__
typedef interface __FIReference_1_DateTime __FIReference_1_DateTime;
#ifdef __cplusplus
#define __FIReference_1_DateTime ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::DateTime >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Point_FWD_DEFINED__
#define ____FIReference_1_Point_FWD_DEFINED__
typedef interface __FIReference_1_Point __FIReference_1_Point;
#ifdef __cplusplus
#define __FIReference_1_Point ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Point >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Rect_FWD_DEFINED__
#define ____FIReference_1_Rect_FWD_DEFINED__
typedef interface __FIReference_1_Rect __FIReference_1_Rect;
#ifdef __cplusplus
#define __FIReference_1_Rect ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Rect >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_Size_FWD_DEFINED__
#define ____FIReference_1_Size_FWD_DEFINED__
typedef interface __FIReference_1_Size __FIReference_1_Size;
#ifdef __cplusplus
#define __FIReference_1_Size ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Size >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_TimeSpan_FWD_DEFINED__
#define ____FIReference_1_TimeSpan_FWD_DEFINED__
typedef interface __FIReference_1_TimeSpan __FIReference_1_TimeSpan;
#ifdef __cplusplus
#define __FIReference_1_TimeSpan ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::TimeSpan >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_boolean_FWD_DEFINED__
#define ____FIReference_1_boolean_FWD_DEFINED__
typedef interface __FIReference_1_boolean __FIReference_1_boolean;
#ifdef __cplusplus
#define __FIReference_1_boolean ABI::Windows::Foundation::IReference<boolean >
#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 inline HRESULT __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_QueryInterface(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncActionCompletedHandler methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler* This,__x_ABI_CWindows_CFoundation_CIAsyncAction *action,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,action,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncActionCompletedHandler IID___x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler
#define IAsyncActionCompletedHandlerVtbl __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandlerVtbl
#define IAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler
#define IAsyncActionCompletedHandler_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_QueryInterface
#define IAsyncActionCompletedHandler_AddRef __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_AddRef
#define IAsyncActionCompletedHandler_Release __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Release
#define IAsyncActionCompletedHandler_Invoke __x_ABI_CWindows_CFoundation_CIAsyncActionCompletedHandler_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IDeferralCompletedHandler interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler, 0xed32a372, 0xf3c8, 0x4faa, 0x9c,0xfb, 0x47,0x01,0x48,0xda,0x38,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("ed32a372-f3c8-4faa-9cfb-470148da3888")
            IDeferralCompletedHandler : public IUnknown
            {
                virtual HRESULT STDMETHODCALLTYPE Invoke(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler, 0xed32a372, 0xf3c8, 0x4faa, 0x9c,0xfb, 0x47,0x01,0x48,0xda,0x38,0x88)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandlerVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDeferralCompletedHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandlerVtbl;

interface __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDeferralCompletedHandler methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Invoke(This) (This)->lpVtbl->Invoke(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_QueryInterface(__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_AddRef(__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Release(__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IDeferralCompletedHandler methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler* This) {
    return This->lpVtbl->Invoke(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IDeferralCompletedHandler IID___x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler
#define IDeferralCompletedHandlerVtbl __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandlerVtbl
#define IDeferralCompletedHandler __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler
#define IDeferralCompletedHandler_QueryInterface __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_QueryInterface
#define IDeferralCompletedHandler_AddRef __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_AddRef
#define IDeferralCompletedHandler_Release __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Release
#define IDeferralCompletedHandler_Invoke __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

#endif

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIClosableVtbl;

interface __x_ABI_CWindows_CFoundation_CIClosable {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIClosableVtbl* lpVtbl;
};

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

#endif

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

/*****************************************************************************
 * IDeferral interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIDeferral_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferral_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIDeferral, 0xd6269732, 0x3b7f, 0x46a7, 0xb4,0x0b, 0x4f,0xdc,0xa2,0xa2,0xc6,0x93);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("d6269732-3b7f-46a7-b40b-4fdca2a2c693")
            IDeferral : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE Complete(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIDeferral, 0xd6269732, 0x3b7f, 0x46a7, 0xb4,0x0b, 0x4f,0xdc,0xa2,0xa2,0xc6,0x93)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIDeferralVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDeferral methods ***/
    HRESULT (STDMETHODCALLTYPE *Complete)(
        __x_ABI_CWindows_CFoundation_CIDeferral *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIDeferralVtbl;

interface __x_ABI_CWindows_CFoundation_CIDeferral {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIDeferralVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferral_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIDeferral_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIDeferral_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferral_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIDeferral_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIDeferral_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDeferral methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferral_Complete(This) (This)->lpVtbl->Complete(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferral_QueryInterface(__x_ABI_CWindows_CFoundation_CIDeferral* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferral_AddRef(__x_ABI_CWindows_CFoundation_CIDeferral* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferral_Release(__x_ABI_CWindows_CFoundation_CIDeferral* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferral_GetIids(__x_ABI_CWindows_CFoundation_CIDeferral* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferral_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIDeferral* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferral_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIDeferral* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDeferral methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferral_Complete(__x_ABI_CWindows_CFoundation_CIDeferral* This) {
    return This->lpVtbl->Complete(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IDeferral IID___x_ABI_CWindows_CFoundation_CIDeferral
#define IDeferralVtbl __x_ABI_CWindows_CFoundation_CIDeferralVtbl
#define IDeferral __x_ABI_CWindows_CFoundation_CIDeferral
#define IDeferral_QueryInterface __x_ABI_CWindows_CFoundation_CIDeferral_QueryInterface
#define IDeferral_AddRef __x_ABI_CWindows_CFoundation_CIDeferral_AddRef
#define IDeferral_Release __x_ABI_CWindows_CFoundation_CIDeferral_Release
#define IDeferral_GetIids __x_ABI_CWindows_CFoundation_CIDeferral_GetIids
#define IDeferral_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIDeferral_GetRuntimeClassName
#define IDeferral_GetTrustLevel __x_ABI_CWindows_CFoundation_CIDeferral_GetTrustLevel
#define IDeferral_Complete __x_ABI_CWindows_CFoundation_CIDeferral_Complete
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IDeferralFactory interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIDeferralFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferralFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIDeferralFactory, 0x65a1ecc5, 0x3fb5, 0x4832, 0x8c,0xa9, 0xf0,0x61,0xb2,0x81,0xd1,0x3a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("65a1ecc5-3fb5-4832-8ca9-f061b281d13a")
            IDeferralFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE Create(
                    ABI::Windows::Foundation::IDeferralCompletedHandler *handler,
                    ABI::Windows::Foundation::IDeferral **result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIDeferralFactory, 0x65a1ecc5, 0x3fb5, 0x4832, 0x8c,0xa9, 0xf0,0x61,0xb2,0x81,0xd1,0x3a)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIDeferralFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDeferralFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *Create)(
        __x_ABI_CWindows_CFoundation_CIDeferralFactory *This,
        __x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler *handler,
        __x_ABI_CWindows_CFoundation_CIDeferral **result);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIDeferralFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIDeferralFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIDeferralFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDeferralFactory methods ***/
#define __x_ABI_CWindows_CFoundation_CIDeferralFactory_Create(This,handler,result) (This)->lpVtbl->Create(This,handler,result)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralFactory_QueryInterface(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferralFactory_AddRef(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIDeferralFactory_Release(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetIids(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDeferralFactory methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIDeferralFactory_Create(__x_ABI_CWindows_CFoundation_CIDeferralFactory* This,__x_ABI_CWindows_CFoundation_CIDeferralCompletedHandler *handler,__x_ABI_CWindows_CFoundation_CIDeferral **result) {
    return This->lpVtbl->Create(This,handler,result);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IDeferralFactory IID___x_ABI_CWindows_CFoundation_CIDeferralFactory
#define IDeferralFactoryVtbl __x_ABI_CWindows_CFoundation_CIDeferralFactoryVtbl
#define IDeferralFactory __x_ABI_CWindows_CFoundation_CIDeferralFactory
#define IDeferralFactory_QueryInterface __x_ABI_CWindows_CFoundation_CIDeferralFactory_QueryInterface
#define IDeferralFactory_AddRef __x_ABI_CWindows_CFoundation_CIDeferralFactory_AddRef
#define IDeferralFactory_Release __x_ABI_CWindows_CFoundation_CIDeferralFactory_Release
#define IDeferralFactory_GetIids __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetIids
#define IDeferralFactory_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetRuntimeClassName
#define IDeferralFactory_GetTrustLevel __x_ABI_CWindows_CFoundation_CIDeferralFactory_GetTrustLevel
#define IDeferralFactory_Create __x_ABI_CWindows_CFoundation_CIDeferralFactory_Create
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

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

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIGetActivationFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIGetActivationFactory, 0x4edb8ee2, 0x96dd, 0x49a7, 0x94,0xf7, 0x46,0x07,0xdd,0xab,0x8e,0x3c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("4edb8ee2-96dd-49a7-94f7-4607ddab8e3c")
            IGetActivationFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetActivationFactory(
                    HSTRING activatable_class_id,
                    IInspectable **factory) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIGetActivationFactory, 0x4edb8ee2, 0x96dd, 0x49a7, 0x94,0xf7, 0x46,0x07,0xdd,0xab,0x8e,0x3c)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIGetActivationFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGetActivationFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *GetActivationFactory)(
        __x_ABI_CWindows_CFoundation_CIGetActivationFactory *This,
        HSTRING activatable_class_id,
        IInspectable **factory);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIGetActivationFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIGetActivationFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIGetActivationFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGetActivationFactory methods ***/
#define __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetActivationFactory(This,activatable_class_id,factory) (This)->lpVtbl->GetActivationFactory(This,activatable_class_id,factory)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIGetActivationFactory_QueryInterface(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIGetActivationFactory_AddRef(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIGetActivationFactory_Release(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetIids(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGetActivationFactory methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetActivationFactory(__x_ABI_CWindows_CFoundation_CIGetActivationFactory* This,HSTRING activatable_class_id,IInspectable **factory) {
    return This->lpVtbl->GetActivationFactory(This,activatable_class_id,factory);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IGetActivationFactory IID___x_ABI_CWindows_CFoundation_CIGetActivationFactory
#define IGetActivationFactoryVtbl __x_ABI_CWindows_CFoundation_CIGetActivationFactoryVtbl
#define IGetActivationFactory __x_ABI_CWindows_CFoundation_CIGetActivationFactory
#define IGetActivationFactory_QueryInterface __x_ABI_CWindows_CFoundation_CIGetActivationFactory_QueryInterface
#define IGetActivationFactory_AddRef __x_ABI_CWindows_CFoundation_CIGetActivationFactory_AddRef
#define IGetActivationFactory_Release __x_ABI_CWindows_CFoundation_CIGetActivationFactory_Release
#define IGetActivationFactory_GetIids __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetIids
#define IGetActivationFactory_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetRuntimeClassName
#define IGetActivationFactory_GetTrustLevel __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetTrustLevel
#define IGetActivationFactory_GetActivationFactory __x_ABI_CWindows_CFoundation_CIGetActivationFactory_GetActivationFactory
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

#endif

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBuffer {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferVtbl* lpVtbl;
};

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

#endif

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBufferFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferFactoryVtbl* lpVtbl;
};

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

#endif

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

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

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

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

                virtual HRESULT STDMETHODCALLTYPE remove_Closed(
                    EventRegistrationToken cookie) = 0;

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl;

interface __x_ABI_CWindows_CFoundation_CIMemoryBufferReference {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIMemoryBufferReferenceVtbl* lpVtbl;
};

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

#endif

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

/*****************************************************************************
 * IPropertyValue interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIPropertyValue_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValue_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIPropertyValue, 0x4bd682dd, 0x7554, 0x40e9, 0x9a,0x9b, 0x82,0x65,0x4e,0xde,0x7e,0x62);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("4bd682dd-7554-40e9-9a9b-82654ede7e62")
            IPropertyValue : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Type(
                    ABI::Windows::Foundation::PropertyType *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_IsNumericScalar(
                    boolean *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt8(
                    BYTE *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt16(
                    INT16 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt16(
                    UINT16 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt32(
                    INT32 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt32(
                    UINT32 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt64(
                    INT64 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt64(
                    UINT64 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetSingle(
                    FLOAT *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetDouble(
                    DOUBLE *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetChar16(
                    WCHAR *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetBoolean(
                    boolean *value) = 0;

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

                virtual HRESULT STDMETHODCALLTYPE GetGuid(
                    GUID *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetDateTime(
                    ABI::Windows::Foundation::DateTime *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetTimeSpan(
                    ABI::Windows::Foundation::TimeSpan *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetPoint(
                    ABI::Windows::Foundation::Point *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetSize(
                    ABI::Windows::Foundation::Size *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetRect(
                    ABI::Windows::Foundation::Rect *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt8Array(
                    UINT32 *value_size,
                    BYTE **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt16Array(
                    UINT32 *value_size,
                    INT16 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt16Array(
                    UINT32 *value_size,
                    UINT16 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt32Array(
                    UINT32 *value_size,
                    INT32 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt32Array(
                    UINT32 *value_size,
                    UINT32 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInt64Array(
                    UINT32 *value_size,
                    INT64 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetUInt64Array(
                    UINT32 *value_size,
                    UINT64 **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetSingleArray(
                    UINT32 *value_size,
                    FLOAT **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetDoubleArray(
                    UINT32 *value_size,
                    DOUBLE **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetChar16Array(
                    UINT32 *value_size,
                    WCHAR **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetBooleanArray(
                    UINT32 *value_size,
                    boolean **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetStringArray(
                    UINT32 *value_size,
                    HSTRING **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetInspectableArray(
                    UINT32 *value_size,
                    IInspectable ***value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetGuidArray(
                    UINT32 *value_size,
                    GUID **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetDateTimeArray(
                    UINT32 *value_size,
                    ABI::Windows::Foundation::DateTime **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetTimeSpanArray(
                    UINT32 *value_size,
                    ABI::Windows::Foundation::TimeSpan **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetPointArray(
                    UINT32 *value_size,
                    ABI::Windows::Foundation::Point **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetSizeArray(
                    UINT32 *value_size,
                    ABI::Windows::Foundation::Size **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetRectArray(
                    UINT32 *value_size,
                    ABI::Windows::Foundation::Rect **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIPropertyValue, 0x4bd682dd, 0x7554, 0x40e9, 0x9a,0x9b, 0x82,0x65,0x4e,0xde,0x7e,0x62)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIPropertyValueVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPropertyValue methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Type)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CPropertyType *value);

    HRESULT (STDMETHODCALLTYPE *get_IsNumericScalar)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetUInt8)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        BYTE *value);

    HRESULT (STDMETHODCALLTYPE *GetInt16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        INT16 *value);

    HRESULT (STDMETHODCALLTYPE *GetUInt16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT16 *value);

    HRESULT (STDMETHODCALLTYPE *GetInt32)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        INT32 *value);

    HRESULT (STDMETHODCALLTYPE *GetUInt32)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *GetInt64)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        INT64 *value);

    HRESULT (STDMETHODCALLTYPE *GetUInt64)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT64 *value);

    HRESULT (STDMETHODCALLTYPE *GetSingle)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        FLOAT *value);

    HRESULT (STDMETHODCALLTYPE *GetDouble)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        DOUBLE *value);

    HRESULT (STDMETHODCALLTYPE *GetChar16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        WCHAR *value);

    HRESULT (STDMETHODCALLTYPE *GetBoolean)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetString)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *GetGuid)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        GUID *value);

    HRESULT (STDMETHODCALLTYPE *GetDateTime)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CDateTime *value);

    HRESULT (STDMETHODCALLTYPE *GetTimeSpan)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    HRESULT (STDMETHODCALLTYPE *GetPoint)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CPoint *value);

    HRESULT (STDMETHODCALLTYPE *GetSize)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CSize *value);

    HRESULT (STDMETHODCALLTYPE *GetRect)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        __x_ABI_CWindows_CFoundation_CRect *value);

    HRESULT (STDMETHODCALLTYPE *GetUInt8Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        BYTE **value);

    HRESULT (STDMETHODCALLTYPE *GetInt16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        INT16 **value);

    HRESULT (STDMETHODCALLTYPE *GetUInt16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        UINT16 **value);

    HRESULT (STDMETHODCALLTYPE *GetInt32Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        INT32 **value);

    HRESULT (STDMETHODCALLTYPE *GetUInt32Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        UINT32 **value);

    HRESULT (STDMETHODCALLTYPE *GetInt64Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        INT64 **value);

    HRESULT (STDMETHODCALLTYPE *GetUInt64Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        UINT64 **value);

    HRESULT (STDMETHODCALLTYPE *GetSingleArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        FLOAT **value);

    HRESULT (STDMETHODCALLTYPE *GetDoubleArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        DOUBLE **value);

    HRESULT (STDMETHODCALLTYPE *GetChar16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        WCHAR **value);

    HRESULT (STDMETHODCALLTYPE *GetBooleanArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        boolean **value);

    HRESULT (STDMETHODCALLTYPE *GetStringArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        HSTRING **value);

    HRESULT (STDMETHODCALLTYPE *GetInspectableArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        IInspectable ***value);

    HRESULT (STDMETHODCALLTYPE *GetGuidArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        GUID **value);

    HRESULT (STDMETHODCALLTYPE *GetDateTimeArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        __x_ABI_CWindows_CFoundation_CDateTime **value);

    HRESULT (STDMETHODCALLTYPE *GetTimeSpanArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        __x_ABI_CWindows_CFoundation_CTimeSpan **value);

    HRESULT (STDMETHODCALLTYPE *GetPointArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        __x_ABI_CWindows_CFoundation_CPoint **value);

    HRESULT (STDMETHODCALLTYPE *GetSizeArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        __x_ABI_CWindows_CFoundation_CSize **value);

    HRESULT (STDMETHODCALLTYPE *GetRectArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValue *This,
        UINT32 *value_size,
        __x_ABI_CWindows_CFoundation_CRect **value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIPropertyValueVtbl;

interface __x_ABI_CWindows_CFoundation_CIPropertyValue {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIPropertyValueVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPropertyValue methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_get_Type(This,value) (This)->lpVtbl->get_Type(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_get_IsNumericScalar(This,value) (This)->lpVtbl->get_IsNumericScalar(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8(This,value) (This)->lpVtbl->GetUInt8(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16(This,value) (This)->lpVtbl->GetInt16(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16(This,value) (This)->lpVtbl->GetUInt16(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32(This,value) (This)->lpVtbl->GetInt32(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32(This,value) (This)->lpVtbl->GetUInt32(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64(This,value) (This)->lpVtbl->GetInt64(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64(This,value) (This)->lpVtbl->GetUInt64(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingle(This,value) (This)->lpVtbl->GetSingle(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDouble(This,value) (This)->lpVtbl->GetDouble(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16(This,value) (This)->lpVtbl->GetChar16(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBoolean(This,value) (This)->lpVtbl->GetBoolean(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetString(This,value) (This)->lpVtbl->GetString(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuid(This,value) (This)->lpVtbl->GetGuid(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTime(This,value) (This)->lpVtbl->GetDateTime(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpan(This,value) (This)->lpVtbl->GetTimeSpan(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPoint(This,value) (This)->lpVtbl->GetPoint(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSize(This,value) (This)->lpVtbl->GetSize(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRect(This,value) (This)->lpVtbl->GetRect(This,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8Array(This,value_size,value) (This)->lpVtbl->GetUInt8Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16Array(This,value_size,value) (This)->lpVtbl->GetInt16Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16Array(This,value_size,value) (This)->lpVtbl->GetUInt16Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32Array(This,value_size,value) (This)->lpVtbl->GetInt32Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32Array(This,value_size,value) (This)->lpVtbl->GetUInt32Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64Array(This,value_size,value) (This)->lpVtbl->GetInt64Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64Array(This,value_size,value) (This)->lpVtbl->GetUInt64Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingleArray(This,value_size,value) (This)->lpVtbl->GetSingleArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDoubleArray(This,value_size,value) (This)->lpVtbl->GetDoubleArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16Array(This,value_size,value) (This)->lpVtbl->GetChar16Array(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBooleanArray(This,value_size,value) (This)->lpVtbl->GetBooleanArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetStringArray(This,value_size,value) (This)->lpVtbl->GetStringArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInspectableArray(This,value_size,value) (This)->lpVtbl->GetInspectableArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuidArray(This,value_size,value) (This)->lpVtbl->GetGuidArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTimeArray(This,value_size,value) (This)->lpVtbl->GetDateTimeArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpanArray(This,value_size,value) (This)->lpVtbl->GetTimeSpanArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPointArray(This,value_size,value) (This)->lpVtbl->GetPointArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSizeArray(This,value_size,value) (This)->lpVtbl->GetSizeArray(This,value_size,value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRectArray(This,value_size,value) (This)->lpVtbl->GetRectArray(This,value_size,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_QueryInterface(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIPropertyValue_AddRef(__x_ABI_CWindows_CFoundation_CIPropertyValue* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIPropertyValue_Release(__x_ABI_CWindows_CFoundation_CIPropertyValue* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetIids(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPropertyValue methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_get_Type(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CPropertyType *value) {
    return This->lpVtbl->get_Type(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_get_IsNumericScalar(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,boolean *value) {
    return This->lpVtbl->get_IsNumericScalar(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,BYTE *value) {
    return This->lpVtbl->GetUInt8(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,INT16 *value) {
    return This->lpVtbl->GetInt16(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT16 *value) {
    return This->lpVtbl->GetUInt16(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,INT32 *value) {
    return This->lpVtbl->GetInt32(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value) {
    return This->lpVtbl->GetUInt32(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,INT64 *value) {
    return This->lpVtbl->GetInt64(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT64 *value) {
    return This->lpVtbl->GetUInt64(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingle(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,FLOAT *value) {
    return This->lpVtbl->GetSingle(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDouble(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,DOUBLE *value) {
    return This->lpVtbl->GetDouble(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,WCHAR *value) {
    return This->lpVtbl->GetChar16(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBoolean(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,boolean *value) {
    return This->lpVtbl->GetBoolean(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetString(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,HSTRING *value) {
    return This->lpVtbl->GetString(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuid(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,GUID *value) {
    return This->lpVtbl->GetGuid(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTime(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CDateTime *value) {
    return This->lpVtbl->GetDateTime(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpan(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->GetTimeSpan(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPoint(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CPoint *value) {
    return This->lpVtbl->GetPoint(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSize(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CSize *value) {
    return This->lpVtbl->GetSize(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRect(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,__x_ABI_CWindows_CFoundation_CRect *value) {
    return This->lpVtbl->GetRect(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,BYTE **value) {
    return This->lpVtbl->GetUInt8Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,INT16 **value) {
    return This->lpVtbl->GetInt16Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,UINT16 **value) {
    return This->lpVtbl->GetUInt16Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,INT32 **value) {
    return This->lpVtbl->GetInt32Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,UINT32 **value) {
    return This->lpVtbl->GetUInt32Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,INT64 **value) {
    return This->lpVtbl->GetInt64Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,UINT64 **value) {
    return This->lpVtbl->GetUInt64Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingleArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,FLOAT **value) {
    return This->lpVtbl->GetSingleArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDoubleArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,DOUBLE **value) {
    return This->lpVtbl->GetDoubleArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16Array(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,WCHAR **value) {
    return This->lpVtbl->GetChar16Array(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBooleanArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,boolean **value) {
    return This->lpVtbl->GetBooleanArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetStringArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,HSTRING **value) {
    return This->lpVtbl->GetStringArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInspectableArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,IInspectable ***value) {
    return This->lpVtbl->GetInspectableArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuidArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,GUID **value) {
    return This->lpVtbl->GetGuidArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTimeArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,__x_ABI_CWindows_CFoundation_CDateTime **value) {
    return This->lpVtbl->GetDateTimeArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpanArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,__x_ABI_CWindows_CFoundation_CTimeSpan **value) {
    return This->lpVtbl->GetTimeSpanArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPointArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,__x_ABI_CWindows_CFoundation_CPoint **value) {
    return This->lpVtbl->GetPointArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSizeArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,__x_ABI_CWindows_CFoundation_CSize **value) {
    return This->lpVtbl->GetSizeArray(This,value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRectArray(__x_ABI_CWindows_CFoundation_CIPropertyValue* This,UINT32 *value_size,__x_ABI_CWindows_CFoundation_CRect **value) {
    return This->lpVtbl->GetRectArray(This,value_size,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IPropertyValue IID___x_ABI_CWindows_CFoundation_CIPropertyValue
#define IPropertyValueVtbl __x_ABI_CWindows_CFoundation_CIPropertyValueVtbl
#define IPropertyValue __x_ABI_CWindows_CFoundation_CIPropertyValue
#define IPropertyValue_QueryInterface __x_ABI_CWindows_CFoundation_CIPropertyValue_QueryInterface
#define IPropertyValue_AddRef __x_ABI_CWindows_CFoundation_CIPropertyValue_AddRef
#define IPropertyValue_Release __x_ABI_CWindows_CFoundation_CIPropertyValue_Release
#define IPropertyValue_GetIids __x_ABI_CWindows_CFoundation_CIPropertyValue_GetIids
#define IPropertyValue_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRuntimeClassName
#define IPropertyValue_GetTrustLevel __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTrustLevel
#define IPropertyValue_get_Type __x_ABI_CWindows_CFoundation_CIPropertyValue_get_Type
#define IPropertyValue_get_IsNumericScalar __x_ABI_CWindows_CFoundation_CIPropertyValue_get_IsNumericScalar
#define IPropertyValue_GetUInt8 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8
#define IPropertyValue_GetInt16 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16
#define IPropertyValue_GetUInt16 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16
#define IPropertyValue_GetInt32 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32
#define IPropertyValue_GetUInt32 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32
#define IPropertyValue_GetInt64 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64
#define IPropertyValue_GetUInt64 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64
#define IPropertyValue_GetSingle __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingle
#define IPropertyValue_GetDouble __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDouble
#define IPropertyValue_GetChar16 __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16
#define IPropertyValue_GetBoolean __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBoolean
#define IPropertyValue_GetString __x_ABI_CWindows_CFoundation_CIPropertyValue_GetString
#define IPropertyValue_GetGuid __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuid
#define IPropertyValue_GetDateTime __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTime
#define IPropertyValue_GetTimeSpan __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpan
#define IPropertyValue_GetPoint __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPoint
#define IPropertyValue_GetSize __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSize
#define IPropertyValue_GetRect __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRect
#define IPropertyValue_GetUInt8Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt8Array
#define IPropertyValue_GetInt16Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt16Array
#define IPropertyValue_GetUInt16Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt16Array
#define IPropertyValue_GetInt32Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt32Array
#define IPropertyValue_GetUInt32Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt32Array
#define IPropertyValue_GetInt64Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInt64Array
#define IPropertyValue_GetUInt64Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetUInt64Array
#define IPropertyValue_GetSingleArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSingleArray
#define IPropertyValue_GetDoubleArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDoubleArray
#define IPropertyValue_GetChar16Array __x_ABI_CWindows_CFoundation_CIPropertyValue_GetChar16Array
#define IPropertyValue_GetBooleanArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetBooleanArray
#define IPropertyValue_GetStringArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetStringArray
#define IPropertyValue_GetInspectableArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetInspectableArray
#define IPropertyValue_GetGuidArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetGuidArray
#define IPropertyValue_GetDateTimeArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetDateTimeArray
#define IPropertyValue_GetTimeSpanArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetTimeSpanArray
#define IPropertyValue_GetPointArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetPointArray
#define IPropertyValue_GetSizeArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetSizeArray
#define IPropertyValue_GetRectArray __x_ABI_CWindows_CFoundation_CIPropertyValue_GetRectArray
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IPropertyValueStatics interface
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValueStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIPropertyValueStatics, 0x629bdbc8, 0xd932, 0x4ff4, 0x96,0xb9, 0x8d,0x96,0xc5,0xc1,0xe8,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("629bdbc8-d932-4ff4-96b9-8d96c5c1e858")
            IPropertyValueStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateEmpty(
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt8(
                    BYTE value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt16(
                    INT16 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt16(
                    UINT16 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt32(
                    INT32 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt32(
                    UINT32 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt64(
                    INT64 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt64(
                    UINT64 value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateSingle(
                    FLOAT value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateDouble(
                    DOUBLE value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateChar16(
                    WCHAR value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateBoolean(
                    boolean value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateString(
                    HSTRING value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInspectable(
                    IInspectable *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateGuid(
                    GUID value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateDateTime(
                    ABI::Windows::Foundation::DateTime value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateTimeSpan(
                    ABI::Windows::Foundation::TimeSpan value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreatePoint(
                    ABI::Windows::Foundation::Point value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateSize(
                    ABI::Windows::Foundation::Size value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateRect(
                    ABI::Windows::Foundation::Rect value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt8Array(
                    UINT32 value_size,
                    BYTE *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt16Array(
                    UINT32 value_size,
                    INT16 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt16Array(
                    UINT32 value_size,
                    UINT16 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt32Array(
                    UINT32 value_size,
                    INT32 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt32Array(
                    UINT32 value_size,
                    UINT32 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInt64Array(
                    UINT32 value_size,
                    INT64 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateUInt64Array(
                    UINT32 value_size,
                    UINT64 *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateSingleArray(
                    UINT32 value_size,
                    FLOAT *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateDoubleArray(
                    UINT32 value_size,
                    DOUBLE *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateChar16Array(
                    UINT32 value_size,
                    WCHAR *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateBooleanArray(
                    UINT32 value_size,
                    boolean *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateStringArray(
                    UINT32 value_size,
                    HSTRING *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateInspectableArray(
                    UINT32 value_size,
                    IInspectable **value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateGuidArray(
                    UINT32 value_size,
                    GUID *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateDateTimeArray(
                    UINT32 value_size,
                    ABI::Windows::Foundation::DateTime *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateTimeSpanArray(
                    UINT32 value_size,
                    ABI::Windows::Foundation::TimeSpan *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreatePointArray(
                    UINT32 value_size,
                    ABI::Windows::Foundation::Point *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateSizeArray(
                    UINT32 value_size,
                    ABI::Windows::Foundation::Size *value,
                    IInspectable **property_value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateRectArray(
                    UINT32 value_size,
                    ABI::Windows::Foundation::Rect *value,
                    IInspectable **property_value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics, 0x629bdbc8, 0xd932, 0x4ff4, 0x96,0xb9, 0x8d,0x96,0xc5,0xc1,0xe8,0x58)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIPropertyValueStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPropertyValueStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateEmpty)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt8)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        BYTE value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        INT16 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT16 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt32)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        INT32 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt32)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt64)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        INT64 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt64)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT64 value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateSingle)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        FLOAT value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateDouble)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        DOUBLE value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateChar16)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        WCHAR value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateBoolean)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        boolean value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateString)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        HSTRING value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInspectable)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        IInspectable *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateGuid)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        GUID value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateDateTime)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        __x_ABI_CWindows_CFoundation_CDateTime value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateTimeSpan)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreatePoint)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        __x_ABI_CWindows_CFoundation_CPoint value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateSize)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        __x_ABI_CWindows_CFoundation_CSize value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateRect)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        __x_ABI_CWindows_CFoundation_CRect value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt8Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        BYTE *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        INT16 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        UINT16 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt32Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        INT32 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt32Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        UINT32 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInt64Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        INT64 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateUInt64Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        UINT64 *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateSingleArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        FLOAT *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateDoubleArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        DOUBLE *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateChar16Array)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        WCHAR *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateBooleanArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        boolean *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateStringArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        HSTRING *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateInspectableArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        IInspectable **value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateGuidArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        GUID *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateDateTimeArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        __x_ABI_CWindows_CFoundation_CDateTime *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateTimeSpanArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreatePointArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        __x_ABI_CWindows_CFoundation_CPoint *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateSizeArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        __x_ABI_CWindows_CFoundation_CSize *value,
        IInspectable **property_value);

    HRESULT (STDMETHODCALLTYPE *CreateRectArray)(
        __x_ABI_CWindows_CFoundation_CIPropertyValueStatics *This,
        UINT32 value_size,
        __x_ABI_CWindows_CFoundation_CRect *value,
        IInspectable **property_value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIPropertyValueStaticsVtbl;

interface __x_ABI_CWindows_CFoundation_CIPropertyValueStatics {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIPropertyValueStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPropertyValueStatics methods ***/
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateEmpty(This,property_value) (This)->lpVtbl->CreateEmpty(This,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8(This,value,property_value) (This)->lpVtbl->CreateUInt8(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16(This,value,property_value) (This)->lpVtbl->CreateInt16(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16(This,value,property_value) (This)->lpVtbl->CreateUInt16(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32(This,value,property_value) (This)->lpVtbl->CreateInt32(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32(This,value,property_value) (This)->lpVtbl->CreateUInt32(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64(This,value,property_value) (This)->lpVtbl->CreateInt64(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64(This,value,property_value) (This)->lpVtbl->CreateUInt64(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingle(This,value,property_value) (This)->lpVtbl->CreateSingle(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDouble(This,value,property_value) (This)->lpVtbl->CreateDouble(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16(This,value,property_value) (This)->lpVtbl->CreateChar16(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBoolean(This,value,property_value) (This)->lpVtbl->CreateBoolean(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateString(This,value,property_value) (This)->lpVtbl->CreateString(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectable(This,value,property_value) (This)->lpVtbl->CreateInspectable(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuid(This,value,property_value) (This)->lpVtbl->CreateGuid(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTime(This,value,property_value) (This)->lpVtbl->CreateDateTime(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpan(This,value,property_value) (This)->lpVtbl->CreateTimeSpan(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePoint(This,value,property_value) (This)->lpVtbl->CreatePoint(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSize(This,value,property_value) (This)->lpVtbl->CreateSize(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRect(This,value,property_value) (This)->lpVtbl->CreateRect(This,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8Array(This,value_size,value,property_value) (This)->lpVtbl->CreateUInt8Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16Array(This,value_size,value,property_value) (This)->lpVtbl->CreateInt16Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16Array(This,value_size,value,property_value) (This)->lpVtbl->CreateUInt16Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32Array(This,value_size,value,property_value) (This)->lpVtbl->CreateInt32Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32Array(This,value_size,value,property_value) (This)->lpVtbl->CreateUInt32Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64Array(This,value_size,value,property_value) (This)->lpVtbl->CreateInt64Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64Array(This,value_size,value,property_value) (This)->lpVtbl->CreateUInt64Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingleArray(This,value_size,value,property_value) (This)->lpVtbl->CreateSingleArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDoubleArray(This,value_size,value,property_value) (This)->lpVtbl->CreateDoubleArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16Array(This,value_size,value,property_value) (This)->lpVtbl->CreateChar16Array(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBooleanArray(This,value_size,value,property_value) (This)->lpVtbl->CreateBooleanArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateStringArray(This,value_size,value,property_value) (This)->lpVtbl->CreateStringArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectableArray(This,value_size,value,property_value) (This)->lpVtbl->CreateInspectableArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuidArray(This,value_size,value,property_value) (This)->lpVtbl->CreateGuidArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTimeArray(This,value_size,value,property_value) (This)->lpVtbl->CreateDateTimeArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpanArray(This,value_size,value,property_value) (This)->lpVtbl->CreateTimeSpanArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePointArray(This,value_size,value,property_value) (This)->lpVtbl->CreatePointArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSizeArray(This,value_size,value,property_value) (This)->lpVtbl->CreateSizeArray(This,value_size,value,property_value)
#define __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRectArray(This,value_size,value,property_value) (This)->lpVtbl->CreateRectArray(This,value_size,value,property_value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_QueryInterface(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_AddRef(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_Release(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetIids(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPropertyValueStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateEmpty(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,IInspectable **property_value) {
    return This->lpVtbl->CreateEmpty(This,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,BYTE value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt8(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,INT16 value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt16(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT16 value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt16(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,INT32 value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt32(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt32(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,INT64 value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt64(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT64 value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt64(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingle(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,FLOAT value,IInspectable **property_value) {
    return This->lpVtbl->CreateSingle(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDouble(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,DOUBLE value,IInspectable **property_value) {
    return This->lpVtbl->CreateDouble(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,WCHAR value,IInspectable **property_value) {
    return This->lpVtbl->CreateChar16(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBoolean(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,boolean value,IInspectable **property_value) {
    return This->lpVtbl->CreateBoolean(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateString(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,HSTRING value,IInspectable **property_value) {
    return This->lpVtbl->CreateString(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectable(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,IInspectable *value,IInspectable **property_value) {
    return This->lpVtbl->CreateInspectable(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuid(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,GUID value,IInspectable **property_value) {
    return This->lpVtbl->CreateGuid(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTime(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,__x_ABI_CWindows_CFoundation_CDateTime value,IInspectable **property_value) {
    return This->lpVtbl->CreateDateTime(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpan(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,__x_ABI_CWindows_CFoundation_CTimeSpan value,IInspectable **property_value) {
    return This->lpVtbl->CreateTimeSpan(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePoint(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,__x_ABI_CWindows_CFoundation_CPoint value,IInspectable **property_value) {
    return This->lpVtbl->CreatePoint(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSize(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,__x_ABI_CWindows_CFoundation_CSize value,IInspectable **property_value) {
    return This->lpVtbl->CreateSize(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRect(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,__x_ABI_CWindows_CFoundation_CRect value,IInspectable **property_value) {
    return This->lpVtbl->CreateRect(This,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,BYTE *value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt8Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,INT16 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt16Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,UINT16 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt16Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,INT32 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt32Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,UINT32 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt32Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,INT64 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateInt64Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,UINT64 *value,IInspectable **property_value) {
    return This->lpVtbl->CreateUInt64Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingleArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,FLOAT *value,IInspectable **property_value) {
    return This->lpVtbl->CreateSingleArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDoubleArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,DOUBLE *value,IInspectable **property_value) {
    return This->lpVtbl->CreateDoubleArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16Array(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,WCHAR *value,IInspectable **property_value) {
    return This->lpVtbl->CreateChar16Array(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBooleanArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,boolean *value,IInspectable **property_value) {
    return This->lpVtbl->CreateBooleanArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateStringArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,HSTRING *value,IInspectable **property_value) {
    return This->lpVtbl->CreateStringArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectableArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,IInspectable **value,IInspectable **property_value) {
    return This->lpVtbl->CreateInspectableArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuidArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,GUID *value,IInspectable **property_value) {
    return This->lpVtbl->CreateGuidArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTimeArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,__x_ABI_CWindows_CFoundation_CDateTime *value,IInspectable **property_value) {
    return This->lpVtbl->CreateDateTimeArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpanArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,__x_ABI_CWindows_CFoundation_CTimeSpan *value,IInspectable **property_value) {
    return This->lpVtbl->CreateTimeSpanArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePointArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,__x_ABI_CWindows_CFoundation_CPoint *value,IInspectable **property_value) {
    return This->lpVtbl->CreatePointArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSizeArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,__x_ABI_CWindows_CFoundation_CSize *value,IInspectable **property_value) {
    return This->lpVtbl->CreateSizeArray(This,value_size,value,property_value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRectArray(__x_ABI_CWindows_CFoundation_CIPropertyValueStatics* This,UINT32 value_size,__x_ABI_CWindows_CFoundation_CRect *value,IInspectable **property_value) {
    return This->lpVtbl->CreateRectArray(This,value_size,value,property_value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IPropertyValueStatics IID___x_ABI_CWindows_CFoundation_CIPropertyValueStatics
#define IPropertyValueStaticsVtbl __x_ABI_CWindows_CFoundation_CIPropertyValueStaticsVtbl
#define IPropertyValueStatics __x_ABI_CWindows_CFoundation_CIPropertyValueStatics
#define IPropertyValueStatics_QueryInterface __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_QueryInterface
#define IPropertyValueStatics_AddRef __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_AddRef
#define IPropertyValueStatics_Release __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_Release
#define IPropertyValueStatics_GetIids __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetIids
#define IPropertyValueStatics_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetRuntimeClassName
#define IPropertyValueStatics_GetTrustLevel __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_GetTrustLevel
#define IPropertyValueStatics_CreateEmpty __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateEmpty
#define IPropertyValueStatics_CreateUInt8 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8
#define IPropertyValueStatics_CreateInt16 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16
#define IPropertyValueStatics_CreateUInt16 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16
#define IPropertyValueStatics_CreateInt32 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32
#define IPropertyValueStatics_CreateUInt32 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32
#define IPropertyValueStatics_CreateInt64 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64
#define IPropertyValueStatics_CreateUInt64 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64
#define IPropertyValueStatics_CreateSingle __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingle
#define IPropertyValueStatics_CreateDouble __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDouble
#define IPropertyValueStatics_CreateChar16 __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16
#define IPropertyValueStatics_CreateBoolean __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBoolean
#define IPropertyValueStatics_CreateString __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateString
#define IPropertyValueStatics_CreateInspectable __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectable
#define IPropertyValueStatics_CreateGuid __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuid
#define IPropertyValueStatics_CreateDateTime __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTime
#define IPropertyValueStatics_CreateTimeSpan __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpan
#define IPropertyValueStatics_CreatePoint __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePoint
#define IPropertyValueStatics_CreateSize __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSize
#define IPropertyValueStatics_CreateRect __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRect
#define IPropertyValueStatics_CreateUInt8Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt8Array
#define IPropertyValueStatics_CreateInt16Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt16Array
#define IPropertyValueStatics_CreateUInt16Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt16Array
#define IPropertyValueStatics_CreateInt32Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt32Array
#define IPropertyValueStatics_CreateUInt32Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt32Array
#define IPropertyValueStatics_CreateInt64Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInt64Array
#define IPropertyValueStatics_CreateUInt64Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateUInt64Array
#define IPropertyValueStatics_CreateSingleArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSingleArray
#define IPropertyValueStatics_CreateDoubleArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDoubleArray
#define IPropertyValueStatics_CreateChar16Array __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateChar16Array
#define IPropertyValueStatics_CreateBooleanArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateBooleanArray
#define IPropertyValueStatics_CreateStringArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateStringArray
#define IPropertyValueStatics_CreateInspectableArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateInspectableArray
#define IPropertyValueStatics_CreateGuidArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateGuidArray
#define IPropertyValueStatics_CreateDateTimeArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateDateTimeArray
#define IPropertyValueStatics_CreateTimeSpanArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateTimeSpanArray
#define IPropertyValueStatics_CreatePointArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreatePointArray
#define IPropertyValueStatics_CreateSizeArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateSizeArray
#define IPropertyValueStatics_CreateRectArray __x_ABI_CWindows_CFoundation_CIPropertyValueStatics_CreateRectArray
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IUriEscapeStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIUriEscapeStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriEscapeStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIUriEscapeStatics, 0xc1d432ba, 0xc824, 0x4452, 0xa7,0xfd, 0x51,0x2b,0xc3,0xbb,0xe9,0xa1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("c1d432ba-c824-4452-a7fd-512bc3bbe9a1")
            IUriEscapeStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE UnescapeComponent(
                    HSTRING to_unescape,
                    HSTRING *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE EscapeComponent(
                    HSTRING to_escape,
                    HSTRING *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics, 0xc1d432ba, 0xc824, 0x4452, 0xa7,0xfd, 0x51,0x2b,0xc3,0xbb,0xe9,0xa1)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIUriEscapeStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IUriEscapeStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *UnescapeComponent)(
        __x_ABI_CWindows_CFoundation_CIUriEscapeStatics *This,
        HSTRING to_unescape,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *EscapeComponent)(
        __x_ABI_CWindows_CFoundation_CIUriEscapeStatics *This,
        HSTRING to_escape,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIUriEscapeStaticsVtbl;

interface __x_ABI_CWindows_CFoundation_CIUriEscapeStatics {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIUriEscapeStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IUriEscapeStatics methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_UnescapeComponent(This,to_unescape,value) (This)->lpVtbl->UnescapeComponent(This,to_unescape,value)
#define __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_EscapeComponent(This,to_escape,value) (This)->lpVtbl->EscapeComponent(This,to_escape,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_QueryInterface(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_AddRef(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_Release(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetIids(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IUriEscapeStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_UnescapeComponent(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,HSTRING to_unescape,HSTRING *value) {
    return This->lpVtbl->UnescapeComponent(This,to_unescape,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_EscapeComponent(__x_ABI_CWindows_CFoundation_CIUriEscapeStatics* This,HSTRING to_escape,HSTRING *value) {
    return This->lpVtbl->EscapeComponent(This,to_escape,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IUriEscapeStatics IID___x_ABI_CWindows_CFoundation_CIUriEscapeStatics
#define IUriEscapeStaticsVtbl __x_ABI_CWindows_CFoundation_CIUriEscapeStaticsVtbl
#define IUriEscapeStatics __x_ABI_CWindows_CFoundation_CIUriEscapeStatics
#define IUriEscapeStatics_QueryInterface __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_QueryInterface
#define IUriEscapeStatics_AddRef __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_AddRef
#define IUriEscapeStatics_Release __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_Release
#define IUriEscapeStatics_GetIids __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetIids
#define IUriEscapeStatics_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetRuntimeClassName
#define IUriEscapeStatics_GetTrustLevel __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_GetTrustLevel
#define IUriEscapeStatics_UnescapeComponent __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_UnescapeComponent
#define IUriEscapeStatics_EscapeComponent __x_ABI_CWindows_CFoundation_CIUriEscapeStatics_EscapeComponent
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IUriRuntimeClass interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClass, 0x9e365e57, 0x48b2, 0x4160, 0x95,0x6f, 0xc7,0x38,0x51,0x20,0xbb,0xfc);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("9e365e57-48b2-4160-956f-c7385120bbfc")
            IUriRuntimeClass : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_AbsoluteUri(
                    HSTRING *value) = 0;

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

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

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

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

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

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

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

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

                virtual HRESULT STDMETHODCALLTYPE get_QueryParsed(
                    ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClass **decoder) = 0;

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

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

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

                virtual HRESULT STDMETHODCALLTYPE get_Port(
                    INT32 *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Suspicious(
                    boolean *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE Equals(
                    ABI::Windows::Foundation::IUriRuntimeClass *uri,
                    boolean *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CombineUri(
                    HSTRING relative_uri,
                    ABI::Windows::Foundation::IUriRuntimeClass **instance) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass, 0x9e365e57, 0x48b2, 0x4160, 0x95,0x6f, 0xc7,0x38,0x51,0x20,0xbb,0xfc)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIUriRuntimeClassVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IUriRuntimeClass methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AbsoluteUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_DisplayUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Domain)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Extension)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Fragment)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Host)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Password)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Path)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Query)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_QueryParsed)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass **decoder);

    HRESULT (STDMETHODCALLTYPE *get_RawUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_SchemeName)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_UserName)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Port)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        INT32 *value);

    HRESULT (STDMETHODCALLTYPE *get_Suspicious)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *Equals)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *uri,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *CombineUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *This,
        HSTRING relative_uri,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIUriRuntimeClassVtbl;

interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClass {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIUriRuntimeClassVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IUriRuntimeClass methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_AbsoluteUri(This,value) (This)->lpVtbl->get_AbsoluteUri(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_DisplayUri(This,value) (This)->lpVtbl->get_DisplayUri(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Domain(This,value) (This)->lpVtbl->get_Domain(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Extension(This,value) (This)->lpVtbl->get_Extension(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Fragment(This,value) (This)->lpVtbl->get_Fragment(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Host(This,value) (This)->lpVtbl->get_Host(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Password(This,value) (This)->lpVtbl->get_Password(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Path(This,value) (This)->lpVtbl->get_Path(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Query(This,value) (This)->lpVtbl->get_Query(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_QueryParsed(This,decoder) (This)->lpVtbl->get_QueryParsed(This,decoder)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_RawUri(This,value) (This)->lpVtbl->get_RawUri(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_SchemeName(This,value) (This)->lpVtbl->get_SchemeName(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_UserName(This,value) (This)->lpVtbl->get_UserName(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Port(This,value) (This)->lpVtbl->get_Port(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Suspicious(This,value) (This)->lpVtbl->get_Suspicious(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Equals(This,uri,value) (This)->lpVtbl->Equals(This,uri,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_CombineUri(This,relative_uri,instance) (This)->lpVtbl->CombineUri(This,relative_uri,instance)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_QueryInterface(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_AddRef(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Release(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetIids(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IUriRuntimeClass methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_AbsoluteUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_AbsoluteUri(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_DisplayUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_DisplayUri(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Domain(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Domain(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Extension(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Extension(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Fragment(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Fragment(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Host(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Host(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Password(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Password(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Path(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Path(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Query(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_Query(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_QueryParsed(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass **decoder) {
    return This->lpVtbl->get_QueryParsed(This,decoder);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_RawUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_RawUri(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_SchemeName(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_SchemeName(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_UserName(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING *value) {
    return This->lpVtbl->get_UserName(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Port(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,INT32 *value) {
    return This->lpVtbl->get_Port(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Suspicious(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,boolean *value) {
    return This->lpVtbl->get_Suspicious(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Equals(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass *uri,boolean *value) {
    return This->lpVtbl->Equals(This,uri,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_CombineUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClass* This,HSTRING relative_uri,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance) {
    return This->lpVtbl->CombineUri(This,relative_uri,instance);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IUriRuntimeClass IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClass
#define IUriRuntimeClassVtbl __x_ABI_CWindows_CFoundation_CIUriRuntimeClassVtbl
#define IUriRuntimeClass __x_ABI_CWindows_CFoundation_CIUriRuntimeClass
#define IUriRuntimeClass_QueryInterface __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_QueryInterface
#define IUriRuntimeClass_AddRef __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_AddRef
#define IUriRuntimeClass_Release __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Release
#define IUriRuntimeClass_GetIids __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetIids
#define IUriRuntimeClass_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetRuntimeClassName
#define IUriRuntimeClass_GetTrustLevel __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_GetTrustLevel
#define IUriRuntimeClass_get_AbsoluteUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_AbsoluteUri
#define IUriRuntimeClass_get_DisplayUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_DisplayUri
#define IUriRuntimeClass_get_Domain __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Domain
#define IUriRuntimeClass_get_Extension __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Extension
#define IUriRuntimeClass_get_Fragment __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Fragment
#define IUriRuntimeClass_get_Host __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Host
#define IUriRuntimeClass_get_Password __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Password
#define IUriRuntimeClass_get_Path __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Path
#define IUriRuntimeClass_get_Query __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Query
#define IUriRuntimeClass_get_QueryParsed __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_QueryParsed
#define IUriRuntimeClass_get_RawUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_RawUri
#define IUriRuntimeClass_get_SchemeName __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_SchemeName
#define IUriRuntimeClass_get_UserName __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_UserName
#define IUriRuntimeClass_get_Port __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Port
#define IUriRuntimeClass_get_Suspicious __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_get_Suspicious
#define IUriRuntimeClass_Equals __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_Equals
#define IUriRuntimeClass_CombineUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClass_CombineUri
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IUriRuntimeClassFactory interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory, 0x44a9796f, 0x723e, 0x4fdf, 0xa2,0x18, 0x03,0x3e,0x75,0xb0,0xc0,0x84);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("44a9796f-723e-4fdf-a218-033e75b0c084")
            IUriRuntimeClassFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateUri(
                    HSTRING uri,
                    ABI::Windows::Foundation::IUriRuntimeClass **instance) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateWithRelativeUri(
                    HSTRING base_uri,
                    HSTRING relative_uri,
                    ABI::Windows::Foundation::IUriRuntimeClass **instance) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory, 0x44a9796f, 0x723e, 0x4fdf, 0xa2,0x18, 0x03,0x3e,0x75,0xb0,0xc0,0x84)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IUriRuntimeClassFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory *This,
        HSTRING uri,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance);

    HRESULT (STDMETHODCALLTYPE *CreateWithRelativeUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory *This,
        HSTRING base_uri,
        HSTRING relative_uri,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IUriRuntimeClassFactory methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateUri(This,uri,instance) (This)->lpVtbl->CreateUri(This,uri,instance)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateWithRelativeUri(This,base_uri,relative_uri,instance) (This)->lpVtbl->CreateWithRelativeUri(This,base_uri,relative_uri,instance)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_QueryInterface(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_AddRef(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_Release(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetIids(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IUriRuntimeClassFactory methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,HSTRING uri,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance) {
    return This->lpVtbl->CreateUri(This,uri,instance);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateWithRelativeUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory* This,HSTRING base_uri,HSTRING relative_uri,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **instance) {
    return This->lpVtbl->CreateWithRelativeUri(This,base_uri,relative_uri,instance);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IUriRuntimeClassFactory IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory
#define IUriRuntimeClassFactoryVtbl __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactoryVtbl
#define IUriRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory
#define IUriRuntimeClassFactory_QueryInterface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_QueryInterface
#define IUriRuntimeClassFactory_AddRef __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_AddRef
#define IUriRuntimeClassFactory_Release __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_Release
#define IUriRuntimeClassFactory_GetIids __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetIids
#define IUriRuntimeClassFactory_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetRuntimeClassName
#define IUriRuntimeClassFactory_GetTrustLevel __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_GetTrustLevel
#define IUriRuntimeClassFactory_CreateUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateUri
#define IUriRuntimeClassFactory_CreateWithRelativeUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassFactory_CreateWithRelativeUri
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IUriRuntimeClassWithAbsoluteCanonicalUri interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri, 0x758d9661, 0x221c, 0x480f, 0xa3,0x39, 0x50,0x65,0x66,0x73,0xf4,0x6f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("758d9661-221c-480f-a339-50656673f46f")
            IUriRuntimeClassWithAbsoluteCanonicalUri : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_AbsoluteCanonicalUri(
                    HSTRING *value) = 0;

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

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri, 0x758d9661, 0x221c, 0x480f, 0xa3,0x39, 0x50,0x65,0x66,0x73,0xf4,0x6f)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUriVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IUriRuntimeClassWithAbsoluteCanonicalUri methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AbsoluteCanonicalUri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_DisplayIri)(
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUriVtbl;

interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IUriRuntimeClassWithAbsoluteCanonicalUri methods ***/
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_AbsoluteCanonicalUri(This,value) (This)->lpVtbl->get_AbsoluteCanonicalUri(This,value)
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_DisplayIri(This,value) (This)->lpVtbl->get_DisplayIri(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_QueryInterface(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_AddRef(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_Release(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetIids(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IUriRuntimeClassWithAbsoluteCanonicalUri methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_AbsoluteCanonicalUri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,HSTRING *value) {
    return This->lpVtbl->get_AbsoluteCanonicalUri(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_DisplayIri(__x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri* This,HSTRING *value) {
    return This->lpVtbl->get_DisplayIri(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IUriRuntimeClassWithAbsoluteCanonicalUri IID___x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri
#define IUriRuntimeClassWithAbsoluteCanonicalUriVtbl __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUriVtbl
#define IUriRuntimeClassWithAbsoluteCanonicalUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri
#define IUriRuntimeClassWithAbsoluteCanonicalUri_QueryInterface __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_QueryInterface
#define IUriRuntimeClassWithAbsoluteCanonicalUri_AddRef __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_AddRef
#define IUriRuntimeClassWithAbsoluteCanonicalUri_Release __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_Release
#define IUriRuntimeClassWithAbsoluteCanonicalUri_GetIids __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetIids
#define IUriRuntimeClassWithAbsoluteCanonicalUri_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetRuntimeClassName
#define IUriRuntimeClassWithAbsoluteCanonicalUri_GetTrustLevel __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_GetTrustLevel
#define IUriRuntimeClassWithAbsoluteCanonicalUri_get_AbsoluteCanonicalUri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_AbsoluteCanonicalUri
#define IUriRuntimeClassWithAbsoluteCanonicalUri_get_DisplayIri __x_ABI_CWindows_CFoundation_CIUriRuntimeClassWithAbsoluteCanonicalUri_get_DisplayIri
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IWwwFormUrlDecoderEntry interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry, 0x125e7431, 0xf678, 0x4e8e, 0xb6,0x70, 0x20,0xa9,0xb0,0x6c,0x51,0x2d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("125e7431-f678-4e8e-b670-20a9b06c512d")
            IWwwFormUrlDecoderEntry : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Name(
                    HSTRING *value) = 0;

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

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry, 0x125e7431, 0xf678, 0x4e8e, 0xb6,0x70, 0x20,0xa9,0xb0,0x6c,0x51,0x2d)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IWwwFormUrlDecoderEntry methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntryVtbl;

interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IWwwFormUrlDecoderEntry methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_QueryInterface(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_AddRef(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_Release(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetIids(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IWwwFormUrlDecoderEntry methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Name(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,HSTRING *value) {
    return This->lpVtbl->get_Name(This,value);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Value(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry* This,HSTRING *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IWwwFormUrlDecoderEntry IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry
#define IWwwFormUrlDecoderEntryVtbl __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntryVtbl
#define IWwwFormUrlDecoderEntry __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry
#define IWwwFormUrlDecoderEntry_QueryInterface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_QueryInterface
#define IWwwFormUrlDecoderEntry_AddRef __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_AddRef
#define IWwwFormUrlDecoderEntry_Release __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_Release
#define IWwwFormUrlDecoderEntry_GetIids __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetIids
#define IWwwFormUrlDecoderEntry_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetRuntimeClassName
#define IWwwFormUrlDecoderEntry_GetTrustLevel __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_GetTrustLevel
#define IWwwFormUrlDecoderEntry_get_Name __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Name
#define IWwwFormUrlDecoderEntry_get_Value __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IWwwFormUrlDecoderRuntimeClass interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass, 0xd45a0451, 0xf225, 0x4542, 0x92,0x96, 0x0e,0x1d,0xf5,0xd2,0x54,0xdf);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("d45a0451-f225-4542-9296-0e1df5d254df")
            IWwwFormUrlDecoderRuntimeClass : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetFirstValueByName(
                    HSTRING name,
                    HSTRING *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass, 0xd45a0451, 0xf225, 0x4542, 0x92,0x96, 0x0e,0x1d,0xf5,0xd2,0x54,0xdf)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IWwwFormUrlDecoderRuntimeClass methods ***/
    HRESULT (STDMETHODCALLTYPE *GetFirstValueByName)(
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass *This,
        HSTRING name,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassVtbl;

interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IWwwFormUrlDecoderRuntimeClass methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetFirstValueByName(This,name,value) (This)->lpVtbl->GetFirstValueByName(This,name,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_QueryInterface(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_AddRef(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_Release(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetIids(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IWwwFormUrlDecoderRuntimeClass methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetFirstValueByName(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass* This,HSTRING name,HSTRING *value) {
    return This->lpVtbl->GetFirstValueByName(This,name,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IWwwFormUrlDecoderRuntimeClass IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass
#define IWwwFormUrlDecoderRuntimeClassVtbl __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassVtbl
#define IWwwFormUrlDecoderRuntimeClass __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass
#define IWwwFormUrlDecoderRuntimeClass_QueryInterface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_QueryInterface
#define IWwwFormUrlDecoderRuntimeClass_AddRef __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_AddRef
#define IWwwFormUrlDecoderRuntimeClass_Release __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_Release
#define IWwwFormUrlDecoderRuntimeClass_GetIids __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetIids
#define IWwwFormUrlDecoderRuntimeClass_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetRuntimeClassName
#define IWwwFormUrlDecoderRuntimeClass_GetTrustLevel __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetTrustLevel
#define IWwwFormUrlDecoderRuntimeClass_GetFirstValueByName __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass_GetFirstValueByName
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*****************************************************************************
 * IWwwFormUrlDecoderRuntimeClassFactory interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory, 0x5b8c6b3d, 0x24ae, 0x41b5, 0xa1,0xbf, 0xf0,0xc3,0xd5,0x44,0x84,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("5b8c6b3d-24ae-41b5-a1bf-f0c3d544845b")
            IWwwFormUrlDecoderRuntimeClassFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateWwwFormUrlDecoder(
                    HSTRING query,
                    ABI::Windows::Foundation::IWwwFormUrlDecoderRuntimeClass **instance) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory, 0x5b8c6b3d, 0x24ae, 0x41b5, 0xa1,0xbf, 0xf0,0xc3,0xd5,0x44,0x84,0x5b)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IWwwFormUrlDecoderRuntimeClassFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateWwwFormUrlDecoder)(
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory *This,
        HSTRING query,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass **instance);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactoryVtbl;

interface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IWwwFormUrlDecoderRuntimeClassFactory methods ***/
#define __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_CreateWwwFormUrlDecoder(This,query,instance) (This)->lpVtbl->CreateWwwFormUrlDecoder(This,query,instance)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_QueryInterface(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_AddRef(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_Release(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetIids(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IWwwFormUrlDecoderRuntimeClassFactory methods ***/
static inline HRESULT __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_CreateWwwFormUrlDecoder(__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory* This,HSTRING query,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClass **instance) {
    return This->lpVtbl->CreateWwwFormUrlDecoder(This,query,instance);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IWwwFormUrlDecoderRuntimeClassFactory IID___x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory
#define IWwwFormUrlDecoderRuntimeClassFactoryVtbl __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactoryVtbl
#define IWwwFormUrlDecoderRuntimeClassFactory __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory
#define IWwwFormUrlDecoderRuntimeClassFactory_QueryInterface __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_QueryInterface
#define IWwwFormUrlDecoderRuntimeClassFactory_AddRef __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_AddRef
#define IWwwFormUrlDecoderRuntimeClassFactory_Release __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_Release
#define IWwwFormUrlDecoderRuntimeClassFactory_GetIids __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetIids
#define IWwwFormUrlDecoderRuntimeClassFactory_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetRuntimeClassName
#define IWwwFormUrlDecoderRuntimeClassFactory_GetTrustLevel __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_GetTrustLevel
#define IWwwFormUrlDecoderRuntimeClassFactory_CreateWwwFormUrlDecoder __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderRuntimeClassFactory_CreateWwwFormUrlDecoder
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

/*
 * Class Windows.Foundation.Deferral
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_Deferral_DEFINED
#define RUNTIMECLASS_Windows_Foundation_Deferral_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_Deferral[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','D','e','f','e','r','r','a','l',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Deferral[] = L"Windows.Foundation.Deferral";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_Deferral[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','D','e','f','e','r','r','a','l',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_Deferral_DEFINED */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_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 */

/*
 * Class Windows.Foundation.PropertyValue
 */
#if WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_PropertyValue_DEFINED
#define RUNTIMECLASS_Windows_Foundation_PropertyValue_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_PropertyValue[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','P','r','o','p','e','r','t','y','V','a','l','u','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_PropertyValue[] = L"Windows.Foundation.PropertyValue";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_PropertyValue[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','P','r','o','p','e','r','t','y','V','a','l','u','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_PropertyValue_DEFINED */
#endif /* WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION >= 0x10000 */

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

/*
 * Class Windows.Foundation.WwwFormUrlDecoder
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Foundation_WwwFormUrlDecoder_DEFINED
#define RUNTIMECLASS_Windows_Foundation_WwwFormUrlDecoder_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Foundation_WwwFormUrlDecoder[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','W','w','w','F','o','r','m','U','r','l','D','e','c','o','d','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_WwwFormUrlDecoder[] = L"Windows.Foundation.WwwFormUrlDecoder";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Foundation_WwwFormUrlDecoder[] = {'W','i','n','d','o','w','s','.','F','o','u','n','d','a','t','i','o','n','.','W','w','w','F','o','r','m','U','r','l','D','e','c','o','d','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Foundation_WwwFormUrlDecoder_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

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

/*****************************************************************************
 * IKeyValuePair<HSTRING,HSTRING > interface
 */
#ifndef ____FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIKeyValuePair_2_HSTRING_HSTRING, 0x60310303, 0x49c5, 0x52e6, 0xab,0xc6, 0xa9,0xb3,0x6e,0xcc,0xc7,0x16);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("60310303-49c5-52e6-abc6-a9b36eccc716")
                IKeyValuePair<HSTRING,HSTRING > : IKeyValuePair_impl<HSTRING, HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIKeyValuePair_2_HSTRING_HSTRING, 0x60310303, 0x49c5, 0x52e6, 0xab,0xc6, 0xa9,0xb3,0x6e,0xcc,0xc7,0x16)
#endif
#else
typedef struct __FIKeyValuePair_2_HSTRING_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIKeyValuePair_2_HSTRING_HSTRING *This,
        HSTRING *value);

    END_INTERFACE
} __FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

interface __FIKeyValuePair_2_HSTRING_HSTRING {
    CONST_VTBL __FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIKeyValuePair_2_HSTRING_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIKeyValuePair_2_HSTRING_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIKeyValuePair_2_HSTRING_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyValuePair<HSTRING,HSTRING > methods ***/
#define __FIKeyValuePair_2_HSTRING_HSTRING_get_Key(This,key) (This)->lpVtbl->get_Key(This,key)
#define __FIKeyValuePair_2_HSTRING_HSTRING_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(__FIKeyValuePair_2_HSTRING_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIKeyValuePair_2_HSTRING_HSTRING_AddRef(__FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIKeyValuePair_2_HSTRING_HSTRING_Release(__FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_GetIids(__FIKeyValuePair_2_HSTRING_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(__FIKeyValuePair_2_HSTRING_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(__FIKeyValuePair_2_HSTRING_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyValuePair<HSTRING,HSTRING > methods ***/
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_get_Key(__FIKeyValuePair_2_HSTRING_HSTRING* This,HSTRING *key) {
    return This->lpVtbl->get_Key(This,key);
}
static inline HRESULT __FIKeyValuePair_2_HSTRING_HSTRING_get_Value(__FIKeyValuePair_2_HSTRING_HSTRING* This,HSTRING *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IKeyValuePair_HSTRING_HSTRING IID___FIKeyValuePair_2_HSTRING_HSTRING
#define IKeyValuePair_HSTRING_HSTRINGVtbl __FIKeyValuePair_2_HSTRING_HSTRINGVtbl
#define IKeyValuePair_HSTRING_HSTRING __FIKeyValuePair_2_HSTRING_HSTRING
#define IKeyValuePair_HSTRING_HSTRING_QueryInterface __FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface
#define IKeyValuePair_HSTRING_HSTRING_AddRef __FIKeyValuePair_2_HSTRING_HSTRING_AddRef
#define IKeyValuePair_HSTRING_HSTRING_Release __FIKeyValuePair_2_HSTRING_HSTRING_Release
#define IKeyValuePair_HSTRING_HSTRING_GetIids __FIKeyValuePair_2_HSTRING_HSTRING_GetIids
#define IKeyValuePair_HSTRING_HSTRING_GetRuntimeClassName __FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName
#define IKeyValuePair_HSTRING_HSTRING_GetTrustLevel __FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel
#define IKeyValuePair_HSTRING_HSTRING_get_Key __FIKeyValuePair_2_HSTRING_HSTRING_get_Key
#define IKeyValuePair_HSTRING_HSTRING_get_Value __FIKeyValuePair_2_HSTRING_HSTRING_get_Value
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

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

DEFINE_GUID(IID___FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING, 0xe9bdaaf0, 0xcbf6, 0x5c72, 0xbe,0x90, 0x29,0xcb,0xf3,0xa1,0x31,0x9b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("e9bdaaf0-cbf6-5c72-be90-29cbf3a1319b")
                IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > : IIterable_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING, 0xe9bdaaf0, 0xcbf6, 0x5c72, 0xbe,0x90, 0x29,0xcb,0xf3,0xa1,0x31,0x9b)
#endif
#else
typedef struct __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

interface __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING {
    CONST_VTBL __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > methods ***/
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_Release(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_First(__FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING* This,__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_IKeyValuePair_HSTRING_HSTRING IID___FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING
#define IIterable_IKeyValuePair_HSTRING_HSTRINGVtbl __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl
#define IIterable_IKeyValuePair_HSTRING_HSTRING __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING
#define IIterable_IKeyValuePair_HSTRING_HSTRING_QueryInterface __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface
#define IIterable_IKeyValuePair_HSTRING_HSTRING_AddRef __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef
#define IIterable_IKeyValuePair_HSTRING_HSTRING_Release __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_Release
#define IIterable_IKeyValuePair_HSTRING_HSTRING_GetIids __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids
#define IIterable_IKeyValuePair_HSTRING_HSTRING_GetRuntimeClassName __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName
#define IIterable_IKeyValuePair_HSTRING_HSTRING_GetTrustLevel __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel
#define IIterable_IKeyValuePair_HSTRING_HSTRING_First __FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1___FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

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

DEFINE_GUID(IID___FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING, 0x05eb86f1, 0x7140, 0x5517, 0xb8,0x8d, 0xcb,0xae,0xbe,0x57,0xe6,0xb1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("05eb86f1-7140-5517-b88d-cbaebe57e6b1")
                IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > : IIterator_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING, 0x05eb86f1, 0x7140, 0x5517, 0xb8,0x8d, 0xcb,0xae,0xbe,0x57,0xe6,0xb1)
#endif
#else
typedef struct __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING *This,
        UINT32 items_size,
        __FIKeyValuePair_2_HSTRING_HSTRING **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

interface __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING {
    CONST_VTBL __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > methods ***/
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_Release(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,HSTRING >* > methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_Current(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,__FIKeyValuePair_2_HSTRING_HSTRING **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_HasCurrent(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_MoveNext(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetMany(__FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING* This,UINT32 items_size,__FIKeyValuePair_2_HSTRING_HSTRING **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_IKeyValuePair_HSTRING_HSTRING IID___FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING
#define IIterator_IKeyValuePair_HSTRING_HSTRINGVtbl __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRINGVtbl
#define IIterator_IKeyValuePair_HSTRING_HSTRING __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING
#define IIterator_IKeyValuePair_HSTRING_HSTRING_QueryInterface __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_QueryInterface
#define IIterator_IKeyValuePair_HSTRING_HSTRING_AddRef __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_AddRef
#define IIterator_IKeyValuePair_HSTRING_HSTRING_Release __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_Release
#define IIterator_IKeyValuePair_HSTRING_HSTRING_GetIids __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetIids
#define IIterator_IKeyValuePair_HSTRING_HSTRING_GetRuntimeClassName __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetRuntimeClassName
#define IIterator_IKeyValuePair_HSTRING_HSTRING_GetTrustLevel __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetTrustLevel
#define IIterator_IKeyValuePair_HSTRING_HSTRING_get_Current __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_Current
#define IIterator_IKeyValuePair_HSTRING_HSTRING_get_HasCurrent __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_get_HasCurrent
#define IIterator_IKeyValuePair_HSTRING_HSTRING_MoveNext __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_MoveNext
#define IIterator_IKeyValuePair_HSTRING_HSTRING_GetMany __FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1___FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable {
    CONST_VTBL __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIMapChangedEventArgs_1_HSTRINGVtbl;

interface __FIMapChangedEventArgs_1_HSTRING {
    CONST_VTBL __FIMapChangedEventArgs_1_HSTRINGVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl;

interface __FIMapChangedEventHandler_2_HSTRING_IInspectable {
    CONST_VTBL __FIMapChangedEventHandler_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMap<HSTRING,HSTRING > interface
 */
#ifndef ____FIMap_2_HSTRING_HSTRING_INTERFACE_DEFINED__
#define ____FIMap_2_HSTRING_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMap_2_HSTRING_HSTRING, 0xf6d1f700, 0x49c2, 0x52ae, 0x81,0x54, 0x82,0x6f,0x99,0x08,0x77,0x3c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("f6d1f700-49c2-52ae-8154-826f9908773c")
                IMap<HSTRING,HSTRING > : IMap_impl<HSTRING, HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMap_2_HSTRING_HSTRING, 0xf6d1f700, 0x49c2, 0x52ae, 0x81,0x54, 0x82,0x6f,0x99,0x08,0x77,0x3c)
#endif
#else
typedef struct __FIMap_2_HSTRING_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

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

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

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIMap_2_HSTRING_HSTRING *This,
        __FIMapView_2_HSTRING_HSTRING **view);

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

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

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

    END_INTERFACE
} __FIMap_2_HSTRING_HSTRINGVtbl;

interface __FIMap_2_HSTRING_HSTRING {
    CONST_VTBL __FIMap_2_HSTRING_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMap_2_HSTRING_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMap_2_HSTRING_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMap_2_HSTRING_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMap_2_HSTRING_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMap_2_HSTRING_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMap_2_HSTRING_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMap<HSTRING,HSTRING > methods ***/
#define __FIMap_2_HSTRING_HSTRING_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMap_2_HSTRING_HSTRING_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMap_2_HSTRING_HSTRING_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMap_2_HSTRING_HSTRING_GetView(This,view) (This)->lpVtbl->GetView(This,view)
#define __FIMap_2_HSTRING_HSTRING_Insert(This,key,value,replaced) (This)->lpVtbl->Insert(This,key,value,replaced)
#define __FIMap_2_HSTRING_HSTRING_Remove(This,key) (This)->lpVtbl->Remove(This,key)
#define __FIMap_2_HSTRING_HSTRING_Clear(This) (This)->lpVtbl->Clear(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIMap_2_HSTRING_HSTRING_QueryInterface(__FIMap_2_HSTRING_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIMap_2_HSTRING_HSTRING_AddRef(__FIMap_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIMap_2_HSTRING_HSTRING_Release(__FIMap_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIMap_2_HSTRING_HSTRING_GetIids(__FIMap_2_HSTRING_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_GetRuntimeClassName(__FIMap_2_HSTRING_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_GetTrustLevel(__FIMap_2_HSTRING_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMap<HSTRING,HSTRING > methods ***/
static inline HRESULT __FIMap_2_HSTRING_HSTRING_Lookup(__FIMap_2_HSTRING_HSTRING* This,HSTRING key,HSTRING *value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_get_Size(__FIMap_2_HSTRING_HSTRING* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_HasKey(__FIMap_2_HSTRING_HSTRING* This,HSTRING key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_GetView(__FIMap_2_HSTRING_HSTRING* This,__FIMapView_2_HSTRING_HSTRING **view) {
    return This->lpVtbl->GetView(This,view);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_Insert(__FIMap_2_HSTRING_HSTRING* This,HSTRING key,HSTRING value,boolean *replaced) {
    return This->lpVtbl->Insert(This,key,value,replaced);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_Remove(__FIMap_2_HSTRING_HSTRING* This,HSTRING key) {
    return This->lpVtbl->Remove(This,key);
}
static inline HRESULT __FIMap_2_HSTRING_HSTRING_Clear(__FIMap_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Clear(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMap_HSTRING_HSTRING IID___FIMap_2_HSTRING_HSTRING
#define IMap_HSTRING_HSTRINGVtbl __FIMap_2_HSTRING_HSTRINGVtbl
#define IMap_HSTRING_HSTRING __FIMap_2_HSTRING_HSTRING
#define IMap_HSTRING_HSTRING_QueryInterface __FIMap_2_HSTRING_HSTRING_QueryInterface
#define IMap_HSTRING_HSTRING_AddRef __FIMap_2_HSTRING_HSTRING_AddRef
#define IMap_HSTRING_HSTRING_Release __FIMap_2_HSTRING_HSTRING_Release
#define IMap_HSTRING_HSTRING_GetIids __FIMap_2_HSTRING_HSTRING_GetIids
#define IMap_HSTRING_HSTRING_GetRuntimeClassName __FIMap_2_HSTRING_HSTRING_GetRuntimeClassName
#define IMap_HSTRING_HSTRING_GetTrustLevel __FIMap_2_HSTRING_HSTRING_GetTrustLevel
#define IMap_HSTRING_HSTRING_Lookup __FIMap_2_HSTRING_HSTRING_Lookup
#define IMap_HSTRING_HSTRING_get_Size __FIMap_2_HSTRING_HSTRING_get_Size
#define IMap_HSTRING_HSTRING_HasKey __FIMap_2_HSTRING_HSTRING_HasKey
#define IMap_HSTRING_HSTRING_GetView __FIMap_2_HSTRING_HSTRING_GetView
#define IMap_HSTRING_HSTRING_Insert __FIMap_2_HSTRING_HSTRING_Insert
#define IMap_HSTRING_HSTRING_Remove __FIMap_2_HSTRING_HSTRING_Remove
#define IMap_HSTRING_HSTRING_Clear __FIMap_2_HSTRING_HSTRING_Clear
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMap_2_HSTRING_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIMap_2_HSTRING_IInspectableVtbl;

interface __FIMap_2_HSTRING_IInspectable {
    CONST_VTBL __FIMap_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapView<HSTRING,HSTRING > interface
 */
#ifndef ____FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__
#define ____FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapView_2_HSTRING_HSTRING, 0xac7f26f2, 0xfeb7, 0x5b2a, 0x8a,0xc4, 0x34,0x5b,0xc6,0x2c,0xae,0xde);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("ac7f26f2-feb7-5b2a-8ac4-345bc62caede")
                IMapView<HSTRING,HSTRING > : IMapView_impl<HSTRING, HSTRING >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapView_2_HSTRING_HSTRING, 0xac7f26f2, 0xfeb7, 0x5b2a, 0x8a,0xc4, 0x34,0x5b,0xc6,0x2c,0xae,0xde)
#endif
#else
typedef struct __FIMapView_2_HSTRING_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIMapView_2_HSTRING_HSTRINGVtbl;

interface __FIMapView_2_HSTRING_HSTRING {
    CONST_VTBL __FIMapView_2_HSTRING_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapView_2_HSTRING_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapView_2_HSTRING_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapView_2_HSTRING_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMapView_2_HSTRING_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMapView_2_HSTRING_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMapView_2_HSTRING_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMapView<HSTRING,HSTRING > methods ***/
#define __FIMapView_2_HSTRING_HSTRING_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMapView_2_HSTRING_HSTRING_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMapView_2_HSTRING_HSTRING_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMapView_2_HSTRING_HSTRING_Split(This,first,second) (This)->lpVtbl->Split(This,first,second)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_QueryInterface(__FIMapView_2_HSTRING_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIMapView_2_HSTRING_HSTRING_AddRef(__FIMapView_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIMapView_2_HSTRING_HSTRING_Release(__FIMapView_2_HSTRING_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_GetIids(__FIMapView_2_HSTRING_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_GetRuntimeClassName(__FIMapView_2_HSTRING_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_GetTrustLevel(__FIMapView_2_HSTRING_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMapView<HSTRING,HSTRING > methods ***/
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_Lookup(__FIMapView_2_HSTRING_HSTRING* This,HSTRING key,HSTRING *value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_get_Size(__FIMapView_2_HSTRING_HSTRING* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_HasKey(__FIMapView_2_HSTRING_HSTRING* This,HSTRING key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static inline HRESULT __FIMapView_2_HSTRING_HSTRING_Split(__FIMapView_2_HSTRING_HSTRING* This,__FIMapView_2_HSTRING_HSTRING **first,__FIMapView_2_HSTRING_HSTRING **second) {
    return This->lpVtbl->Split(This,first,second);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapView_HSTRING_HSTRING IID___FIMapView_2_HSTRING_HSTRING
#define IMapView_HSTRING_HSTRINGVtbl __FIMapView_2_HSTRING_HSTRINGVtbl
#define IMapView_HSTRING_HSTRING __FIMapView_2_HSTRING_HSTRING
#define IMapView_HSTRING_HSTRING_QueryInterface __FIMapView_2_HSTRING_HSTRING_QueryInterface
#define IMapView_HSTRING_HSTRING_AddRef __FIMapView_2_HSTRING_HSTRING_AddRef
#define IMapView_HSTRING_HSTRING_Release __FIMapView_2_HSTRING_HSTRING_Release
#define IMapView_HSTRING_HSTRING_GetIids __FIMapView_2_HSTRING_HSTRING_GetIids
#define IMapView_HSTRING_HSTRING_GetRuntimeClassName __FIMapView_2_HSTRING_HSTRING_GetRuntimeClassName
#define IMapView_HSTRING_HSTRING_GetTrustLevel __FIMapView_2_HSTRING_HSTRING_GetTrustLevel
#define IMapView_HSTRING_HSTRING_Lookup __FIMapView_2_HSTRING_HSTRING_Lookup
#define IMapView_HSTRING_HSTRING_get_Size __FIMapView_2_HSTRING_HSTRING_get_Size
#define IMapView_HSTRING_HSTRING_HasKey __FIMapView_2_HSTRING_HSTRING_HasKey
#define IMapView_HSTRING_HSTRING_Split __FIMapView_2_HSTRING_HSTRING_Split
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIMapView_2_HSTRING_IInspectableVtbl;

interface __FIMapView_2_HSTRING_IInspectable {
    CONST_VTBL __FIMapView_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIObservableMap_2_HSTRING_IInspectableVtbl;

interface __FIObservableMap_2_HSTRING_IInspectable {
    CONST_VTBL __FIObservableMap_2_HSTRING_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterable_1_HSTRINGVtbl;

interface __FIIterable_1_HSTRING {
    CONST_VTBL __FIIterable_1_HSTRINGVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterable_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterable_1_IInspectableVtbl;

interface __FIIterable_1_IInspectable {
    CONST_VTBL __FIIterable_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterable_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > interface
 */
#ifndef ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0x876be83b, 0x7218, 0x5bfb, 0xa1,0x69, 0x83,0x15,0x2e,0xf7,0xe1,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("876be83b-7218-5bfb-a169-83152ef7e146")
                IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > : IIterable_impl<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0x876be83b, 0x7218, 0x5bfb, 0xa1,0x69, 0x83,0x15,0x2e,0xf7,0xe1,0x46)
#endif
#else
typedef struct __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry **value);

    END_INTERFACE
} __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl;

interface __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry {
    CONST_VTBL __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
#define __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_First(__FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_IWwwFormUrlDecoderEntry IID___FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IIterable_IWwwFormUrlDecoderEntryVtbl __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl
#define IIterable_IWwwFormUrlDecoderEntry __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IIterable_IWwwFormUrlDecoderEntry_QueryInterface __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface
#define IIterable_IWwwFormUrlDecoderEntry_AddRef __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef
#define IIterable_IWwwFormUrlDecoderEntry_Release __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release
#define IIterable_IWwwFormUrlDecoderEntry_GetIids __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids
#define IIterable_IWwwFormUrlDecoderEntry_GetRuntimeClassName __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName
#define IIterable_IWwwFormUrlDecoderEntry_GetTrustLevel __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel
#define IIterable_IWwwFormUrlDecoderEntry_First __FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Foundation::Uri* > interface
 */
#ifndef ____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CFoundation__CUri, 0xb0d63b78, 0x78ad, 0x5e31, 0xb6,0xd8, 0xe3,0x2a,0x0e,0x16,0xc4,0x47);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("b0d63b78-78ad-5e31-b6d8-e32a0e16c447")
                IIterable<ABI::Windows::Foundation::Uri* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CFoundation__CUri, 0xb0d63b78, 0x78ad, 0x5e31, 0xb6,0xd8, 0xe3,0x2a,0x0e,0x16,0xc4,0x47)
#endif
#else
typedef struct __FIIterable_1_Windows__CFoundation__CUriVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Foundation::Uri* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CFoundation__CUri *This,
        __FIIterator_1_Windows__CFoundation__CUri **value);

    END_INTERFACE
} __FIIterable_1_Windows__CFoundation__CUriVtbl;

interface __FIIterable_1_Windows__CFoundation__CUri {
    CONST_VTBL __FIIterable_1_Windows__CFoundation__CUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CFoundation__CUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CFoundation__CUri_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Foundation::Uri* > methods ***/
#define __FIIterable_1_Windows__CFoundation__CUri_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CUri_QueryInterface(__FIIterable_1_Windows__CFoundation__CUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CFoundation__CUri_AddRef(__FIIterable_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CFoundation__CUri_Release(__FIIterable_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CUri_GetIids(__FIIterable_1_Windows__CFoundation__CUri* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CFoundation__CUri_GetRuntimeClassName(__FIIterable_1_Windows__CFoundation__CUri* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CFoundation__CUri_GetTrustLevel(__FIIterable_1_Windows__CFoundation__CUri* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Foundation::Uri* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CFoundation__CUri_First(__FIIterable_1_Windows__CFoundation__CUri* This,__FIIterator_1_Windows__CFoundation__CUri **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_Uri IID___FIIterable_1_Windows__CFoundation__CUri
#define IIterable_UriVtbl __FIIterable_1_Windows__CFoundation__CUriVtbl
#define IIterable_Uri __FIIterable_1_Windows__CFoundation__CUri
#define IIterable_Uri_QueryInterface __FIIterable_1_Windows__CFoundation__CUri_QueryInterface
#define IIterable_Uri_AddRef __FIIterable_1_Windows__CFoundation__CUri_AddRef
#define IIterable_Uri_Release __FIIterable_1_Windows__CFoundation__CUri_Release
#define IIterable_Uri_GetIids __FIIterable_1_Windows__CFoundation__CUri_GetIids
#define IIterable_Uri_GetRuntimeClassName __FIIterable_1_Windows__CFoundation__CUri_GetRuntimeClassName
#define IIterable_Uri_GetTrustLevel __FIIterable_1_Windows__CFoundation__CUri_GetTrustLevel
#define IIterable_Uri_First __FIIterable_1_Windows__CFoundation__CUri_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterator_1_HSTRINGVtbl;

interface __FIIterator_1_HSTRING {
    CONST_VTBL __FIIterator_1_HSTRINGVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterator_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIIterator_1_IInspectableVtbl;

interface __FIIterator_1_IInspectable {
    CONST_VTBL __FIIterator_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIIterator_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > interface
 */
#ifndef ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0x32e54295, 0x373c, 0x50cb, 0x80,0xa1, 0x46,0x8a,0x99,0x0c,0xa7,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("32e54295-373c-50cb-80a1-468a990ca780")
                IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > : IIterator_impl<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0x32e54295, 0x373c, 0x50cb, 0x80,0xa1, 0x46,0x8a,0x99,0x0c,0xa7,0x80)
#endif
#else
typedef struct __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        UINT32 items_size,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl;

interface __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry {
    CONST_VTBL __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Current(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_HasCurrent(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_MoveNext(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany(__FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,UINT32 items_size,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_IWwwFormUrlDecoderEntry IID___FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IIterator_IWwwFormUrlDecoderEntryVtbl __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl
#define IIterator_IWwwFormUrlDecoderEntry __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IIterator_IWwwFormUrlDecoderEntry_QueryInterface __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface
#define IIterator_IWwwFormUrlDecoderEntry_AddRef __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef
#define IIterator_IWwwFormUrlDecoderEntry_Release __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release
#define IIterator_IWwwFormUrlDecoderEntry_GetIids __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids
#define IIterator_IWwwFormUrlDecoderEntry_GetRuntimeClassName __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName
#define IIterator_IWwwFormUrlDecoderEntry_GetTrustLevel __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel
#define IIterator_IWwwFormUrlDecoderEntry_get_Current __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Current
#define IIterator_IWwwFormUrlDecoderEntry_get_HasCurrent __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_HasCurrent
#define IIterator_IWwwFormUrlDecoderEntry_MoveNext __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_MoveNext
#define IIterator_IWwwFormUrlDecoderEntry_GetMany __FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Foundation::Uri* > interface
 */
#ifndef ____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CFoundation__CUri, 0x1c157d0f, 0x5efe, 0x5cec, 0xbb,0xd6, 0x0c,0x6c,0xe9,0xaf,0x07,0xa5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("1c157d0f-5efe-5cec-bbd6-0c6ce9af07a5")
                IIterator<ABI::Windows::Foundation::Uri* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CFoundation__CUri, 0x1c157d0f, 0x5efe, 0x5cec, 0xbb,0xd6, 0x0c,0x6c,0xe9,0xaf,0x07,0xa5)
#endif
#else
typedef struct __FIIterator_1_Windows__CFoundation__CUriVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Foundation::Uri* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CFoundation__CUri *This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CFoundation__CUri *This,
        UINT32 items_size,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CFoundation__CUriVtbl;

interface __FIIterator_1_Windows__CFoundation__CUri {
    CONST_VTBL __FIIterator_1_Windows__CFoundation__CUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CFoundation__CUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CFoundation__CUri_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Foundation::Uri* > methods ***/
#define __FIIterator_1_Windows__CFoundation__CUri_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CFoundation__CUri_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CFoundation__CUri_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CFoundation__CUri_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_QueryInterface(__FIIterator_1_Windows__CFoundation__CUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CFoundation__CUri_AddRef(__FIIterator_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CFoundation__CUri_Release(__FIIterator_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_GetIids(__FIIterator_1_Windows__CFoundation__CUri* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_GetRuntimeClassName(__FIIterator_1_Windows__CFoundation__CUri* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_GetTrustLevel(__FIIterator_1_Windows__CFoundation__CUri* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Foundation::Uri* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_get_Current(__FIIterator_1_Windows__CFoundation__CUri* This,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_get_HasCurrent(__FIIterator_1_Windows__CFoundation__CUri* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_MoveNext(__FIIterator_1_Windows__CFoundation__CUri* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CFoundation__CUri_GetMany(__FIIterator_1_Windows__CFoundation__CUri* This,UINT32 items_size,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_Uri IID___FIIterator_1_Windows__CFoundation__CUri
#define IIterator_UriVtbl __FIIterator_1_Windows__CFoundation__CUriVtbl
#define IIterator_Uri __FIIterator_1_Windows__CFoundation__CUri
#define IIterator_Uri_QueryInterface __FIIterator_1_Windows__CFoundation__CUri_QueryInterface
#define IIterator_Uri_AddRef __FIIterator_1_Windows__CFoundation__CUri_AddRef
#define IIterator_Uri_Release __FIIterator_1_Windows__CFoundation__CUri_Release
#define IIterator_Uri_GetIids __FIIterator_1_Windows__CFoundation__CUri_GetIids
#define IIterator_Uri_GetRuntimeClassName __FIIterator_1_Windows__CFoundation__CUri_GetRuntimeClassName
#define IIterator_Uri_GetTrustLevel __FIIterator_1_Windows__CFoundation__CUri_GetTrustLevel
#define IIterator_Uri_get_Current __FIIterator_1_Windows__CFoundation__CUri_get_Current
#define IIterator_Uri_get_HasCurrent __FIIterator_1_Windows__CFoundation__CUri_get_HasCurrent
#define IIterator_Uri_MoveNext __FIIterator_1_Windows__CFoundation__CUri_MoveNext
#define IIterator_Uri_GetMany __FIIterator_1_Windows__CFoundation__CUri_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<BYTE > interface
 */
#ifndef ____FIVectorView_1_BYTE_INTERFACE_DEFINED__
#define ____FIVectorView_1_BYTE_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_BYTE, 0x6d05fb29, 0x7885, 0x544e, 0x93,0x82, 0xa1,0xad,0x39,0x1a,0x3f,0xa4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("6d05fb29-7885-544e-9382-a1ad391a3fa4")
                IVectorView<BYTE > : IVectorView_impl<BYTE >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_BYTE, 0x6d05fb29, 0x7885, 0x544e, 0x93,0x82, 0xa1,0xad,0x39,0x1a,0x3f,0xa4)
#endif
#else
typedef struct __FIVectorView_1_BYTEVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_BYTE *This,
        BYTE element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_BYTE *This,
        UINT32 start_index,
        UINT32 items_size,
        BYTE *items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_BYTEVtbl;

interface __FIVectorView_1_BYTE {
    CONST_VTBL __FIVectorView_1_BYTEVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_BYTE_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_BYTE_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_BYTE_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_BYTE_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_BYTE_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_BYTE_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<BYTE > methods ***/
#define __FIVectorView_1_BYTE_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_BYTE_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_BYTE_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_BYTE_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_BYTE_QueryInterface(__FIVectorView_1_BYTE* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_BYTE_AddRef(__FIVectorView_1_BYTE* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_BYTE_Release(__FIVectorView_1_BYTE* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_BYTE_GetIids(__FIVectorView_1_BYTE* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_BYTE_GetRuntimeClassName(__FIVectorView_1_BYTE* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_BYTE_GetTrustLevel(__FIVectorView_1_BYTE* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<BYTE > methods ***/
static inline HRESULT __FIVectorView_1_BYTE_GetAt(__FIVectorView_1_BYTE* This,UINT32 index,BYTE *value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_BYTE_get_Size(__FIVectorView_1_BYTE* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_BYTE_IndexOf(__FIVectorView_1_BYTE* This,BYTE element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_BYTE_GetMany(__FIVectorView_1_BYTE* This,UINT32 start_index,UINT32 items_size,BYTE *items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_BYTE IID___FIVectorView_1_BYTE
#define IVectorView_BYTEVtbl __FIVectorView_1_BYTEVtbl
#define IVectorView_BYTE __FIVectorView_1_BYTE
#define IVectorView_BYTE_QueryInterface __FIVectorView_1_BYTE_QueryInterface
#define IVectorView_BYTE_AddRef __FIVectorView_1_BYTE_AddRef
#define IVectorView_BYTE_Release __FIVectorView_1_BYTE_Release
#define IVectorView_BYTE_GetIids __FIVectorView_1_BYTE_GetIids
#define IVectorView_BYTE_GetRuntimeClassName __FIVectorView_1_BYTE_GetRuntimeClassName
#define IVectorView_BYTE_GetTrustLevel __FIVectorView_1_BYTE_GetTrustLevel
#define IVectorView_BYTE_GetAt __FIVectorView_1_BYTE_GetAt
#define IVectorView_BYTE_get_Size __FIVectorView_1_BYTE_get_Size
#define IVectorView_BYTE_IndexOf __FIVectorView_1_BYTE_IndexOf
#define IVectorView_BYTE_GetMany __FIVectorView_1_BYTE_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

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

#endif

#endif  /* ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIVectorView_1_IInspectableVtbl;

interface __FIVectorView_1_IInspectable {
    CONST_VTBL __FIVectorView_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIVectorView_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > interface
 */
#ifndef ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0xb1f00d3b, 0x1f06, 0x5117, 0x93,0xea, 0x2a,0x0d,0x79,0x11,0x67,0x01);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("b1f00d3b-1f06-5117-93ea-2a0d79116701")
                IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > : IVectorView_impl<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry, 0xb1f00d3b, 0x1f06, 0x5117, 0x93,0xea, 0x2a,0x0d,0x79,0x11,0x67,0x01)
#endif
#else
typedef struct __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        UINT32 index,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **value);

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl;

interface __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry {
    CONST_VTBL __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Foundation::IWwwFormUrlDecoderEntry* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetAt(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,UINT32 index,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Size(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_IndexOf(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany(__FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CFoundation_CIWwwFormUrlDecoderEntry **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_IWwwFormUrlDecoderEntry IID___FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IVectorView_IWwwFormUrlDecoderEntryVtbl __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntryVtbl
#define IVectorView_IWwwFormUrlDecoderEntry __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry
#define IVectorView_IWwwFormUrlDecoderEntry_QueryInterface __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_QueryInterface
#define IVectorView_IWwwFormUrlDecoderEntry_AddRef __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_AddRef
#define IVectorView_IWwwFormUrlDecoderEntry_Release __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_Release
#define IVectorView_IWwwFormUrlDecoderEntry_GetIids __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetIids
#define IVectorView_IWwwFormUrlDecoderEntry_GetRuntimeClassName __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetRuntimeClassName
#define IVectorView_IWwwFormUrlDecoderEntry_GetTrustLevel __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetTrustLevel
#define IVectorView_IWwwFormUrlDecoderEntry_GetAt __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetAt
#define IVectorView_IWwwFormUrlDecoderEntry_get_Size __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_get_Size
#define IVectorView_IWwwFormUrlDecoderEntry_IndexOf __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_IndexOf
#define IVectorView_IWwwFormUrlDecoderEntry_GetMany __FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CFoundation__CIWwwFormUrlDecoderEntry_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Foundation::Uri* > interface
 */
#ifndef ____FIVectorView_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CFoundation__CUri, 0x4b8385bd, 0xa2cd, 0x5ff1, 0xbf,0x74, 0x7e,0xa5,0x80,0x42,0x3e,0x50);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("4b8385bd-a2cd-5ff1-bf74-7ea580423e50")
                IVectorView<ABI::Windows::Foundation::Uri* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CFoundation__CUri, 0x4b8385bd, 0xa2cd, 0x5ff1, 0xbf,0x74, 0x7e,0xa5,0x80,0x42,0x3e,0x50)
#endif
#else
typedef struct __FIVectorView_1_Windows__CFoundation__CUriVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Foundation::Uri* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CFoundation__CUri *This,
        UINT32 index,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **value);

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CFoundation__CUri *This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CFoundation__CUri *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CFoundation__CUriVtbl;

interface __FIVectorView_1_Windows__CFoundation__CUri {
    CONST_VTBL __FIVectorView_1_Windows__CFoundation__CUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CFoundation__CUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CFoundation__CUri_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Foundation::Uri* > methods ***/
#define __FIVectorView_1_Windows__CFoundation__CUri_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CFoundation__CUri_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CFoundation__CUri_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CFoundation__CUri_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_QueryInterface(__FIVectorView_1_Windows__CFoundation__CUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CFoundation__CUri_AddRef(__FIVectorView_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CFoundation__CUri_Release(__FIVectorView_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_GetIids(__FIVectorView_1_Windows__CFoundation__CUri* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_GetRuntimeClassName(__FIVectorView_1_Windows__CFoundation__CUri* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_GetTrustLevel(__FIVectorView_1_Windows__CFoundation__CUri* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Foundation::Uri* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_GetAt(__FIVectorView_1_Windows__CFoundation__CUri* This,UINT32 index,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_get_Size(__FIVectorView_1_Windows__CFoundation__CUri* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_IndexOf(__FIVectorView_1_Windows__CFoundation__CUri* This,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CFoundation__CUri_GetMany(__FIVectorView_1_Windows__CFoundation__CUri* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_Uri IID___FIVectorView_1_Windows__CFoundation__CUri
#define IVectorView_UriVtbl __FIVectorView_1_Windows__CFoundation__CUriVtbl
#define IVectorView_Uri __FIVectorView_1_Windows__CFoundation__CUri
#define IVectorView_Uri_QueryInterface __FIVectorView_1_Windows__CFoundation__CUri_QueryInterface
#define IVectorView_Uri_AddRef __FIVectorView_1_Windows__CFoundation__CUri_AddRef
#define IVectorView_Uri_Release __FIVectorView_1_Windows__CFoundation__CUri_Release
#define IVectorView_Uri_GetIids __FIVectorView_1_Windows__CFoundation__CUri_GetIids
#define IVectorView_Uri_GetRuntimeClassName __FIVectorView_1_Windows__CFoundation__CUri_GetRuntimeClassName
#define IVectorView_Uri_GetTrustLevel __FIVectorView_1_Windows__CFoundation__CUri_GetTrustLevel
#define IVectorView_Uri_GetAt __FIVectorView_1_Windows__CFoundation__CUri_GetAt
#define IVectorView_Uri_get_Size __FIVectorView_1_Windows__CFoundation__CUri_get_Size
#define IVectorView_Uri_IndexOf __FIVectorView_1_Windows__CFoundation__CUri_IndexOf
#define IVectorView_Uri_GetMany __FIVectorView_1_Windows__CFoundation__CUri_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

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

#endif

#endif  /* ____FIVector_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIVector_1_IInspectableVtbl;

interface __FIVector_1_IInspectable {
    CONST_VTBL __FIVector_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIVector_1_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl;

interface __FIMapView_2_HSTRING___FIVectorView_1_HSTRING {
    CONST_VTBL __FIMapView_2_HSTRING___FIVectorView_1_HSTRINGVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIMapView_2_HSTRING___FIVectorView_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FIEventHandler_1_IInspectableVtbl;

interface __FIEventHandler_1_IInspectable {
    CONST_VTBL __FIEventHandler_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIEventHandler_1_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<HSTRING > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_HSTRING, 0xb79a741f, 0x7fb5, 0x50ae, 0x9e,0x99, 0x91,0x12,0x01,0xec,0x3d,0x41);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("b79a741f-7fb5-50ae-9e99-911201ec3d41")
            IAsyncOperationCompletedHandler<HSTRING > : IAsyncOperationCompletedHandler_impl<HSTRING >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_HSTRING, 0xb79a741f, 0x7fb5, 0x50ae, 0x9e,0x99, 0x91,0x12,0x01,0xec,0x3d,0x41)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_HSTRING *This,
        __FIAsyncOperation_1_HSTRING *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl;

interface __FIAsyncOperationCompletedHandler_1_HSTRING {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<HSTRING > methods ***/
#define __FIAsyncOperationCompletedHandler_1_HSTRING_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_HSTRING_QueryInterface(__FIAsyncOperationCompletedHandler_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_HSTRING_AddRef(__FIAsyncOperationCompletedHandler_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_HSTRING_Release(__FIAsyncOperationCompletedHandler_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<HSTRING > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_HSTRING_Invoke(__FIAsyncOperationCompletedHandler_1_HSTRING* This,__FIAsyncOperation_1_HSTRING *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_HSTRING IID___FIAsyncOperationCompletedHandler_1_HSTRING
#define IAsyncOperationCompletedHandler_HSTRINGVtbl __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl
#define IAsyncOperationCompletedHandler_HSTRING __FIAsyncOperationCompletedHandler_1_HSTRING
#define IAsyncOperationCompletedHandler_HSTRING_QueryInterface __FIAsyncOperationCompletedHandler_1_HSTRING_QueryInterface
#define IAsyncOperationCompletedHandler_HSTRING_AddRef __FIAsyncOperationCompletedHandler_1_HSTRING_AddRef
#define IAsyncOperationCompletedHandler_HSTRING_Release __FIAsyncOperationCompletedHandler_1_HSTRING_Release
#define IAsyncOperationCompletedHandler_HSTRING_Invoke __FIAsyncOperationCompletedHandler_1_HSTRING_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_IInspectableVtbl;

interface __FIAsyncOperationCompletedHandler_1_IInspectable {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_booleanVtbl;

interface __FIAsyncOperationCompletedHandler_1_boolean {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_booleanVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<UINT32 > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_UINT32_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_UINT32, 0x9343b6e7, 0xe3d2, 0x5e4a, 0xab,0x2d, 0x2b,0xce,0x49,0x19,0xa6,0xa4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("9343b6e7-e3d2-5e4a-ab2d-2bce4919a6a4")
            IAsyncOperationCompletedHandler<UINT32 > : IAsyncOperationCompletedHandler_impl<UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_UINT32, 0x9343b6e7, 0xe3d2, 0x5e4a, 0xab,0x2d, 0x2b,0xce,0x49,0x19,0xa6,0xa4)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_UINT32 *This,
        __FIAsyncOperation_1_UINT32 *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_UINT32Vtbl;

interface __FIAsyncOperationCompletedHandler_1_UINT32 {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<UINT32 > methods ***/
#define __FIAsyncOperationCompletedHandler_1_UINT32_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_UINT32_QueryInterface(__FIAsyncOperationCompletedHandler_1_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_UINT32_AddRef(__FIAsyncOperationCompletedHandler_1_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_UINT32_Release(__FIAsyncOperationCompletedHandler_1_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<UINT32 > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_UINT32_Invoke(__FIAsyncOperationCompletedHandler_1_UINT32* This,__FIAsyncOperation_1_UINT32 *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_UINT32 IID___FIAsyncOperationCompletedHandler_1_UINT32
#define IAsyncOperationCompletedHandler_UINT32Vtbl __FIAsyncOperationCompletedHandler_1_UINT32Vtbl
#define IAsyncOperationCompletedHandler_UINT32 __FIAsyncOperationCompletedHandler_1_UINT32
#define IAsyncOperationCompletedHandler_UINT32_QueryInterface __FIAsyncOperationCompletedHandler_1_UINT32_QueryInterface
#define IAsyncOperationCompletedHandler_UINT32_AddRef __FIAsyncOperationCompletedHandler_1_UINT32_AddRef
#define IAsyncOperationCompletedHandler_UINT32_Release __FIAsyncOperationCompletedHandler_1_UINT32_Release
#define IAsyncOperationCompletedHandler_UINT32_Invoke __FIAsyncOperationCompletedHandler_1_UINT32_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri, 0xad46f1cc, 0x2bb0, 0x585c, 0x98,0x85, 0x03,0xc2,0x78,0x0d,0x4d,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ad46f1cc-2bb0-585c-9885-03c2780d4d58")
            IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri, 0xad46f1cc, 0x2bb0, 0x585c, 0x98,0x85, 0x03,0xc2,0x78,0x0d,0x4d,0x58)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUriVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri *This,
        __FIAsyncOperation_1_Windows__CFoundation__CUri *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUriVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Release(__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Uri* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri* This,__FIAsyncOperation_1_Windows__CFoundation__CUri *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_Uri IID___FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri
#define IAsyncOperationCompletedHandler_UriVtbl __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUriVtbl
#define IAsyncOperationCompletedHandler_Uri __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri
#define IAsyncOperationCompletedHandler_Uri_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_QueryInterface
#define IAsyncOperationCompletedHandler_Uri_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_AddRef
#define IAsyncOperationCompletedHandler_Uri_Release __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Release
#define IAsyncOperationCompletedHandler_Uri_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationProgressHandler<UINT32,UINT32 > interface
 */
#ifndef ____FIAsyncOperationProgressHandler_2_UINT32_UINT32_INTERFACE_DEFINED__
#define ____FIAsyncOperationProgressHandler_2_UINT32_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationProgressHandler_2_UINT32_UINT32, 0xea0fe405, 0xd432, 0x5ac7, 0x9e,0xf8, 0x5a,0x65,0xe1,0xf9,0x7d,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ea0fe405-d432-5ac7-9ef8-5a65e1f97d7e")
            IAsyncOperationProgressHandler<UINT32,UINT32 > : IAsyncOperationProgressHandler_impl<UINT32, UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationProgressHandler_2_UINT32_UINT32, 0xea0fe405, 0xd432, 0x5ac7, 0x9e,0xf8, 0x5a,0x65,0xe1,0xf9,0x7d,0x7e)
#endif
#else
typedef struct __FIAsyncOperationProgressHandler_2_UINT32_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationProgressHandler<UINT32,UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationProgressHandler_2_UINT32_UINT32 *This,
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *info,
        UINT32 progress);

    END_INTERFACE
} __FIAsyncOperationProgressHandler_2_UINT32_UINT32Vtbl;

interface __FIAsyncOperationProgressHandler_2_UINT32_UINT32 {
    CONST_VTBL __FIAsyncOperationProgressHandler_2_UINT32_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationProgressHandler_2_UINT32_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationProgressHandler_2_UINT32_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationProgressHandler<UINT32,UINT32 > methods ***/
#define __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Invoke(This,info,progress) (This)->lpVtbl->Invoke(This,info,progress)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationProgressHandler_2_UINT32_UINT32_QueryInterface(__FIAsyncOperationProgressHandler_2_UINT32_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationProgressHandler_2_UINT32_UINT32_AddRef(__FIAsyncOperationProgressHandler_2_UINT32_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Release(__FIAsyncOperationProgressHandler_2_UINT32_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationProgressHandler<UINT32,UINT32 > methods ***/
static inline HRESULT __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Invoke(__FIAsyncOperationProgressHandler_2_UINT32_UINT32* This,__FIAsyncOperationWithProgress_2_UINT32_UINT32 *info,UINT32 progress) {
    return This->lpVtbl->Invoke(This,info,progress);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationProgressHandler_UINT32_UINT32 IID___FIAsyncOperationProgressHandler_2_UINT32_UINT32
#define IAsyncOperationProgressHandler_UINT32_UINT32Vtbl __FIAsyncOperationProgressHandler_2_UINT32_UINT32Vtbl
#define IAsyncOperationProgressHandler_UINT32_UINT32 __FIAsyncOperationProgressHandler_2_UINT32_UINT32
#define IAsyncOperationProgressHandler_UINT32_UINT32_QueryInterface __FIAsyncOperationProgressHandler_2_UINT32_UINT32_QueryInterface
#define IAsyncOperationProgressHandler_UINT32_UINT32_AddRef __FIAsyncOperationProgressHandler_2_UINT32_UINT32_AddRef
#define IAsyncOperationProgressHandler_UINT32_UINT32_Release __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Release
#define IAsyncOperationProgressHandler_UINT32_UINT32_Invoke __FIAsyncOperationProgressHandler_2_UINT32_UINT32_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationProgressHandler_2_UINT32_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 > interface
 */
#ifndef ____FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_INTERFACE_DEFINED__
#define ____FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32, 0x1e466dc5, 0x840f, 0x54f9, 0xb8,0x77, 0x5e,0x3a,0x9f,0x4b,0x6c,0x74);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("1e466dc5-840f-54f9-b877-5e3a9f4b6c74")
            IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 > : IAsyncOperationWithProgressCompletedHandler_impl<UINT32, UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32, 0x1e466dc5, 0x840f, 0x54f9, 0xb8,0x77, 0x5e,0x3a,0x9f,0x4b,0x6c,0x74)
#endif
#else
typedef struct __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 *This,
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32Vtbl;

interface __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 {
    CONST_VTBL __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 > methods ***/
#define __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_QueryInterface(__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_AddRef(__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Release(__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationWithProgressCompletedHandler<UINT32,UINT32 > methods ***/
static inline HRESULT __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Invoke(__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32* This,__FIAsyncOperationWithProgress_2_UINT32_UINT32 *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32 IID___FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32Vtbl __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32Vtbl
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32 __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32_QueryInterface __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_QueryInterface
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32_AddRef __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_AddRef
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32_Release __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Release
#define IAsyncOperationWithProgressCompletedHandler_UINT32_UINT32_Invoke __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<HSTRING > interface
 */
#ifndef ____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_HSTRING, 0x3e1fe603, 0xf897, 0x5263, 0xb3,0x28, 0x08,0x06,0x42,0x6b,0x8a,0x79);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("3e1fe603-f897-5263-b328-0806426b8a79")
            IAsyncOperation<HSTRING > : IAsyncOperation_impl<HSTRING >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_HSTRING, 0x3e1fe603, 0xf897, 0x5263, 0xb3,0x28, 0x08,0x06,0x42,0x6b,0x8a,0x79)
#endif
#else
typedef struct __FIAsyncOperation_1_HSTRINGVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<HSTRING > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_HSTRING *This,
        __FIAsyncOperationCompletedHandler_1_HSTRING *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_HSTRING *This,
        __FIAsyncOperationCompletedHandler_1_HSTRING **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_HSTRING *This,
        HSTRING *results);

    END_INTERFACE
} __FIAsyncOperation_1_HSTRINGVtbl;

interface __FIAsyncOperation_1_HSTRING {
    CONST_VTBL __FIAsyncOperation_1_HSTRINGVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_HSTRING_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_HSTRING_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_HSTRING_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_HSTRING_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_HSTRING_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_HSTRING_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<HSTRING > methods ***/
#define __FIAsyncOperation_1_HSTRING_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_HSTRING_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_HSTRING_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_HSTRING_QueryInterface(__FIAsyncOperation_1_HSTRING* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_HSTRING_AddRef(__FIAsyncOperation_1_HSTRING* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_HSTRING_Release(__FIAsyncOperation_1_HSTRING* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_HSTRING_GetIids(__FIAsyncOperation_1_HSTRING* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_HSTRING_GetRuntimeClassName(__FIAsyncOperation_1_HSTRING* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_HSTRING_GetTrustLevel(__FIAsyncOperation_1_HSTRING* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<HSTRING > methods ***/
static inline HRESULT __FIAsyncOperation_1_HSTRING_put_Completed(__FIAsyncOperation_1_HSTRING* This,__FIAsyncOperationCompletedHandler_1_HSTRING *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_HSTRING_get_Completed(__FIAsyncOperation_1_HSTRING* This,__FIAsyncOperationCompletedHandler_1_HSTRING **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_HSTRING_GetResults(__FIAsyncOperation_1_HSTRING* This,HSTRING *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_HSTRING IID___FIAsyncOperation_1_HSTRING
#define IAsyncOperation_HSTRINGVtbl __FIAsyncOperation_1_HSTRINGVtbl
#define IAsyncOperation_HSTRING __FIAsyncOperation_1_HSTRING
#define IAsyncOperation_HSTRING_QueryInterface __FIAsyncOperation_1_HSTRING_QueryInterface
#define IAsyncOperation_HSTRING_AddRef __FIAsyncOperation_1_HSTRING_AddRef
#define IAsyncOperation_HSTRING_Release __FIAsyncOperation_1_HSTRING_Release
#define IAsyncOperation_HSTRING_GetIids __FIAsyncOperation_1_HSTRING_GetIids
#define IAsyncOperation_HSTRING_GetRuntimeClassName __FIAsyncOperation_1_HSTRING_GetRuntimeClassName
#define IAsyncOperation_HSTRING_GetTrustLevel __FIAsyncOperation_1_HSTRING_GetTrustLevel
#define IAsyncOperation_HSTRING_put_Completed __FIAsyncOperation_1_HSTRING_put_Completed
#define IAsyncOperation_HSTRING_get_Completed __FIAsyncOperation_1_HSTRING_get_Completed
#define IAsyncOperation_HSTRING_GetResults __FIAsyncOperation_1_HSTRING_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIAsyncOperation_1_IInspectableVtbl;

interface __FIAsyncOperation_1_IInspectable {
    CONST_VTBL __FIAsyncOperation_1_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIAsyncOperation_1_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

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

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

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

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

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

    END_INTERFACE
} __FIAsyncOperation_1_booleanVtbl;

interface __FIAsyncOperation_1_boolean {
    CONST_VTBL __FIAsyncOperation_1_booleanVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<UINT32 > interface
 */
#ifndef ____FIAsyncOperation_1_UINT32_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_UINT32, 0xef60385f, 0xbe78, 0x584b, 0xaa,0xef, 0x78,0x29,0xad,0xa2,0xb0,0xde);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ef60385f-be78-584b-aaef-7829ada2b0de")
            IAsyncOperation<UINT32 > : IAsyncOperation_impl<UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_UINT32, 0xef60385f, 0xbe78, 0x584b, 0xaa,0xef, 0x78,0x29,0xad,0xa2,0xb0,0xde)
#endif
#else
typedef struct __FIAsyncOperation_1_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_UINT32 *This,
        __FIAsyncOperationCompletedHandler_1_UINT32 *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_UINT32 *This,
        __FIAsyncOperationCompletedHandler_1_UINT32 **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_UINT32 *This,
        UINT32 *results);

    END_INTERFACE
} __FIAsyncOperation_1_UINT32Vtbl;

interface __FIAsyncOperation_1_UINT32 {
    CONST_VTBL __FIAsyncOperation_1_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_UINT32_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_UINT32_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_UINT32_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<UINT32 > methods ***/
#define __FIAsyncOperation_1_UINT32_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_UINT32_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_UINT32_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_UINT32_QueryInterface(__FIAsyncOperation_1_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_UINT32_AddRef(__FIAsyncOperation_1_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_UINT32_Release(__FIAsyncOperation_1_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_UINT32_GetIids(__FIAsyncOperation_1_UINT32* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_UINT32_GetRuntimeClassName(__FIAsyncOperation_1_UINT32* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_UINT32_GetTrustLevel(__FIAsyncOperation_1_UINT32* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<UINT32 > methods ***/
static inline HRESULT __FIAsyncOperation_1_UINT32_put_Completed(__FIAsyncOperation_1_UINT32* This,__FIAsyncOperationCompletedHandler_1_UINT32 *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_UINT32_get_Completed(__FIAsyncOperation_1_UINT32* This,__FIAsyncOperationCompletedHandler_1_UINT32 **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_UINT32_GetResults(__FIAsyncOperation_1_UINT32* This,UINT32 *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_UINT32 IID___FIAsyncOperation_1_UINT32
#define IAsyncOperation_UINT32Vtbl __FIAsyncOperation_1_UINT32Vtbl
#define IAsyncOperation_UINT32 __FIAsyncOperation_1_UINT32
#define IAsyncOperation_UINT32_QueryInterface __FIAsyncOperation_1_UINT32_QueryInterface
#define IAsyncOperation_UINT32_AddRef __FIAsyncOperation_1_UINT32_AddRef
#define IAsyncOperation_UINT32_Release __FIAsyncOperation_1_UINT32_Release
#define IAsyncOperation_UINT32_GetIids __FIAsyncOperation_1_UINT32_GetIids
#define IAsyncOperation_UINT32_GetRuntimeClassName __FIAsyncOperation_1_UINT32_GetRuntimeClassName
#define IAsyncOperation_UINT32_GetTrustLevel __FIAsyncOperation_1_UINT32_GetTrustLevel
#define IAsyncOperation_UINT32_put_Completed __FIAsyncOperation_1_UINT32_put_Completed
#define IAsyncOperation_UINT32_get_Completed __FIAsyncOperation_1_UINT32_get_Completed
#define IAsyncOperation_UINT32_GetResults __FIAsyncOperation_1_UINT32_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Foundation::Uri* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CFoundation__CUri, 0x641cb9dd, 0xa28d, 0x59e2, 0xb8,0xdb, 0xa2,0x27,0xed,0xa6,0xcf,0x2e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("641cb9dd-a28d-59e2-b8db-a227eda6cf2e")
            IAsyncOperation<ABI::Windows::Foundation::Uri* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CFoundation__CUri, 0x641cb9dd, 0xa28d, 0x59e2, 0xb8,0xdb, 0xa2,0x27,0xed,0xa6,0xcf,0x2e)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CFoundation__CUriVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Foundation::Uri* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CFoundation__CUri *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CFoundation__CUri *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CFoundation__CUri *This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CFoundation__CUriVtbl;

interface __FIAsyncOperation_1_Windows__CFoundation__CUri {
    CONST_VTBL __FIAsyncOperation_1_Windows__CFoundation__CUriVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Foundation::Uri* > methods ***/
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CFoundation__CUri_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_QueryInterface(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CFoundation__CUri_AddRef(__FIAsyncOperation_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CFoundation__CUri_Release(__FIAsyncOperation_1_Windows__CFoundation__CUri* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_GetIids(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_GetTrustLevel(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Foundation::Uri* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_put_Completed(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_get_Completed(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,__FIAsyncOperationCompletedHandler_1_Windows__CFoundation__CUri **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CFoundation__CUri_GetResults(__FIAsyncOperation_1_Windows__CFoundation__CUri* This,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_Uri IID___FIAsyncOperation_1_Windows__CFoundation__CUri
#define IAsyncOperation_UriVtbl __FIAsyncOperation_1_Windows__CFoundation__CUriVtbl
#define IAsyncOperation_Uri __FIAsyncOperation_1_Windows__CFoundation__CUri
#define IAsyncOperation_Uri_QueryInterface __FIAsyncOperation_1_Windows__CFoundation__CUri_QueryInterface
#define IAsyncOperation_Uri_AddRef __FIAsyncOperation_1_Windows__CFoundation__CUri_AddRef
#define IAsyncOperation_Uri_Release __FIAsyncOperation_1_Windows__CFoundation__CUri_Release
#define IAsyncOperation_Uri_GetIids __FIAsyncOperation_1_Windows__CFoundation__CUri_GetIids
#define IAsyncOperation_Uri_GetRuntimeClassName __FIAsyncOperation_1_Windows__CFoundation__CUri_GetRuntimeClassName
#define IAsyncOperation_Uri_GetTrustLevel __FIAsyncOperation_1_Windows__CFoundation__CUri_GetTrustLevel
#define IAsyncOperation_Uri_put_Completed __FIAsyncOperation_1_Windows__CFoundation__CUri_put_Completed
#define IAsyncOperation_Uri_get_Completed __FIAsyncOperation_1_Windows__CFoundation__CUri_get_Completed
#define IAsyncOperation_Uri_GetResults __FIAsyncOperation_1_Windows__CFoundation__CUri_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationWithProgress<UINT32,UINT32 > interface
 */
#ifndef ____FIAsyncOperationWithProgress_2_UINT32_UINT32_INTERFACE_DEFINED__
#define ____FIAsyncOperationWithProgress_2_UINT32_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationWithProgress_2_UINT32_UINT32, 0xeccb574a, 0xc684, 0x5572, 0xa6,0x79, 0x6b,0x08,0x42,0xcf,0xb5,0x7f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("eccb574a-c684-5572-a679-6b0842cfb57f")
            IAsyncOperationWithProgress<UINT32,UINT32 > : IAsyncOperationWithProgress_impl<UINT32, UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationWithProgress_2_UINT32_UINT32, 0xeccb574a, 0xc684, 0x5572, 0xa6,0x79, 0x6b,0x08,0x42,0xcf,0xb5,0x7f)
#endif
#else
typedef struct __FIAsyncOperationWithProgress_2_UINT32_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperationWithProgress<UINT32,UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Progress)(
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *This,
        __FIAsyncOperationProgressHandler_2_UINT32_UINT32 *handler);

    HRESULT (STDMETHODCALLTYPE *get_Progress)(
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *This,
        __FIAsyncOperationProgressHandler_2_UINT32_UINT32 **handler);

    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *This,
        __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *This,
        __FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperationWithProgress_2_UINT32_UINT32 *This,
        UINT32 *results);

    END_INTERFACE
} __FIAsyncOperationWithProgress_2_UINT32_UINT32Vtbl;

interface __FIAsyncOperationWithProgress_2_UINT32_UINT32 {
    CONST_VTBL __FIAsyncOperationWithProgress_2_UINT32_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperationWithProgress<UINT32,UINT32 > methods ***/
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Progress(This,handler) (This)->lpVtbl->put_Progress(This,handler)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Progress(This,handler) (This)->lpVtbl->get_Progress(This,handler)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_QueryInterface(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationWithProgress_2_UINT32_UINT32_AddRef(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationWithProgress_2_UINT32_UINT32_Release(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetIids(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetRuntimeClassName(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetTrustLevel(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperationWithProgress<UINT32,UINT32 > methods ***/
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Progress(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,__FIAsyncOperationProgressHandler_2_UINT32_UINT32 *handler) {
    return This->lpVtbl->put_Progress(This,handler);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Progress(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,__FIAsyncOperationProgressHandler_2_UINT32_UINT32 **handler) {
    return This->lpVtbl->get_Progress(This,handler);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Completed(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Completed(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,__FIAsyncOperationWithProgressCompletedHandler_2_UINT32_UINT32 **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetResults(__FIAsyncOperationWithProgress_2_UINT32_UINT32* This,UINT32 *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationWithProgress_UINT32_UINT32 IID___FIAsyncOperationWithProgress_2_UINT32_UINT32
#define IAsyncOperationWithProgress_UINT32_UINT32Vtbl __FIAsyncOperationWithProgress_2_UINT32_UINT32Vtbl
#define IAsyncOperationWithProgress_UINT32_UINT32 __FIAsyncOperationWithProgress_2_UINT32_UINT32
#define IAsyncOperationWithProgress_UINT32_UINT32_QueryInterface __FIAsyncOperationWithProgress_2_UINT32_UINT32_QueryInterface
#define IAsyncOperationWithProgress_UINT32_UINT32_AddRef __FIAsyncOperationWithProgress_2_UINT32_UINT32_AddRef
#define IAsyncOperationWithProgress_UINT32_UINT32_Release __FIAsyncOperationWithProgress_2_UINT32_UINT32_Release
#define IAsyncOperationWithProgress_UINT32_UINT32_GetIids __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetIids
#define IAsyncOperationWithProgress_UINT32_UINT32_GetRuntimeClassName __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetRuntimeClassName
#define IAsyncOperationWithProgress_UINT32_UINT32_GetTrustLevel __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetTrustLevel
#define IAsyncOperationWithProgress_UINT32_UINT32_put_Progress __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Progress
#define IAsyncOperationWithProgress_UINT32_UINT32_get_Progress __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Progress
#define IAsyncOperationWithProgress_UINT32_UINT32_put_Completed __FIAsyncOperationWithProgress_2_UINT32_UINT32_put_Completed
#define IAsyncOperationWithProgress_UINT32_UINT32_get_Completed __FIAsyncOperationWithProgress_2_UINT32_UINT32_get_Completed
#define IAsyncOperationWithProgress_UINT32_UINT32_GetResults __FIAsyncOperationWithProgress_2_UINT32_UINT32_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationWithProgress_2_UINT32_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<BYTE > interface
 */
#ifndef ____FIReference_1_BYTE_INTERFACE_DEFINED__
#define ____FIReference_1_BYTE_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_BYTE, 0xe5198cc8, 0x2873, 0x55f5, 0xb0,0xa1, 0x84,0xff,0x9e,0x4a,0xad,0x62);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e5198cc8-2873-55f5-b0a1-84ff9e4aad62")
            IReference<BYTE > : IReference_impl<BYTE >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_BYTE, 0xe5198cc8, 0x2873, 0x55f5, 0xb0,0xa1, 0x84,0xff,0x9e,0x4a,0xad,0x62)
#endif
#else
typedef struct __FIReference_1_BYTEVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<BYTE > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_BYTE *This,
        BYTE *value);

    END_INTERFACE
} __FIReference_1_BYTEVtbl;

interface __FIReference_1_BYTE {
    CONST_VTBL __FIReference_1_BYTEVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_BYTE_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_BYTE_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_BYTE_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_BYTE_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_BYTE_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_BYTE_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<BYTE > methods ***/
#define __FIReference_1_BYTE_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_BYTE_QueryInterface(__FIReference_1_BYTE* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_BYTE_AddRef(__FIReference_1_BYTE* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_BYTE_Release(__FIReference_1_BYTE* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_BYTE_GetIids(__FIReference_1_BYTE* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_BYTE_GetRuntimeClassName(__FIReference_1_BYTE* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_BYTE_GetTrustLevel(__FIReference_1_BYTE* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<BYTE > methods ***/
static inline HRESULT __FIReference_1_BYTE_get_Value(__FIReference_1_BYTE* This,BYTE *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_BYTE IID___FIReference_1_BYTE
#define IReference_BYTEVtbl __FIReference_1_BYTEVtbl
#define IReference_BYTE __FIReference_1_BYTE
#define IReference_BYTE_QueryInterface __FIReference_1_BYTE_QueryInterface
#define IReference_BYTE_AddRef __FIReference_1_BYTE_AddRef
#define IReference_BYTE_Release __FIReference_1_BYTE_Release
#define IReference_BYTE_GetIids __FIReference_1_BYTE_GetIids
#define IReference_BYTE_GetRuntimeClassName __FIReference_1_BYTE_GetRuntimeClassName
#define IReference_BYTE_GetTrustLevel __FIReference_1_BYTE_GetTrustLevel
#define IReference_BYTE_get_Value __FIReference_1_BYTE_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_BYTE_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<DOUBLE > interface
 */
#ifndef ____FIReference_1_DOUBLE_INTERFACE_DEFINED__
#define ____FIReference_1_DOUBLE_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_DOUBLE, 0x2f2d6c29, 0x5473, 0x5f3e, 0x92,0xe7, 0x96,0x57,0x2b,0xb9,0x90,0xe2);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2f2d6c29-5473-5f3e-92e7-96572bb990e2")
            IReference<DOUBLE > : IReference_impl<DOUBLE >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_DOUBLE, 0x2f2d6c29, 0x5473, 0x5f3e, 0x92,0xe7, 0x96,0x57,0x2b,0xb9,0x90,0xe2)
#endif
#else
typedef struct __FIReference_1_DOUBLEVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<DOUBLE > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_DOUBLE *This,
        DOUBLE *value);

    END_INTERFACE
} __FIReference_1_DOUBLEVtbl;

interface __FIReference_1_DOUBLE {
    CONST_VTBL __FIReference_1_DOUBLEVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_DOUBLE_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_DOUBLE_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_DOUBLE_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_DOUBLE_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_DOUBLE_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_DOUBLE_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<DOUBLE > methods ***/
#define __FIReference_1_DOUBLE_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_DOUBLE_QueryInterface(__FIReference_1_DOUBLE* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_DOUBLE_AddRef(__FIReference_1_DOUBLE* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_DOUBLE_Release(__FIReference_1_DOUBLE* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_DOUBLE_GetIids(__FIReference_1_DOUBLE* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_DOUBLE_GetRuntimeClassName(__FIReference_1_DOUBLE* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_DOUBLE_GetTrustLevel(__FIReference_1_DOUBLE* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<DOUBLE > methods ***/
static inline HRESULT __FIReference_1_DOUBLE_get_Value(__FIReference_1_DOUBLE* This,DOUBLE *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_DOUBLE IID___FIReference_1_DOUBLE
#define IReference_DOUBLEVtbl __FIReference_1_DOUBLEVtbl
#define IReference_DOUBLE __FIReference_1_DOUBLE
#define IReference_DOUBLE_QueryInterface __FIReference_1_DOUBLE_QueryInterface
#define IReference_DOUBLE_AddRef __FIReference_1_DOUBLE_AddRef
#define IReference_DOUBLE_Release __FIReference_1_DOUBLE_Release
#define IReference_DOUBLE_GetIids __FIReference_1_DOUBLE_GetIids
#define IReference_DOUBLE_GetRuntimeClassName __FIReference_1_DOUBLE_GetRuntimeClassName
#define IReference_DOUBLE_GetTrustLevel __FIReference_1_DOUBLE_GetTrustLevel
#define IReference_DOUBLE_get_Value __FIReference_1_DOUBLE_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_DOUBLE_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<FLOAT > interface
 */
#ifndef ____FIReference_1_FLOAT_INTERFACE_DEFINED__
#define ____FIReference_1_FLOAT_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_FLOAT, 0x719cc2ba, 0x3e76, 0x5def, 0x9f,0x1a, 0x38,0xd8,0x5a,0x14,0x5e,0xa8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("719cc2ba-3e76-5def-9f1a-38d85a145ea8")
            IReference<FLOAT > : IReference_impl<FLOAT >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_FLOAT, 0x719cc2ba, 0x3e76, 0x5def, 0x9f,0x1a, 0x38,0xd8,0x5a,0x14,0x5e,0xa8)
#endif
#else
typedef struct __FIReference_1_FLOATVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<FLOAT > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_FLOAT *This,
        FLOAT *value);

    END_INTERFACE
} __FIReference_1_FLOATVtbl;

interface __FIReference_1_FLOAT {
    CONST_VTBL __FIReference_1_FLOATVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_FLOAT_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_FLOAT_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_FLOAT_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_FLOAT_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_FLOAT_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_FLOAT_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<FLOAT > methods ***/
#define __FIReference_1_FLOAT_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_FLOAT_QueryInterface(__FIReference_1_FLOAT* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_FLOAT_AddRef(__FIReference_1_FLOAT* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_FLOAT_Release(__FIReference_1_FLOAT* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_FLOAT_GetIids(__FIReference_1_FLOAT* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_FLOAT_GetRuntimeClassName(__FIReference_1_FLOAT* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_FLOAT_GetTrustLevel(__FIReference_1_FLOAT* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<FLOAT > methods ***/
static inline HRESULT __FIReference_1_FLOAT_get_Value(__FIReference_1_FLOAT* This,FLOAT *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_FLOAT IID___FIReference_1_FLOAT
#define IReference_FLOATVtbl __FIReference_1_FLOATVtbl
#define IReference_FLOAT __FIReference_1_FLOAT
#define IReference_FLOAT_QueryInterface __FIReference_1_FLOAT_QueryInterface
#define IReference_FLOAT_AddRef __FIReference_1_FLOAT_AddRef
#define IReference_FLOAT_Release __FIReference_1_FLOAT_Release
#define IReference_FLOAT_GetIids __FIReference_1_FLOAT_GetIids
#define IReference_FLOAT_GetRuntimeClassName __FIReference_1_FLOAT_GetRuntimeClassName
#define IReference_FLOAT_GetTrustLevel __FIReference_1_FLOAT_GetTrustLevel
#define IReference_FLOAT_get_Value __FIReference_1_FLOAT_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_FLOAT_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<GUID > interface
 */
#ifndef ____FIReference_1_GUID_INTERFACE_DEFINED__
#define ____FIReference_1_GUID_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_GUID, 0x7d50f649, 0x632c, 0x51f9, 0x84,0x9a, 0xee,0x49,0x42,0x89,0x33,0xea);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("7d50f649-632c-51f9-849a-ee49428933ea")
            IReference<GUID > : IReference_impl<GUID >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_GUID, 0x7d50f649, 0x632c, 0x51f9, 0x84,0x9a, 0xee,0x49,0x42,0x89,0x33,0xea)
#endif
#else
typedef struct __FIReference_1_GUIDVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<GUID > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_GUID *This,
        GUID *value);

    END_INTERFACE
} __FIReference_1_GUIDVtbl;

interface __FIReference_1_GUID {
    CONST_VTBL __FIReference_1_GUIDVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_GUID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_GUID_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_GUID_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_GUID_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_GUID_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_GUID_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<GUID > methods ***/
#define __FIReference_1_GUID_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_GUID_QueryInterface(__FIReference_1_GUID* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_GUID_AddRef(__FIReference_1_GUID* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_GUID_Release(__FIReference_1_GUID* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_GUID_GetIids(__FIReference_1_GUID* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_GUID_GetRuntimeClassName(__FIReference_1_GUID* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_GUID_GetTrustLevel(__FIReference_1_GUID* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<GUID > methods ***/
static inline HRESULT __FIReference_1_GUID_get_Value(__FIReference_1_GUID* This,GUID *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_GUID IID___FIReference_1_GUID
#define IReference_GUIDVtbl __FIReference_1_GUIDVtbl
#define IReference_GUID __FIReference_1_GUID
#define IReference_GUID_QueryInterface __FIReference_1_GUID_QueryInterface
#define IReference_GUID_AddRef __FIReference_1_GUID_AddRef
#define IReference_GUID_Release __FIReference_1_GUID_Release
#define IReference_GUID_GetIids __FIReference_1_GUID_GetIids
#define IReference_GUID_GetRuntimeClassName __FIReference_1_GUID_GetRuntimeClassName
#define IReference_GUID_GetTrustLevel __FIReference_1_GUID_GetTrustLevel
#define IReference_GUID_get_Value __FIReference_1_GUID_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_GUID_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<INT16 > interface
 */
#ifndef ____FIReference_1_INT16_INTERFACE_DEFINED__
#define ____FIReference_1_INT16_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_INT16, 0x6ec9e41b, 0x6709, 0x5647, 0x99,0x18, 0xa1,0x27,0x01,0x10,0xfc,0x4e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6ec9e41b-6709-5647-9918-a1270110fc4e")
            IReference<INT16 > : IReference_impl<INT16 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_INT16, 0x6ec9e41b, 0x6709, 0x5647, 0x99,0x18, 0xa1,0x27,0x01,0x10,0xfc,0x4e)
#endif
#else
typedef struct __FIReference_1_INT16Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<INT16 > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_INT16 *This,
        INT16 *value);

    END_INTERFACE
} __FIReference_1_INT16Vtbl;

interface __FIReference_1_INT16 {
    CONST_VTBL __FIReference_1_INT16Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_INT16_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_INT16_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_INT16_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_INT16_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_INT16_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_INT16_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<INT16 > methods ***/
#define __FIReference_1_INT16_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_INT16_QueryInterface(__FIReference_1_INT16* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_INT16_AddRef(__FIReference_1_INT16* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_INT16_Release(__FIReference_1_INT16* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_INT16_GetIids(__FIReference_1_INT16* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_INT16_GetRuntimeClassName(__FIReference_1_INT16* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_INT16_GetTrustLevel(__FIReference_1_INT16* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<INT16 > methods ***/
static inline HRESULT __FIReference_1_INT16_get_Value(__FIReference_1_INT16* This,INT16 *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_INT16 IID___FIReference_1_INT16
#define IReference_INT16Vtbl __FIReference_1_INT16Vtbl
#define IReference_INT16 __FIReference_1_INT16
#define IReference_INT16_QueryInterface __FIReference_1_INT16_QueryInterface
#define IReference_INT16_AddRef __FIReference_1_INT16_AddRef
#define IReference_INT16_Release __FIReference_1_INT16_Release
#define IReference_INT16_GetIids __FIReference_1_INT16_GetIids
#define IReference_INT16_GetRuntimeClassName __FIReference_1_INT16_GetRuntimeClassName
#define IReference_INT16_GetTrustLevel __FIReference_1_INT16_GetTrustLevel
#define IReference_INT16_get_Value __FIReference_1_INT16_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

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

#endif

#endif  /* ____FIReference_1_INT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<INT64 > interface
 */
#ifndef ____FIReference_1_INT64_INTERFACE_DEFINED__
#define ____FIReference_1_INT64_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_INT64, 0x4dda9e24, 0xe69f, 0x5c6a, 0xa0,0xa6, 0x93,0x42,0x73,0x65,0xaf,0x2a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("4dda9e24-e69f-5c6a-a0a6-93427365af2a")
            IReference<INT64 > : IReference_impl<INT64 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_INT64, 0x4dda9e24, 0xe69f, 0x5c6a, 0xa0,0xa6, 0x93,0x42,0x73,0x65,0xaf,0x2a)
#endif
#else
typedef struct __FIReference_1_INT64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<INT64 > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_INT64 *This,
        INT64 *value);

    END_INTERFACE
} __FIReference_1_INT64Vtbl;

interface __FIReference_1_INT64 {
    CONST_VTBL __FIReference_1_INT64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_INT64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_INT64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_INT64_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_INT64_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_INT64_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_INT64_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<INT64 > methods ***/
#define __FIReference_1_INT64_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_INT64_QueryInterface(__FIReference_1_INT64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_INT64_AddRef(__FIReference_1_INT64* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_INT64_Release(__FIReference_1_INT64* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_INT64_GetIids(__FIReference_1_INT64* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_INT64_GetRuntimeClassName(__FIReference_1_INT64* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_INT64_GetTrustLevel(__FIReference_1_INT64* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<INT64 > methods ***/
static inline HRESULT __FIReference_1_INT64_get_Value(__FIReference_1_INT64* This,INT64 *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_INT64 IID___FIReference_1_INT64
#define IReference_INT64Vtbl __FIReference_1_INT64Vtbl
#define IReference_INT64 __FIReference_1_INT64
#define IReference_INT64_QueryInterface __FIReference_1_INT64_QueryInterface
#define IReference_INT64_AddRef __FIReference_1_INT64_AddRef
#define IReference_INT64_Release __FIReference_1_INT64_Release
#define IReference_INT64_GetIids __FIReference_1_INT64_GetIids
#define IReference_INT64_GetRuntimeClassName __FIReference_1_INT64_GetRuntimeClassName
#define IReference_INT64_GetTrustLevel __FIReference_1_INT64_GetTrustLevel
#define IReference_INT64_get_Value __FIReference_1_INT64_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_INT64_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<UINT32 > interface
 */
#ifndef ____FIReference_1_UINT32_INTERFACE_DEFINED__
#define ____FIReference_1_UINT32_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_UINT32, 0x513ef3af, 0xe784, 0x5325, 0xa9,0x1e, 0x97,0xc2,0xb8,0x11,0x1c,0xf3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("513ef3af-e784-5325-a91e-97c2b8111cf3")
            IReference<UINT32 > : IReference_impl<UINT32 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_UINT32, 0x513ef3af, 0xe784, 0x5325, 0xa9,0x1e, 0x97,0xc2,0xb8,0x11,0x1c,0xf3)
#endif
#else
typedef struct __FIReference_1_UINT32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<UINT32 > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_UINT32 *This,
        UINT32 *value);

    END_INTERFACE
} __FIReference_1_UINT32Vtbl;

interface __FIReference_1_UINT32 {
    CONST_VTBL __FIReference_1_UINT32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_UINT32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_UINT32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_UINT32_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_UINT32_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_UINT32_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_UINT32_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<UINT32 > methods ***/
#define __FIReference_1_UINT32_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_UINT32_QueryInterface(__FIReference_1_UINT32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_UINT32_AddRef(__FIReference_1_UINT32* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_UINT32_Release(__FIReference_1_UINT32* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_UINT32_GetIids(__FIReference_1_UINT32* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_UINT32_GetRuntimeClassName(__FIReference_1_UINT32* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_UINT32_GetTrustLevel(__FIReference_1_UINT32* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<UINT32 > methods ***/
static inline HRESULT __FIReference_1_UINT32_get_Value(__FIReference_1_UINT32* This,UINT32 *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_UINT32 IID___FIReference_1_UINT32
#define IReference_UINT32Vtbl __FIReference_1_UINT32Vtbl
#define IReference_UINT32 __FIReference_1_UINT32
#define IReference_UINT32_QueryInterface __FIReference_1_UINT32_QueryInterface
#define IReference_UINT32_AddRef __FIReference_1_UINT32_AddRef
#define IReference_UINT32_Release __FIReference_1_UINT32_Release
#define IReference_UINT32_GetIids __FIReference_1_UINT32_GetIids
#define IReference_UINT32_GetRuntimeClassName __FIReference_1_UINT32_GetRuntimeClassName
#define IReference_UINT32_GetTrustLevel __FIReference_1_UINT32_GetTrustLevel
#define IReference_UINT32_get_Value __FIReference_1_UINT32_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_UINT32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<UINT64 > interface
 */
#ifndef ____FIReference_1_UINT64_INTERFACE_DEFINED__
#define ____FIReference_1_UINT64_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_UINT64, 0x6755e376, 0x53bb, 0x568b, 0xa1,0x1d, 0x17,0x23,0x98,0x68,0x30,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6755e376-53bb-568b-a11d-17239868309e")
            IReference<UINT64 > : IReference_impl<UINT64 >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_UINT64, 0x6755e376, 0x53bb, 0x568b, 0xa1,0x1d, 0x17,0x23,0x98,0x68,0x30,0x9e)
#endif
#else
typedef struct __FIReference_1_UINT64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<UINT64 > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_UINT64 *This,
        UINT64 *value);

    END_INTERFACE
} __FIReference_1_UINT64Vtbl;

interface __FIReference_1_UINT64 {
    CONST_VTBL __FIReference_1_UINT64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_UINT64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_UINT64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_UINT64_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_UINT64_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_UINT64_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_UINT64_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<UINT64 > methods ***/
#define __FIReference_1_UINT64_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_UINT64_QueryInterface(__FIReference_1_UINT64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_UINT64_AddRef(__FIReference_1_UINT64* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_UINT64_Release(__FIReference_1_UINT64* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_UINT64_GetIids(__FIReference_1_UINT64* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_UINT64_GetRuntimeClassName(__FIReference_1_UINT64* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_UINT64_GetTrustLevel(__FIReference_1_UINT64* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<UINT64 > methods ***/
static inline HRESULT __FIReference_1_UINT64_get_Value(__FIReference_1_UINT64* This,UINT64 *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_UINT64 IID___FIReference_1_UINT64
#define IReference_UINT64Vtbl __FIReference_1_UINT64Vtbl
#define IReference_UINT64 __FIReference_1_UINT64
#define IReference_UINT64_QueryInterface __FIReference_1_UINT64_QueryInterface
#define IReference_UINT64_AddRef __FIReference_1_UINT64_AddRef
#define IReference_UINT64_Release __FIReference_1_UINT64_Release
#define IReference_UINT64_GetIids __FIReference_1_UINT64_GetIids
#define IReference_UINT64_GetRuntimeClassName __FIReference_1_UINT64_GetRuntimeClassName
#define IReference_UINT64_GetTrustLevel __FIReference_1_UINT64_GetTrustLevel
#define IReference_UINT64_get_Value __FIReference_1_UINT64_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_UINT64_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Foundation::DateTime > interface
 */
#ifndef ____FIReference_1_DateTime_INTERFACE_DEFINED__
#define ____FIReference_1_DateTime_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_DateTime, 0x5541d8a7, 0x497c, 0x5aa4, 0x86,0xfc, 0x77,0x13,0xad,0xbf,0x2a,0x2c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("5541d8a7-497c-5aa4-86fc-7713adbf2a2c")
            IReference<ABI::Windows::Foundation::DateTime > : IReference_impl<ABI::Windows::Foundation::DateTime >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_DateTime, 0x5541d8a7, 0x497c, 0x5aa4, 0x86,0xfc, 0x77,0x13,0xad,0xbf,0x2a,0x2c)
#endif
#else
typedef struct __FIReference_1_DateTimeVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<ABI::Windows::Foundation::DateTime > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_DateTime *This,
        __x_ABI_CWindows_CFoundation_CDateTime *value);

    END_INTERFACE
} __FIReference_1_DateTimeVtbl;

interface __FIReference_1_DateTime {
    CONST_VTBL __FIReference_1_DateTimeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_DateTime_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_DateTime_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_DateTime_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_DateTime_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_DateTime_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_DateTime_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Foundation::DateTime > methods ***/
#define __FIReference_1_DateTime_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_DateTime_QueryInterface(__FIReference_1_DateTime* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_DateTime_AddRef(__FIReference_1_DateTime* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_DateTime_Release(__FIReference_1_DateTime* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_DateTime_GetIids(__FIReference_1_DateTime* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_DateTime_GetRuntimeClassName(__FIReference_1_DateTime* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_DateTime_GetTrustLevel(__FIReference_1_DateTime* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Foundation::DateTime > methods ***/
static inline HRESULT __FIReference_1_DateTime_get_Value(__FIReference_1_DateTime* This,__x_ABI_CWindows_CFoundation_CDateTime *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_DateTime IID___FIReference_1_DateTime
#define IReference_DateTimeVtbl __FIReference_1_DateTimeVtbl
#define IReference_DateTime __FIReference_1_DateTime
#define IReference_DateTime_QueryInterface __FIReference_1_DateTime_QueryInterface
#define IReference_DateTime_AddRef __FIReference_1_DateTime_AddRef
#define IReference_DateTime_Release __FIReference_1_DateTime_Release
#define IReference_DateTime_GetIids __FIReference_1_DateTime_GetIids
#define IReference_DateTime_GetRuntimeClassName __FIReference_1_DateTime_GetRuntimeClassName
#define IReference_DateTime_GetTrustLevel __FIReference_1_DateTime_GetTrustLevel
#define IReference_DateTime_get_Value __FIReference_1_DateTime_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_DateTime_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Foundation::Point > interface
 */
#ifndef ____FIReference_1_Point_INTERFACE_DEFINED__
#define ____FIReference_1_Point_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_Point, 0x84f14c22, 0xa00a, 0x5272, 0x8d,0x3d, 0x82,0x11,0x2e,0x66,0xdf,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("84f14c22-a00a-5272-8d3d-82112e66df00")
            IReference<ABI::Windows::Foundation::Point > : IReference_impl<ABI::Windows::Foundation::Point >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_Point, 0x84f14c22, 0xa00a, 0x5272, 0x8d,0x3d, 0x82,0x11,0x2e,0x66,0xdf,0x00)
#endif
#else
typedef struct __FIReference_1_PointVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<ABI::Windows::Foundation::Point > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_Point *This,
        __x_ABI_CWindows_CFoundation_CPoint *value);

    END_INTERFACE
} __FIReference_1_PointVtbl;

interface __FIReference_1_Point {
    CONST_VTBL __FIReference_1_PointVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_Point_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_Point_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_Point_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_Point_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_Point_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_Point_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Foundation::Point > methods ***/
#define __FIReference_1_Point_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_Point_QueryInterface(__FIReference_1_Point* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_Point_AddRef(__FIReference_1_Point* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_Point_Release(__FIReference_1_Point* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_Point_GetIids(__FIReference_1_Point* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_Point_GetRuntimeClassName(__FIReference_1_Point* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_Point_GetTrustLevel(__FIReference_1_Point* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Foundation::Point > methods ***/
static inline HRESULT __FIReference_1_Point_get_Value(__FIReference_1_Point* This,__x_ABI_CWindows_CFoundation_CPoint *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_Point IID___FIReference_1_Point
#define IReference_PointVtbl __FIReference_1_PointVtbl
#define IReference_Point __FIReference_1_Point
#define IReference_Point_QueryInterface __FIReference_1_Point_QueryInterface
#define IReference_Point_AddRef __FIReference_1_Point_AddRef
#define IReference_Point_Release __FIReference_1_Point_Release
#define IReference_Point_GetIids __FIReference_1_Point_GetIids
#define IReference_Point_GetRuntimeClassName __FIReference_1_Point_GetRuntimeClassName
#define IReference_Point_GetTrustLevel __FIReference_1_Point_GetTrustLevel
#define IReference_Point_get_Value __FIReference_1_Point_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_Point_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Foundation::Rect > interface
 */
#ifndef ____FIReference_1_Rect_INTERFACE_DEFINED__
#define ____FIReference_1_Rect_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_Rect, 0x80423f11, 0x054f, 0x5eac, 0xaf,0xd3, 0x63,0xb6,0xce,0x15,0xe7,0x7b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("80423f11-054f-5eac-afd3-63b6ce15e77b")
            IReference<ABI::Windows::Foundation::Rect > : IReference_impl<ABI::Windows::Foundation::Rect >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_Rect, 0x80423f11, 0x054f, 0x5eac, 0xaf,0xd3, 0x63,0xb6,0xce,0x15,0xe7,0x7b)
#endif
#else
typedef struct __FIReference_1_RectVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<ABI::Windows::Foundation::Rect > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_Rect *This,
        __x_ABI_CWindows_CFoundation_CRect *value);

    END_INTERFACE
} __FIReference_1_RectVtbl;

interface __FIReference_1_Rect {
    CONST_VTBL __FIReference_1_RectVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_Rect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_Rect_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_Rect_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_Rect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_Rect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_Rect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Foundation::Rect > methods ***/
#define __FIReference_1_Rect_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_Rect_QueryInterface(__FIReference_1_Rect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_Rect_AddRef(__FIReference_1_Rect* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_Rect_Release(__FIReference_1_Rect* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_Rect_GetIids(__FIReference_1_Rect* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_Rect_GetRuntimeClassName(__FIReference_1_Rect* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_Rect_GetTrustLevel(__FIReference_1_Rect* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Foundation::Rect > methods ***/
static inline HRESULT __FIReference_1_Rect_get_Value(__FIReference_1_Rect* This,__x_ABI_CWindows_CFoundation_CRect *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_Rect IID___FIReference_1_Rect
#define IReference_RectVtbl __FIReference_1_RectVtbl
#define IReference_Rect __FIReference_1_Rect
#define IReference_Rect_QueryInterface __FIReference_1_Rect_QueryInterface
#define IReference_Rect_AddRef __FIReference_1_Rect_AddRef
#define IReference_Rect_Release __FIReference_1_Rect_Release
#define IReference_Rect_GetIids __FIReference_1_Rect_GetIids
#define IReference_Rect_GetRuntimeClassName __FIReference_1_Rect_GetRuntimeClassName
#define IReference_Rect_GetTrustLevel __FIReference_1_Rect_GetTrustLevel
#define IReference_Rect_get_Value __FIReference_1_Rect_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_Rect_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Foundation::Size > interface
 */
#ifndef ____FIReference_1_Size_INTERFACE_DEFINED__
#define ____FIReference_1_Size_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_Size, 0x61723086, 0x8e53, 0x5276, 0x9f,0x36, 0x2a,0x4b,0xb9,0x3e,0x2b,0x75);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("61723086-8e53-5276-9f36-2a4bb93e2b75")
            IReference<ABI::Windows::Foundation::Size > : IReference_impl<ABI::Windows::Foundation::Size >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_Size, 0x61723086, 0x8e53, 0x5276, 0x9f,0x36, 0x2a,0x4b,0xb9,0x3e,0x2b,0x75)
#endif
#else
typedef struct __FIReference_1_SizeVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<ABI::Windows::Foundation::Size > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_Size *This,
        __x_ABI_CWindows_CFoundation_CSize *value);

    END_INTERFACE
} __FIReference_1_SizeVtbl;

interface __FIReference_1_Size {
    CONST_VTBL __FIReference_1_SizeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_Size_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_Size_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_Size_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_Size_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_Size_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_Size_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Foundation::Size > methods ***/
#define __FIReference_1_Size_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_Size_QueryInterface(__FIReference_1_Size* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_Size_AddRef(__FIReference_1_Size* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_Size_Release(__FIReference_1_Size* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_Size_GetIids(__FIReference_1_Size* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_Size_GetRuntimeClassName(__FIReference_1_Size* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_Size_GetTrustLevel(__FIReference_1_Size* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Foundation::Size > methods ***/
static inline HRESULT __FIReference_1_Size_get_Value(__FIReference_1_Size* This,__x_ABI_CWindows_CFoundation_CSize *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_Size IID___FIReference_1_Size
#define IReference_SizeVtbl __FIReference_1_SizeVtbl
#define IReference_Size __FIReference_1_Size
#define IReference_Size_QueryInterface __FIReference_1_Size_QueryInterface
#define IReference_Size_AddRef __FIReference_1_Size_AddRef
#define IReference_Size_Release __FIReference_1_Size_Release
#define IReference_Size_GetIids __FIReference_1_Size_GetIids
#define IReference_Size_GetRuntimeClassName __FIReference_1_Size_GetRuntimeClassName
#define IReference_Size_GetTrustLevel __FIReference_1_Size_GetTrustLevel
#define IReference_Size_get_Value __FIReference_1_Size_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_Size_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Foundation::TimeSpan > interface
 */
#ifndef ____FIReference_1_TimeSpan_INTERFACE_DEFINED__
#define ____FIReference_1_TimeSpan_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_TimeSpan, 0x604d0c4c, 0x91de, 0x5c2a, 0x93,0x5f, 0x36,0x2f,0x13,0xea,0xf8,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("604d0c4c-91de-5c2a-935f-362f13eaf800")
            IReference<ABI::Windows::Foundation::TimeSpan > : IReference_impl<ABI::Windows::Foundation::TimeSpan >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_TimeSpan, 0x604d0c4c, 0x91de, 0x5c2a, 0x93,0x5f, 0x36,0x2f,0x13,0xea,0xf8,0x00)
#endif
#else
typedef struct __FIReference_1_TimeSpanVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<ABI::Windows::Foundation::TimeSpan > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_TimeSpan *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    END_INTERFACE
} __FIReference_1_TimeSpanVtbl;

interface __FIReference_1_TimeSpan {
    CONST_VTBL __FIReference_1_TimeSpanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_TimeSpan_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_TimeSpan_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_TimeSpan_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_TimeSpan_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_TimeSpan_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_TimeSpan_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Foundation::TimeSpan > methods ***/
#define __FIReference_1_TimeSpan_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_TimeSpan_QueryInterface(__FIReference_1_TimeSpan* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_TimeSpan_AddRef(__FIReference_1_TimeSpan* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_TimeSpan_Release(__FIReference_1_TimeSpan* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_TimeSpan_GetIids(__FIReference_1_TimeSpan* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_TimeSpan_GetRuntimeClassName(__FIReference_1_TimeSpan* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_TimeSpan_GetTrustLevel(__FIReference_1_TimeSpan* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Foundation::TimeSpan > methods ***/
static inline HRESULT __FIReference_1_TimeSpan_get_Value(__FIReference_1_TimeSpan* This,__x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_TimeSpan IID___FIReference_1_TimeSpan
#define IReference_TimeSpanVtbl __FIReference_1_TimeSpanVtbl
#define IReference_TimeSpan __FIReference_1_TimeSpan
#define IReference_TimeSpan_QueryInterface __FIReference_1_TimeSpan_QueryInterface
#define IReference_TimeSpan_AddRef __FIReference_1_TimeSpan_AddRef
#define IReference_TimeSpan_Release __FIReference_1_TimeSpan_Release
#define IReference_TimeSpan_GetIids __FIReference_1_TimeSpan_GetIids
#define IReference_TimeSpan_GetRuntimeClassName __FIReference_1_TimeSpan_GetRuntimeClassName
#define IReference_TimeSpan_GetTrustLevel __FIReference_1_TimeSpan_GetTrustLevel
#define IReference_TimeSpan_get_Value __FIReference_1_TimeSpan_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_TimeSpan_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<boolean > interface
 */
#ifndef ____FIReference_1_boolean_INTERFACE_DEFINED__
#define ____FIReference_1_boolean_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_boolean, 0x3c00fd60, 0x2950, 0x5939, 0xa2,0x1a, 0x2d,0x12,0xc5,0xa0,0x1b,0x8a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("3c00fd60-2950-5939-a21a-2d12c5a01b8a")
            IReference<boolean > : IReference_impl<boolean >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_boolean, 0x3c00fd60, 0x2950, 0x5939, 0xa2,0x1a, 0x2d,0x12,0xc5,0xa0,0x1b,0x8a)
#endif
#else
typedef struct __FIReference_1_booleanVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<boolean > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_boolean *This,
        boolean *value);

    END_INTERFACE
} __FIReference_1_booleanVtbl;

interface __FIReference_1_boolean {
    CONST_VTBL __FIReference_1_booleanVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_boolean_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_boolean_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_boolean_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_boolean_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_boolean_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_boolean_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<boolean > methods ***/
#define __FIReference_1_boolean_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_boolean_QueryInterface(__FIReference_1_boolean* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_boolean_AddRef(__FIReference_1_boolean* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_boolean_Release(__FIReference_1_boolean* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_boolean_GetIids(__FIReference_1_boolean* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_boolean_GetRuntimeClassName(__FIReference_1_boolean* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_boolean_GetTrustLevel(__FIReference_1_boolean* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<boolean > methods ***/
static inline HRESULT __FIReference_1_boolean_get_Value(__FIReference_1_boolean* This,boolean *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_boolean IID___FIReference_1_boolean
#define IReference_booleanVtbl __FIReference_1_booleanVtbl
#define IReference_boolean __FIReference_1_boolean
#define IReference_boolean_QueryInterface __FIReference_1_boolean_QueryInterface
#define IReference_boolean_AddRef __FIReference_1_boolean_AddRef
#define IReference_boolean_Release __FIReference_1_boolean_Release
#define IReference_boolean_GetIids __FIReference_1_boolean_GetIids
#define IReference_boolean_GetRuntimeClassName __FIReference_1_boolean_GetRuntimeClassName
#define IReference_boolean_GetTrustLevel __FIReference_1_boolean_GetTrustLevel
#define IReference_boolean_get_Value __FIReference_1_boolean_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_boolean_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FITypedEventHandler_2_IInspectable_IInspectableVtbl;

interface __FITypedEventHandler_2_IInspectable_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_IInspectable_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FITypedEventHandler_2_IInspectable_IInspectable_INTERFACE_DEFINED__ */

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

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

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

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

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

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

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectableVtbl* lpVtbl;
};

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

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CFoundation__CIMemoryBufferReference_IInspectable_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

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

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_foundation_h__ */
