//-----------------------------------------------------------------------
// <copyright file="Sensors.h" company="Microsoft">
//      Copyright (c) 2007 Microsoft Corporation.  All rights
//  reserved.
// </copyright>
//
// Module:       
//        Sensors.h
//
// Description:
//        This file defines supporting structures and values used in
//        the Sensors platform.
//
//-----------------------------------------------------------------------

#ifndef _SENSORS_H_
#define _SENSORS_H_

#include "propkeydef.h"

// {BA1BB692-9B7A-4833-9A1E-525ED134E7E2}
DEFINE_GUID(GUID_DEVINTERFACE_SENSOR,               0XBA1BB692, 0X9B7A, 0X4833, 0X9A, 0X1E, 0X52, 0X5E, 0XD1, 0X34, 0XE7, 0XE2);

// {BFD96016-6BD7-4560-AD34-F2F6607E8F81}
DEFINE_GUID(SENSOR_EVENT_STATE_CHANGED,             0XBFD96016, 0X6BD7, 0X4560, 0XAD, 0X34, 0XF2, 0XF6, 0X60, 0X7E, 0X8F, 0X81);
// {2ED0F2A4-0087-41D3-87DB-6773370B3C88}
DEFINE_GUID(SENSOR_EVENT_DATA_UPDATED,              0X2ED0F2A4, 0X0087, 0X41D3, 0X87, 0XDB, 0X67, 0X73, 0X37, 0X0B, 0X3C, 0X88);
// {2358F099-84C9-4D3D-90DF-C2421E2B2045}
DEFINE_GUID(SENSOR_EVENT_PROPERTY_CHANGED,          0X2358F099, 0X84C9, 0X4D3D, 0X90, 0XDF, 0XC2, 0X42, 0X1E, 0X2B, 0X20, 0X45);

// {2ED0F2A4-0087-41D3-87DB-6773370B3C88}
DEFINE_PROPERTYKEY(SENSOR_EVENT_PARAMETER_EVENT_ID, 0X64346E30, 0X8728, 0X4B34, 0XBD, 0XF6, 0X4F, 0X52, 0X44, 0X2C, 0X5C, 0X28, 2);
// {64346E30-8728-4B34-BDF6-4F52442C5C28}
DEFINE_PROPERTYKEY(SENSOR_EVENT_PARAMETER_STATE,    0X64346E30, 0X8728, 0X4B34, 0XBD, 0XF6, 0X4F, 0X52, 0X44, 0X2C, 0X5C, 0X28, 3); // [VT_UI4]


/////////////////////////////////////////////////////////////////////
// Sensor Properties
//

// {7F8383EC-D3EC-495C-A8CF-B8BBE85C2920}
DEFINE_GUID(SENSOR_PROPERTY_COMMON_GUID,                        0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20);
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_TYPE,                        0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 2); //[VT_CLSID]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_STATE,                       0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 3); //[VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_PERSISTENT_UNIQUE_ID,        0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 5); //[VT_CLSID]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_MANUFACTURER,                0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 6); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_MODEL,                       0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 7); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_SERIAL_NUMBER,               0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 8); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_FRIENDLY_NAME,               0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 9); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_DESCRIPTION,                 0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 10); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_CONNECTION_TYPE,             0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 11); //[VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_MIN_REPORT_INTERVAL,         0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 12); //[VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL,     0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 13); //[VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_CHANGE_SENSITIVITY,          0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 14); //[VT_UNKNOWN], IPortableDeviceValues
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_DEVICE_PATH,                 0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 15); //[VT_LPWSTR]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE,        0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 16); //[VT_VECTOR|VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_ACCURACY,                    0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 17); //[VT_UNKNOWN], IPortableDeviceValues
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_RESOLUTION,                  0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 18); //[VT_UNKNOWN], IPortableDeviceValues
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_LOCATION_DESIRED_ACCURACY,   0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 19); //[VT_UI4]
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_RANGE_MINIMUM,               0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 20); //[VT_UNKNOWN], IPortableDeviceValues
DEFINE_PROPERTYKEY(SENSOR_PROPERTY_RANGE_MAXIMUM,               0X7F8383EC, 0XD3EC, 0X495C, 0XA8, 0XCF, 0XB8, 0XBB, 0XE8, 0X5C, 0X29, 0X20, 21); //[VT_UNKNOWN], IPortableDeviceValues

/////////////////////////////////////////////////////////////////////
// Sensor Categories
//

