// 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.Gaming.Input.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2 __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2 __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2;

#endif // ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons __x_ABI_CWindows_CGaming_CInput_CGamepadButtons;

typedef struct __x_ABI_CWindows_CGaming_CInput_CGamepadReading __x_ABI_CWindows_CGaming_CInput_CGamepadReading;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters;

typedef enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode;

typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPoint __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPoint;

typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo;

typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputRectangle __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputRectangle;

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FirstButtonDown = 1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FirstButtonUp = 2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_SecondButtonDown = 3,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_SecondButtonUp = 4,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_ThirdButtonDown = 5,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_ThirdButtonUp = 6,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FourthButtonDown = 7,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FourthButtonUp = 8,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FifthButtonDown = 9,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputButtonChangeKind_FifthButtonUp = 10,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions_ExtendedKey = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions_KeyUp = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions_ScanCode = 0x8,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions_Unicode = 0x4,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_Move = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_LeftDown = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_LeftUp = 0x4,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_RightDown = 0x8,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_RightUp = 0x10,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_MiddleDown = 0x20,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_MiddleUp = 0x40,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_XDown = 0x80,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_XUp = 0x100,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_Wheel = 0x800,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_HWheel = 0x1000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_MoveNoCoalesce = 0x2000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_VirtualDesk = 0x4000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions_Absolute = 0x8000,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons_Barrel = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons_Inverted = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons_Eraser = 0x4,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters_Pressure = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters_Rotation = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters_TiltX = 0x4,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters_TiltY = 0x8,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_New = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_InRange = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_InContact = 0x4,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_FirstButton = 0x10,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_SecondButton = 0x20,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_Primary = 0x2000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_Confidence = 0x4000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_Canceled = 0x8000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_PointerDown = 0x10000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_Update = 0x20000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_PointerUp = 0x40000,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions_CaptureChanged = 0x200000,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut_Back = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut_Start = 1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut_Search = 2,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters_Contact = 0x1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters_Orientation = 0x2,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters_Pressure = 0x4,
};

enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode
    {
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode_None = 0,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode_Default = 1,
    __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode_Indirect = 2,
};

struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPoint
    {
        INT32 PositionX;
    INT32 PositionY;
};

struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo
    {
        UINT32 PointerId;
    enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerOptions PointerOptions;
    struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPoint PixelLocation;
    UINT32 TimeOffsetInMilliseconds;
    UINT64 PerformanceCount;
};

struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputRectangle
    {
        INT32 Left;
    INT32 Top;
    INT32 Bottom;
    INT32 Right;
};

#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Buttons)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons* value);
    HRESULT (STDMETHODCALLTYPE* put_Buttons)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        enum __x_ABI_CWindows_CGaming_CInput_CGamepadButtons value);
    HRESULT (STDMETHODCALLTYPE* get_LeftThumbstickX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_LeftThumbstickX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_LeftThumbstickY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_LeftThumbstickY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_LeftTrigger)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_LeftTrigger)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_RightThumbstickX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_RightThumbstickX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_RightThumbstickY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_RightThumbstickY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_RightTrigger)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_RightTrigger)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* This,
        DOUBLE value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstanceFromGamepadReading)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory* This,
        struct __x_ABI_CWindows_CGaming_CInput_CGamepadReading reading,
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo** value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactoryVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfoFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_KeyOptions)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions* value);
    HRESULT (STDMETHODCALLTYPE* put_KeyOptions)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputKeyOptions value);
    HRESULT (STDMETHODCALLTYPE* get_ScanCode)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        UINT16* value);
    HRESULT (STDMETHODCALLTYPE* put_ScanCode)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        UINT16 value);
    HRESULT (STDMETHODCALLTYPE* get_VirtualKey)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        UINT16* value);
    HRESULT (STDMETHODCALLTYPE* put_VirtualKey)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo* This,
        UINT16 value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfoVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputKeyboardInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_MouseOptions)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions* value);
    HRESULT (STDMETHODCALLTYPE* put_MouseOptions)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputMouseOptions value);
    HRESULT (STDMETHODCALLTYPE* get_MouseData)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_MouseData)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_DeltaY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_DeltaY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_DeltaX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_DeltaX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_TimeOffsetInMilliseconds)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_TimeOffsetInMilliseconds)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo* This,
        UINT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfoVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputMouseInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_PointerInfo)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo* value);
    HRESULT (STDMETHODCALLTYPE* put_PointerInfo)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo value);
    HRESULT (STDMETHODCALLTYPE* get_PenButtons)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons* value);
    HRESULT (STDMETHODCALLTYPE* put_PenButtons)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenButtons value);
    HRESULT (STDMETHODCALLTYPE* get_PenParameters)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters* value);
    HRESULT (STDMETHODCALLTYPE* put_PenParameters)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPenParameters value);
    HRESULT (STDMETHODCALLTYPE* get_Pressure)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_Pressure)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_Rotation)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_Rotation)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_TiltX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_TiltX)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_TiltY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_TiltY)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* This,
        INT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfoVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Contact)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputRectangle* value);
    HRESULT (STDMETHODCALLTYPE* put_Contact)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputRectangle value);
    HRESULT (STDMETHODCALLTYPE* get_Orientation)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Orientation)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_PointerInfo)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo* value);
    HRESULT (STDMETHODCALLTYPE* put_PointerInfo)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputPointerInfo value);
    HRESULT (STDMETHODCALLTYPE* get_Pressure)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_Pressure)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_TouchParameters)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters* value);
    HRESULT (STDMETHODCALLTYPE* put_TouchParameters)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputTouchParameters value);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfoVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputTouchInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* InjectKeyboardInput)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputKeyboardInfo* input);
    HRESULT (STDMETHODCALLTYPE* InjectMouseInput)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputMouseInfo* input);
    HRESULT (STDMETHODCALLTYPE* InitializeTouchInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode visualMode);
    HRESULT (STDMETHODCALLTYPE* InjectTouchInput)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CUI__CInput__CPreview__CInjection__CInjectedInputTouchInfo* input);
    HRESULT (STDMETHODCALLTYPE* UninitializeTouchInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This);
    HRESULT (STDMETHODCALLTYPE* InitializePenInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputVisualizationMode visualMode);
    HRESULT (STDMETHODCALLTYPE* InjectPenInput)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputPenInfo* input);
    HRESULT (STDMETHODCALLTYPE* UninitializePenInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This);
    HRESULT (STDMETHODCALLTYPE* InjectShortcut)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector* This,
        enum __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CInjectedInputShortcut shortcut);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* InitializeGamepadInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This);
    HRESULT (STDMETHODCALLTYPE* InjectGamepadInput)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This,
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInjectedInputGamepadInfo* input);
    HRESULT (STDMETHODCALLTYPE* UninitializeGamepadInjection)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2* This);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2Vtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* TryCreate)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics* This,
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector** instance);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStaticsVtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* TryCreateForAppBroadcastOnly)(__x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2* This,
        __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjector** instance);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2Vtbl;

    interface __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2;
#endif /* !defined(____x_ABI_CWindows_CUI_CInput_CPreview_CInjection_CIInputInjectorStatics2_INTERFACE_DEFINED__) */
    
