/*** Autogenerated by WIDL 9.8 from include/windows.system.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_system_h__
#define __windows_system_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_CSystem_CIDispatcherQueueHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler ABI::Windows::System::IDispatcherQueueHandler
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueue __x_ABI_CWindows_CSystem_CIDispatcherQueue;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue ABI::Windows::System::IDispatcherQueue
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueue;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueue2 __x_ABI_CWindows_CSystem_CIDispatcherQueue2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2 ABI::Windows::System::IDispatcherQueue2
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueue2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueController __x_ABI_CWindows_CSystem_CIDispatcherQueueController;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController ABI::Windows::System::IDispatcherQueueController
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueController;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics ABI::Windows::System::IDispatcherQueueControllerStatics
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueControllerStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs ABI::Windows::System::IDispatcherQueueShutdownStartingEventArgs
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueShutdownStartingEventArgs;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics ABI::Windows::System::IDispatcherQueueStatics
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer ABI::Windows::System::IDispatcherQueueTimer
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueTimer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIUserChangedEventArgs __x_ABI_CWindows_CSystem_CIUserChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs ABI::Windows::System::IUserChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace System {
            interface IUserChangedEventArgs;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CDispatcherQueue_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDispatcherQueue_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class DispatcherQueue;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CDispatcherQueue __x_ABI_CWindows_CSystem_CDispatcherQueue;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CDispatcherQueue_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSystem_CDispatcherQueueController_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDispatcherQueueController_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class DispatcherQueueController;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CDispatcherQueueController __x_ABI_CWindows_CSystem_CDispatcherQueueController;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CDispatcherQueueController_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSystem_CDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class DispatcherQueueShutdownStartingEventArgs;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CDispatcherQueueShutdownStartingEventArgs __x_ABI_CWindows_CSystem_CDispatcherQueueShutdownStartingEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSystem_CDispatcherQueueTimer_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDispatcherQueueTimer_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class DispatcherQueueTimer;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CDispatcherQueueTimer __x_ABI_CWindows_CSystem_CDispatcherQueueTimer;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CDispatcherQueueTimer_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSystem_CUser_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CUser_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class User;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CUser __x_ABI_CWindows_CSystem_CUser;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CUser_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSystem_CUserChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CUserChangedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace System {
            class UserChangedEventArgs;
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSystem_CUserChangedEventArgs __x_ABI_CWindows_CSystem_CUserChangedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSystem_CUserChangedEventArgs_FWD_DEFINED__ */