// {C317C286-C468-4288-9975-D4C4587C442C}
DEFINE_GUID(SENSOR_CATEGORY_ALL,            0XC317C286, 0XC468, 0X4288, 0X99, 0X75, 0XD4, 0XC4, 0X58, 0X7C, 0X44, 0X2C);
// {BFA794E4-F964-4FDB-90F6-51056BFE4B44}
DEFINE_GUID(SENSOR_CATEGORY_LOCATION,       0XBFA794E4, 0XF964, 0X4FDB, 0X90, 0XF6, 0X51, 0X5, 0X6B, 0XFE, 0X4B, 0X44);
// {323439AA-7F66-492B-BA0C-73E9AA0A65D5}
DEFINE_GUID(SENSOR_CATEGORY_ENVIRONMENTAL,  0X323439AA, 0X7F66, 0X492B, 0XBA, 0XC, 0X73, 0XE9, 0XAA, 0XA, 0X65, 0XD5);
// {CD09DAF1-3B2E-4C3D-B598-B5E5FF93FD46}
DEFINE_GUID(SENSOR_CATEGORY_MOTION,         0XCD09DAF1, 0X3B2E, 0X4C3D, 0XB5, 0X98, 0XB5, 0XE5, 0XFF, 0X93, 0XFD, 0X46);
// {9E6C04B6-96FE-4954-B726-68682A473F69}
DEFINE_GUID(SENSOR_CATEGORY_ORIENTATION,    0X9E6C04B6, 0X96FE, 0X4954, 0XB7, 0X26, 0X68, 0X68, 0X2A, 0X47, 0X3F, 0X69);
// {8D131D68-8EF7-4656-80B5-CCCBD93791C5}
DEFINE_GUID(SENSOR_CATEGORY_MECHANICAL,     0X8D131D68, 0X8EF7, 0X4656, 0X80, 0XB5, 0XCC, 0XCB, 0XD9, 0X37, 0X91, 0XC5);
// {FB73FCD8-FC4A-483C-AC58-27B691C6BEFF}
DEFINE_GUID(SENSOR_CATEGORY_ELECTRICAL,     0XFB73FCD8, 0XFC4A, 0X483C, 0XAC, 0X58, 0X27, 0XB6, 0X91, 0XC6, 0XBE, 0XFF);
// {CA19690F-A2C7-477D-A99E-99EC6E2B5648}
DEFINE_GUID(SENSOR_CATEGORY_BIOMETRIC,      0XCA19690F, 0XA2C7, 0X477D, 0XA9, 0X9E, 0X99, 0XEC, 0X6E, 0X2B, 0X56, 0X48);
// {17A665C0-9063-4216-B202-5C7A255E18CE}
DEFINE_GUID(SENSOR_CATEGORY_LIGHT,          0X17A665C0, 0X9063, 0X4216, 0XB2, 0X2, 0X5C, 0X7A, 0X25, 0X5E, 0X18, 0XCE);
// {B000E77E-F5B5-420F-815D-0270A726F270}
DEFINE_GUID(SENSOR_CATEGORY_SCANNER,        0XB000E77E, 0XF5B5, 0X420F, 0X81, 0X5D, 0X2, 0X70, 0XA7, 0X26, 0XF2, 0X70);

/////////////////////////////////////////////////////////////////////
// Sensor Types
//

//
// Location Sensor Types
//
// {ED4CA589-327A-4FF9-A560-91DA4B48275E}
DEFINE_GUID(SENSOR_TYPE_LOCATION_GPS,               0XED4CA589, 0X327A, 0X4FF9, 0XA5, 0X60, 0X91, 0XDA, 0X4B, 0X48, 0X27, 0X5E);
// {095F8184-0FA9-4445-8E6E-B70F320B6B4C}
DEFINE_GUID(SENSOR_TYPE_LOCATION_STATIC,            0X095F8184, 0X0FA9, 0X4445, 0X8E, 0X6E, 0XB7, 0X0F, 0X32, 0X0B, 0X6B, 0X4C);
// {3B2EAE4A-72CE-436D-96D2-3C5B8570E987}
DEFINE_GUID(SENSOR_TYPE_LOCATION_LOOKUP,            0X3B2EAE4A, 0X72CE, 0X436D, 0X96, 0XD2, 0X3C, 0X5B, 0X85, 0X70, 0XE9, 0X87);
// {691C341A-5406-4FE1-942F-2246CBEB39E0}
DEFINE_GUID(SENSOR_TYPE_LOCATION_TRIANGULATION,     0X691C341A, 0X5406, 0X4FE1, 0X94, 0X2F, 0X22, 0X46, 0XCB, 0XEB, 0X39, 0XE0);
// {9B2D0566-0368-4F71-B88D-533F132031DE}
DEFINE_GUID(SENSOR_TYPE_LOCATION_OTHER,             0X9B2D0566, 0X0368, 0X4F71, 0XB8, 0X8D, 0X53, 0X3F, 0X13, 0X20, 0X31, 0XDE);
// {D26988CF-5162-4039-BB17-4C58B698E44A}
DEFINE_GUID(SENSOR_TYPE_LOCATION_BROADCAST,         0XD26988CF, 0X5162, 0X4039, 0XBB, 0X17, 0X4C, 0X58, 0XB6, 0X98, 0XE4, 0X4A);
// {1A37D538-F28B-42DA-9FCE-A9D0A2A6D829}
DEFINE_GUID(SENSOR_TYPE_LOCATION_DEAD_RECKONING,    0X1A37D538, 0XF28B, 0X42DA, 0X9F, 0XCE, 0XA9, 0XD0, 0XA2, 0XA6, 0XD8, 0X29);

