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

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.Devices.Haptics.h"
#include "Windows.Devices.Power.h"
#include "Windows.Gaming.Input.ForceFeedback.h"
#include "Windows.System.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStick __x_ABI_CWindows_CGaming_CInput_CIArcadeStick;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2 __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIFlightStick_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIFlightStick_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIFlightStick __x_ABI_CWindows_CGaming_CInput_CIFlightStick;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIFlightStick_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics __x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGameController_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGameController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGameController __x_ABI_CWindows_CGaming_CInput_CIGameController;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGameController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGamepad_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGamepad_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGamepad __x_ABI_CWindows_CGaming_CInput_CIGamepad;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGamepad_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGamepad2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGamepad2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGamepad2 __x_ABI_CWindows_CGaming_CInput_CIGamepad2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGamepad2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIHeadset_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIHeadset_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIHeadset __x_ABI_CWindows_CGaming_CInput_CIHeadset;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIHeadset_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheel __x_ABI_CWindows_CGaming_CInput_CIRacingWheel;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2 __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRawGameController_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRawGameController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRawGameController __x_ABI_CWindows_CGaming_CInput_CIRawGameController;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRawGameController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRawGameController2 __x_ABI_CWindows_CGaming_CInput_CIRawGameController2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationController __x_ABI_CWindows_CGaming_CInput_CIUINavigationController;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2 __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2;

#endif // ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#ifndef ____x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController;