#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* >
#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_CSystem_CDispatcherQueuePriority __x_ABI_CWindows_CSystem_CDispatcherQueuePriority;
#endif /* __cplusplus */

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

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueue __x_ABI_CWindows_CSystem_CIDispatcherQueue;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue ABI::Windows::System::IDispatcherQueue
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueue;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueue2 __x_ABI_CWindows_CSystem_CIDispatcherQueue2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2 ABI::Windows::System::IDispatcherQueue2
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueue2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueController __x_ABI_CWindows_CSystem_CIDispatcherQueueController;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController ABI::Windows::System::IDispatcherQueueController
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueController;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics ABI::Windows::System::IDispatcherQueueControllerStatics
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueControllerStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs ABI::Windows::System::IDispatcherQueueShutdownStartingEventArgs
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueShutdownStartingEventArgs;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics ABI::Windows::System::IDispatcherQueueStatics
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer ABI::Windows::System::IDispatcherQueueTimer
namespace ABI {
    namespace Windows {
        namespace System {
            interface IDispatcherQueueTimer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIUser __x_ABI_CWindows_CSystem_CIUser;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIUser ABI::Windows::System::IUser
namespace ABI {
    namespace Windows {
        namespace System {
            interface IUser;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIUserStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUserStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIUserStatics __x_ABI_CWindows_CSystem_CIUserStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIUserStatics ABI::Windows::System::IUserStatics
namespace ABI {
    namespace Windows {
        namespace System {
            interface IUserStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIUserChangedEventArgs __x_ABI_CWindows_CSystem_CIUserChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs ABI::Windows::System::IUserChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace System {
            interface IUserChangedEventArgs;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs2_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIUserChangedEventArgs2 __x_ABI_CWindows_CSystem_CIUserChangedEventArgs2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs2 ABI::Windows::System::IUserChangedEventArgs2
namespace ABI {
    namespace Windows {
        namespace System {
            interface IUserChangedEventArgs2;
        }
    }
}
#endif /* __cplusplus */
#endif

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            enum DispatcherQueuePriority {
                DispatcherQueuePriority_Low = -10,
                DispatcherQueuePriority_Normal = 0,
                DispatcherQueuePriority_High = 10
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSystem_CDispatcherQueuePriority {
    DispatcherQueuePriority_Low = -10,
    DispatcherQueuePriority_Normal = 0,
    DispatcherQueuePriority_High = 10
};
#ifdef WIDL_using_Windows_System
#define DispatcherQueuePriority __x_ABI_CWindows_CSystem_CDispatcherQueuePriority
#endif /* WIDL_using_Windows_System */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            enum ProcessorArchitecture {
                ProcessorArchitecture_X86 = 0,
                ProcessorArchitecture_Arm = 5,
                ProcessorArchitecture_X64 = 9,
                ProcessorArchitecture_Neutral = 11,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
                ProcessorArchitecture_Arm64 = 12,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
                ProcessorArchitecture_X86OnArm64 = 14,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
                ProcessorArchitecture_Unknown = 65535
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSystem_CProcessorArchitecture {
    ProcessorArchitecture_X86 = 0,
    ProcessorArchitecture_Arm = 5,
    ProcessorArchitecture_X64 = 9,
    ProcessorArchitecture_Neutral = 11,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
    ProcessorArchitecture_Arm64 = 12,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
    ProcessorArchitecture_X86OnArm64 = 14,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
    ProcessorArchitecture_Unknown = 65535
};
#ifdef WIDL_using_Windows_System
#define ProcessorArchitecture __x_ABI_CWindows_CSystem_CProcessorArchitecture
#endif /* WIDL_using_Windows_System */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
/*****************************************************************************
 * IDispatcherQueueHandler interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueHandler, 0xdfa2dc9c, 0x1a2d, 0x4917, 0x98,0xf2, 0x93,0x9a,0xf1,0xd6,0xe0,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("dfa2dc9c-1a2d-4917-98f2-939af1d6e0c8")
            IDispatcherQueueHandler : public IUnknown
            {
                virtual HRESULT STDMETHODCALLTYPE Invoke(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler, 0xdfa2dc9c, 0x1a2d, 0x4917, 0x98,0xf2, 0x93,0x9a,0xf1,0xd6,0xe0,0xc8)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueHandlerVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatcherQueueHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler *This);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueHandlerVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatcherQueueHandler methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Invoke(This) (This)->lpVtbl->Invoke(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatcherQueueHandler methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Invoke(__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler* This) {
    return This->lpVtbl->Invoke(This);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueHandler IID___x_ABI_CWindows_CSystem_CIDispatcherQueueHandler
#define IDispatcherQueueHandlerVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueHandlerVtbl
#define IDispatcherQueueHandler __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler
#define IDispatcherQueueHandler_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_QueryInterface
#define IDispatcherQueueHandler_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_AddRef
#define IDispatcherQueueHandler_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Release
#define IDispatcherQueueHandler_Invoke __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_Invoke
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueHandler_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueue interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueue, 0x603e88e4, 0xa338, 0x4ffe, 0xa4,0x57, 0xa5,0xcf,0xb9,0xce,0xb8,0x99);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("603e88e4-a338-4ffe-a457-a5cfb9ceb899")
            IDispatcherQueue : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateTimer(
                    ABI::Windows::System::IDispatcherQueueTimer **result) = 0;

                virtual HRESULT STDMETHODCALLTYPE TryEnqueue(
                    ABI::Windows::System::IDispatcherQueueHandler *callback,
                    boolean *result) = 0;

                virtual HRESULT STDMETHODCALLTYPE TryEnqueueWithPriority(
                    enum DispatcherQueuePriority priority,
                    ABI::Windows::System::IDispatcherQueueHandler *callback,
                    boolean *result) = 0;

                virtual HRESULT STDMETHODCALLTYPE add_ShutdownStarting(
                    ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > *handler,
                    EventRegistrationToken *token) = 0;

                virtual HRESULT STDMETHODCALLTYPE remove_ShutdownStarting(
                    EventRegistrationToken token) = 0;

                virtual HRESULT STDMETHODCALLTYPE add_ShutdownCompleted(
                    ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > *handler,
                    EventRegistrationToken *token) = 0;

                virtual HRESULT STDMETHODCALLTYPE remove_ShutdownCompleted(
                    EventRegistrationToken token) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueue, 0x603e88e4, 0xa338, 0x4ffe, 0xa4,0x57, 0xa5,0xcf,0xb9,0xce,0xb8,0x99)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueue methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateTimer)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer **result);

    HRESULT (STDMETHODCALLTYPE *TryEnqueue)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler *callback,
        boolean *result);

    HRESULT (STDMETHODCALLTYPE *TryEnqueueWithPriority)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        enum __x_ABI_CWindows_CSystem_CDispatcherQueuePriority priority,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueHandler *callback,
        boolean *result);

    HRESULT (STDMETHODCALLTYPE *add_ShutdownStarting)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_ShutdownStarting)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_ShutdownCompleted)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_ShutdownCompleted)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *This,
        EventRegistrationToken token);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueue {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueue methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_CreateTimer(This,result) (This)->lpVtbl->CreateTimer(This,result)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueue(This,callback,result) (This)->lpVtbl->TryEnqueue(This,callback,result)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueueWithPriority(This,priority,callback,result) (This)->lpVtbl->TryEnqueueWithPriority(This,priority,callback,result)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownStarting(This,handler,token) (This)->lpVtbl->add_ShutdownStarting(This,handler,token)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownStarting(This,token) (This)->lpVtbl->remove_ShutdownStarting(This,token)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownCompleted(This,handler,token) (This)->lpVtbl->add_ShutdownCompleted(This,handler,token)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownCompleted(This,token) (This)->lpVtbl->remove_ShutdownCompleted(This,token)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueue_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueue_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueue methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_CreateTimer(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer **result) {
    return This->lpVtbl->CreateTimer(This,result);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueue(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler *callback,boolean *result) {
    return This->lpVtbl->TryEnqueue(This,callback,result);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueueWithPriority(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,enum __x_ABI_CWindows_CSystem_CDispatcherQueuePriority priority,__x_ABI_CWindows_CSystem_CIDispatcherQueueHandler *callback,boolean *result) {
    return This->lpVtbl->TryEnqueueWithPriority(This,priority,callback,result);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownStarting(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_ShutdownStarting(This,handler,token);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownStarting(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_ShutdownStarting(This,token);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownCompleted(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_ShutdownCompleted(This,handler,token);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownCompleted(__x_ABI_CWindows_CSystem_CIDispatcherQueue* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_ShutdownCompleted(This,token);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueue IID___x_ABI_CWindows_CSystem_CIDispatcherQueue
#define IDispatcherQueueVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueVtbl
#define IDispatcherQueue __x_ABI_CWindows_CSystem_CIDispatcherQueue
#define IDispatcherQueue_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueue_QueryInterface
#define IDispatcherQueue_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueue_AddRef
#define IDispatcherQueue_Release __x_ABI_CWindows_CSystem_CIDispatcherQueue_Release
#define IDispatcherQueue_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetIids
#define IDispatcherQueue_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetRuntimeClassName
#define IDispatcherQueue_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueue_GetTrustLevel
#define IDispatcherQueue_CreateTimer __x_ABI_CWindows_CSystem_CIDispatcherQueue_CreateTimer
#define IDispatcherQueue_TryEnqueue __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueue
#define IDispatcherQueue_TryEnqueueWithPriority __x_ABI_CWindows_CSystem_CIDispatcherQueue_TryEnqueueWithPriority
#define IDispatcherQueue_add_ShutdownStarting __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownStarting
#define IDispatcherQueue_remove_ShutdownStarting __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownStarting
#define IDispatcherQueue_add_ShutdownCompleted __x_ABI_CWindows_CSystem_CIDispatcherQueue_add_ShutdownCompleted
#define IDispatcherQueue_remove_ShutdownCompleted __x_ABI_CWindows_CSystem_CIDispatcherQueue_remove_ShutdownCompleted
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueue_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueue2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueue2, 0xc822c647, 0x30ef, 0x506e, 0xbd,0x1e, 0xa6,0x47,0xae,0x66,0x75,0xff);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("c822c647-30ef-506e-bd1e-a647ae6675ff")
            IDispatcherQueue2 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_HasThreadAccess(
                    boolean *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueue2, 0xc822c647, 0x30ef, 0x506e, 0xbd,0x1e, 0xa6,0x47,0xae,0x66,0x75,0xff)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueue2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueue2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_HasThreadAccess)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueue2 *This,
        boolean *value);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueue2Vtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueue2 {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueue2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueue2 methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueue2_get_HasThreadAccess(This,value) (This)->lpVtbl->get_HasThreadAccess(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue2_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueue2_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueue2_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueue2 methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueue2_get_HasThreadAccess(__x_ABI_CWindows_CSystem_CIDispatcherQueue2* This,boolean *value) {
    return This->lpVtbl->get_HasThreadAccess(This,value);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueue2 IID___x_ABI_CWindows_CSystem_CIDispatcherQueue2
#define IDispatcherQueue2Vtbl __x_ABI_CWindows_CSystem_CIDispatcherQueue2Vtbl
#define IDispatcherQueue2 __x_ABI_CWindows_CSystem_CIDispatcherQueue2
#define IDispatcherQueue2_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueue2_QueryInterface
#define IDispatcherQueue2_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueue2_AddRef
#define IDispatcherQueue2_Release __x_ABI_CWindows_CSystem_CIDispatcherQueue2_Release
#define IDispatcherQueue2_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetIids
#define IDispatcherQueue2_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetRuntimeClassName
#define IDispatcherQueue2_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueue2_GetTrustLevel
#define IDispatcherQueue2_get_HasThreadAccess __x_ABI_CWindows_CSystem_CIDispatcherQueue2_get_HasThreadAccess
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueue2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */

/*****************************************************************************
 * IDispatcherQueueController interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueController, 0x22f34e66, 0x50db, 0x4e36, 0xa9,0x8d, 0x61,0xc0,0x1b,0x38,0x4d,0x20);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("22f34e66-50db-4e36-a98d-61c01b384d20")
            IDispatcherQueueController : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_DispatcherQueue(
                    ABI::Windows::System::IDispatcherQueue **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE ShutdownQueueAsync(
                    ABI::Windows::Foundation::IAsyncAction **operation) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueController, 0x22f34e66, 0x50db, 0x4e36, 0xa9,0x8d, 0x61,0xc0,0x1b,0x38,0x4d,0x20)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueueController methods ***/
    HRESULT (STDMETHODCALLTYPE *get_DispatcherQueue)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueController *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueue **value);