//
// Environmental Sensor Types
//

// {04FD0EC4-D5DA-45FA-95A9-5DB38EE19306}
DEFINE_GUID(SENSOR_TYPE_ENVIRONMENTAL_TEMPERATURE,          0X04FD0EC4, 0XD5DA, 0X45FA, 0X95, 0XA9, 0X5D, 0XB3, 0X8E, 0XE1, 0X93, 0X06);
// {0E903829-FF8A-4A93-97DF-3DCBDE402288}
DEFINE_GUID(SENSOR_TYPE_ENVIRONMENTAL_ATMOSPHERIC_PRESSURE, 0XE903829, 0XFF8A, 0X4A93, 0X97, 0XDF, 0X3D, 0XCB, 0XDE, 0X40, 0X22, 0X88);
// {5C72BF67-BD7E-4257-990B-98A3BA3B400A}
DEFINE_GUID(SENSOR_TYPE_ENVIRONMENTAL_HUMIDITY,             0X5C72BF67, 0XBD7E, 0X4257, 0X99, 0XB, 0X98, 0XA3, 0XBA, 0X3B, 0X40, 0XA);
// {DD50607B-A45F-42CD-8EFD-EC61761C4226}
DEFINE_GUID(SENSOR_TYPE_ENVIRONMENTAL_WIND_SPEED,           0XDD50607B, 0XA45F, 0X42CD, 0X8E, 0XFD, 0XEC, 0X61, 0X76, 0X1C, 0X42, 0X26);
// {9EF57A35-9306-434D-AF09-37FA5A9C00BD}
DEFINE_GUID(SENSOR_TYPE_ENVIRONMENTAL_WIND_DIRECTION,       0X9EF57A35, 0X9306, 0X434D, 0XAF, 0X9, 0X37, 0XFA, 0X5A, 0X9C, 0X0, 0XBD);

//
// Motion Sensor Types
//

// {C04D2387-7340-4CC2-991E-3B18CB8EF2F4}
DEFINE_GUID(SENSOR_TYPE_ACCELEROMETER_1D,   0XC04D2387, 0X7340, 0X4CC2, 0X99, 0X1E, 0X3B, 0X18, 0XCB, 0X8E, 0XF2, 0XF4);
// {B2C517A8-F6B5-4BA6-A423-5DF560B4CC07}
DEFINE_GUID(SENSOR_TYPE_ACCELEROMETER_2D,   0XB2C517A8, 0XF6B5, 0X4BA6, 0XA4, 0X23, 0X5D, 0XF5, 0X60, 0XB4, 0XCC, 0X7);
// {C2FB0F5F-E2D2-4C78-BCD0-352A9582819D}
DEFINE_GUID(SENSOR_TYPE_ACCELEROMETER_3D,   0XC2FB0F5F, 0XE2D2, 0X4C78, 0XBC, 0XD0, 0X35, 0X2A, 0X95, 0X82, 0X81, 0X9D);
// {5C7C1A12-30A5-43B9-A4B2-CF09EC5B7BE8}
DEFINE_GUID(SENSOR_TYPE_MOTION_DETECTOR,    0X5C7C1A12, 0X30A5, 0X43B9, 0XA4, 0XB2, 0XCF, 0X9, 0XEC, 0X5B, 0X7B, 0XE8);
// {FA088734-F552-4584-8324-EDFAF649652C}
DEFINE_GUID(SENSOR_TYPE_GYROMETER_1D,       0XFA088734, 0XF552, 0X4584, 0X83, 0X24, 0XED, 0XFA, 0XF6, 0X49, 0X65, 0X2C);
// {31EF4F83-919B-48BF-8DE0-5D7A9D240556}
DEFINE_GUID(SENSOR_TYPE_GYROMETER_2D,       0X31EF4F83, 0X919B, 0X48BF, 0X8D, 0XE0, 0X5D, 0X7A, 0X9D, 0X24, 0X5, 0X56);
// {09485F5A-759E-42C2-BD4B-A349B75C8643}
DEFINE_GUID(SENSOR_TYPE_GYROMETER_3D,       0X9485F5A, 0X759E, 0X42C2, 0XBD, 0X4B, 0XA3, 0X49, 0XB7, 0X5C, 0X86, 0X43);
// {6BD73C1F-0BB4-4310-81B2-DFC18A52BF94}
DEFINE_GUID(SENSOR_TYPE_SPEEDOMETER,        0X6BD73C1F, 0XBB4, 0X4310, 0X81, 0XB2, 0XDF, 0XC1, 0X8A, 0X52, 0XBF, 0X94);


