/*** Autogenerated by WIDL 8.5 from include/windows.globalization.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_globalization_h__
#define __windows_globalization_h__

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

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage __x_ABI_CWindows_CGlobalization_CILanguage;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage ABI::Windows::Globalization::ILanguage
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage2 __x_ABI_CWindows_CGlobalization_CILanguage2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage2 ABI::Windows::Globalization::ILanguage2
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage3_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage3 __x_ABI_CWindows_CGlobalization_CILanguage3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage3 ABI::Windows::Globalization::ILanguage3
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage3;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags ABI::Windows::Globalization::ILanguageExtensionSubtags
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageExtensionSubtags;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageFactory __x_ABI_CWindows_CGlobalization_CILanguageFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory ABI::Windows::Globalization::ILanguageFactory
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics __x_ABI_CWindows_CGlobalization_CILanguageStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics ABI::Windows::Globalization::ILanguageStatics
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics2 __x_ABI_CWindows_CGlobalization_CILanguageStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2 ABI::Windows::Globalization::ILanguageStatics2
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics3 __x_ABI_CWindows_CGlobalization_CILanguageStatics3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3 ABI::Windows::Globalization::ILanguageStatics3
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics3;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CLanguage_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CLanguage_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Globalization {
            class Language;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CGlobalization_CLanguage __x_ABI_CWindows_CGlobalization_CLanguage;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CGlobalization_CLanguage_FWD_DEFINED__ */

#ifndef ____FIIterable_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIIterable_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CGlobalization__CLanguage __FIIterable_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIIterator_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CGlobalization__CLanguage __FIIterator_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CGlobalization__CLanguage __FIVectorView_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIVector_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CGlobalization__CLanguage __FIVector_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIVector_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

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

