diff --git a/include/windows.gaming.input.forcefeedback.idl b/include/windows.gaming.input.forcefeedback.idl index ad3290f1a5c..033cf09cc1f 100644 --- a/include/windows.gaming.input.forcefeedback.idl +++ b/include/windows.gaming.input.forcefeedback.idl @@ -38,9 +38,11 @@ namespace Windows.Gaming.Input.ForceFeedback { interface IPeriodicForceEffectFactory; interface IConditionForceEffect; interface IConditionForceEffectFactory; + interface IConstantForceEffect; runtimeclass ForceFeedbackMotor; runtimeclass PeriodicForceEffect; runtimeclass ConditionForceEffect; + runtimeclass ConstantForceEffect; declare { interface Windows.Foundation.AsyncOperationCompletedHandler; @@ -190,6 +192,21 @@ namespace Windows.Gaming.Input.ForceFeedback { [out, retval] Windows.Gaming.Input.ForceFeedback.ConditionForceEffect **value); } + [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + exclusiveto(Windows.Gaming.Input.ForceFeedback.ConstantForceEffect), + uuid(9bfa0140-f3c7-415c-b068-0f068734bce0) + ] + interface IConstantForceEffect : IInspectable + requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect + { + HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 vector, [in] Windows.Foundation.TimeSpan duration); + HRESULT SetParametersWithEnvelope([in] Windows.Foundation.Numerics.Vector3 vector, [in] FLOAT attack_gain, + [in] FLOAT sustain_gain, [in] FLOAT release_gain, [in] Windows.Foundation.TimeSpan start_delay, + [in] Windows.Foundation.TimeSpan attack_duration, [in] Windows.Foundation.TimeSpan sustain_duration, + [in] Windows.Foundation.TimeSpan release_duration, [in] UINT32 repeat_count); + } + [ contract(Windows.Foundation.UniversalApiContract, 3.0), marshaling_behavior(agile), @@ -223,4 +240,16 @@ namespace Windows.Gaming.Input.ForceFeedback { [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect; interface Windows.Gaming.Input.ForceFeedback.IConditionForceEffect; } + + [ + activatable(Windows.Foundation.UniversalApiContract, 3.0), + contract(Windows.Foundation.UniversalApiContract, 3.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass ConstantForceEffect + { + [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect; + interface Windows.Gaming.Input.ForceFeedback.IConstantForceEffect; + } }