//
// Orientation Sensor Types
//

// {A415F6C5-CB50-49D0-8E62-A8270BD7A26C}
DEFINE_GUID(SENSOR_TYPE_COMPASS_1D,         0XA415F6C5, 0XCB50, 0X49D0, 0X8E, 0X62, 0XA8, 0X27, 0XB, 0XD7, 0XA2, 0X6C);
// {15655CC0-997A-4D30-84DB-57CABA3648BB}
DEFINE_GUID(SENSOR_TYPE_COMPASS_2D,         0X15655CC0, 0X997A, 0X4D30, 0X84, 0XDB, 0X57, 0XCA, 0XBA, 0X36, 0X48, 0XBB);
// {76B5CE0D-17DD-414D-93A1-E127F40BDF6E}
DEFINE_GUID(SENSOR_TYPE_COMPASS_3D,         0X76B5CE0D, 0X17DD, 0X414D, 0X93, 0XA1, 0XE1, 0X27, 0XF4, 0XB, 0XDF, 0X6E);
// {B96F98C5-7A75-4BA7-94E9-AC868C966DD8}
DEFINE_GUID(SENSOR_TYPE_INCLINOMETER_1D,    0XB96F98C5, 0X7A75, 0X4BA7, 0X94, 0XE9, 0XAC, 0X86, 0X8C, 0X96, 0X6D, 0XD8);
// {AB140F6D-83EB-4264-B70B-B16A5B256A01}
DEFINE_GUID(SENSOR_TYPE_INCLINOMETER_2D,    0XAB140F6D, 0X83EB, 0X4264, 0XB7, 0XB, 0XB1, 0X6A, 0X5B, 0X25, 0X6A, 0X1);
// {B84919FB-EA85-4976-8444-6F6F5C6D31DB}
DEFINE_GUID(SENSOR_TYPE_INCLINOMETER_3D,    0XB84919FB, 0XEA85, 0X4976, 0X84, 0X44, 0X6F, 0X6F, 0X5C, 0X6D, 0X31, 0XDB);
// {5F14AB2F-1407-4306-A93F-B1DBABE4F9C0}
DEFINE_GUID(SENSOR_TYPE_DISTANCE_1D,        0X5F14AB2F, 0X1407, 0X4306, 0XA9, 0X3F, 0XB1, 0XDB, 0XAB, 0XE4, 0XF9, 0XC0);
// {5CF9A46C-A9A2-4E55-B6A1-A04AAFA95A92}
DEFINE_GUID(SENSOR_TYPE_DISTANCE_2D,        0X5CF9A46C, 0XA9A2, 0X4E55, 0XB6, 0XA1, 0XA0, 0X4A, 0XAF, 0XA9, 0X5A, 0X92);
// {A20CAE31-0E25-4772-9FE5-96608A1354B2}
DEFINE_GUID(SENSOR_TYPE_DISTANCE_3D,        0XA20CAE31, 0XE25, 0X4772, 0X9F, 0XE5, 0X96, 0X60, 0X8A, 0X13, 0X54, 0XB2);

//
// Electrical Sensor Types
//

// {C5484637-4FB7-4953-98B8-A56D8AA1FB1E}
DEFINE_GUID(SENSOR_TYPE_VOLTAGE,            0XC5484637, 0X4FB7, 0X4953, 0X98, 0XB8, 0XA5, 0X6D, 0X8A, 0XA1, 0XFB, 0X1E);
// {5ADC9FCE-15A0-4BBE-A1AD-2D38A9AE831C}
DEFINE_GUID(SENSOR_TYPE_CURRENT,            0X5ADC9FCE, 0X15A0, 0X4BBE, 0XA1, 0XAD, 0X2D, 0X38, 0XA9, 0XAE, 0X83, 0X1C);
// {CA2FFB1C-2317-49C0-A0B4-B63CE63461A0}
DEFINE_GUID(SENSOR_TYPE_CAPACITANCE,        0XCA2FFB1C, 0X2317, 0X49C0, 0XA0, 0XB4, 0XB6, 0X3C, 0XE6, 0X34, 0X61, 0XA0);
// {9993D2C8-C157-4A52-A7B5-195C76037231}
DEFINE_GUID(SENSOR_TYPE_RESISTANCE,         0X9993D2C8, 0XC157, 0X4A52, 0XA7, 0XB5, 0X19, 0X5C, 0X76, 0X03, 0X72, 0X31);
// {DC1D933F-C435-4C7D-A2FE-607192A524D3}
DEFINE_GUID(SENSOR_TYPE_INDUCTANCE,         0XDC1D933F, 0XC435, 0X4C7D, 0XA2, 0XFE, 0X60, 0X71, 0X92, 0XA5, 0X24, 0XD3);
// {212F10F5-14AB-4376-9A43-A7794098C2FE}
DEFINE_GUID(SENSOR_TYPE_ELECTRICAL_POWER,   0X212F10F5, 0X14AB, 0X4376, 0X9A, 0X43, 0XA7, 0X79, 0X40, 0X98, 0XC2, 0XFE);
// {2B3681A9-CADC-45AA-A6FF-54957C8BB440}
DEFINE_GUID(SENSOR_TYPE_POTENTIOMETER,      0X2B3681A9, 0XCADC, 0X45AA, 0XA6, 0XFF, 0X54, 0X95, 0X7C, 0X8B, 0XB4, 0X40);

