// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Foundation.Numerics.idl"; // Forward Declare namespace Windows { namespace Foundation { namespace Numerics { typedef struct Vector3 Vector3; } } } namespace Windows { namespace Foundation { typedef struct TimeSpan TimeSpan; apicontract UniversalApiContract; } } namespace Windows { namespace Gaming { namespace Input { namespace ForceFeedback { typedef enum ConditionForceEffectKind ConditionForceEffectKind; typedef enum ForceFeedbackEffectAxes ForceFeedbackEffectAxes; typedef enum ForceFeedbackEffectState ForceFeedbackEffectState; typedef enum ForceFeedbackLoadEffectResult ForceFeedbackLoadEffectResult; typedef enum PeriodicForceEffectKind PeriodicForceEffectKind; interface IConditionForceEffect; interface IConditionForceEffectFactory; interface IConstantForceEffect; interface IForceFeedbackEffect; interface IForceFeedbackMotor; interface IPeriodicForceEffect; interface IPeriodicForceEffectFactory; interface IRampForceEffect; runtimeclass ConditionForceEffect; runtimeclass ConstantForceEffect; runtimeclass ForceFeedbackMotor; runtimeclass PeriodicForceEffect; runtimeclass RampForceEffect; } } } } // Generic instantiations namespace Windows { namespace Gaming { namespace Input { namespace ForceFeedback { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.IAsyncOperation; } } } } } // Type definition namespace Windows { namespace Gaming { namespace Input { namespace ForceFeedback { [contract(Windows.Foundation.UniversalApiContract, 3.0)] enum ConditionForceEffectKind { Spring = 0, Damper = 1, Inertia = 2, Friction = 3 }; [contract(Windows.Foundation.UniversalApiContract, 3.0)] [flags] enum ForceFeedbackEffectAxes { None = 0x0, X = 0x1, Y = 0x2, Z = 0x4 }; [contract(Windows.Foundation.UniversalApiContract, 3.0)] enum ForceFeedbackEffectState { Stopped = 0, Running = 1, Paused = 2, Faulted = 3 }; [contract(Windows.Foundation.UniversalApiContract, 3.0)] enum ForceFeedbackLoadEffectResult { Succeeded = 0, EffectStorageFull = 1, EffectNotSupported = 2 }; [contract(Windows.Foundation.UniversalApiContract, 3.0)] enum PeriodicForceEffectKind { SquareWave = 0, SineWave = 1, TriangleWave = 2, SawtoothWaveUp = 3, SawtoothWaveDown = 4 }; [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.ConditionForceEffect)] [uuid(32D1EA68-3695-4E69-85C0-CD1944189140)] interface IConditionForceEffect : IInspectable requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect { [propget] HRESULT Kind([out] [retval] Windows.Gaming.Input.ForceFeedback.ConditionForceEffectKind* value); HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 direction, [in] FLOAT positiveCoefficient, [in] FLOAT negativeCoefficient, [in] FLOAT maxPositiveMagnitude, [in] FLOAT maxNegativeMagnitude, [in] FLOAT deadZone, [in] FLOAT bias); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.ConditionForceEffect)] [uuid(91A99264-1810-4EB6-A773-BFD3B8CDDBAB)] interface IConditionForceEffectFactory : IInspectable { HRESULT CreateInstance([in] Windows.Gaming.Input.ForceFeedback.ConditionForceEffectKind effectKind, [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 attackGain, [in] FLOAT sustainGain, [in] FLOAT releaseGain, [in] Windows.Foundation.TimeSpan startDelay, [in] Windows.Foundation.TimeSpan attackDuration, [in] Windows.Foundation.TimeSpan sustainDuration, [in] Windows.Foundation.TimeSpan releaseDuration, [in] UINT32 repeatCount); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [uuid(A17FBA0C-2AE4-48C2-8063-EABD0777CB89)] interface IForceFeedbackEffect : IInspectable { [propget] HRESULT Gain([out] [retval] DOUBLE* value); [propput] HRESULT Gain([in] DOUBLE value); [propget] HRESULT State([out] [retval] Windows.Gaming.Input.ForceFeedback.ForceFeedbackEffectState* value); HRESULT Start(); HRESULT Stop(); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor)] [uuid(8D3D417C-A5EA-4516-8026-2B00F74EF6E5)] interface IForceFeedbackMotor : IInspectable { [propget] HRESULT AreEffectsPaused([out] [retval] boolean* value); [propget] HRESULT MasterGain([out] [retval] DOUBLE* value); [propput] HRESULT MasterGain([in] DOUBLE value); [propget] HRESULT IsEnabled([out] [retval] boolean* value); [propget] HRESULT SupportedAxes([out] [retval] Windows.Gaming.Input.ForceFeedback.ForceFeedbackEffectAxes* value); HRESULT LoadEffectAsync([in] Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect* effect, [out] [retval] Windows.Foundation.IAsyncOperation** asyncOperation); HRESULT PauseAllEffects(); HRESULT ResumeAllEffects(); HRESULT StopAllEffects(); HRESULT TryDisableAsync([out] [retval] Windows.Foundation.IAsyncOperation** asyncOperation); HRESULT TryEnableAsync([out] [retval] Windows.Foundation.IAsyncOperation** asyncOperation); HRESULT TryResetAsync([out] [retval] Windows.Foundation.IAsyncOperation** asyncOperation); HRESULT TryUnloadEffectAsync([in] Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect* effect, [out] [retval] Windows.Foundation.IAsyncOperation** asyncOperation); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect)] [uuid(5C5138D7-FC75-4D52-9A0A-EFE4CAB5FE64)] interface IPeriodicForceEffect : IInspectable requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect { [propget] HRESULT Kind([out] [retval] Windows.Gaming.Input.ForceFeedback.PeriodicForceEffectKind* value); HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 vector, [in] FLOAT frequency, [in] FLOAT phase, [in] FLOAT bias, [in] Windows.Foundation.TimeSpan duration); HRESULT SetParametersWithEnvelope([in] Windows.Foundation.Numerics.Vector3 vector, [in] FLOAT frequency, [in] FLOAT phase, [in] FLOAT bias, [in] FLOAT attackGain, [in] FLOAT sustainGain, [in] FLOAT releaseGain, [in] Windows.Foundation.TimeSpan startDelay, [in] Windows.Foundation.TimeSpan attackDuration, [in] Windows.Foundation.TimeSpan sustainDuration, [in] Windows.Foundation.TimeSpan releaseDuration, [in] UINT32 repeatCount); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect)] [uuid(6F62EB1A-9851-477B-B318-35ECAA15070F)] interface IPeriodicForceEffectFactory : IInspectable { HRESULT CreateInstance([in] Windows.Gaming.Input.ForceFeedback.PeriodicForceEffectKind effectKind, [out] [retval] Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Gaming.Input.ForceFeedback.RampForceEffect)] [uuid(F1F81259-1CA6-4080-B56D-B43F3354D052)] interface IRampForceEffect : IInspectable requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect { HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 startVector, [in] Windows.Foundation.Numerics.Vector3 endVector, [in] Windows.Foundation.TimeSpan duration); HRESULT SetParametersWithEnvelope([in] Windows.Foundation.Numerics.Vector3 startVector, [in] Windows.Foundation.Numerics.Vector3 endVector, [in] FLOAT attackGain, [in] FLOAT sustainGain, [in] FLOAT releaseGain, [in] Windows.Foundation.TimeSpan startDelay, [in] Windows.Foundation.TimeSpan attackDuration, [in] Windows.Foundation.TimeSpan sustainDuration, [in] Windows.Foundation.TimeSpan releaseDuration, [in] UINT32 repeatCount); } [activatable(Windows.Gaming.Input.ForceFeedback.IConditionForceEffectFactory, Windows.Foundation.UniversalApiContract, 3.0)] [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ConditionForceEffect { [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; } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ForceFeedbackMotor { [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackMotor; } [activatable(Windows.Gaming.Input.ForceFeedback.IPeriodicForceEffectFactory, Windows.Foundation.UniversalApiContract, 3.0)] [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PeriodicForceEffect { [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect; interface Windows.Gaming.Input.ForceFeedback.IPeriodicForceEffect; } [activatable(Windows.Foundation.UniversalApiContract, 3.0)] [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass RampForceEffect { [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect; interface Windows.Gaming.Input.ForceFeedback.IRampForceEffect; } } } } }