// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter;

#endif // ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2 __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2;

#endif // ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory;

#endif // ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics;

#endif // ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if !defined(____x_ABI_C__FIIterator_1_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1_HSTRING __x_ABI_C__FIIterator_1_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1_HSTRING;

    typedef struct __x_ABI_C__FIIterator_1_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1_HSTRING* This,
        HSTRING* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1_HSTRING* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1_HSTRING* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1_HSTRING* This,
        UINT32 itemsLength,
        HSTRING* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1_HSTRINGVtbl;

    interface __x_ABI_C__FIIterator_1_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1_HSTRING __x_ABI_C__FIIterable_1_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1_HSTRING;

    typedef struct __x_ABI_C__FIIterable_1_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1_HSTRING* This,
        __x_ABI_C__FIIterator_1_HSTRING** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1_HSTRINGVtbl;

    interface __x_ABI_C__FIIterable_1_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1_HSTRING __x_ABI_C__FIVectorView_1_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1_HSTRING;

    typedef struct __x_ABI_C__FIVectorView_1_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1_HSTRING* This,
        UINT32 index,
        HSTRING* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1_HSTRING* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1_HSTRING* This,
        HSTRING value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1_HSTRING* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        HSTRING* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1_HSTRINGVtbl;

    interface __x_ABI_C__FIVectorView_1_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1_HSTRING_INTERFACE_DEFINED__
    
typedef struct __x_ABI_CWindows_CFoundation_CDateTime __x_ABI_CWindows_CFoundation_CDateTime;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat;

typedef enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat;

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat_Default = 1,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat_Default = 1,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat_Abbreviated = 2,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat_Full = 3,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat_Default = 1,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat_Default = 1,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat_Default = 1,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat_Abbreviated = 2,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat_Full = 3,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat_Numeric = 4,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat_Default = 1,
};

enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat
    {
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat_None = 0,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat_Default = 1,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat_Abbreviated = 2,
    __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat_Full = 3,
};

#if !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Languages)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        __x_ABI_C__FIVectorView_1_HSTRING** value);
    HRESULT (STDMETHODCALLTYPE* get_GeographicRegion)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Calendar)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Clock)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_NumeralSystem)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* put_NumeralSystem)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING value);
    HRESULT (STDMETHODCALLTYPE* get_Patterns)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        __x_ABI_C__FIVectorView_1_HSTRING** value);
    HRESULT (STDMETHODCALLTYPE* get_Template)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* Format)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        struct __x_ABI_CWindows_CFoundation_CDateTime value,
        HSTRING* result);
    HRESULT (STDMETHODCALLTYPE* get_IncludeYear)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeMonth)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeDayOfWeek)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeDay)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeHour)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeMinute)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_IncludeSecond)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_ResolvedLanguage)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_ResolvedGeographicRegion)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter* This,
        HSTRING* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterVtbl;

    interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter
    {
        CONST_VTBL struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter;
#endif /* !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FormatUsingTimeZone)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2* This,
        struct __x_ABI_CWindows_CFoundation_CDateTime datetime,
        HSTRING timeZoneId,
        HSTRING* result);

        END_INTERFACE
    } __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2Vtbl;

    interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2;
#endif /* !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatter)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        HSTRING formatTemplate,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterLanguages)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        HSTRING formatTemplate,
        __x_ABI_C__FIIterable_1_HSTRING* languages,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterContext)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        HSTRING formatTemplate,
        __x_ABI_C__FIIterable_1_HSTRING* languages,
        HSTRING geographicRegion,
        HSTRING calendar,
        HSTRING clock,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterDate)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat yearFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat monthFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat dayFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat dayOfWeekFormat,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterTime)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat hourFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat minuteFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat secondFormat,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterDateTimeLanguages)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat yearFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat monthFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat dayFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat dayOfWeekFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat hourFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat minuteFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat secondFormat,
        __x_ABI_C__FIIterable_1_HSTRING* languages,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);
    HRESULT (STDMETHODCALLTYPE* CreateDateTimeFormatterDateTimeContext)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory* This,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CYearFormat yearFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMonthFormat monthFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayFormat dayFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CDayOfWeekFormat dayOfWeekFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CHourFormat hourFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CMinuteFormat minuteFormat,
        enum __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CSecondFormat secondFormat,
        __x_ABI_C__FIIterable_1_HSTRING* languages,
        HSTRING geographicRegion,
        HSTRING calendar,
        HSTRING clock,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** result);

        END_INTERFACE
    } __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactoryVtbl;

    interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory;
#endif /* !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_LongDate)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** value);
    HRESULT (STDMETHODCALLTYPE* get_LongTime)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** value);
    HRESULT (STDMETHODCALLTYPE* get_ShortDate)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** value);
    HRESULT (STDMETHODCALLTYPE* get_ShortTime)(__x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics* This,
        __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatter** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStaticsVtbl;

    interface __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics;
#endif /* !defined(____x_ABI_CWindows_CGlobalization_CDateTimeFormatting_CIDateTimeFormatterStatics_INTERFACE_DEFINED__) */
    
