//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0013
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Graphics.Display.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Egraphics2Edisplay_h__)")
cpp_quote("#include <Windows.Graphics.Display.h>")
cpp_quote("#endif // !defined(__windows2Egraphics2Edisplay_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IClosable;

        typedef struct TimeSpan TimeSpan;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Display
        {
            typedef enum DisplayOrientations DisplayOrientations;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Sensors
        {
            typedef enum MagnetometerAccuracy MagnetometerAccuracy;

            typedef enum ActivityType ActivityType;

            typedef enum ActivitySensorReadingConfidence ActivitySensorReadingConfidence;

            typedef enum SensorReadingType SensorReadingType;

            typedef enum SimpleOrientation SimpleOrientation;

            typedef enum PedometerStepKind PedometerStepKind;

            interface IAccelerometerDeviceId;

            interface IAccelerometerStatics;

            interface IAccelerometer;

            interface IAccelerometer2;

            interface IAccelerometer3;

            interface IAccelerometerReading;

            interface IAccelerometerReadingChangedEventArgs;

            interface IAccelerometerShakenEventArgs;

            interface IInclinometerDeviceId;

            interface IInclinometerStatics;

            interface IInclinometerStatics2;

            interface IInclinometer;

            interface IInclinometer2;

            interface IInclinometerReading;

            interface IInclinometerReadingYawAccuracy;

            interface IInclinometerReadingChangedEventArgs;

            interface IGyrometerDeviceId;

            interface IGyrometerStatics;

            interface IGyrometer;

            interface IGyrometer2;

            interface IGyrometerReading;

            interface IGyrometerReadingChangedEventArgs;

            interface ICompassDeviceId;

            interface ICompassStatics;

            interface ICompass;

            interface ICompass2;

            interface ICompassReading;

            interface ICompassReadingHeadingAccuracy;

            interface ICompassReadingChangedEventArgs;

            interface ILightSensorDeviceId;

            interface ILightSensorStatics;

            interface ILightSensor;

            interface ILightSensorReading;

            interface ILightSensorReadingChangedEventArgs;

            interface ISensorRotationMatrix;

            interface ISensorQuaternion;

            interface IOrientationSensorDeviceId;

            interface IOrientationSensorStatics;

            interface IOrientationSensorStatics2;

            interface IOrientationSensor;

            interface IOrientationSensor2;

            interface IOrientationSensorReading;

            interface IOrientationSensorReadingYawAccuracy;

            interface IOrientationSensorReadingChangedEventArgs;

            interface ISimpleOrientationSensorDeviceId;

            interface ISimpleOrientationSensorStatics;

            interface ISimpleOrientationSensor;

            interface ISimpleOrientationSensor2;

            interface ISimpleOrientationSensorOrientationChangedEventArgs;

            interface IMagnetometerDeviceId;

            interface IMagnetometerStatics;

            interface IMagnetometer;

            interface IMagnetometer2;

            interface IMagnetometerReading;

            interface IMagnetometerReadingChangedEventArgs;

            interface IActivitySensorStatics;

            interface IActivitySensor;

            interface IActivitySensorReading;

            interface IActivitySensorReadingChangedEventArgs;

            interface IActivitySensorReadingChangeReport;

            interface IActivitySensorTriggerDetails;

            interface IBarometerStatics;

            interface IBarometer;

            interface IBarometerReading;

            interface IBarometerReadingChangedEventArgs;

            interface IPedometerReading;

            interface IPedometerReadingChangedEventArgs;

            interface IPedometerStatics;

            interface IPedometer;

            interface IProximitySensorStatics;

            interface IProximitySensor;

            interface IProximitySensorReadingChangedEventArgs;

            interface IProximitySensorReading;

            interface IAltimeterStatics;

            interface IAltimeter;

            interface IAltimeterReading;

            interface IAltimeterReadingChangedEventArgs;

            runtimeclass Accelerometer;

            runtimeclass AccelerometerReading;

            runtimeclass AccelerometerReadingChangedEventArgs;

            runtimeclass AccelerometerShakenEventArgs;

            runtimeclass Inclinometer;

            runtimeclass InclinometerReading;

            runtimeclass InclinometerReadingChangedEventArgs;

            runtimeclass Gyrometer;

            runtimeclass GyrometerReading;

            runtimeclass GyrometerReadingChangedEventArgs;

            runtimeclass Compass;

            runtimeclass CompassReading;

            runtimeclass CompassReadingChangedEventArgs;

            runtimeclass LightSensor;

            runtimeclass LightSensorReading;

            runtimeclass LightSensorReadingChangedEventArgs;

            runtimeclass SensorRotationMatrix;

            runtimeclass SensorQuaternion;

            runtimeclass OrientationSensor;

            runtimeclass OrientationSensorReading;

            runtimeclass OrientationSensorReadingChangedEventArgs;

            runtimeclass SimpleOrientationSensor;

            runtimeclass SimpleOrientationSensorOrientationChangedEventArgs;

            runtimeclass Magnetometer;

            runtimeclass MagnetometerReading;

            runtimeclass MagnetometerReadingChangedEventArgs;

            runtimeclass ActivitySensor;

            runtimeclass ActivitySensorReading;

            runtimeclass ActivitySensorReadingChangedEventArgs;

            runtimeclass ActivitySensorReadingChangeReport;

            runtimeclass ActivitySensorTriggerDetails;

            runtimeclass Barometer;

            runtimeclass BarometerReading;

            runtimeclass BarometerReadingChangedEventArgs;

            runtimeclass PedometerReading;

            runtimeclass Pedometer;

            runtimeclass PedometerReadingChangedEventArgs;

            runtimeclass ProximitySensor;

            runtimeclass ProximitySensorReading;

            runtimeclass ProximitySensorReadingChangedEventArgs;

            runtimeclass ProximitySensorDisplayOnOffController;

            runtimeclass Altimeter;

            runtimeclass AltimeterReading;

            runtimeclass AltimeterReadingChangedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Devices
    {
        namespace Sensors
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sensors.ActivitySensorReading*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sensors.ActivitySensorReadingChangeReport*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sensors.ActivityType>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sensors.PedometerReading*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sensors.ActivitySensorReading*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sensors.ActivitySensorReadingChangeReport*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sensors.ActivityType>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sensors.PedometerReading*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReading*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReadingChangeReport*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivityType>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.PedometerReading*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Sensors.ActivityType>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.ActivitySensor*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.ActivitySensorReading*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.Pedometer*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReading*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.PedometerReading*>*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Accelerometer*, Windows.Devices.Sensors.AccelerometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Accelerometer*, Windows.Devices.Sensors.AccelerometerShakenEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.ActivitySensor*, Windows.Devices.Sensors.ActivitySensorReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Altimeter*, Windows.Devices.Sensors.AltimeterReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Barometer*, Windows.Devices.Sensors.BarometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Compass*, Windows.Devices.Sensors.CompassReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Gyrometer*, Windows.Devices.Sensors.GyrometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Inclinometer*, Windows.Devices.Sensors.InclinometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.LightSensor*, Windows.Devices.Sensors.LightSensorReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Magnetometer*, Windows.Devices.Sensors.MagnetometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.OrientationSensor*, Windows.Devices.Sensors.OrientationSensorReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Pedometer*, Windows.Devices.Sensors.PedometerReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.ProximitySensor*, Windows.Devices.Sensors.ProximitySensorReadingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.SimpleOrientationSensor*, Windows.Devices.Sensors.SimpleOrientationSensorOrientationChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace Sensors
        {
            [version(0x06030000)]
            enum MagnetometerAccuracy
            {
                Unknown     = 0,
                Unreliable  = 1,
                Approximate = 2,
                High        = 3
            };

            [version(0x0A000000)]
            enum ActivityType
            {
                Unknown    = 0,
                Idle       = 1,
                Stationary = 2,
                Fidgeting  = 3,
                Walking    = 4,
                Running    = 5,
                InVehicle  = 6,
                Biking     = 7
            };

            [version(0x0A000000)]
            enum ActivitySensorReadingConfidence
            {
                High = 0,
                Low  = 1
            };

            [version(0x0A000000)]
            enum SensorReadingType
            {
                Absolute = 0,
                Relative = 1
            };

            [version(0x06020000)]
            enum SimpleOrientation
            {
                NotRotated                        = 0,
                Rotated90DegreesCounterclockwise  = 1,
                Rotated180DegreesCounterclockwise = 2,
                Rotated270DegreesCounterclockwise = 3,
                Faceup                            = 4,
                Facedown                          = 5
            };

            [version(0x0A000000)]
            enum PedometerStepKind
            {
                Unknown = 0,
                Walking = 1,
                Running = 2
            };

            [exclusiveto(Windows.Devices.Sensors.Accelerometer)]
            [uuid(7EAC64A9-97D5-446D-AB5A-917DF9B96A2C)]
            [version(0x0A000000)]
            interface IAccelerometerDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Accelerometer)]
            [uuid(A5E28B74-5A87-4A2D-BECC-0F906EA061DD)]
            [version(0x06020000)]
            interface IAccelerometerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Accelerometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Accelerometer)]
            [uuid(DF184548-2711-4DA7-8098-4B82205D3C7D)]
            [version(0x06020000)]
            interface IAccelerometer : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.AccelerometerReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Accelerometer*, Windows.Devices.Sensors.AccelerometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT Shaken([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Accelerometer*, Windows.Devices.Sensors.AccelerometerShakenEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Shaken([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.Accelerometer)]
            [uuid(E8F092EE-4964-401A-B602-220D7153C60A)]
            [version(0x0A000000)]
            interface IAccelerometer2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Accelerometer)]
            [uuid(87E0022A-ED80-49EB-BF8A-A4EA31E5CD84)]
            [version(0x0A000000)]
            interface IAccelerometer3 : IInspectable
            {
                [propput] HRESULT ReportLatency([in] UINT32 value);
                [propget] HRESULT ReportLatency([out] [retval] UINT32* value);
                [propget] HRESULT MaxBatchSize([out] [retval] UINT32* value);
            }

            [exclusiveto(Windows.Devices.Sensors.AccelerometerReading)]
            [uuid(B9FE7ACB-D351-40AF-8BB6-7AA9AE641FB7)]
            [version(0x06020000)]
            interface IAccelerometerReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT AccelerationX([out] [retval] DOUBLE* value);
                [propget] HRESULT AccelerationY([out] [retval] DOUBLE* value);
                [propget] HRESULT AccelerationZ([out] [retval] DOUBLE* value);
            }

            [exclusiveto(Windows.Devices.Sensors.AccelerometerReadingChangedEventArgs)]
            [uuid(0095C65B-B6AC-475A-9F44-8B32D35A3F25)]
            [version(0x06020000)]
            interface IAccelerometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.AccelerometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.AccelerometerShakenEventArgs)]
            [uuid(95FF01D1-4A28-4F35-98E8-8178AAE4084A)]
            [version(0x06020000)]
            interface IAccelerometerShakenEventArgs : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Inclinometer)]
            [uuid(01E91982-41FF-4406-AE83-62210FF16FE3)]
            [version(0x0A000000)]
            interface IInclinometerDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Inclinometer)]
            [uuid(F22EC551-9C30-453A-8B49-3C3EEB33CB61)]
            [version(0x06020000)]
            interface IInclinometerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Inclinometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Inclinometer)]
            [uuid(043F9775-6A1E-499C-86E0-638C1A864B00)]
            [version(0x0A000000)]
            interface IInclinometerStatics2 : IInspectable
            {
                HRESULT GetDefaultForRelativeReadings([out] [retval] Windows.Devices.Sensors.Inclinometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Inclinometer)]
            [uuid(2648CA6F-2286-406F-9161-F0C4BD806EBF)]
            [version(0x06020000)]
            interface IInclinometer : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.InclinometerReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Inclinometer*, Windows.Devices.Sensors.InclinometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.Inclinometer)]
            [uuid(029F3393-28B2-45F8-BB16-61E86A7FAE6E)]
            [version(0x0A000000)]
            interface IInclinometer2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
                [propget] HRESULT ReadingType([out] [retval] Windows.Devices.Sensors.SensorReadingType* type);
            }

            [exclusiveto(Windows.Devices.Sensors.InclinometerReading)]
            [uuid(9F44F055-B6F6-497F-B127-1A775E501458)]
            [version(0x06020000)]
            interface IInclinometerReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT PitchDegrees([out] [retval] FLOAT* value);
                [propget] HRESULT RollDegrees([out] [retval] FLOAT* value);
                [propget] HRESULT YawDegrees([out] [retval] FLOAT* value);
            }

            [exclusiveto(Windows.Devices.Sensors.InclinometerReading)]
            [uuid(B453E880-1FE3-4986-A257-E6ECE2723949)]
            [version(0x06030000)]
            interface IInclinometerReadingYawAccuracy : IInspectable
            {
                [propget] HRESULT YawAccuracy([out] [retval] Windows.Devices.Sensors.MagnetometerAccuracy* value);
            }

            [exclusiveto(Windows.Devices.Sensors.InclinometerReadingChangedEventArgs)]
            [uuid(4AE91DC1-E7EB-4938-8511-AE0D6B440438)]
            [version(0x06020000)]
            interface IInclinometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.InclinometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.Gyrometer)]
            [uuid(1EE5E978-89A2-4275-9E95-7126F4708760)]
            [version(0x0A000000)]
            interface IGyrometerDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Gyrometer)]
            [uuid(83B6E7C9-E49D-4B39-86E6-CD554BE4C5C1)]
            [version(0x06020000)]
            interface IGyrometerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Gyrometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Gyrometer)]
            [uuid(FDB9A9C4-84B1-4CA2-9763-9B589506C70C)]
            [version(0x06020000)]
            interface IGyrometer : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.GyrometerReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Gyrometer*, Windows.Devices.Sensors.GyrometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.Gyrometer)]
            [uuid(63DF2443-8CE8-41C3-AC44-8698810B557F)]
            [version(0x0A000000)]
            interface IGyrometer2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
            }

            [exclusiveto(Windows.Devices.Sensors.GyrometerReading)]
            [uuid(B3D6DE5C-1EE4-456F-9DE7-E2493B5C8E03)]
            [version(0x06020000)]
            interface IGyrometerReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT AngularVelocityX([out] [retval] DOUBLE* value);
                [propget] HRESULT AngularVelocityY([out] [retval] DOUBLE* value);
                [propget] HRESULT AngularVelocityZ([out] [retval] DOUBLE* value);
            }

            [exclusiveto(Windows.Devices.Sensors.GyrometerReadingChangedEventArgs)]
            [uuid(0FDF1895-6F9E-42CE-8D58-388C0AB8356D)]
            [version(0x06020000)]
            interface IGyrometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.GyrometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.Compass)]
            [uuid(D181CA29-B085-4B1D-870A-4FF57BA74FD4)]
            [version(0x0A000000)]
            interface ICompassDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Compass)]
            [uuid(9ABC97DF-56EC-4C25-B54D-40A68BB5B269)]
            [version(0x06020000)]
            interface ICompassStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Compass** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Compass)]
            [uuid(292FFA94-1B45-403C-BA06-B106DBA69A64)]
            [version(0x06020000)]
            interface ICompass : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.CompassReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Compass*, Windows.Devices.Sensors.CompassReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.Compass)]
            [uuid(36F26D09-C7D7-434F-B461-979DDFC2322F)]
            [version(0x0A000000)]
            interface ICompass2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
            }

            [exclusiveto(Windows.Devices.Sensors.CompassReading)]
            [uuid(82911128-513D-4DC9-B781-5EEDFBF02D0C)]
            [version(0x06020000)]
            interface ICompassReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT HeadingMagneticNorth([out] [retval] DOUBLE* value);
                [propget] HRESULT HeadingTrueNorth([out] [retval] Windows.Foundation.IReference<DOUBLE>** value);
            }

            [exclusiveto(Windows.Devices.Sensors.CompassReading)]
            [uuid(E761354E-8911-40F7-9E16-6ECC7DAEC5DE)]
            [version(0x06030000)]
            interface ICompassReadingHeadingAccuracy : IInspectable
            {
                [propget] HRESULT HeadingAccuracy([out] [retval] Windows.Devices.Sensors.MagnetometerAccuracy* value);
            }

            [exclusiveto(Windows.Devices.Sensors.CompassReadingChangedEventArgs)]
            [uuid(8F1549B0-E8BC-4C7E-B009-4E41DF137072)]
            [version(0x06020000)]
            interface ICompassReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.CompassReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.LightSensor)]
            [uuid(7FEE49F8-0AFB-4F51-87F0-6C26375CE94F)]
            [version(0x0A000000)]
            interface ILightSensorDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.LightSensor)]
            [uuid(45DB8C84-C3A8-471E-9A53-6457FAD87C0E)]
            [version(0x06020000)]
            interface ILightSensorStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.LightSensor** result);
            }

            [exclusiveto(Windows.Devices.Sensors.LightSensor)]
            [uuid(F84C0718-0C54-47AE-922E-789F57FB03A0)]
            [version(0x06020000)]
            interface ILightSensor : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.LightSensorReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.LightSensor*, Windows.Devices.Sensors.LightSensorReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.LightSensorReading)]
            [uuid(FFDF6300-227C-4D2B-B302-FC0142485C68)]
            [version(0x06020000)]
            interface ILightSensorReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT IlluminanceInLux([out] [retval] FLOAT* value);
            }

            [exclusiveto(Windows.Devices.Sensors.LightSensorReadingChangedEventArgs)]
            [uuid(A3A2F4CF-258B-420C-B8AB-8EDD601ECF50)]
            [version(0x06020000)]
            interface ILightSensorReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.LightSensorReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.SensorRotationMatrix)]
            [uuid(0A3D5A67-22F4-4392-9538-65D0BD064AA6)]
            [version(0x06020000)]
            interface ISensorRotationMatrix : IInspectable
            {
                [propget] HRESULT M11([out] [retval] FLOAT* value);
                [propget] HRESULT M12([out] [retval] FLOAT* value);
                [propget] HRESULT M13([out] [retval] FLOAT* value);
                [propget] HRESULT M21([out] [retval] FLOAT* value);
                [propget] HRESULT M22([out] [retval] FLOAT* value);
                [propget] HRESULT M23([out] [retval] FLOAT* value);
                [propget] HRESULT M31([out] [retval] FLOAT* value);
                [propget] HRESULT M32([out] [retval] FLOAT* value);
                [propget] HRESULT M33([out] [retval] FLOAT* value);
            }

            [exclusiveto(Windows.Devices.Sensors.SensorQuaternion)]
            [uuid(C9C5C827-C71C-46E7-9DA3-36A193B232BC)]
            [version(0x06020000)]
            interface ISensorQuaternion : IInspectable
            {
                [propget] HRESULT W([out] [retval] FLOAT* value);
                [propget] HRESULT X([out] [retval] FLOAT* value);
                [propget] HRESULT Y([out] [retval] FLOAT* value);
                [propget] HRESULT Z([out] [retval] FLOAT* value);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensor)]
            [uuid(5A69B648-4C29-49EC-B28F-EA1D117B66F0)]
            [version(0x0A000000)]
            interface IOrientationSensorDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensor)]
            [uuid(10EF8712-FB4C-428A-898B-2765E409E669)]
            [version(0x06020000)]
            interface IOrientationSensorStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.OrientationSensor** result);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensor)]
            [uuid(59DA0D0B-D40A-4C71-9276-8A272A0A6619)]
            [version(0x0A000000)]
            interface IOrientationSensorStatics2 : IInspectable
            {
                HRESULT GetDefaultForRelativeReadings([out] [retval] Windows.Devices.Sensors.OrientationSensor** result);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensor)]
            [uuid(5E354635-CF6B-4C63-ABD8-10252B0BF6EC)]
            [version(0x06020000)]
            interface IOrientationSensor : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.OrientationSensorReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.OrientationSensor*, Windows.Devices.Sensors.OrientationSensorReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensor)]
            [uuid(0D924CF9-2F1F-49C9-8042-4A1813D67760)]
            [version(0x0A000000)]
            interface IOrientationSensor2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
                [propget] HRESULT ReadingType([out] [retval] Windows.Devices.Sensors.SensorReadingType* type);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensorReading)]
            [uuid(4756C993-6595-4897-BCC6-D537EE757564)]
            [version(0x06020000)]
            interface IOrientationSensorReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT RotationMatrix([out] [retval] Windows.Devices.Sensors.SensorRotationMatrix** value);
                [propget] HRESULT Quaternion([out] [retval] Windows.Devices.Sensors.SensorQuaternion** value);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensorReading)]
            [uuid(D1AC9824-3F5A-49A2-BC7B-1180BC38CD2B)]
            [version(0x06030000)]
            interface IOrientationSensorReadingYawAccuracy : IInspectable
            {
                [propget] HRESULT YawAccuracy([out] [retval] Windows.Devices.Sensors.MagnetometerAccuracy* value);
            }

            [exclusiveto(Windows.Devices.Sensors.OrientationSensorReadingChangedEventArgs)]
            [uuid(012C1186-C3BA-46BC-AE65-7A98996CBFB8)]
            [version(0x06020000)]
            interface IOrientationSensorReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.OrientationSensorReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.SimpleOrientationSensor)]
            [uuid(FBC00ACB-3B76-41F6-8091-30EFE646D3CF)]
            [version(0x0A000000)]
            interface ISimpleOrientationSensorDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.SimpleOrientationSensor)]
            [uuid(72ED066F-70AA-40C6-9B1B-3433F7459B4E)]
            [version(0x06020000)]
            interface ISimpleOrientationSensorStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.SimpleOrientationSensor** result);
            }

            [exclusiveto(Windows.Devices.Sensors.SimpleOrientationSensor)]
            [uuid(5FF53856-214A-4DEE-A3F9-616F1AB06FFD)]
            [version(0x06020000)]
            interface ISimpleOrientationSensor : IInspectable
            {
                HRESULT GetCurrentOrientation([out] [retval] Windows.Devices.Sensors.SimpleOrientation* value);
                [eventadd] HRESULT OrientationChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.SimpleOrientationSensor*, Windows.Devices.Sensors.SimpleOrientationSensorOrientationChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OrientationChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.SimpleOrientationSensor)]
            [uuid(A277A798-8870-453E-8BD6-B8F5D8D7941B)]
            [version(0x0A000000)]
            interface ISimpleOrientationSensor2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
            }

            [exclusiveto(Windows.Devices.Sensors.SimpleOrientationSensorOrientationChangedEventArgs)]
            [uuid(BCD5C660-23D4-4B4C-A22E-BA81ADE0C601)]
            [version(0x06020000)]
            interface ISimpleOrientationSensorOrientationChangedEventArgs : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT Orientation([out] [retval] Windows.Devices.Sensors.SimpleOrientation* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Magnetometer)]
            [uuid(58B498C2-7E4B-404C-9FC5-5DE8B40EBAE3)]
            [version(0x0A000000)]
            interface IMagnetometerDeviceId : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Sensors.Magnetometer)]
            [uuid(853C64CC-0698-4DDA-A6DF-9CB9CC4AB40A)]
            [version(0x0A000000)]
            interface IMagnetometerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Magnetometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Magnetometer)]
            [uuid(484F626E-D3C9-4111-B3F6-2CF1FAA418D5)]
            [version(0x0A000000)]
            interface IMagnetometer : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.MagnetometerReading** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Magnetometer*, Windows.Devices.Sensors.MagnetometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.Magnetometer)]
            [uuid(B4656C85-26F6-444B-A9E2-A23F966CD368)]
            [version(0x0A000000)]
            interface IMagnetometer2 : IInspectable
            {
                [propput] HRESULT ReadingTransform([in] Windows.Graphics.Display.DisplayOrientations value);
                [propget] HRESULT ReadingTransform([out] [retval] Windows.Graphics.Display.DisplayOrientations* value);
            }

            [exclusiveto(Windows.Devices.Sensors.MagnetometerReading)]
            [uuid(0C2CC40D-EBFD-4E5C-BB11-AFC29B3CAE61)]
            [version(0x0A000000)]
            interface IMagnetometerReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT MagneticFieldX([out] [retval] FLOAT* value);
                [propget] HRESULT MagneticFieldY([out] [retval] FLOAT* value);
                [propget] HRESULT MagneticFieldZ([out] [retval] FLOAT* value);
                [propget] HRESULT DirectionalAccuracy([out] [retval] Windows.Devices.Sensors.MagnetometerAccuracy* value);
            }

            [exclusiveto(Windows.Devices.Sensors.MagnetometerReadingChangedEventArgs)]
            [uuid(17EAE872-2EB9-4EE7-8AD0-3127537D949B)]
            [version(0x0A000000)]
            interface IMagnetometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.MagnetometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensor)]
            [uuid(A71E0E9D-EE8B-45D1-B25B-08CC0DF92AB6)]
            [version(0x0A000000)]
            interface IActivitySensorStatics : IInspectable
            {
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.ActivitySensor*>** result);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.ActivitySensor*>** result);
                [overload("GetSystemHistoryAsync")] HRESULT GetSystemHistoryAsync([in] Windows.Foundation.DateTime fromTime, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReading*>*>** result);
                [overload("GetSystemHistoryAsync")] HRESULT GetSystemHistoryWithDurationAsync([in] Windows.Foundation.DateTime fromTime, [in] Windows.Foundation.TimeSpan duration, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReading*>*>** result);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensor)]
            [uuid(CD7A630C-FB5F-48EB-B09B-A2708D1C61EF)]
            [version(0x0A000000)]
            interface IActivitySensor : IInspectable
            {
                HRESULT GetCurrentReadingAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.ActivitySensorReading*>** result);
                [propget] HRESULT SubscribedActivities([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Sensors.ActivityType>** value);
                [propget] HRESULT PowerInMilliwatts([out] [retval] DOUBLE* value);
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT SupportedActivities([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivityType>** value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.ActivitySensor*, Windows.Devices.Sensors.ActivitySensorReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensorReading)]
            [uuid(85125A96-1472-40A2-B2AE-E1EF29226C78)]
            [version(0x0A000000)]
            interface IActivitySensorReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT Activity([out] [retval] Windows.Devices.Sensors.ActivityType* value);
                [propget] HRESULT Confidence([out] [retval] Windows.Devices.Sensors.ActivitySensorReadingConfidence* value);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensorReadingChangedEventArgs)]
            [uuid(DE386717-AEB6-4EC7-946A-D9CC19B951EC)]
            [version(0x0A000000)]
            interface IActivitySensorReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.ActivitySensorReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensorReadingChangeReport)]
            [uuid(4F3C2915-D93B-47BD-960A-F20FB2F322B9)]
            [version(0x0A000000)]
            interface IActivitySensorReadingChangeReport : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.ActivitySensorReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.ActivitySensorTriggerDetails)]
            [uuid(2C9E6612-B9CA-4677-B263-243297F79D3A)]
            [version(0x0A000000)]
            interface IActivitySensorTriggerDetails : IInspectable
            {
                HRESULT ReadReports([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.ActivitySensorReadingChangeReport*>** value);
            }

            [exclusiveto(Windows.Devices.Sensors.Barometer)]
            [uuid(286B270A-02E3-4F86-84FC-FDD892B5940F)]
            [version(0x0A000000)]
            interface IBarometerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Barometer** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Barometer)]
            [uuid(934475A8-78BF-452F-B017-F0209CE6DAB4)]
            [version(0x0A000000)]
            interface IBarometer : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.BarometerReading** value);
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Barometer*, Windows.Devices.Sensors.BarometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.BarometerReading)]
            [uuid(F5B9D2E6-1DF6-4A1A-A7AD-321D4F5DB247)]
            [version(0x0A000000)]
            interface IBarometerReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT StationPressureInHectopascals([out] [retval] DOUBLE* value);
            }

            [exclusiveto(Windows.Devices.Sensors.BarometerReadingChangedEventArgs)]
            [uuid(3D84945F-037B-404F-9BBB-6232D69543C3)]
            [version(0x0A000000)]
            interface IBarometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.BarometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.PedometerReading)]
            [uuid(2245DCF4-A8E1-432F-896A-BE0DD9B02D24)]
            [version(0x0A000000)]
            interface IPedometerReading : IInspectable
            {
                [propget] HRESULT StepKind([out] [retval] Windows.Devices.Sensors.PedometerStepKind* value);
                [propget] HRESULT CumulativeSteps([out] [retval] INT32* value);
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT CumulativeStepsDuration([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [exclusiveto(Windows.Devices.Sensors.PedometerReadingChangedEventArgs)]
            [uuid(F855E47E-ABBC-4456-86A8-25CF2B333742)]
            [version(0x0A000000)]
            interface IPedometerReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.PedometerReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.Pedometer)]
            [uuid(82980A2F-4083-4DFB-B411-938EA0F4B946)]
            [version(0x0A000000)]
            interface IPedometerStatics : IInspectable
            {
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.Pedometer*>** operation);
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sensors.Pedometer*>** operation);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                [overload("GetSystemHistoryAsync")] HRESULT GetSystemHistoryAsync([in] Windows.Foundation.DateTime fromTime, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.PedometerReading*>*>** operation);
                [overload("GetSystemHistoryAsync")] HRESULT GetSystemHistoryWithDurationAsync([in] Windows.Foundation.DateTime fromTime, [in] Windows.Foundation.TimeSpan duration, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sensors.PedometerReading*>*>** operation);
            }

            [exclusiveto(Windows.Devices.Sensors.Pedometer)]
            [uuid(9A1E013D-3D98-45F8-8920-8E4ECACA5F97)]
            [version(0x0A000000)]
            interface IPedometer : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT PowerInMilliwatts([out] [retval] DOUBLE* value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Pedometer*, Windows.Devices.Sensors.PedometerReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.ProximitySensor)]
            [uuid(29186649-6269-4E57-A5AD-82BE80813392)]
            [version(0x0A000000)]
            interface IProximitySensorStatics : IInspectable
            {
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
                HRESULT FromId([in] HSTRING sensorId, [out] [retval] Windows.Devices.Sensors.ProximitySensor** result);
            }

            [exclusiveto(Windows.Devices.Sensors.ProximitySensor)]
            [uuid(54C076B8-ECFB-4944-B928-74FC504D47EE)]
            [version(0x0A000000)]
            interface IProximitySensor : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT MaxDistanceInMillimeters([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT MinDistanceInMillimeters([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.ProximitySensorReading** value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.ProximitySensor*, Windows.Devices.Sensors.ProximitySensorReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
                HRESULT CreateDisplayOnOffController([out] [retval] Windows.Devices.Sensors.ProximitySensorDisplayOnOffController** controller);
            }

            [exclusiveto(Windows.Devices.Sensors.ProximitySensorReadingChangedEventArgs)]
            [uuid(CFC2F366-C3E8-40FD-8CC3-67E289004938)]
            [version(0x0A000000)]
            interface IProximitySensorReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.ProximitySensorReading** value);
            }

            [exclusiveto(Windows.Devices.Sensors.ProximitySensorReading)]
            [uuid(71228D59-132D-4D5F-8FF9-2F0DB8751CED)]
            [version(0x0A000000)]
            interface IProximitySensorReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT IsDetected([out] [retval] boolean* value);
                [propget] HRESULT DistanceInMillimeters([out] [retval] Windows.Foundation.IReference<UINT32>** value);
            }

            [exclusiveto(Windows.Devices.Sensors.Altimeter)]
            [uuid(9EB4D7C3-E5AC-47CE-8EEF-D3718168C01F)]
            [version(0x0A000000)]
            interface IAltimeterStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Devices.Sensors.Altimeter** result);
            }

            [exclusiveto(Windows.Devices.Sensors.Altimeter)]
            [uuid(72F057FD-8F04-49F1-B4A7-F4E363B701A2)]
            [version(0x0A000000)]
            interface IAltimeter : IInspectable
            {
                HRESULT GetCurrentReading([out] [retval] Windows.Devices.Sensors.AltimeterReading** value);
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT MinimumReportInterval([out] [retval] UINT32* value);
                [propput] HRESULT ReportInterval([in] UINT32 value);
                [propget] HRESULT ReportInterval([out] [retval] UINT32* value);
                [eventadd] HRESULT ReadingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sensors.Altimeter*, Windows.Devices.Sensors.AltimeterReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReadingChanged([in] EventRegistrationToken token);
            }

            [exclusiveto(Windows.Devices.Sensors.AltimeterReading)]
            [uuid(FBE8EF73-7F5E-48C8-AA1A-F1F3BEFC1144)]
            [version(0x0A000000)]
            interface IAltimeterReading : IInspectable
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT AltitudeChangeInMeters([out] [retval] DOUBLE* value);
            }

            [exclusiveto(Windows.Devices.Sensors.AltimeterReadingChangedEventArgs)]
            [uuid(7069D077-446D-47F7-998C-EBC23B45E4A2)]
            [version(0x0A000000)]
            interface IAltimeterReadingChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reading([out] [retval] Windows.Devices.Sensors.AltimeterReading** value);
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IAccelerometerStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass Accelerometer
            {
                [default] interface Windows.Devices.Sensors.IAccelerometer;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IAccelerometerDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IAccelerometer2;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IAccelerometer3;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass AccelerometerReading
            {
                [default] interface Windows.Devices.Sensors.IAccelerometerReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass AccelerometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IAccelerometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass AccelerometerShakenEventArgs
            {
                [default] interface Windows.Devices.Sensors.IAccelerometerShakenEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IInclinometerStatics2, 0x0A000000)]
            [static(Windows.Devices.Sensors.IInclinometerStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass Inclinometer
            {
                [default] interface Windows.Devices.Sensors.IInclinometer;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IInclinometerDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IInclinometer2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass InclinometerReading
            {
                [default] interface Windows.Devices.Sensors.IInclinometerReading;
                [version(0x06030000)] interface Windows.Devices.Sensors.IInclinometerReadingYawAccuracy;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass InclinometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IInclinometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IGyrometerStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass Gyrometer
            {
                [default] interface Windows.Devices.Sensors.IGyrometer;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IGyrometerDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IGyrometer2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass GyrometerReading
            {
                [default] interface Windows.Devices.Sensors.IGyrometerReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass GyrometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IGyrometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.ICompassStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass Compass
            {
                [default] interface Windows.Devices.Sensors.ICompass;
                [version(0x0A000000)] interface Windows.Devices.Sensors.ICompassDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.ICompass2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass CompassReading
            {
                [default] interface Windows.Devices.Sensors.ICompassReading;
                [version(0x06030000)] interface Windows.Devices.Sensors.ICompassReadingHeadingAccuracy;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass CompassReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.ICompassReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.ILightSensorStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass LightSensor
            {
                [default] interface Windows.Devices.Sensors.ILightSensor;
                [version(0x0A000000)] interface Windows.Devices.Sensors.ILightSensorDeviceId;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass LightSensorReading
            {
                [default] interface Windows.Devices.Sensors.ILightSensorReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass LightSensorReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.ILightSensorReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass SensorRotationMatrix
            {
                [default] interface Windows.Devices.Sensors.ISensorRotationMatrix;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass SensorQuaternion
            {
                [default] interface Windows.Devices.Sensors.ISensorQuaternion;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IOrientationSensorStatics, 0x06020000)]
            [static(Windows.Devices.Sensors.IOrientationSensorStatics2, 0x0A000000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass OrientationSensor
            {
                [default] interface Windows.Devices.Sensors.IOrientationSensor;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IOrientationSensorDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IOrientationSensor2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass OrientationSensorReading
            {
                [default] interface Windows.Devices.Sensors.IOrientationSensorReading;
                [version(0x06030000)] interface Windows.Devices.Sensors.IOrientationSensorReadingYawAccuracy;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass OrientationSensorReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IOrientationSensorReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.ISimpleOrientationSensorStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass SimpleOrientationSensor
            {
                [default] interface Windows.Devices.Sensors.ISimpleOrientationSensor;
                [version(0x0A000000)] interface Windows.Devices.Sensors.ISimpleOrientationSensorDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.ISimpleOrientationSensor2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass SimpleOrientationSensorOrientationChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.ISimpleOrientationSensorOrientationChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IMagnetometerStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass Magnetometer
            {
                [default] interface Windows.Devices.Sensors.IMagnetometer;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IMagnetometerDeviceId;
                [version(0x0A000000)] interface Windows.Devices.Sensors.IMagnetometer2;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass MagnetometerReading
            {
                [default] interface Windows.Devices.Sensors.IMagnetometerReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass MagnetometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IMagnetometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IActivitySensorStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ActivitySensor
            {
                [default] interface Windows.Devices.Sensors.IActivitySensor;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ActivitySensorReading
            {
                [default] interface Windows.Devices.Sensors.IActivitySensorReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ActivitySensorReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IActivitySensorReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ActivitySensorReadingChangeReport
            {
                [default] interface Windows.Devices.Sensors.IActivitySensorReadingChangeReport;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ActivitySensorTriggerDetails
            {
                [default] interface Windows.Devices.Sensors.IActivitySensorTriggerDetails;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IBarometerStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass Barometer
            {
                [default] interface Windows.Devices.Sensors.IBarometer;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass BarometerReading
            {
                [default] interface Windows.Devices.Sensors.IBarometerReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass BarometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IBarometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PedometerReading
            {
                [default] interface Windows.Devices.Sensors.IPedometerReading;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IPedometerStatics, 0x0A000000)]
            [version(0x0A000000)]
            runtimeclass Pedometer
            {
                [default] interface Windows.Devices.Sensors.IPedometer;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PedometerReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IPedometerReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IProximitySensorStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ProximitySensor
            {
                [default] interface Windows.Devices.Sensors.IProximitySensor;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ProximitySensorReading
            {
                [default] interface Windows.Devices.Sensors.IProximitySensorReading;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ProximitySensorReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IProximitySensorReadingChangedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ProximitySensorDisplayOnOffController
            {
                [default] interface Windows.Foundation.IClosable;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sensors.IAltimeterStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass Altimeter
            {
                [default] interface Windows.Devices.Sensors.IAltimeter;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass AltimeterReading
            {
                [default] interface Windows.Devices.Sensors.IAltimeterReading;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass AltimeterReadingChangedEventArgs
            {
                [default] interface Windows.Devices.Sensors.IAltimeterReadingChangedEventArgs;
            }
        }
    }
}