    HRESULT (STDMETHODCALLTYPE *ShutdownQueueAsync)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueController *This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueController {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueueController methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_get_DispatcherQueue(This,value) (This)->lpVtbl->get_DispatcherQueue(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueController_ShutdownQueueAsync(This,operation) (This)->lpVtbl->ShutdownQueueAsync(This,operation)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueController_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueController_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueueController methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_get_DispatcherQueue(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,__x_ABI_CWindows_CSystem_CIDispatcherQueue **value) {
    return This->lpVtbl->get_DispatcherQueue(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueController_ShutdownQueueAsync(__x_ABI_CWindows_CSystem_CIDispatcherQueueController* This,__x_ABI_CWindows_CFoundation_CIAsyncAction **operation) {
    return This->lpVtbl->ShutdownQueueAsync(This,operation);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueController IID___x_ABI_CWindows_CSystem_CIDispatcherQueueController
#define IDispatcherQueueControllerVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerVtbl
#define IDispatcherQueueController __x_ABI_CWindows_CSystem_CIDispatcherQueueController
#define IDispatcherQueueController_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueController_QueryInterface
#define IDispatcherQueueController_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueController_AddRef
#define IDispatcherQueueController_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueController_Release
#define IDispatcherQueueController_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetIids
#define IDispatcherQueueController_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetRuntimeClassName
#define IDispatcherQueueController_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueController_GetTrustLevel
#define IDispatcherQueueController_get_DispatcherQueue __x_ABI_CWindows_CSystem_CIDispatcherQueueController_get_DispatcherQueue
#define IDispatcherQueueController_ShutdownQueueAsync __x_ABI_CWindows_CSystem_CIDispatcherQueueController_ShutdownQueueAsync
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueController_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueueControllerStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics, 0x0a6c98e0, 0x5198, 0x49a2, 0xa3,0x13, 0x3f,0x70,0xd1,0xf1,0x3c,0x27);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("0a6c98e0-5198-49a2-a313-3f70d1f13c27")
            IDispatcherQueueControllerStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateOnDedicatedThread(
                    ABI::Windows::System::IDispatcherQueueController **result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics, 0x0a6c98e0, 0x5198, 0x49a2, 0xa3,0x13, 0x3f,0x70,0xd1,0xf1,0x3c,0x27)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueueControllerStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateOnDedicatedThread)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueController **result);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStaticsVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueueControllerStatics methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_CreateOnDedicatedThread(This,result) (This)->lpVtbl->CreateOnDedicatedThread(This,result)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueueControllerStatics methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_CreateOnDedicatedThread(__x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics* This,__x_ABI_CWindows_CSystem_CIDispatcherQueueController **result) {
    return This->lpVtbl->CreateOnDedicatedThread(This,result);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueControllerStatics IID___x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics
#define IDispatcherQueueControllerStaticsVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStaticsVtbl
#define IDispatcherQueueControllerStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics
#define IDispatcherQueueControllerStatics_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_QueryInterface
#define IDispatcherQueueControllerStatics_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_AddRef
#define IDispatcherQueueControllerStatics_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_Release
#define IDispatcherQueueControllerStatics_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetIids
#define IDispatcherQueueControllerStatics_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetRuntimeClassName
#define IDispatcherQueueControllerStatics_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_GetTrustLevel
#define IDispatcherQueueControllerStatics_CreateOnDedicatedThread __x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_CreateOnDedicatedThread
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueControllerStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueueShutdownStartingEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs, 0xc4724c4c, 0xff97, 0x40c0, 0xa2,0x26, 0xcc,0x0a,0xaa,0x54,0x5e,0x89);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("c4724c4c-ff97-40c0-a226-cc0aaa545e89")
            IDispatcherQueueShutdownStartingEventArgs : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetDeferral(
                    ABI::Windows::Foundation::IDeferral **result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs, 0xc4724c4c, 0xff97, 0x40c0, 0xa2,0x26, 0xcc,0x0a,0xaa,0x54,0x5e,0x89)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueueShutdownStartingEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDeferral)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs *This,
        __x_ABI_CWindows_CFoundation_CIDeferral **result);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgsVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueueShutdownStartingEventArgs methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetDeferral(This,result) (This)->lpVtbl->GetDeferral(This,result)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueueShutdownStartingEventArgs methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetDeferral(__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs* This,__x_ABI_CWindows_CFoundation_CIDeferral **result) {
    return This->lpVtbl->GetDeferral(This,result);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueShutdownStartingEventArgs IID___x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs
#define IDispatcherQueueShutdownStartingEventArgsVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgsVtbl
#define IDispatcherQueueShutdownStartingEventArgs __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs
#define IDispatcherQueueShutdownStartingEventArgs_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_QueryInterface
#define IDispatcherQueueShutdownStartingEventArgs_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_AddRef
#define IDispatcherQueueShutdownStartingEventArgs_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_Release
#define IDispatcherQueueShutdownStartingEventArgs_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetIids
#define IDispatcherQueueShutdownStartingEventArgs_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetRuntimeClassName
#define IDispatcherQueueShutdownStartingEventArgs_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetTrustLevel
#define IDispatcherQueueShutdownStartingEventArgs_GetDeferral __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_GetDeferral
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueueStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueStatics, 0xa96d83d7, 0x9371, 0x4517, 0x92,0x45, 0xd0,0x82,0x4a,0xc1,0x2c,0x74);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("a96d83d7-9371-4517-9245-d0824ac12c74")
            IDispatcherQueueStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE GetForCurrentThread(
                    ABI::Windows::System::IDispatcherQueue **result) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics, 0xa96d83d7, 0x9371, 0x4517, 0x92,0x45, 0xd0,0x82,0x4a,0xc1,0x2c,0x74)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueueStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *GetForCurrentThread)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueue **result);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueStaticsVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueueStatics methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetForCurrentThread(This,result) (This)->lpVtbl->GetForCurrentThread(This,result)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueueStatics methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetForCurrentThread(__x_ABI_CWindows_CSystem_CIDispatcherQueueStatics* This,__x_ABI_CWindows_CSystem_CIDispatcherQueue **result) {
    return This->lpVtbl->GetForCurrentThread(This,result);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueStatics IID___x_ABI_CWindows_CSystem_CIDispatcherQueueStatics
#define IDispatcherQueueStaticsVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueStaticsVtbl
#define IDispatcherQueueStatics __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics
#define IDispatcherQueueStatics_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_QueryInterface
#define IDispatcherQueueStatics_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_AddRef
#define IDispatcherQueueStatics_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_Release
#define IDispatcherQueueStatics_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetIids
#define IDispatcherQueueStatics_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetRuntimeClassName
#define IDispatcherQueueStatics_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetTrustLevel
#define IDispatcherQueueStatics_GetForCurrentThread __x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_GetForCurrentThread
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IDispatcherQueueTimer interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIDispatcherQueueTimer, 0x5feabb1d, 0xa31c, 0x4727, 0xb1,0xac, 0x37,0x45,0x46,0x49,0xd5,0x6a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("5feabb1d-a31c-4727-b1ac-37454649d56a")
            IDispatcherQueueTimer : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Interval(
                    struct TimeSpan *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE put_Interval(
                    struct TimeSpan value) = 0;

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

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

                virtual HRESULT STDMETHODCALLTYPE put_IsRepeating(
                    boolean value) = 0;

                virtual HRESULT STDMETHODCALLTYPE Start(
                    ) = 0;

                virtual HRESULT STDMETHODCALLTYPE Stop(
                    ) = 0;

                virtual HRESULT STDMETHODCALLTYPE add_Tick(
                    ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > *handler,
                    EventRegistrationToken *token) = 0;

                virtual HRESULT STDMETHODCALLTYPE remove_Tick(
                    EventRegistrationToken token) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer, 0x5feabb1d, 0xa31c, 0x4727, 0xb1,0xac, 0x37,0x45,0x46,0x49,0xd5,0x6a)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIDispatcherQueueTimerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IDispatcherQueueTimer methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Interval)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    HRESULT (STDMETHODCALLTYPE *put_Interval)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);

