// 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.Foundation.Numerics.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_FWD_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__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect;

#endif // ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean;

#if !defined(____x_ABI_C__FIAsyncOperation_1_boolean_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1_boolean_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1_boolean __x_ABI_C__FIAsyncOperation_1_boolean;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1_booleanVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperation_1_boolean* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperation_1_boolean* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperation_1_boolean* This,
        boolean* result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1_booleanVtbl;

    interface __x_ABI_C__FIAsyncOperation_1_boolean
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1_booleanVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1_boolean_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1_booleanVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean* This,
        __x_ABI_C__FIAsyncOperation_1_boolean* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1_booleanVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1_booleanVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult;

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult* result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* This,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 __x_ABI_CWindows_CFoundation_CNumerics_CVector3;

typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;

typedef enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind;

typedef enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes;

typedef enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState;

typedef enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind;

enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind
    {
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind_Spring = 0,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind_Damper = 1,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind_Inertia = 2,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind_Friction = 3,
};

enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes
    {
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes_None = 0,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes_X = 0x1,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes_Y = 0x2,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes_Z = 0x4,
};

enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState
    {
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState_Stopped = 0,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState_Running = 1,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState_Paused = 2,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState_Faulted = 3,
};

enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult
    {
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult_Succeeded = 0,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult_EffectStorageFull = 1,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackLoadEffectResult_EffectNotSupported = 2,
};

enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind
    {
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind_SquareWave = 0,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind_SineWave = 1,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind_TriangleWave = 2,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind_SawtoothWaveUp = 3,
    __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind_SawtoothWaveDown = 4,
};

#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Kind)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind* value);
    HRESULT (STDMETHODCALLTYPE* SetParameters)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 direction,
        FLOAT positiveCoefficient,
        FLOAT negativeCoefficient,
        FLOAT maxPositiveMagnitude,
        FLOAT maxNegativeMagnitude,
        FLOAT deadZone,
        FLOAT bias);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CConditionForceEffectKind effectKind,
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactoryVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConditionForceEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* SetParameters)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 vector,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan duration);
    HRESULT (STDMETHODCALLTYPE* SetParametersWithEnvelope)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 vector,
        FLOAT attackGain,
        FLOAT sustainGain,
        FLOAT releaseGain,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan startDelay,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan attackDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan sustainDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan releaseDuration,
        UINT32 repeatCount);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffectVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIConstantForceEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Gain)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_Gain)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_State)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectState* value);
    HRESULT (STDMETHODCALLTYPE* Start)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This);
    HRESULT (STDMETHODCALLTYPE* Stop)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* This);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffectVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotorVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AreEffectsPaused)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_MasterGain)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* put_MasterGain)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        DOUBLE value);
    HRESULT (STDMETHODCALLTYPE* get_IsEnabled)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedAxes)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CForceFeedbackEffectAxes* value);
    HRESULT (STDMETHODCALLTYPE* LoadEffectAsync)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* effect,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CGaming__CInput__CForceFeedback__CForceFeedbackLoadEffectResult** asyncOperation);
    HRESULT (STDMETHODCALLTYPE* PauseAllEffects)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This);
    HRESULT (STDMETHODCALLTYPE* ResumeAllEffects)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This);
    HRESULT (STDMETHODCALLTYPE* StopAllEffects)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This);
    HRESULT (STDMETHODCALLTYPE* TryDisableAsync)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        __x_ABI_C__FIAsyncOperation_1_boolean** asyncOperation);
    HRESULT (STDMETHODCALLTYPE* TryEnableAsync)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        __x_ABI_C__FIAsyncOperation_1_boolean** asyncOperation);
    HRESULT (STDMETHODCALLTYPE* TryResetAsync)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        __x_ABI_C__FIAsyncOperation_1_boolean** asyncOperation);
    HRESULT (STDMETHODCALLTYPE* TryUnloadEffectAsync)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor* This,
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect* effect,
        __x_ABI_C__FIAsyncOperation_1_boolean** asyncOperation);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotorVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotorVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackMotor_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Kind)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind* value);
    HRESULT (STDMETHODCALLTYPE* SetParameters)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 vector,
        FLOAT frequency,
        FLOAT phase,
        FLOAT bias,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan duration);
    HRESULT (STDMETHODCALLTYPE* SetParametersWithEnvelope)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 vector,
        FLOAT frequency,
        FLOAT phase,
        FLOAT bias,
        FLOAT attackGain,
        FLOAT sustainGain,
        FLOAT releaseGain,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan startDelay,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan attackDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan sustainDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan releaseDuration,
        UINT32 repeatCount);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory* This,
        enum __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CPeriodicForceEffectKind effectKind,
        __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIForceFeedbackEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactoryVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIPeriodicForceEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* SetParameters)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 startVector,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 endVector,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan duration);
    HRESULT (STDMETHODCALLTYPE* SetParametersWithEnvelope)(__x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect* This,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 startVector,
        struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 endVector,
        FLOAT attackGain,
        FLOAT sustainGain,
        FLOAT releaseGain,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan startDelay,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan attackDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan sustainDuration,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan releaseDuration,
        UINT32 repeatCount);

        END_INTERFACE
    } __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffectVtbl;

    interface __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect;
#endif /* !defined(____x_ABI_CWindows_CGaming_CInput_CForceFeedback_CIRampForceEffect_INTERFACE_DEFINED__) */
    