//
// Mechanical Sensor Types
//

// {9C7E371F-1041-460B-8D5C-71E4752E350C}
DEFINE_GUID(SENSOR_TYPE_BOOLEAN_SWITCH,     0X9C7E371F, 0X1041, 0X460B, 0X8D, 0X5C, 0X71, 0XE4, 0X75, 0X2E, 0X35, 0XC);
// {B3EE4D76-37A4-4402-B25E-99C60A775FA1}
DEFINE_GUID(SENSOR_TYPE_MULTIVALUE_SWITCH,  0XB3EE4D76, 0X37A4, 0X4402, 0XB2, 0X5E, 0X99, 0XC6, 0XA, 0X77, 0X5F, 0XA1);
// {C2AB2B02-1A1C-4778-A81B-954A1788CC75}
DEFINE_GUID(SENSOR_TYPE_FORCE,              0XC2AB2B02, 0X1A1C, 0X4778, 0XA8, 0X1B, 0X95, 0X4A, 0X17, 0X88, 0XCC, 0X75);
// {C06DD92C-7FEB-438E-9BF6-82207FFF5BB8}
DEFINE_GUID(SENSOR_TYPE_SCALE,              0XC06DD92C, 0X7FEB, 0X438E, 0X9B, 0XF6, 0X82, 0X20, 0X7F, 0XFF, 0X5B, 0XB8);
// {26D31F34-6352-41CF-B793-EA0713D53D77}
DEFINE_GUID(SENSOR_TYPE_PRESSURE,           0X26D31F34, 0X6352, 0X41CF, 0XB7, 0X93, 0XEA, 0X7, 0X13, 0XD5, 0X3D, 0X77);
// {C6D1EC0E-6803-4361-AD3D-85BCC58C6D29}
DEFINE_GUID(SENSOR_TYPE_STRAIN,             0XC6D1EC0E, 0X6803, 0X4361, 0XAD, 0X3D, 0X85, 0XBC, 0XC5, 0X8C, 0X6D, 0X29);

//
// Biometric Sensor Types
//

// {C138C12B-AD52-451C-9375-87F518FF10C6}
DEFINE_GUID(SENSOR_TYPE_HUMAN_PRESENCE,     0XC138C12B, 0XAD52, 0X451C, 0X93, 0X75, 0X87, 0XF5, 0X18, 0XFF, 0X10, 0XC6);
// {5220DAE9-3179-4430-9F90-06266D2A34DE}
DEFINE_GUID(SENSOR_TYPE_HUMAN_PROXIMITY,    0X5220DAE9, 0X3179, 0X4430, 0X9F, 0X90, 0X6, 0X26, 0X6D, 0X2A, 0X34, 0XDE);
// {17DB3018-06C4-4F7D-81AF-9274B7599C27}
DEFINE_GUID(SENSOR_TYPE_TOUCH,              0X17DB3018, 0X6C4, 0X4F7D, 0X81, 0XAF, 0X92, 0X74, 0XB7, 0X59, 0X9C, 0X27);

//
// Light Sensor Types
//

// {97F115C8-599A-4153-8894-D2D12899918A}
DEFINE_GUID(SENSOR_TYPE_AMBIENT_LIGHT,      0X97F115C8, 0X599A, 0X4153, 0X88, 0X94, 0XD2, 0XD1, 0X28, 0X99, 0X91, 0X8A);

//
// Scanner Sensor Types
//
// {44328EF5-02DD-4E8D-AD5D-9249832B2ECA}
DEFINE_GUID(SENSOR_TYPE_RFID_SCANNER,       0X44328EF5, 0X2DD, 0X4E8D, 0XAD, 0X5D, 0X92, 0X49, 0X83, 0X2B, 0X2E, 0XCA);
// {990B3D8F-85BB-45FF-914D-998C04F372DF}
DEFINE_GUID(SENSOR_TYPE_BARCODE_SCANNER,    0X990B3D8F, 0X85BB, 0X45FF, 0X91, 0X4D, 0X99, 0X8C, 0X4, 0XF3, 0X72, 0XDF);


/////////////////////////////////////////////////////////////////////
// Sensor Data Types
//