    HRESULT (STDMETHODCALLTYPE *get_IsRunning)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_IsRepeating)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *put_IsRepeating)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        boolean value);

    HRESULT (STDMETHODCALLTYPE *Start)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This);

    HRESULT (STDMETHODCALLTYPE *Stop)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This);

    HRESULT (STDMETHODCALLTYPE *add_Tick)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_Tick)(
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *This,
        EventRegistrationToken token);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIDispatcherQueueTimerVtbl;

interface __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIDispatcherQueueTimerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IDispatcherQueueTimer methods ***/
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_Interval(This,value) (This)->lpVtbl->get_Interval(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_Interval(This,value) (This)->lpVtbl->put_Interval(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRunning(This,value) (This)->lpVtbl->get_IsRunning(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRepeating(This,value) (This)->lpVtbl->get_IsRepeating(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_IsRepeating(This,value) (This)->lpVtbl->put_IsRepeating(This,value)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Start(This) (This)->lpVtbl->Start(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Stop(This) (This)->lpVtbl->Stop(This)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_add_Tick(This,handler,token) (This)->lpVtbl->add_Tick(This,handler,token)
#define __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_remove_Tick(This,token) (This)->lpVtbl->remove_Tick(This,token)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_QueryInterface(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_AddRef(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Release(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetIids(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetTrustLevel(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IDispatcherQueueTimer methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_Interval(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,struct __x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->get_Interval(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_Interval(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,struct __x_ABI_CWindows_CFoundation_CTimeSpan value) {
    return This->lpVtbl->put_Interval(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRunning(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,boolean *value) {
    return This->lpVtbl->get_IsRunning(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRepeating(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,boolean *value) {
    return This->lpVtbl->get_IsRepeating(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_IsRepeating(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,boolean value) {
    return This->lpVtbl->put_IsRepeating(This,value);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Start(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This) {
    return This->lpVtbl->Start(This);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Stop(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This) {
    return This->lpVtbl->Stop(This);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_add_Tick(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_Tick(This,handler,token);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_remove_Tick(__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_Tick(This,token);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IDispatcherQueueTimer IID___x_ABI_CWindows_CSystem_CIDispatcherQueueTimer
#define IDispatcherQueueTimerVtbl __x_ABI_CWindows_CSystem_CIDispatcherQueueTimerVtbl
#define IDispatcherQueueTimer __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer
#define IDispatcherQueueTimer_QueryInterface __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_QueryInterface
#define IDispatcherQueueTimer_AddRef __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_AddRef
#define IDispatcherQueueTimer_Release __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Release
#define IDispatcherQueueTimer_GetIids __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetIids
#define IDispatcherQueueTimer_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetRuntimeClassName
#define IDispatcherQueueTimer_GetTrustLevel __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_GetTrustLevel
#define IDispatcherQueueTimer_get_Interval __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_Interval
#define IDispatcherQueueTimer_put_Interval __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_Interval
#define IDispatcherQueueTimer_get_IsRunning __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRunning
#define IDispatcherQueueTimer_get_IsRepeating __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_get_IsRepeating
#define IDispatcherQueueTimer_put_IsRepeating __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_put_IsRepeating
#define IDispatcherQueueTimer_Start __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Start
#define IDispatcherQueueTimer_Stop __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_Stop
#define IDispatcherQueueTimer_add_Tick __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_add_Tick
#define IDispatcherQueueTimer_remove_Tick __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_remove_Tick
#endif /* WIDL_using_Windows_System */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CSystem_CIDispatcherQueueTimer_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*****************************************************************************
 * IUserChangedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSystem_CIUserChangedEventArgs, 0x086459dc, 0x18c6, 0x48db, 0xbc,0x99, 0x72,0x4f,0xb9,0x20,0x3c,0xcc);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace System {
            MIDL_INTERFACE("086459dc-18c6-48db-bc99-724fb9203ccc")
            IUserChangedEventArgs : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_User(
                    ABI::Windows::System::IUser **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs, 0x086459dc, 0x18c6, 0x48db, 0xbc,0x99, 0x72,0x4f,0xb9,0x20,0x3c,0xcc)
#endif
#else
typedef struct __x_ABI_CWindows_CSystem_CIUserChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IUserChangedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_User)(
        __x_ABI_CWindows_CSystem_CIUserChangedEventArgs *This,
        __x_ABI_CWindows_CSystem_CIUser **value);

    END_INTERFACE
} __x_ABI_CWindows_CSystem_CIUserChangedEventArgsVtbl;

interface __x_ABI_CWindows_CSystem_CIUserChangedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CSystem_CIUserChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IUserChangedEventArgs methods ***/
#define __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_get_User(This,value) (This)->lpVtbl->get_User(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_QueryInterface(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_AddRef(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_Release(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetIids(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetTrustLevel(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IUserChangedEventArgs methods ***/
static __WIDL_INLINE HRESULT __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_get_User(__x_ABI_CWindows_CSystem_CIUserChangedEventArgs* This,__x_ABI_CWindows_CSystem_CIUser **value) {
    return This->lpVtbl->get_User(This,value);
}
#endif
#ifdef WIDL_using_Windows_System
#define IID_IUserChangedEventArgs IID___x_ABI_CWindows_CSystem_CIUserChangedEventArgs
#define IUserChangedEventArgsVtbl __x_ABI_CWindows_CSystem_CIUserChangedEventArgsVtbl
#define IUserChangedEventArgs __x_ABI_CWindows_CSystem_CIUserChangedEventArgs
#define IUserChangedEventArgs_QueryInterface __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_QueryInterface
#define IUserChangedEventArgs_AddRef __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_AddRef
#define IUserChangedEventArgs_Release __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_Release
#define IUserChangedEventArgs_GetIids __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetIids
#define IUserChangedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetRuntimeClassName
#define IUserChangedEventArgs_GetTrustLevel __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_GetTrustLevel
#define IUserChangedEventArgs_get_User __x_ABI_CWindows_CSystem_CIUserChangedEventArgs_get_User
#endif /* WIDL_using_Windows_System */
#endif

#endif

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

/*
 * Class Windows.System.DispatcherQueue
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef RUNTIMECLASS_Windows_System_DispatcherQueue_DEFINED
#define RUNTIMECLASS_Windows_System_DispatcherQueue_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_DispatcherQueue[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueue[] = L"Windows.System.DispatcherQueue";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueue[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_DispatcherQueue_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*
 * Class Windows.System.DispatcherQueueController
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef RUNTIMECLASS_Windows_System_DispatcherQueueController_DEFINED
#define RUNTIMECLASS_Windows_System_DispatcherQueueController_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_DispatcherQueueController[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','C','o','n','t','r','o','l','l','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueController[] = L"Windows.System.DispatcherQueueController";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueController[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','C','o','n','t','r','o','l','l','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_DispatcherQueueController_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*
 * Class Windows.System.DispatcherQueueShutdownStartingEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef RUNTIMECLASS_Windows_System_DispatcherQueueShutdownStartingEventArgs_DEFINED
#define RUNTIMECLASS_Windows_System_DispatcherQueueShutdownStartingEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_DispatcherQueueShutdownStartingEventArgs[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','S','h','u','t','d','o','w','n','S','t','a','r','t','i','n','g','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueShutdownStartingEventArgs[] = L"Windows.System.DispatcherQueueShutdownStartingEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueShutdownStartingEventArgs[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','S','h','u','t','d','o','w','n','S','t','a','r','t','i','n','g','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_DispatcherQueueShutdownStartingEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*
 * Class Windows.System.DispatcherQueueTimer
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000
#ifndef RUNTIMECLASS_Windows_System_DispatcherQueueTimer_DEFINED
#define RUNTIMECLASS_Windows_System_DispatcherQueueTimer_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_DispatcherQueueTimer[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','T','i','m','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueTimer[] = L"Windows.System.DispatcherQueueTimer";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_DispatcherQueueTimer[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','D','i','s','p','a','t','c','h','e','r','Q','u','e','u','e','T','i','m','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_DispatcherQueueTimer_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */

/*
 * Class Windows.System.User
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_System_User_DEFINED
#define RUNTIMECLASS_Windows_System_User_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_User[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','U','s','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_User[] = L"Windows.System.User";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_User[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','U','s','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_User_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.System.UserChangedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_System_UserChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_System_UserChangedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_System_UserChangedEventArgs[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','U','s','e','r','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_UserChangedEventArgs[] = L"Windows.System.UserChangedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_System_UserChangedEventArgs[] = {'W','i','n','d','o','w','s','.','S','y','s','t','e','m','.','U','s','e','r','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_System_UserChangedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable, 0xfe79f855, 0x2f40, 0x5b88, 0xa0,0xc3, 0x4c,0x04,0x2a,0x05,0xdd,0x05);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("fe79f855-2f40-5b88-a0c3-4c042a05dd05")
            ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::System::DispatcherQueue*, ABI::Windows::System::IDispatcherQueue* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable, 0xfe79f855, 0x2f40, 0x5b88, 0xa0,0xc3, 0x4c,0x04,0x2a,0x05,0xdd,0x05)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Release(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable* This,__x_ABI_CWindows_CSystem_CIDispatcherQueue *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_DispatcherQueue_IInspectable IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable
#define ITypedEventHandler_DispatcherQueue_IInspectableVtbl __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectableVtbl
#define ITypedEventHandler_DispatcherQueue_IInspectable __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable
#define ITypedEventHandler_DispatcherQueue_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_QueryInterface
#define ITypedEventHandler_DispatcherQueue_IInspectable_AddRef __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_AddRef
#define ITypedEventHandler_DispatcherQueue_IInspectable_Release __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Release
#define ITypedEventHandler_DispatcherQueue_IInspectable_Invoke __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs, 0xb58b5e24, 0xe1c6, 0x528e, 0x9d,0x99, 0x07,0xec,0x88,0x29,0xde,0xa5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("b58b5e24-e1c6-528e-9d99-07ec8829dea5")
            ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::System::DispatcherQueue*, ABI::Windows::System::IDispatcherQueue* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs*, ABI::Windows::System::IDispatcherQueueShutdownStartingEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs, 0xb58b5e24, 0xe1c6, 0x528e, 0x9d,0x99, 0x07,0xec,0x88,0x29,0xde,0xa5)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueue *sender,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_AddRef(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Release(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueue*,ABI::Windows::System::DispatcherQueueShutdownStartingEventArgs* > methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Invoke(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs* This,__x_ABI_CWindows_CSystem_CIDispatcherQueue *sender,__x_ABI_CWindows_CSystem_CIDispatcherQueueShutdownStartingEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgsVtbl __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgsVtbl
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_QueryInterface
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs_AddRef __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_AddRef
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs_Release __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Release
#define ITypedEventHandler_DispatcherQueue_DispatcherQueueShutdownStartingEventArgs_Invoke __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueue_Windows__CSystem__CDispatcherQueueShutdownStartingEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable, 0x8b5644c8, 0x8b57, 0x50ce, 0x89,0x33, 0x7a,0xb2,0xcc,0x5a,0x14,0xef);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("8b5644c8-8b57-50ce-8933-7ab2cc5a14ef")
            ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::System::DispatcherQueueTimer*, ABI::Windows::System::IDispatcherQueueTimer* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable, 0x8b5644c8, 0x8b57, 0x50ce, 0x89,0x33, 0x7a,0xb2,0xcc,0x5a,0x14,0xef)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable *This,
        __x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Release(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::System::DispatcherQueueTimer*,IInspectable* > methods ***/
static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable* This,__x_ABI_CWindows_CSystem_CIDispatcherQueueTimer *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_DispatcherQueueTimer_IInspectable IID___FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable
#define ITypedEventHandler_DispatcherQueueTimer_IInspectableVtbl __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectableVtbl
#define ITypedEventHandler_DispatcherQueueTimer_IInspectable __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable
#define ITypedEventHandler_DispatcherQueueTimer_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_QueryInterface
#define ITypedEventHandler_DispatcherQueueTimer_IInspectable_AddRef __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_AddRef
#define ITypedEventHandler_DispatcherQueueTimer_IInspectable_Release __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Release
#define ITypedEventHandler_DispatcherQueueTimer_IInspectable_Invoke __FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CSystem__CDispatcherQueueTimer_IInspectable_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_system_h__ */