#endif // ____x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotorVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIArcadeStick* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIFlightStick* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStickVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIGamepad* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepadVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIRacingWheel* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheelVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIRawGameController* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController;

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

    typedef struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* This,
        IInspectable* sender,
        __x_ABI_CWindows_CGaming_CInput_CIUINavigationController* args);

        END_INTERFACE
    } __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl;

    interface __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController
    {
        CONST_VTBL struct __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationControllerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset;

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

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadsetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* sender,
        __x_ABI_CWindows_CGaming_CInput_CIHeadset* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadsetVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadsetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset_INTERFACE_DEFINED__
    
#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;

#endif // ____x_ABI_CWindows_CSystem_CIUserChangedEventArgs_FWD_DEFINED__

#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs;

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

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* sender,
        __x_ABI_CWindows_CSystem_CIUserChangedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CDevices_CPower_CIBatteryReport_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPower_CIBatteryReport_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CPower_CIBatteryReport __x_ABI_CWindows_CDevices_CPower_CIBatteryReport;

#endif // ____x_ABI_CWindows_CDevices_CPower_CIBatteryReport_FWD_DEFINED__

#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;

#endif // ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons;

typedef enum __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons;

typedef enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel;

typedef enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind;

typedef enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition;

typedef enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons __x_ABI_CWindows_CGaming_CInput_CGamepadButtons;

typedef enum __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons;

typedef enum __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons;

typedef enum __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons;

typedef struct __x_ABI_CWindows_CGaming_CInput_CArcadeStickReading __x_ABI_CWindows_CGaming_CInput_CArcadeStickReading;

typedef struct __x_ABI_CWindows_CGaming_CInput_CFlightStickReading __x_ABI_CWindows_CGaming_CInput_CFlightStickReading;

typedef struct __x_ABI_CWindows_CGaming_CInput_CGamepadReading __x_ABI_CWindows_CGaming_CInput_CGamepadReading;

typedef struct __x_ABI_CWindows_CGaming_CInput_CGamepadVibration __x_ABI_CWindows_CGaming_CInput_CGamepadVibration;

typedef struct __x_ABI_CWindows_CGaming_CInput_CRacingWheelReading __x_ABI_CWindows_CGaming_CInput_CRacingWheelReading;

typedef struct __x_ABI_CWindows_CGaming_CInput_CUINavigationReading __x_ABI_CWindows_CGaming_CInput_CUINavigationReading;

enum __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons
    {
        __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_StickUp = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_StickDown = 0x2,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_StickLeft = 0x4,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_StickRight = 0x8,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action1 = 0x10,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action2 = 0x20,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action3 = 0x40,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action4 = 0x80,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action5 = 0x100,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Action6 = 0x200,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Special1 = 0x400,
    __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons_Special2 = 0x800,
};

enum __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons
    {
        __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons_FirePrimary = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons_FireSecondary = 0x2,
};

enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel
    {
        __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxBack = 1,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxStart = 2,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxMenu = 3,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxView = 4,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxUp = 5,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxDown = 6,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxLeft = 7,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxRight = 8,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxA = 9,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxB = 10,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxX = 11,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxY = 12,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxLeftBumper = 13,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxLeftTrigger = 14,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxLeftStickButton = 15,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxRightBumper = 16,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxRightTrigger = 17,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxRightStickButton = 18,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxPaddle1 = 19,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxPaddle2 = 20,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxPaddle3 = 21,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_XboxPaddle4 = 22,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Mode = 23,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Select = 24,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Menu = 25,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_View = 26,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Back = 27,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Start = 28,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Options = 29,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Share = 30,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Up = 31,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Down = 32,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Left = 33,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Right = 34,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterA = 35,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterB = 36,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterC = 37,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterL = 38,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterR = 39,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterX = 40,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterY = 41,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LetterZ = 42,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Cross = 43,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Circle = 44,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Square = 45,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Triangle = 46,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LeftBumper = 47,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LeftTrigger = 48,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_LeftStickButton = 49,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Left1 = 50,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Left2 = 51,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Left3 = 52,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_RightBumper = 53,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_RightTrigger = 54,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_RightStickButton = 55,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Right1 = 56,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Right2 = 57,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Right3 = 58,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Paddle1 = 59,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Paddle2 = 60,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Paddle3 = 61,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Paddle4 = 62,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Plus = 63,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Minus = 64,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_DownLeftArrow = 65,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_DialLeft = 66,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_DialRight = 67,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel_Suspension = 68,
};

enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind
    {
        __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind_TwoWay = 0,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind_FourWay = 1,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind_EightWay = 2,
};

enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition
    {
        __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_Center = 0,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_Up = 1,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_UpRight = 2,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_Right = 3,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_DownRight = 4,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_Down = 5,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_DownLeft = 6,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_Left = 7,
    __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition_UpLeft = 8,
};

enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons
    {
        __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Menu = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_View = 0x2,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_A = 0x4,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_B = 0x8,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_X = 0x10,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Y = 0x20,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_DPadUp = 0x40,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_DPadDown = 0x80,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_DPadLeft = 0x100,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_DPadRight = 0x200,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_LeftShoulder = 0x400,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_RightShoulder = 0x800,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_LeftThumbstick = 0x1000,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_RightThumbstick = 0x2000,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Paddle1 = 0x4000,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Paddle2 = 0x8000,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Paddle3 = 0x10000,
    __x_ABI_CWindows_CGaming_CInput_CGamepadButtons_Paddle4 = 0x20000,
};

enum __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons
    {
        __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_Context1 = 0x1,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_Context2 = 0x2,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_Context3 = 0x4,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_Context4 = 0x8,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_PageUp = 0x10,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_PageDown = 0x20,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_PageLeft = 0x40,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_PageRight = 0x80,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_ScrollUp = 0x100,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_ScrollDown = 0x200,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_ScrollLeft = 0x400,
    __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons_ScrollRight = 0x800,
};

enum __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons
    {
        __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_PreviousGear = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_NextGear = 0x2,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_DPadUp = 0x4,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_DPadDown = 0x8,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_DPadLeft = 0x10,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_DPadRight = 0x20,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button1 = 0x40,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button2 = 0x80,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button3 = 0x100,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button4 = 0x200,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button5 = 0x400,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button6 = 0x800,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button7 = 0x1000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button8 = 0x2000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button9 = 0x4000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button10 = 0x8000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button11 = 0x10000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button12 = 0x20000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button13 = 0x40000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button14 = 0x80000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button15 = 0x100000,
    __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons_Button16 = 0x200000,
};

enum __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons
    {
        __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Menu = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_View = 0x2,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Accept = 0x4,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Cancel = 0x8,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Up = 0x10,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Down = 0x20,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Left = 0x40,
    __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons_Right = 0x80,
};

struct __x_ABI_CWindows_CGaming_CInput_CArcadeStickReading
    {
        UINT64 Timestamp;
    enum __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons Buttons;
};

struct __x_ABI_CWindows_CGaming_CInput_CFlightStickReading
    {
        UINT64 Timestamp;
    enum __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons Buttons;
    enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition HatSwitch;
    DOUBLE Roll;
    DOUBLE Pitch;
    DOUBLE Yaw;
    DOUBLE Throttle;
};

struct __x_ABI_CWindows_CGaming_CInput_CGamepadReading
    {
        UINT64 Timestamp;
    enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons Buttons;
    DOUBLE LeftTrigger;
    DOUBLE RightTrigger;
    DOUBLE LeftThumbstickX;
    DOUBLE LeftThumbstickY;
    DOUBLE RightThumbstickX;
    DOUBLE RightThumbstickY;
};

struct __x_ABI_CWindows_CGaming_CInput_CGamepadVibration
    {
        DOUBLE LeftMotor;
    DOUBLE RightMotor;
    DOUBLE LeftTrigger;
    DOUBLE RightTrigger;
};

struct __x_ABI_CWindows_CGaming_CInput_CRacingWheelReading
    {
        UINT64 Timestamp;
    enum __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons Buttons;
    INT32 PatternShifterGear;
    DOUBLE Wheel;
    DOUBLE Throttle;
    DOUBLE Brake;
    DOUBLE Clutch;
    DOUBLE Handbrake;
};

struct __x_ABI_CWindows_CGaming_CInput_CUINavigationReading
    {
        UINT64 Timestamp;
    enum __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons RequiredButtons;
    enum __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons OptionalButtons;
};

#if !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
        enum __x_ABI_CWindows_CGaming_CInput_CArcadeStickButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStick* This,
        struct __x_ABI_CWindows_CGaming_CInput_CArcadeStickReading* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIArcadeStickVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStick
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIArcadeStick;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStick_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_ArcadeStickAdded)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_ArcadeStickAdded)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_ArcadeStickRemoved)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_ArcadeStickRemoved)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_ArcadeSticks)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CArcadeStick** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIArcadeStick** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIArcadeStickStatics2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIFlightStick_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIFlightStick_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIFlightStickVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_HatSwitchKind)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind* value);
    HRESULT (STDMETHODCALLTYPE* GetButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
        enum __x_ABI_CWindows_CGaming_CInput_CFlightStickButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIFlightStick* This,
        struct __x_ABI_CWindows_CGaming_CInput_CFlightStickReading* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIFlightStickVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIFlightStick
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIFlightStickVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIFlightStick;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIFlightStick_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIFlightStickStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_FlightStickAdded)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_FlightStickAdded)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_FlightStickRemoved)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CFlightStick* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_FlightStickRemoved)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_FlightSticks)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CFlightStick** value);
    HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIFlightStick** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIFlightStickStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIFlightStickStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIFlightStickStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGameController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGameControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_HeadsetConnected)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_HeadsetConnected)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_HeadsetDisconnected)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CGaming__CInput__CHeadset* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_HeadsetDisconnected)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_UserChanged)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CGaming__CInput__CIGameController___x_ABI_CWindows__CSystem__CUserChangedEventArgs* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_UserChanged)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_Headset)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        __x_ABI_CWindows_CGaming_CInput_CIHeadset** value);
    HRESULT (STDMETHODCALLTYPE* get_IsWireless)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_User)(__x_ABI_CWindows_CGaming_CInput_CIGameController* This,
        __x_ABI_CWindows_CSystem_CIUser** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGameControllerVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGameController
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGameControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGameController;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGameController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* TryGetBatteryReport)(__x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo* This,
        __x_ABI_CWindows_CDevices_CPower_CIBatteryReport** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfoVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGameControllerBatteryInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepad_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGamepad_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGamepadVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Vibration)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
        struct __x_ABI_CWindows_CGaming_CInput_CGamepadVibration* value);
    HRESULT (STDMETHODCALLTYPE* put_Vibration)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
        struct __x_ABI_CWindows_CGaming_CInput_CGamepadVibration value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIGamepad* This,
        struct __x_ABI_CWindows_CGaming_CInput_CGamepadReading* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGamepadVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGamepad
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGamepadVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGamepad;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepad_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepad2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGamepad2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGamepad2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIGamepad2* This,
        enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGamepad2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGamepad2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGamepad2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGamepad2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepad2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGamepadStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_GamepadAdded)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_GamepadAdded)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_GamepadRemoved)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CGamepad* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_GamepadRemoved)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_Gamepads)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CGamepad** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGamepadStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGamepadStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIGamepad** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIHeadset_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIHeadset_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIHeadsetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_CaptureDeviceId)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_RenderDeviceId)(__x_ABI_CWindows_CGaming_CInput_CIHeadset* This,
        HSTRING* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIHeadsetVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIHeadset
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIHeadsetVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIHeadset;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIHeadset_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_HasClutch)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_HasHandbrake)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_HasPatternShifter)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxPatternShifterGear)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxWheelAngle)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* get_WheelMotor)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor** value);
    HRESULT (STDMETHODCALLTYPE* GetButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        enum __x_ABI_CWindows_CGaming_CInput_CRacingWheelButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheel* This,
        struct __x_ABI_CWindows_CGaming_CInput_CRacingWheelReading* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRacingWheelVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheel
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRacingWheel;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheel_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_RacingWheelAdded)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_RacingWheelAdded)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_RacingWheelRemoved)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_RacingWheelRemoved)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_RacingWheels)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRacingWheel** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIRacingWheel** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRacingWheelStatics2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRawGameController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AxisCount)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_ButtonCount)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_ForceFeedbackMotors)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackMotor** value);
    HRESULT (STDMETHODCALLTYPE* get_HardwareProductId)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        UINT16* value);
    HRESULT (STDMETHODCALLTYPE* get_HardwareVendorId)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        UINT16* value);
    HRESULT (STDMETHODCALLTYPE* get_SwitchCount)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* GetButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        INT32 buttonIndex,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        UINT32 buttonArrayLength,
        boolean* buttonArray,
        UINT32 switchArrayLength,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchPosition* switchArray,
        UINT32 axisArrayLength,
        DOUBLE* axisArray,
        UINT64* timestamp);
    HRESULT (STDMETHODCALLTYPE* GetSwitchKind)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController* This,
        INT32 switchIndex,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerSwitchKind* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRawGameController
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRawGameController;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRawGameController2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SimpleHapticsControllers)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CHaptics__CSimpleHapticsController** value);
    HRESULT (STDMETHODCALLTYPE* get_NonRoamableId)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_DisplayName)(__x_ABI_CWindows_CGaming_CInput_CIRawGameController2* This,
        HSTRING* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRawGameController2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRawGameController2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRawGameController2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRawGameController2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameController2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_RawGameControllerAdded)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_RawGameControllerAdded)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_RawGameControllerRemoved)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CRawGameController* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_RawGameControllerRemoved)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_RawGameControllers)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CRawGameController** value);
    HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIRawGameController** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIRawGameControllerStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetCurrentReading)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
        struct __x_ABI_CWindows_CGaming_CInput_CUINavigationReading* value);
    HRESULT (STDMETHODCALLTYPE* GetOptionalButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
        enum __x_ABI_CWindows_CGaming_CInput_COptionalUINavigationButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);
    HRESULT (STDMETHODCALLTYPE* GetRequiredButtonLabel)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationController* This,
        enum __x_ABI_CWindows_CGaming_CInput_CRequiredUINavigationButtons button,
        enum __x_ABI_CWindows_CGaming_CInput_CGameControllerButtonLabel* value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationController
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIUINavigationController;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_UINavigationControllerAdded)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_UINavigationControllerAdded)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_UINavigationControllerRemoved)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
        __x_ABI_C__FIEventHandler_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController* value,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_UINavigationControllerRemoved)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* get_UINavigationControllers)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CGaming__CInput__CUINavigationController** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStaticsVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FromGameController)(__x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2* This,
        __x_ABI_CWindows_CGaming_CInput_CIGameController* gameController,
        __x_ABI_CWindows_CGaming_CInput_CIUINavigationController** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2Vtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CIUINavigationControllerStatics2_INTERFACE_DEFINED__) */
    