//
// Common Sensor Data Types
//

// {DB5E0CF2-CF1F-4C18-B46C-D86011D62150}
DEFINE_GUID(SENSOR_DATA_TYPE_COMMON_GUID,       0XDB5E0CF2, 0XCF1F, 0X4C18, 0XB4, 0X6C, 0XD8, 0X60, 0X11, 0XD6, 0X21, 0X50);
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TIMESTAMP,  0XDB5E0CF2, 0XCF1F, 0X4C18, 0XB4, 0X6C, 0XD8, 0X60, 0X11, 0XD6, 0X21, 0X50, 2); //[VT_FILETIME]

//
// Location Sensor Data Types
//

// {055C74D8-CA6F-47D6-95C6-1ED3637A0FF4}
DEFINE_GUID(SENSOR_DATA_TYPE_LOCATION_GUID,                             0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4);
// SENSOR_DATA_TYPE_LATITUDE: Degrees latitude where North is positive
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_LATITUDE_DEGREES,                   0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 2); //[VT_R8]
// SENSOR_DATA_TYPE_LONGITUDE: Degrees longitude where East is positive
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_LONGITUDE_DEGREES,                  0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 3); //[VT_R8]
// SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_METERS: Altitude with regards to sea level, in meters
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_METERS,           0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 4); //[VT_R8]
// SENSOR_DATA_TYPE_ALTITUDE_ELLIPSOID_METERS: Altitude with regards to ellipsoid, in meters
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ALTITUDE_ELLIPSOID_METERS,          0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 5); //[VT_R8]
// SENSOR_DATA_TYPE_SPEED_KNOTS: Speed measured in knots
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SPEED_KNOTS,                        0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 6); //[VT_R8]
// SENSOR_DATA_TYPE_TRUE_HEADING_DEGREES: Heading relative to true North in degrees
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TRUE_HEADING_DEGREES,               0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 7); //[VT_R8]
// SENSOR_DATA_TYPE_MAGNETIC_HEADING_DEGREES: Heading relative to magnetic North in degrees
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MAGNETIC_HEADING_DEGREES,           0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 8); //[VT_R8]
// SENSOR_DATA_TYPE_MAGNETIC_VARIATION: Magnetic variation. East is positive
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MAGNETIC_VARIATION,                 0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 9); //[VT_R8]
// SENSOR_DATA_TYPE_FIX_QUALITY: Quality of fix
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_FIX_QUALITY,                        0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 10); //[VT_I4]
// SENSOR_DATA_TYPE_FIX_TYPE: Fix Type
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_FIX_TYPE,                           0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 11); //[VT_I4]
// SENSOR_DATA_TYPE_POSITION_DILUTION_OF_PRECISION: Position Dilution of Precision
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_POSITION_DILUTION_OF_PRECISION,     0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 12); //[VT_R8]
// SENSOR_DATA_TYPE_HORIZONAL_DILUTION_OF_PRECISION: HORIZONTAL Dilution of Precision
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_HORIZONAL_DILUTION_OF_PRECISION,    0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 13); //[VT_R8]
// SENSOR_DATA_TYPE_VERTICAL_DILUTION_OF_PRECISION: VERTICAL Dilution of Precision
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_VERTICAL_DILUTION_OF_PRECISION,     0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 14); //[VT_R8]
// SENSOR_DATA_TYPE_SATELLITES_USED_COUNT: Number of satellites used in solution
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_USED_COUNT,              0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 15); //[VT_I4]
// SENSOR_DATA_TYPE_SATELLITES_USED_PRNS: PRN numbers of satellites used in the solution
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_USED_PRNS,               0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 16); //[VT_VECTOR | VT_UI4]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW: Number of satellites in view.  From 0-GPS_MAX_SATELLITES
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW,                 0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 17); //[VT_I4]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_PRNS: PRN numbers of satellites in view
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_PRNS,            0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 18); //[VT_VECTOR | VT_UI4]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_ELEVATION: Elevation of each sattellite in view
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_ELEVATION,       0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 19); //[VT_VECTOR | VT_R8]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_AZIMUTH: Azimuth of each satellite in view
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_AZIMUTH,         0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 20); //[VT_VECTOR | VT_R8]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_STN_RATIO: Signal to noise ratio for each satellite in view
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_STN_RATIO,       0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 21); //[VT_VECTOR | VT_R8]
// SENSOR_DATA_TYPE_ERROR_RADIUS_METERS: Accuracy of Latitude and Longitude values
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ERROR_RADIUS_METERS,                0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 22); //[VT_R8]
// SENSOR_DATA_TYPE_ADDRESS1: AddressLine1
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ADDRESS1,                           0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 23); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_ADDRESS2: AddressLine2
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ADDRESS2,                           0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 24); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_CITY: City
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_CITY,                               0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 25); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_STATE_PROVINCE: State/Province
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_STATE_PROVINCE,                     0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 26); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_POSTALCODE: Postal Code (e.g. ZIP)
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_POSTALCODE,                         0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 27); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_COUNTRY_REGION: Country/Region
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_COUNTRY_REGION,                     0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 28); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_ALTITUDE_ELLIPSOID_ERROR_METERS: Altitude Error with regards to ellipsoid, in meters
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ALTITUDE_ELLIPSOID_ERROR_METERS,    0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 29); //[VT_R8]
// SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_ERROR_METERS: Altitude Error with regards to sea level, in meters
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_ERROR_METERS,     0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 30); //[VT_R8]
// SENSOR_DATA_TYPE_GPS_SELECTION_MODE:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_GPS_SELECTION_MODE,                 0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 31); //[VT_I4]
// SENSOR_DATA_TYPE_GPS_OPERATION_MODE:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_GPS_OPERATION_MODE,                 0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 32); //[VT_I4]
// SENSOR_DATA_TYPE_GPS_STATUS:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_GPS_STATUS,                         0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 33); //[VT_I4]
// SENSOR_DATA_TYPE_GEOIDAL_SEPARATION:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_GEOIDAL_SEPARATION,                 0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 34); //[VT_R8]
// SENSOR_DATA_TYPE_DGPS_DATA_AGE:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_DGPS_DATA_AGE,                      0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 35); //[VT_R8]
// SENSOR_DATA_TYPE_ALTITUDE_ANTENNA_SEALEVEL_METERS:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ALTITUDE_ANTENNA_SEALEVEL_METERS,   0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 36); //[VT_R8]
// SENSOR_DATA_TYPE_DIFFERENTIAL_REFERENCE_STATION_ID:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_DIFFERENTIAL_REFERENCE_STATION_ID,  0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 37); //[VT_I4]
// SENSOR_DATA_TYPE_NMEA_SENTENCE:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_NMEA_SENTENCE,                      0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 38); //[VT_LPWSTR]
// SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_ID:
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SATELLITES_IN_VIEW_ID,              0X055C74D8, 0XCA6F, 0X47D6, 0X95, 0XC6, 0X1E, 0XD3, 0X63, 0X7A, 0X0F, 0XF4, 39); //[VT_VECTOR|VT_I4]