#ifdef __cplusplus
extern "C" {
#endif

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

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

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage __x_ABI_CWindows_CGlobalization_CILanguage;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage ABI::Windows::Globalization::ILanguage
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage2 __x_ABI_CWindows_CGlobalization_CILanguage2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage2 ABI::Windows::Globalization::ILanguage2
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage3_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguage3 __x_ABI_CWindows_CGlobalization_CILanguage3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguage3 ABI::Windows::Globalization::ILanguage3
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguage3;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags ABI::Windows::Globalization::ILanguageExtensionSubtags
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageExtensionSubtags;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageFactory __x_ABI_CWindows_CGlobalization_CILanguageFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory ABI::Windows::Globalization::ILanguageFactory
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageFactory;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics __x_ABI_CWindows_CGlobalization_CILanguageStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics ABI::Windows::Globalization::ILanguageStatics
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics2 __x_ABI_CWindows_CGlobalization_CILanguageStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2 ABI::Windows::Globalization::ILanguageStatics2
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CGlobalization_CILanguageStatics3 __x_ABI_CWindows_CGlobalization_CILanguageStatics3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3 ABI::Windows::Globalization::ILanguageStatics3
namespace ABI {
    namespace Windows {
        namespace Globalization {
            interface ILanguageStatics3;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIIterable_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CGlobalization__CLanguage __FIIterable_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIIterator_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CGlobalization__CLanguage __FIIterator_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CGlobalization__CLanguage __FIVectorView_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVector_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
#define ____FIVector_1_Windows__CGlobalization__CLanguage_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CGlobalization__CLanguage __FIVector_1_Windows__CGlobalization__CLanguage;
#ifdef __cplusplus
#define __FIVector_1_Windows__CGlobalization__CLanguage ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Globalization::Language* >
#endif /* __cplusplus */
#endif

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            enum DayOfWeek {
                DayOfWeek_Sunday = 0,
                DayOfWeek_Monday = 1,
                DayOfWeek_Tuesday = 2,
                DayOfWeek_Wednesday = 3,
                DayOfWeek_Thursday = 4,
                DayOfWeek_Friday = 5,
                DayOfWeek_Saturday = 6
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CGlobalization_CDayOfWeek {
    DayOfWeek_Sunday = 0,
    DayOfWeek_Monday = 1,
    DayOfWeek_Tuesday = 2,
    DayOfWeek_Wednesday = 3,
    DayOfWeek_Thursday = 4,
    DayOfWeek_Friday = 5,
    DayOfWeek_Saturday = 6
};
#ifdef WIDL_using_Windows_Globalization
#define DayOfWeek __x_ABI_CWindows_CGlobalization_CDayOfWeek
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            enum LanguageLayoutDirection {
                LanguageLayoutDirection_Ltr = 0,
                LanguageLayoutDirection_Rtl = 1,
                LanguageLayoutDirection_TtbLtr = 2,
                LanguageLayoutDirection_TtbRtl = 3
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CGlobalization_CLanguageLayoutDirection {
    LanguageLayoutDirection_Ltr = 0,
    LanguageLayoutDirection_Rtl = 1,
    LanguageLayoutDirection_TtbLtr = 2,
    LanguageLayoutDirection_TtbRtl = 3
};
#ifdef WIDL_using_Windows_Globalization
#define LanguageLayoutDirection __x_ABI_CWindows_CGlobalization_CLanguageLayoutDirection
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 */
/*****************************************************************************
 * ILanguage interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguage, 0xea79a752, 0xf7c2, 0x4265, 0xb1,0xbd, 0xc4,0xde,0xc4,0xe4,0xf0,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("ea79a752-f7c2-4265-b1bd-c4dec4e4f080")
            ILanguage : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_LanguageTag(
                    HSTRING *value) = 0;

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

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

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

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguage, 0xea79a752, 0xf7c2, 0x4265, 0xb1,0xbd, 0xc4,0xde,0xc4,0xe4,0xf0,0x80)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguage methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LanguageTag)(
        __x_ABI_CWindows_CGlobalization_CILanguage *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_DisplayName)(
        __x_ABI_CWindows_CGlobalization_CILanguage *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_NativeName)(
        __x_ABI_CWindows_CGlobalization_CILanguage *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Script)(
        __x_ABI_CWindows_CGlobalization_CILanguage *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageVtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguage {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguage_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguage_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguage_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguage methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage_get_LanguageTag(This,value) (This)->lpVtbl->get_LanguageTag(This,value)
#define __x_ABI_CWindows_CGlobalization_CILanguage_get_DisplayName(This,value) (This)->lpVtbl->get_DisplayName(This,value)
#define __x_ABI_CWindows_CGlobalization_CILanguage_get_NativeName(This,value) (This)->lpVtbl->get_NativeName(This,value)
#define __x_ABI_CWindows_CGlobalization_CILanguage_get_Script(This,value) (This)->lpVtbl->get_Script(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage_AddRef(__x_ABI_CWindows_CGlobalization_CILanguage* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage_Release(__x_ABI_CWindows_CGlobalization_CILanguage* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_GetIids(__x_ABI_CWindows_CGlobalization_CILanguage* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguage* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguage* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguage methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_get_LanguageTag(__x_ABI_CWindows_CGlobalization_CILanguage* This,HSTRING *value) {
    return This->lpVtbl->get_LanguageTag(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_get_DisplayName(__x_ABI_CWindows_CGlobalization_CILanguage* This,HSTRING *value) {
    return This->lpVtbl->get_DisplayName(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_get_NativeName(__x_ABI_CWindows_CGlobalization_CILanguage* This,HSTRING *value) {
    return This->lpVtbl->get_NativeName(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage_get_Script(__x_ABI_CWindows_CGlobalization_CILanguage* This,HSTRING *value) {
    return This->lpVtbl->get_Script(This,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguage IID___x_ABI_CWindows_CGlobalization_CILanguage
#define ILanguageVtbl __x_ABI_CWindows_CGlobalization_CILanguageVtbl
#define ILanguage __x_ABI_CWindows_CGlobalization_CILanguage
#define ILanguage_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguage_QueryInterface
#define ILanguage_AddRef __x_ABI_CWindows_CGlobalization_CILanguage_AddRef
#define ILanguage_Release __x_ABI_CWindows_CGlobalization_CILanguage_Release
#define ILanguage_GetIids __x_ABI_CWindows_CGlobalization_CILanguage_GetIids
#define ILanguage_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguage_GetRuntimeClassName
#define ILanguage_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguage_GetTrustLevel
#define ILanguage_get_LanguageTag __x_ABI_CWindows_CGlobalization_CILanguage_get_LanguageTag
#define ILanguage_get_DisplayName __x_ABI_CWindows_CGlobalization_CILanguage_get_DisplayName
#define ILanguage_get_NativeName __x_ABI_CWindows_CGlobalization_CILanguage_get_NativeName
#define ILanguage_get_Script __x_ABI_CWindows_CGlobalization_CILanguage_get_Script
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

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

/*****************************************************************************
 * ILanguage2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguage2, 0x6a47e5b5, 0xd94d, 0x4886, 0xa4,0x04, 0xa5,0xa5,0xb9,0xd5,0xb4,0x94);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("6a47e5b5-d94d-4886-a404-a5a5b9d5b494")
            ILanguage2 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_LayoutDirection(
                    enum LanguageLayoutDirection *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguage2, 0x6a47e5b5, 0xd94d, 0x4886, 0xa4,0x04, 0xa5,0xa5,0xb9,0xd5,0xb4,0x94)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguage2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguage2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LayoutDirection)(
        __x_ABI_CWindows_CGlobalization_CILanguage2 *This,
        enum __x_ABI_CWindows_CGlobalization_CLanguageLayoutDirection *value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguage2Vtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguage2 {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguage2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguage2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguage2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguage2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguage2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguage2 methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage2_get_LayoutDirection(This,value) (This)->lpVtbl->get_LayoutDirection(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage2_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguage2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage2_AddRef(__x_ABI_CWindows_CGlobalization_CILanguage2* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage2_Release(__x_ABI_CWindows_CGlobalization_CILanguage2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage2_GetIids(__x_ABI_CWindows_CGlobalization_CILanguage2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage2_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguage2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage2_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguage2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguage2 methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage2_get_LayoutDirection(__x_ABI_CWindows_CGlobalization_CILanguage2* This,enum __x_ABI_CWindows_CGlobalization_CLanguageLayoutDirection *value) {
    return This->lpVtbl->get_LayoutDirection(This,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguage2 IID___x_ABI_CWindows_CGlobalization_CILanguage2
#define ILanguage2Vtbl __x_ABI_CWindows_CGlobalization_CILanguage2Vtbl
#define ILanguage2 __x_ABI_CWindows_CGlobalization_CILanguage2
#define ILanguage2_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguage2_QueryInterface
#define ILanguage2_AddRef __x_ABI_CWindows_CGlobalization_CILanguage2_AddRef
#define ILanguage2_Release __x_ABI_CWindows_CGlobalization_CILanguage2_Release
#define ILanguage2_GetIids __x_ABI_CWindows_CGlobalization_CILanguage2_GetIids
#define ILanguage2_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguage2_GetRuntimeClassName
#define ILanguage2_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguage2_GetTrustLevel
#define ILanguage2_get_LayoutDirection __x_ABI_CWindows_CGlobalization_CILanguage2_get_LayoutDirection
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CGlobalization_CILanguage2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 */

/*****************************************************************************
 * ILanguage3 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguage3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguage3_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguage3, 0xc6af3d10, 0x641a, 0x5ba4, 0xbb,0x43, 0x5e,0x12,0xae,0xd7,0x59,0x54);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("c6af3d10-641a-5ba4-bb43-5e12aed75954")
            ILanguage3 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_AbbreviatedName(
                    HSTRING *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguage3, 0xc6af3d10, 0x641a, 0x5ba4, 0xbb,0x43, 0x5e,0x12,0xae,0xd7,0x59,0x54)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguage3Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguage3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AbbreviatedName)(
        __x_ABI_CWindows_CGlobalization_CILanguage3 *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguage3Vtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguage3 {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguage3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguage3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguage3_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage3_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguage3_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguage3_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguage3 methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguage3_get_AbbreviatedName(This,value) (This)->lpVtbl->get_AbbreviatedName(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage3_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguage3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage3_AddRef(__x_ABI_CWindows_CGlobalization_CILanguage3* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguage3_Release(__x_ABI_CWindows_CGlobalization_CILanguage3* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage3_GetIids(__x_ABI_CWindows_CGlobalization_CILanguage3* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage3_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguage3* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage3_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguage3* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguage3 methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguage3_get_AbbreviatedName(__x_ABI_CWindows_CGlobalization_CILanguage3* This,HSTRING *value) {
    return This->lpVtbl->get_AbbreviatedName(This,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguage3 IID___x_ABI_CWindows_CGlobalization_CILanguage3
#define ILanguage3Vtbl __x_ABI_CWindows_CGlobalization_CILanguage3Vtbl
#define ILanguage3 __x_ABI_CWindows_CGlobalization_CILanguage3
#define ILanguage3_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguage3_QueryInterface
#define ILanguage3_AddRef __x_ABI_CWindows_CGlobalization_CILanguage3_AddRef
#define ILanguage3_Release __x_ABI_CWindows_CGlobalization_CILanguage3_Release
#define ILanguage3_GetIids __x_ABI_CWindows_CGlobalization_CILanguage3_GetIids
#define ILanguage3_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguage3_GetRuntimeClassName
#define ILanguage3_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguage3_GetTrustLevel
#define ILanguage3_get_AbbreviatedName __x_ABI_CWindows_CGlobalization_CILanguage3_get_AbbreviatedName
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CGlobalization_CILanguage3_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 */

/*****************************************************************************
 * ILanguageExtensionSubtags interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags, 0x7d7daf45, 0x368d, 0x4364, 0x85,0x2b, 0xde,0xc9,0x27,0x03,0x7b,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("7d7daf45-368d-4364-852b-dec927037b85")
            ILanguageExtensionSubtags : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetExtensionSubtags(
                    HSTRING tag,
                    ABI::Windows::Foundation::Collections::IVectorView<HSTRING > **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags, 0x7d7daf45, 0x368d, 0x4364, 0x85,0x2b, 0xde,0xc9,0x27,0x03,0x7b,0x85)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtagsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguageExtensionSubtags methods ***/
    HRESULT (STDMETHODCALLTYPE *GetExtensionSubtags)(
        __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags *This,
        HSTRING tag,
        __FIVectorView_1_HSTRING **value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtagsVtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtagsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguageExtensionSubtags methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetExtensionSubtags(This,tag,value) (This)->lpVtbl->GetExtensionSubtags(This,tag,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_AddRef(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_Release(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetIids(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguageExtensionSubtags methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetExtensionSubtags(__x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags* This,HSTRING tag,__FIVectorView_1_HSTRING **value) {
    return This->lpVtbl->GetExtensionSubtags(This,tag,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguageExtensionSubtags IID___x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags
#define ILanguageExtensionSubtagsVtbl __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtagsVtbl
#define ILanguageExtensionSubtags __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags
#define ILanguageExtensionSubtags_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_QueryInterface
#define ILanguageExtensionSubtags_AddRef __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_AddRef
#define ILanguageExtensionSubtags_Release __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_Release
#define ILanguageExtensionSubtags_GetIids __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetIids
#define ILanguageExtensionSubtags_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetRuntimeClassName
#define ILanguageExtensionSubtags_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetTrustLevel
#define ILanguageExtensionSubtags_GetExtensionSubtags __x_ABI_CWindows_CGlobalization_CILanguageExtensionSubtags_GetExtensionSubtags
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

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

/*****************************************************************************
 * ILanguageFactory interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguageFactory, 0x9b0252ac, 0x0c27, 0x44f8, 0xb7,0x92, 0x97,0x93,0xfb,0x66,0xc6,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("9b0252ac-0c27-44f8-b792-9793fb66c63e")
            ILanguageFactory : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateLanguage(
                    HSTRING tag,
                    ABI::Windows::Globalization::ILanguage **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguageFactory, 0x9b0252ac, 0x0c27, 0x44f8, 0xb7,0x92, 0x97,0x93,0xfb,0x66,0xc6,0x3e)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguageFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateLanguage)(
        __x_ABI_CWindows_CGlobalization_CILanguageFactory *This,
        HSTRING tag,
        __x_ABI_CWindows_CGlobalization_CILanguage **value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageFactoryVtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguageFactory {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguageFactory methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageFactory_CreateLanguage(This,tag,value) (This)->lpVtbl->CreateLanguage(This,tag,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageFactory_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageFactory_AddRef(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageFactory_Release(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetIids(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguageFactory methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageFactory_CreateLanguage(__x_ABI_CWindows_CGlobalization_CILanguageFactory* This,HSTRING tag,__x_ABI_CWindows_CGlobalization_CILanguage **value) {
    return This->lpVtbl->CreateLanguage(This,tag,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguageFactory IID___x_ABI_CWindows_CGlobalization_CILanguageFactory
#define ILanguageFactoryVtbl __x_ABI_CWindows_CGlobalization_CILanguageFactoryVtbl
#define ILanguageFactory __x_ABI_CWindows_CGlobalization_CILanguageFactory
#define ILanguageFactory_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguageFactory_QueryInterface
#define ILanguageFactory_AddRef __x_ABI_CWindows_CGlobalization_CILanguageFactory_AddRef
#define ILanguageFactory_Release __x_ABI_CWindows_CGlobalization_CILanguageFactory_Release
#define ILanguageFactory_GetIids __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetIids
#define ILanguageFactory_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetRuntimeClassName
#define ILanguageFactory_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguageFactory_GetTrustLevel
#define ILanguageFactory_CreateLanguage __x_ABI_CWindows_CGlobalization_CILanguageFactory_CreateLanguage
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

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

/*****************************************************************************
 * ILanguageStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguageStatics, 0xb23cd557, 0x0865, 0x46d4, 0x89,0xb8, 0xd5,0x9b,0xe8,0x99,0x0f,0x0d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("b23cd557-0865-46d4-89b8-d59be8990f0d")
            ILanguageStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE IsWellFormed(
                    HSTRING tag,
                    BOOLEAN *result) = 0;

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

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguageStatics, 0xb23cd557, 0x0865, 0x46d4, 0x89,0xb8, 0xd5,0x9b,0xe8,0x99,0x0f,0x0d)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguageStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *IsWellFormed)(
        __x_ABI_CWindows_CGlobalization_CILanguageStatics *This,
        HSTRING tag,
        BOOLEAN *result);

    HRESULT (STDMETHODCALLTYPE *get_CurrentInputMethodLanguageTag)(
        __x_ABI_CWindows_CGlobalization_CILanguageStatics *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageStaticsVtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguageStatics {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguageStatics methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_IsWellFormed(This,tag,result) (This)->lpVtbl->IsWellFormed(This,tag,result)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics_get_CurrentInputMethodLanguageTag(This,value) (This)->lpVtbl->get_CurrentInputMethodLanguageTag(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics_AddRef(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics_Release(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetIids(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguageStatics methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_IsWellFormed(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,HSTRING tag,BOOLEAN *result) {
    return This->lpVtbl->IsWellFormed(This,tag,result);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics_get_CurrentInputMethodLanguageTag(__x_ABI_CWindows_CGlobalization_CILanguageStatics* This,HSTRING *value) {
    return This->lpVtbl->get_CurrentInputMethodLanguageTag(This,value);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguageStatics IID___x_ABI_CWindows_CGlobalization_CILanguageStatics
#define ILanguageStaticsVtbl __x_ABI_CWindows_CGlobalization_CILanguageStaticsVtbl
#define ILanguageStatics __x_ABI_CWindows_CGlobalization_CILanguageStatics
#define ILanguageStatics_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguageStatics_QueryInterface
#define ILanguageStatics_AddRef __x_ABI_CWindows_CGlobalization_CILanguageStatics_AddRef
#define ILanguageStatics_Release __x_ABI_CWindows_CGlobalization_CILanguageStatics_Release
#define ILanguageStatics_GetIids __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetIids
#define ILanguageStatics_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetRuntimeClassName
#define ILanguageStatics_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguageStatics_GetTrustLevel
#define ILanguageStatics_IsWellFormed __x_ABI_CWindows_CGlobalization_CILanguageStatics_IsWellFormed
#define ILanguageStatics_get_CurrentInputMethodLanguageTag __x_ABI_CWindows_CGlobalization_CILanguageStatics_get_CurrentInputMethodLanguageTag
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

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

/*****************************************************************************
 * ILanguageStatics2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguageStatics2, 0x30199f6e, 0x914b, 0x4b2a, 0x9d,0x6e, 0xe3,0xb0,0xe2,0x7d,0xbe,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("30199f6e-914b-4b2a-9d6e-e3b0e27dbe4f")
            ILanguageStatics2 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE TrySetInputMethodLanguageTag(
                    HSTRING tag,
                    BOOLEAN *result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguageStatics2, 0x30199f6e, 0x914b, 0x4b2a, 0x9d,0x6e, 0xe3,0xb0,0xe2,0x7d,0xbe,0x4f)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageStatics2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguageStatics2 methods ***/
    HRESULT (STDMETHODCALLTYPE *TrySetInputMethodLanguageTag)(
        __x_ABI_CWindows_CGlobalization_CILanguageStatics2 *This,
        HSTRING tag,
        BOOLEAN *result);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageStatics2Vtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguageStatics2 {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageStatics2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguageStatics2 methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics2_TrySetInputMethodLanguageTag(This,tag,result) (This)->lpVtbl->TrySetInputMethodLanguageTag(This,tag,result)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics2_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics2_AddRef(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics2_Release(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetIids(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguageStatics2 methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics2_TrySetInputMethodLanguageTag(__x_ABI_CWindows_CGlobalization_CILanguageStatics2* This,HSTRING tag,BOOLEAN *result) {
    return This->lpVtbl->TrySetInputMethodLanguageTag(This,tag,result);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguageStatics2 IID___x_ABI_CWindows_CGlobalization_CILanguageStatics2
#define ILanguageStatics2Vtbl __x_ABI_CWindows_CGlobalization_CILanguageStatics2Vtbl
#define ILanguageStatics2 __x_ABI_CWindows_CGlobalization_CILanguageStatics2
#define ILanguageStatics2_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguageStatics2_QueryInterface
#define ILanguageStatics2_AddRef __x_ABI_CWindows_CGlobalization_CILanguageStatics2_AddRef
#define ILanguageStatics2_Release __x_ABI_CWindows_CGlobalization_CILanguageStatics2_Release
#define ILanguageStatics2_GetIids __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetIids
#define ILanguageStatics2_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetRuntimeClassName
#define ILanguageStatics2_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguageStatics2_GetTrustLevel
#define ILanguageStatics2_TrySetInputMethodLanguageTag __x_ABI_CWindows_CGlobalization_CILanguageStatics2_TrySetInputMethodLanguageTag
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

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

/*****************************************************************************
 * ILanguageStatics3 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000
#ifndef ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CGlobalization_CILanguageStatics3, 0xd15ecb5a, 0x71de, 0x5752, 0x95,0x42, 0xfa,0xc5,0xb4,0xf2,0x72,0x61);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Globalization {
            MIDL_INTERFACE("d15ecb5a-71de-5752-9542-fac5b4f27261")
            ILanguageStatics3 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetMuiCompatibleLanguageListFromLanguageTags(
                    ABI::Windows::Foundation::Collections::IIterable<HSTRING > *tags,
                    ABI::Windows::Foundation::Collections::IVector<HSTRING > **result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CGlobalization_CILanguageStatics3, 0xd15ecb5a, 0x71de, 0x5752, 0x95,0x42, 0xfa,0xc5,0xb4,0xf2,0x72,0x61)
#endif
#else
typedef struct __x_ABI_CWindows_CGlobalization_CILanguageStatics3Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** ILanguageStatics3 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetMuiCompatibleLanguageListFromLanguageTags)(
        __x_ABI_CWindows_CGlobalization_CILanguageStatics3 *This,
        __FIIterable_1_HSTRING *tags,
        __FIVector_1_HSTRING **result);

    END_INTERFACE
} __x_ABI_CWindows_CGlobalization_CILanguageStatics3Vtbl;

interface __x_ABI_CWindows_CGlobalization_CILanguageStatics3 {
    CONST_VTBL __x_ABI_CWindows_CGlobalization_CILanguageStatics3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ILanguageStatics3 methods ***/
#define __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetMuiCompatibleLanguageListFromLanguageTags(This,tags,result) (This)->lpVtbl->GetMuiCompatibleLanguageListFromLanguageTags(This,tags,result)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics3_QueryInterface(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics3_AddRef(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CGlobalization_CILanguageStatics3_Release(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetIids(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetRuntimeClassName(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetTrustLevel(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ILanguageStatics3 methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetMuiCompatibleLanguageListFromLanguageTags(__x_ABI_CWindows_CGlobalization_CILanguageStatics3* This,__FIIterable_1_HSTRING *tags,__FIVector_1_HSTRING **result) {
    return This->lpVtbl->GetMuiCompatibleLanguageListFromLanguageTags(This,tags,result);
}
#endif
#ifdef WIDL_using_Windows_Globalization
#define IID_ILanguageStatics3 IID___x_ABI_CWindows_CGlobalization_CILanguageStatics3
#define ILanguageStatics3Vtbl __x_ABI_CWindows_CGlobalization_CILanguageStatics3Vtbl
#define ILanguageStatics3 __x_ABI_CWindows_CGlobalization_CILanguageStatics3
#define ILanguageStatics3_QueryInterface __x_ABI_CWindows_CGlobalization_CILanguageStatics3_QueryInterface
#define ILanguageStatics3_AddRef __x_ABI_CWindows_CGlobalization_CILanguageStatics3_AddRef
#define ILanguageStatics3_Release __x_ABI_CWindows_CGlobalization_CILanguageStatics3_Release
#define ILanguageStatics3_GetIids __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetIids
#define ILanguageStatics3_GetRuntimeClassName __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetRuntimeClassName
#define ILanguageStatics3_GetTrustLevel __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetTrustLevel
#define ILanguageStatics3_GetMuiCompatibleLanguageListFromLanguageTags __x_ABI_CWindows_CGlobalization_CILanguageStatics3_GetMuiCompatibleLanguageListFromLanguageTags
#endif /* WIDL_using_Windows_Globalization */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CGlobalization_CILanguageStatics3_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 */

/*
 * Class Windows.Globalization.Language
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Globalization_Language_DEFINED
#define RUNTIMECLASS_Windows_Globalization_Language_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Globalization_Language[] = {'W','i','n','d','o','w','s','.','G','l','o','b','a','l','i','z','a','t','i','o','n','.','L','a','n','g','u','a','g','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Globalization_Language[] = L"Windows.Globalization.Language";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Globalization_Language[] = {'W','i','n','d','o','w','s','.','G','l','o','b','a','l','i','z','a','t','i','o','n','.','L','a','n','g','u','a','g','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Globalization_Language_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IIterable<ABI::Windows::Globalization::Language* > interface
 */
#ifndef ____FIIterable_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CGlobalization__CLanguage, 0x48409a10, 0x61b6, 0x5db1, 0xa6,0x9d, 0x8a,0xbc,0x46,0xac,0x60,0x8a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("48409a10-61b6-5db1-a69d-8abc46ac608a")
                IIterable<ABI::Windows::Globalization::Language* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Globalization::Language*, ABI::Windows::Globalization::ILanguage* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CGlobalization__CLanguage, 0x48409a10, 0x61b6, 0x5db1, 0xa6,0x9d, 0x8a,0xbc,0x46,0xac,0x60,0x8a)
#endif
#else
typedef struct __FIIterable_1_Windows__CGlobalization__CLanguageVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Globalization::Language* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CGlobalization__CLanguage *This,
        __FIIterator_1_Windows__CGlobalization__CLanguage **value);

    END_INTERFACE
} __FIIterable_1_Windows__CGlobalization__CLanguageVtbl;

interface __FIIterable_1_Windows__CGlobalization__CLanguage {
    CONST_VTBL __FIIterable_1_Windows__CGlobalization__CLanguageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CGlobalization__CLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CGlobalization__CLanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CGlobalization__CLanguage_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CGlobalization__CLanguage_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CGlobalization__CLanguage_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Globalization::Language* > methods ***/
#define __FIIterable_1_Windows__CGlobalization__CLanguage_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CGlobalization__CLanguage_QueryInterface(__FIIterable_1_Windows__CGlobalization__CLanguage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterable_1_Windows__CGlobalization__CLanguage_AddRef(__FIIterable_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterable_1_Windows__CGlobalization__CLanguage_Release(__FIIterable_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CGlobalization__CLanguage_GetIids(__FIIterable_1_Windows__CGlobalization__CLanguage* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(__FIIterable_1_Windows__CGlobalization__CLanguage* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CGlobalization__CLanguage_GetTrustLevel(__FIIterable_1_Windows__CGlobalization__CLanguage* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Globalization::Language* > methods ***/
static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CGlobalization__CLanguage_First(__FIIterable_1_Windows__CGlobalization__CLanguage* This,__FIIterator_1_Windows__CGlobalization__CLanguage **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_Language IID___FIIterable_1_Windows__CGlobalization__CLanguage
#define IIterable_LanguageVtbl __FIIterable_1_Windows__CGlobalization__CLanguageVtbl
#define IIterable_Language __FIIterable_1_Windows__CGlobalization__CLanguage
#define IIterable_Language_QueryInterface __FIIterable_1_Windows__CGlobalization__CLanguage_QueryInterface
#define IIterable_Language_AddRef __FIIterable_1_Windows__CGlobalization__CLanguage_AddRef
#define IIterable_Language_Release __FIIterable_1_Windows__CGlobalization__CLanguage_Release
#define IIterable_Language_GetIids __FIIterable_1_Windows__CGlobalization__CLanguage_GetIids
#define IIterable_Language_GetRuntimeClassName __FIIterable_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName
#define IIterable_Language_GetTrustLevel __FIIterable_1_Windows__CGlobalization__CLanguage_GetTrustLevel
#define IIterable_Language_First __FIIterable_1_Windows__CGlobalization__CLanguage_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Globalization::Language* > interface
 */
#ifndef ____FIIterator_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CGlobalization__CLanguage, 0x30e99ae6, 0xf414, 0x5243, 0x8d,0xb2, 0xaa,0xb3,0x8e,0xa3,0xf1,0xf1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("30e99ae6-f414-5243-8db2-aab38ea3f1f1")
                IIterator<ABI::Windows::Globalization::Language* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Globalization::Language*, ABI::Windows::Globalization::ILanguage* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CGlobalization__CLanguage, 0x30e99ae6, 0xf414, 0x5243, 0x8d,0xb2, 0xaa,0xb3,0x8e,0xa3,0xf1,0xf1)
#endif
#else
typedef struct __FIIterator_1_Windows__CGlobalization__CLanguageVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Globalization::Language* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CGlobalization__CLanguage *This,
        __x_ABI_CWindows_CGlobalization_CILanguage **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CGlobalization__CLanguage *This,
        WINBOOL *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CGlobalization__CLanguage *This,
        WINBOOL *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CGlobalization__CLanguage *This,
        UINT32 items_size,
        __x_ABI_CWindows_CGlobalization_CILanguage **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CGlobalization__CLanguageVtbl;

interface __FIIterator_1_Windows__CGlobalization__CLanguage {
    CONST_VTBL __FIIterator_1_Windows__CGlobalization__CLanguageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CGlobalization__CLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CGlobalization__CLanguage_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Globalization::Language* > methods ***/
#define __FIIterator_1_Windows__CGlobalization__CLanguage_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CGlobalization__CLanguage_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_QueryInterface(__FIIterator_1_Windows__CGlobalization__CLanguage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIIterator_1_Windows__CGlobalization__CLanguage_AddRef(__FIIterator_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIIterator_1_Windows__CGlobalization__CLanguage_Release(__FIIterator_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_GetIids(__FIIterator_1_Windows__CGlobalization__CLanguage* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(__FIIterator_1_Windows__CGlobalization__CLanguage* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_GetTrustLevel(__FIIterator_1_Windows__CGlobalization__CLanguage* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Globalization::Language* > methods ***/
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_get_Current(__FIIterator_1_Windows__CGlobalization__CLanguage* This,__x_ABI_CWindows_CGlobalization_CILanguage **value) {
    return This->lpVtbl->get_Current(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_get_HasCurrent(__FIIterator_1_Windows__CGlobalization__CLanguage* This,WINBOOL *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_MoveNext(__FIIterator_1_Windows__CGlobalization__CLanguage* This,WINBOOL *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CGlobalization__CLanguage_GetMany(__FIIterator_1_Windows__CGlobalization__CLanguage* This,UINT32 items_size,__x_ABI_CWindows_CGlobalization_CILanguage **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_Language IID___FIIterator_1_Windows__CGlobalization__CLanguage
#define IIterator_LanguageVtbl __FIIterator_1_Windows__CGlobalization__CLanguageVtbl
#define IIterator_Language __FIIterator_1_Windows__CGlobalization__CLanguage
#define IIterator_Language_QueryInterface __FIIterator_1_Windows__CGlobalization__CLanguage_QueryInterface
#define IIterator_Language_AddRef __FIIterator_1_Windows__CGlobalization__CLanguage_AddRef
#define IIterator_Language_Release __FIIterator_1_Windows__CGlobalization__CLanguage_Release
#define IIterator_Language_GetIids __FIIterator_1_Windows__CGlobalization__CLanguage_GetIids
#define IIterator_Language_GetRuntimeClassName __FIIterator_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName
#define IIterator_Language_GetTrustLevel __FIIterator_1_Windows__CGlobalization__CLanguage_GetTrustLevel
#define IIterator_Language_get_Current __FIIterator_1_Windows__CGlobalization__CLanguage_get_Current
#define IIterator_Language_get_HasCurrent __FIIterator_1_Windows__CGlobalization__CLanguage_get_HasCurrent
#define IIterator_Language_MoveNext __FIIterator_1_Windows__CGlobalization__CLanguage_MoveNext
#define IIterator_Language_GetMany __FIIterator_1_Windows__CGlobalization__CLanguage_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Globalization::Language* > interface
 */
#ifndef ____FIVectorView_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CGlobalization__CLanguage, 0x144b0f3d, 0x2d59, 0x5dd2, 0xb0,0x12, 0x90,0x8e,0xc3,0xe0,0x64,0x35);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("144b0f3d-2d59-5dd2-b012-908ec3e06435")
                IVectorView<ABI::Windows::Globalization::Language* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Globalization::Language*, ABI::Windows::Globalization::ILanguage* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CGlobalization__CLanguage, 0x144b0f3d, 0x2d59, 0x5dd2, 0xb0,0x12, 0x90,0x8e,0xc3,0xe0,0x64,0x35)
#endif
#else
typedef struct __FIVectorView_1_Windows__CGlobalization__CLanguageVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Globalization::Language* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CGlobalization__CLanguage *This,
        UINT32 index,
        __x_ABI_CWindows_CGlobalization_CILanguage **value);

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

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CGlobalization__CLanguage *This,
        __x_ABI_CWindows_CGlobalization_CILanguage *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CGlobalization__CLanguage *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CGlobalization_CILanguage **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CGlobalization__CLanguageVtbl;

interface __FIVectorView_1_Windows__CGlobalization__CLanguage {
    CONST_VTBL __FIVectorView_1_Windows__CGlobalization__CLanguageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Globalization::Language* > methods ***/
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CGlobalization__CLanguage_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_QueryInterface(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVectorView_1_Windows__CGlobalization__CLanguage_AddRef(__FIVectorView_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVectorView_1_Windows__CGlobalization__CLanguage_Release(__FIVectorView_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_GetIids(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_GetTrustLevel(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Globalization::Language* > methods ***/
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_GetAt(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,UINT32 index,__x_ABI_CWindows_CGlobalization_CILanguage **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_get_Size(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_IndexOf(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,__x_ABI_CWindows_CGlobalization_CILanguage *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CGlobalization__CLanguage_GetMany(__FIVectorView_1_Windows__CGlobalization__CLanguage* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CGlobalization_CILanguage **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_Language IID___FIVectorView_1_Windows__CGlobalization__CLanguage
#define IVectorView_LanguageVtbl __FIVectorView_1_Windows__CGlobalization__CLanguageVtbl
#define IVectorView_Language __FIVectorView_1_Windows__CGlobalization__CLanguage
#define IVectorView_Language_QueryInterface __FIVectorView_1_Windows__CGlobalization__CLanguage_QueryInterface
#define IVectorView_Language_AddRef __FIVectorView_1_Windows__CGlobalization__CLanguage_AddRef
#define IVectorView_Language_Release __FIVectorView_1_Windows__CGlobalization__CLanguage_Release
#define IVectorView_Language_GetIids __FIVectorView_1_Windows__CGlobalization__CLanguage_GetIids
#define IVectorView_Language_GetRuntimeClassName __FIVectorView_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName
#define IVectorView_Language_GetTrustLevel __FIVectorView_1_Windows__CGlobalization__CLanguage_GetTrustLevel
#define IVectorView_Language_GetAt __FIVectorView_1_Windows__CGlobalization__CLanguage_GetAt
#define IVectorView_Language_get_Size __FIVectorView_1_Windows__CGlobalization__CLanguage_get_Size
#define IVectorView_Language_IndexOf __FIVectorView_1_Windows__CGlobalization__CLanguage_IndexOf
#define IVectorView_Language_GetMany __FIVectorView_1_Windows__CGlobalization__CLanguage_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVector<ABI::Windows::Globalization::Language* > interface
 */
#ifndef ____FIVector_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CGlobalization__CLanguage_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVector_1_Windows__CGlobalization__CLanguage, 0xdcf2525a, 0x42c0, 0x501d, 0x9f,0xcb, 0x47,0x1f,0xae,0x06,0x03,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("dcf2525a-42c0-501d-9fcb-471fae060396")
                IVector<ABI::Windows::Globalization::Language* > : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Globalization::Language*, ABI::Windows::Globalization::ILanguage* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVector_1_Windows__CGlobalization__CLanguage, 0xdcf2525a, 0x42c0, 0x501d, 0x9f,0xcb, 0x47,0x1f,0xae,0x06,0x03,0x96)
#endif
#else
typedef struct __FIVector_1_Windows__CGlobalization__CLanguageVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVector<ABI::Windows::Globalization::Language* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        UINT32 index,
        __x_ABI_CWindows_CGlobalization_CILanguage **value);

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

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        __FIVectorView_1_Windows__CGlobalization__CLanguage **value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        __x_ABI_CWindows_CGlobalization_CILanguage *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *SetAt)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        UINT32 index,
        __x_ABI_CWindows_CGlobalization_CILanguage *value);

    HRESULT (STDMETHODCALLTYPE *InsertAt)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        UINT32 index,
        __x_ABI_CWindows_CGlobalization_CILanguage *value);

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

    HRESULT (STDMETHODCALLTYPE *Append)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        __x_ABI_CWindows_CGlobalization_CILanguage *value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CGlobalization_CILanguage **items,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
        __FIVector_1_Windows__CGlobalization__CLanguage *This,
        UINT32 count,
        __x_ABI_CWindows_CGlobalization_CILanguage **items);

    END_INTERFACE
} __FIVector_1_Windows__CGlobalization__CLanguageVtbl;

interface __FIVector_1_Windows__CGlobalization__CLanguage {
    CONST_VTBL __FIVector_1_Windows__CGlobalization__CLanguageVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVector_1_Windows__CGlobalization__CLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVector_1_Windows__CGlobalization__CLanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVector_1_Windows__CGlobalization__CLanguage_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVector<ABI::Windows::Globalization::Language* > methods ***/
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetView(This,value) (This)->lpVtbl->GetView(This,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
#define __FIVector_1_Windows__CGlobalization__CLanguage_Append(This,value) (This)->lpVtbl->Append(This,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
#define __FIVector_1_Windows__CGlobalization__CLanguage_Clear(This) (This)->lpVtbl->Clear(This)
#define __FIVector_1_Windows__CGlobalization__CLanguage_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#define __FIVector_1_Windows__CGlobalization__CLanguage_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_QueryInterface(__FIVector_1_Windows__CGlobalization__CLanguage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FIVector_1_Windows__CGlobalization__CLanguage_AddRef(__FIVector_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FIVector_1_Windows__CGlobalization__CLanguage_Release(__FIVector_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetIids(__FIVector_1_Windows__CGlobalization__CLanguage* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName(__FIVector_1_Windows__CGlobalization__CLanguage* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetTrustLevel(__FIVector_1_Windows__CGlobalization__CLanguage* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVector<ABI::Windows::Globalization::Language* > methods ***/
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetAt(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 index,__x_ABI_CWindows_CGlobalization_CILanguage **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_get_Size(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetView(__FIVector_1_Windows__CGlobalization__CLanguage* This,__FIVectorView_1_Windows__CGlobalization__CLanguage **value) {
    return This->lpVtbl->GetView(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_IndexOf(__FIVector_1_Windows__CGlobalization__CLanguage* This,__x_ABI_CWindows_CGlobalization_CILanguage *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_SetAt(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 index,__x_ABI_CWindows_CGlobalization_CILanguage *value) {
    return This->lpVtbl->SetAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_InsertAt(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 index,__x_ABI_CWindows_CGlobalization_CILanguage *value) {
    return This->lpVtbl->InsertAt(This,index,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAt(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 index) {
    return This->lpVtbl->RemoveAt(This,index);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_Append(__FIVector_1_Windows__CGlobalization__CLanguage* This,__x_ABI_CWindows_CGlobalization_CILanguage *value) {
    return This->lpVtbl->Append(This,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAtEnd(__FIVector_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->RemoveAtEnd(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_Clear(__FIVector_1_Windows__CGlobalization__CLanguage* This) {
    return This->lpVtbl->Clear(This);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_GetMany(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CGlobalization_CILanguage **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
static __WIDL_INLINE HRESULT __FIVector_1_Windows__CGlobalization__CLanguage_ReplaceAll(__FIVector_1_Windows__CGlobalization__CLanguage* This,UINT32 count,__x_ABI_CWindows_CGlobalization_CILanguage **items) {
    return This->lpVtbl->ReplaceAll(This,count,items);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVector_Language IID___FIVector_1_Windows__CGlobalization__CLanguage
#define IVector_LanguageVtbl __FIVector_1_Windows__CGlobalization__CLanguageVtbl
#define IVector_Language __FIVector_1_Windows__CGlobalization__CLanguage
#define IVector_Language_QueryInterface __FIVector_1_Windows__CGlobalization__CLanguage_QueryInterface
#define IVector_Language_AddRef __FIVector_1_Windows__CGlobalization__CLanguage_AddRef
#define IVector_Language_Release __FIVector_1_Windows__CGlobalization__CLanguage_Release
#define IVector_Language_GetIids __FIVector_1_Windows__CGlobalization__CLanguage_GetIids
#define IVector_Language_GetRuntimeClassName __FIVector_1_Windows__CGlobalization__CLanguage_GetRuntimeClassName
#define IVector_Language_GetTrustLevel __FIVector_1_Windows__CGlobalization__CLanguage_GetTrustLevel
#define IVector_Language_GetAt __FIVector_1_Windows__CGlobalization__CLanguage_GetAt
#define IVector_Language_get_Size __FIVector_1_Windows__CGlobalization__CLanguage_get_Size
#define IVector_Language_GetView __FIVector_1_Windows__CGlobalization__CLanguage_GetView
#define IVector_Language_IndexOf __FIVector_1_Windows__CGlobalization__CLanguage_IndexOf
#define IVector_Language_SetAt __FIVector_1_Windows__CGlobalization__CLanguage_SetAt
#define IVector_Language_InsertAt __FIVector_1_Windows__CGlobalization__CLanguage_InsertAt
#define IVector_Language_RemoveAt __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAt
#define IVector_Language_Append __FIVector_1_Windows__CGlobalization__CLanguage_Append
#define IVector_Language_RemoveAtEnd __FIVector_1_Windows__CGlobalization__CLanguage_RemoveAtEnd
#define IVector_Language_Clear __FIVector_1_Windows__CGlobalization__CLanguage_Clear
#define IVector_Language_GetMany __FIVector_1_Windows__CGlobalization__CLanguage_GetMany
#define IVector_Language_ReplaceAll __FIVector_1_Windows__CGlobalization__CLanguage_ReplaceAll
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVector_1_Windows__CGlobalization__CLanguage_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_globalization_h__ */