//
// Environmental Sensor Data Types
//

// {8B0AA2F1-2D57-42EE-8CC0-4D27622B46C4}
DEFINE_GUID(SENSOR_DATA_TYPE_ENVIRONMENTAL_GUID,                            0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4);
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TEMPERATURE_CELSIUS,                    0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 2); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_RELATIVE_HUMIDITY_PERCENT,              0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 3); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ATMOSPHERIC_PRESSURE_BAR,               0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 4); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_WIND_DIRECTION_DEGREES_ANTICLOCKWISE,   0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 5); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_WIND_SPEED_METERS_PER_SECOND,           0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 6); //[VT_R4]


//
// Motion Sensor Data Types
//

// {3F8A69A2-07C5-4E48-A965-CD797AAB56D5}
DEFINE_GUID(SENSOR_DATA_TYPE_MOTION_GUID,                                               0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5);
// Accelerometer Data Types
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ACCELERATION_X_G,                                   0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 2); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ACCELERATION_Y_G,                                   0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 3); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ACCELERATION_Z_G,                                   0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 4); //[VT_R8]
// Gyrometer Data Types
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED,  0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 5); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED,  0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 6); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED,  0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 7); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_SPEED_METERS_PER_SECOND,                            0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 8); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MOTION_STATE,                                       0X3F8A69A2, 0X7C5, 0X4E48, 0XA9, 0X65, 0XCD, 0X79, 0X7A, 0XAB, 0X56, 0XD5, 9); //[VT_BOOL]

//
// Orientation Sensor Data Types
//

// {1637D8A2-4248-4275-865D-558DE84AEDFD}
DEFINE_GUID(SENSOR_DATA_TYPE_ORIENTATION_GUID,                  0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD);
// Inclinometer Data Types
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TILT_X_DEGREES,             0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 2); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TILT_Y_DEGREES,             0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 3); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TILT_Z_DEGREES,             0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 4); //[VT_R4]
// Compass Data Types
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MAGNETIC_HEADING_X_DEGREES, 0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 5); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MAGNETIC_HEADING_Y_DEGREES, 0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 6); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MAGNETIC_HEADING_Z_DEGREES, 0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 7); //[VT_R4]
// Distance Data Types
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_DISTANCE_X_METERS,          0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 8); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_DISTANCE_Y_METERS,          0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 9); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_DISTANCE_Z_METERS,          0X1637D8A2, 0X4248, 0X4275, 0X86, 0X5D, 0X55, 0X8D, 0XE8, 0X4A, 0XED, 0XFD, 10); //[VT_R4]

//
// Mechanical Sensor Data Types
//

// {38564A7C-F2F2-49BB-9B2B-BA60F66A58DF}
DEFINE_GUID(SENSOR_DATA_TYPE_GUID_MECHANICAL_GUID,                  0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF);
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_BOOLEAN_SWITCH_STATE,           0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 2); //[VT_BOOL]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_MULTIVALUE_SWITCH_STATE,        0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 3); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_FORCE_NEWTONS,                  0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 4); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ABSOLUTE_PRESSURE_PASCAL,       0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 5); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_GAUGE_PRESSURE_PASCAL,          0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 6); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_STRAIN,                         0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 7); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_WEIGHT_KILOGRAMS,               0X38564A7C, 0XF2F2, 0X49BB, 0X9B, 0X2B, 0XBA, 0X60, 0XF6, 0X6A, 0X58, 0XDF, 8); //[VT_R8]
//
// Biometric Sensor Data Types
//

// {2299288A-6D9E-4B0B-B7EC-3528F89E40AF}
DEFINE_GUID(SENSOR_DATA_TYPE_BIOMETRIC_GUID,                        0X2299288A,    0X6D9E, 0X4B0B, 0XB7, 0XEC, 0X35, 0X28, 0XF8, 0X9E, 0X40, 0XAF);
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_HUMAN_PRESENCE,                 0X2299288A,    0X6D9E, 0X4B0B, 0XB7, 0XEC, 0X35, 0X28, 0XF8, 0X9E, 0X40, 0XAF, 2); //[VT_BOOL]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_HUMAN_PROXIMITY_METERS,         0X2299288A,    0X6D9E, 0X4B0B, 0XB7, 0XEC, 0X35, 0X28, 0XF8, 0X9E, 0X40, 0XAF, 3); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_TOUCH_STATE,                    0X2299288A,    0X6D9E, 0X4B0B, 0XB7, 0XEC, 0X35, 0X28, 0XF8, 0X9E, 0X40, 0XAF, 4); //[VT_BOOL]

//
// Light Sensor Data Types
//

// {E4C77CE2-DCB7-46E9-8439-4FEC548833A6}
DEFINE_GUID(SENSOR_DATA_TYPE_LIGHT_GUID,                        0XE4C77CE2, 0XDCB7, 0X46E9, 0X84, 0X39, 0X4F, 0XEC, 0X54, 0X88, 0X33, 0XA6);
// Ambient light in LUX, Lumens per square meter, the ACPI convention for reporting ambient light values
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_LIGHT_LEVEL_LUX,            0XE4C77CE2, 0XDCB7, 0X46E9, 0X84, 0X39, 0X4F, 0XEC, 0X54, 0X88, 0X33, 0XA6, 2); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_LIGHT_TEMPERATURE_KELVIN,   0XE4C77CE2, 0XDCB7, 0X46E9, 0X84, 0X39, 0X4F, 0XEC, 0X54, 0X88, 0X33, 0XA6, 3); //[VT_R4]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_LIGHT_CHROMACITY,           0XE4C77CE2, 0XDCB7, 0X46E9, 0X84, 0X39, 0X4F, 0XEC, 0X54, 0X88, 0X33, 0XA6, 4); //[VT_VECTOR|VT_R4]

//
// Scanner Sensor Data Types
//

// {D7A59A3C-3421-44AB-8D3A-9DE8AB6C4CAE}
DEFINE_GUID(SENSOR_DATA_TYPE_SCANNER_GUID,              0XD7A59A3C, 0X3421, 0X44AB, 0X8D, 0X3A, 0X9D, 0XE8, 0XAB, 0X6C, 0X4C, 0XAE);
// EM4102 RFID protocol uses 40 bit tags, stored in 64 bit value: VT_UI8
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_RFID_TAG_40_BIT,    0XD7A59A3C, 0X3421, 0X44AB, 0X8D, 0X3A, 0X9D, 0XE8, 0XAB, 0X6C, 0X4C, 0XAE, 2); //[VT_UI8]

//
// Electrical Sensor Data Types
//

// {BBB246D1-E242-4780-A2D3-CDED84F35842}
DEFINE_GUID(SENSOR_DATA_TYPE_ELECTRICAL_GUID,                   0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42);
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_VOLTAGE_VOLTS,              0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 2); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_CURRENT_AMPS,               0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 3); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_CAPACITANCE_FARAD,          0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 4); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_RESISTANCE_OHMS,            0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 5); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_INDUCTANCE_HENRY,           0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 6); //[VT_R8]
DEFINE_PROPERTYKEY(SENSOR_DATA_TYPE_ELECTRICAL_POWER_WATTS,     0XBBB246D1, 0XE242, 0X4780, 0XA2, 0XD3, 0XCD, 0XED, 0X84, 0XF3, 0X58, 0X42, 7); //[VT_R8]

#endif

