zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

sensorsapi.h (35152B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/sensorsapi.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __sensorsapi_h__
     17 #define __sensorsapi_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ISensorManager_FWD_DEFINED__
     22 #define __ISensorManager_FWD_DEFINED__
     23 typedef interface ISensorManager ISensorManager;
     24 #ifdef __cplusplus
     25 interface ISensorManager;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ISensorCollection_FWD_DEFINED__
     30 #define __ISensorCollection_FWD_DEFINED__
     31 typedef interface ISensorCollection ISensorCollection;
     32 #ifdef __cplusplus
     33 interface ISensorCollection;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ISensor_FWD_DEFINED__
     38 #define __ISensor_FWD_DEFINED__
     39 typedef interface ISensor ISensor;
     40 #ifdef __cplusplus
     41 interface ISensor;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __ISensorDataReport_FWD_DEFINED__
     46 #define __ISensorDataReport_FWD_DEFINED__
     47 typedef interface ISensorDataReport ISensorDataReport;
     48 #ifdef __cplusplus
     49 interface ISensorDataReport;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __ISensorManagerEvents_FWD_DEFINED__
     54 #define __ISensorManagerEvents_FWD_DEFINED__
     55 typedef interface ISensorManagerEvents ISensorManagerEvents;
     56 #ifdef __cplusplus
     57 interface ISensorManagerEvents;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __ISensorEvents_FWD_DEFINED__
     62 #define __ISensorEvents_FWD_DEFINED__
     63 typedef interface ISensorEvents ISensorEvents;
     64 #ifdef __cplusplus
     65 interface ISensorEvents;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __SensorManager_FWD_DEFINED__
     70 #define __SensorManager_FWD_DEFINED__
     71 #ifdef __cplusplus
     72 typedef class SensorManager SensorManager;
     73 #else
     74 typedef struct SensorManager SensorManager;
     75 #endif /* defined __cplusplus */
     76 #endif /* defined __SensorManager_FWD_DEFINED__ */
     77 
     78 /* Headers for imported files */
     79 
     80 #include <oaidl.h>
     81 #include <ocidl.h>
     82 #include <propsys.h>
     83 #include <portabledevicetypes.h>
     84 
     85 #ifdef __cplusplus
     86 extern "C" {
     87 #endif
     88 
     89 typedef enum __WIDL_sensorsapi_generated_name_00000020 {
     90     SENSOR_STATE_MIN = 0,
     91     SENSOR_STATE_READY = SENSOR_STATE_MIN,
     92     SENSOR_STATE_NOT_AVAILABLE = SENSOR_STATE_READY + 1,
     93     SENSOR_STATE_NO_DATA = SENSOR_STATE_NOT_AVAILABLE + 1,
     94     SENSOR_STATE_INITIALIZING = SENSOR_STATE_NO_DATA + 1,
     95     SENSOR_STATE_ACCESS_DENIED = SENSOR_STATE_INITIALIZING + 1,
     96     SENSOR_STATE_ERROR = SENSOR_STATE_ACCESS_DENIED + 1,
     97     SENSOR_STATE_MAX = SENSOR_STATE_ERROR
     98 } SensorState;
     99 typedef enum __WIDL_sensorsapi_generated_name_00000021 {
    100     SENSOR_CONNECTION_TYPE_PC_INTEGRATED = 0,
    101     SENSOR_CONNECTION_TYPE_PC_ATTACHED = SENSOR_CONNECTION_TYPE_PC_INTEGRATED + 1,
    102     SENSOR_CONNECTION_TYPE_PC_EXTERNAL = SENSOR_CONNECTION_TYPE_PC_ATTACHED + 1
    103 } SensorConnectionType;
    104 typedef enum LOCATION_DESIRED_ACCURACY {
    105     LOCATION_DESIRED_ACCURACY_DEFAULT = 0,
    106     LOCATION_DESIRED_ACCURACY_HIGH = LOCATION_DESIRED_ACCURACY_DEFAULT + 1
    107 } LOCATION_DESIRED_ACCURACY;
    108 typedef GUID SENSOR_CATEGORY_ID;
    109 typedef REFGUID REFSENSOR_CATEGORY_ID;
    110 typedef GUID SENSOR_TYPE_ID;
    111 typedef REFGUID REFSENSOR_TYPE_ID;
    112 typedef GUID SENSOR_ID;
    113 typedef REFGUID REFSENSOR_ID;
    114 #ifndef __ISensorCollection_FWD_DEFINED__
    115 #define __ISensorCollection_FWD_DEFINED__
    116 typedef interface ISensorCollection ISensorCollection;
    117 #ifdef __cplusplus
    118 interface ISensorCollection;
    119 #endif /* __cplusplus */
    120 #endif
    121 
    122 #ifndef __ISensor_FWD_DEFINED__
    123 #define __ISensor_FWD_DEFINED__
    124 typedef interface ISensor ISensor;
    125 #ifdef __cplusplus
    126 interface ISensor;
    127 #endif /* __cplusplus */
    128 #endif
    129 
    130 #ifndef __ISensorDataReport_FWD_DEFINED__
    131 #define __ISensorDataReport_FWD_DEFINED__
    132 typedef interface ISensorDataReport ISensorDataReport;
    133 #ifdef __cplusplus
    134 interface ISensorDataReport;
    135 #endif /* __cplusplus */
    136 #endif
    137 
    138 #ifndef __ISensorManagerEvents_FWD_DEFINED__
    139 #define __ISensorManagerEvents_FWD_DEFINED__
    140 typedef interface ISensorManagerEvents ISensorManagerEvents;
    141 #ifdef __cplusplus
    142 interface ISensorManagerEvents;
    143 #endif /* __cplusplus */
    144 #endif
    145 
    146 #ifndef __ISensorEvents_FWD_DEFINED__
    147 #define __ISensorEvents_FWD_DEFINED__
    148 typedef interface ISensorEvents ISensorEvents;
    149 #ifdef __cplusplus
    150 interface ISensorEvents;
    151 #endif /* __cplusplus */
    152 #endif
    153 
    154 /*****************************************************************************
    155  * ISensorManager interface
    156  */
    157 #ifndef __ISensorManager_INTERFACE_DEFINED__
    158 #define __ISensorManager_INTERFACE_DEFINED__
    159 
    160 DEFINE_GUID(IID_ISensorManager, 0xbd77db67, 0x45a8, 0x42dc, 0x8d,0x00, 0x6d,0xcf,0x15,0xf8,0x37,0x7a);
    161 #if defined(__cplusplus) && !defined(CINTERFACE)
    162 MIDL_INTERFACE("bd77db67-45a8-42dc-8d00-6dcf15f8377a")
    163 ISensorManager : public IUnknown
    164 {
    165     virtual HRESULT STDMETHODCALLTYPE GetSensorsByCategory(
    166         REFSENSOR_CATEGORY_ID sensorCategory,
    167         ISensorCollection **ppSensorsFound) = 0;
    168 
    169     virtual HRESULT STDMETHODCALLTYPE GetSensorsByType(
    170         REFSENSOR_TYPE_ID sensorType,
    171         ISensorCollection **ppSensorsFound) = 0;
    172 
    173     virtual HRESULT STDMETHODCALLTYPE GetSensorByID(
    174         REFSENSOR_ID sensorID,
    175         ISensor **ppSensor) = 0;
    176 
    177     virtual HRESULT STDMETHODCALLTYPE SetEventSink(
    178         ISensorManagerEvents *pEvents) = 0;
    179 
    180     virtual HRESULT STDMETHODCALLTYPE RequestPermissions(
    181         HWND hParent,
    182         ISensorCollection *pSensors,
    183         WINBOOL fModal) = 0;
    184 
    185 };
    186 #ifdef __CRT_UUID_DECL
    187 __CRT_UUID_DECL(ISensorManager, 0xbd77db67, 0x45a8, 0x42dc, 0x8d,0x00, 0x6d,0xcf,0x15,0xf8,0x37,0x7a)
    188 #endif
    189 #else
    190 typedef struct ISensorManagerVtbl {
    191     BEGIN_INTERFACE
    192 
    193     /*** IUnknown methods ***/
    194     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    195         ISensorManager *This,
    196         REFIID riid,
    197         void **ppvObject);
    198 
    199     ULONG (STDMETHODCALLTYPE *AddRef)(
    200         ISensorManager *This);
    201 
    202     ULONG (STDMETHODCALLTYPE *Release)(
    203         ISensorManager *This);
    204 
    205     /*** ISensorManager methods ***/
    206     HRESULT (STDMETHODCALLTYPE *GetSensorsByCategory)(
    207         ISensorManager *This,
    208         REFSENSOR_CATEGORY_ID sensorCategory,
    209         ISensorCollection **ppSensorsFound);
    210 
    211     HRESULT (STDMETHODCALLTYPE *GetSensorsByType)(
    212         ISensorManager *This,
    213         REFSENSOR_TYPE_ID sensorType,
    214         ISensorCollection **ppSensorsFound);
    215 
    216     HRESULT (STDMETHODCALLTYPE *GetSensorByID)(
    217         ISensorManager *This,
    218         REFSENSOR_ID sensorID,
    219         ISensor **ppSensor);
    220 
    221     HRESULT (STDMETHODCALLTYPE *SetEventSink)(
    222         ISensorManager *This,
    223         ISensorManagerEvents *pEvents);
    224 
    225     HRESULT (STDMETHODCALLTYPE *RequestPermissions)(
    226         ISensorManager *This,
    227         HWND hParent,
    228         ISensorCollection *pSensors,
    229         WINBOOL fModal);
    230 
    231     END_INTERFACE
    232 } ISensorManagerVtbl;
    233 
    234 interface ISensorManager {
    235     CONST_VTBL ISensorManagerVtbl* lpVtbl;
    236 };
    237 
    238 #ifdef COBJMACROS
    239 #ifndef WIDL_C_INLINE_WRAPPERS
    240 /*** IUnknown methods ***/
    241 #define ISensorManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    242 #define ISensorManager_AddRef(This) (This)->lpVtbl->AddRef(This)
    243 #define ISensorManager_Release(This) (This)->lpVtbl->Release(This)
    244 /*** ISensorManager methods ***/
    245 #define ISensorManager_GetSensorsByCategory(This,sensorCategory,ppSensorsFound) (This)->lpVtbl->GetSensorsByCategory(This,sensorCategory,ppSensorsFound)
    246 #define ISensorManager_GetSensorsByType(This,sensorType,ppSensorsFound) (This)->lpVtbl->GetSensorsByType(This,sensorType,ppSensorsFound)
    247 #define ISensorManager_GetSensorByID(This,sensorID,ppSensor) (This)->lpVtbl->GetSensorByID(This,sensorID,ppSensor)
    248 #define ISensorManager_SetEventSink(This,pEvents) (This)->lpVtbl->SetEventSink(This,pEvents)
    249 #define ISensorManager_RequestPermissions(This,hParent,pSensors,fModal) (This)->lpVtbl->RequestPermissions(This,hParent,pSensors,fModal)
    250 #else
    251 /*** IUnknown methods ***/
    252 static inline HRESULT ISensorManager_QueryInterface(ISensorManager* This,REFIID riid,void **ppvObject) {
    253     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    254 }
    255 static inline ULONG ISensorManager_AddRef(ISensorManager* This) {
    256     return This->lpVtbl->AddRef(This);
    257 }
    258 static inline ULONG ISensorManager_Release(ISensorManager* This) {
    259     return This->lpVtbl->Release(This);
    260 }
    261 /*** ISensorManager methods ***/
    262 static inline HRESULT ISensorManager_GetSensorsByCategory(ISensorManager* This,REFSENSOR_CATEGORY_ID sensorCategory,ISensorCollection **ppSensorsFound) {
    263     return This->lpVtbl->GetSensorsByCategory(This,sensorCategory,ppSensorsFound);
    264 }
    265 static inline HRESULT ISensorManager_GetSensorsByType(ISensorManager* This,REFSENSOR_TYPE_ID sensorType,ISensorCollection **ppSensorsFound) {
    266     return This->lpVtbl->GetSensorsByType(This,sensorType,ppSensorsFound);
    267 }
    268 static inline HRESULT ISensorManager_GetSensorByID(ISensorManager* This,REFSENSOR_ID sensorID,ISensor **ppSensor) {
    269     return This->lpVtbl->GetSensorByID(This,sensorID,ppSensor);
    270 }
    271 static inline HRESULT ISensorManager_SetEventSink(ISensorManager* This,ISensorManagerEvents *pEvents) {
    272     return This->lpVtbl->SetEventSink(This,pEvents);
    273 }
    274 static inline HRESULT ISensorManager_RequestPermissions(ISensorManager* This,HWND hParent,ISensorCollection *pSensors,WINBOOL fModal) {
    275     return This->lpVtbl->RequestPermissions(This,hParent,pSensors,fModal);
    276 }
    277 #endif
    278 #endif
    279 
    280 #endif
    281 
    282 
    283 #endif  /* __ISensorManager_INTERFACE_DEFINED__ */
    284 
    285 /*****************************************************************************
    286  * ISensorCollection interface
    287  */
    288 #ifndef __ISensorCollection_INTERFACE_DEFINED__
    289 #define __ISensorCollection_INTERFACE_DEFINED__
    290 
    291 DEFINE_GUID(IID_ISensorCollection, 0x23571e11, 0xe545, 0x4dd8, 0xa3,0x37, 0xb8,0x9b,0xf4,0x4b,0x10,0xdf);
    292 #if defined(__cplusplus) && !defined(CINTERFACE)
    293 MIDL_INTERFACE("23571e11-e545-4dd8-a337-b89bf44b10df")
    294 ISensorCollection : public IUnknown
    295 {
    296     virtual HRESULT STDMETHODCALLTYPE GetAt(
    297         ULONG ulIndex,
    298         ISensor **ppSensor) = 0;
    299 
    300     virtual HRESULT STDMETHODCALLTYPE GetCount(
    301         ULONG *pCount) = 0;
    302 
    303     virtual HRESULT STDMETHODCALLTYPE Add(
    304         ISensor *pSensor) = 0;
    305 
    306     virtual HRESULT STDMETHODCALLTYPE Remove(
    307         ISensor *pSensor) = 0;
    308 
    309     virtual HRESULT STDMETHODCALLTYPE RemoveByID(
    310         REFSENSOR_ID sensorID) = 0;
    311 
    312     virtual HRESULT STDMETHODCALLTYPE Clear(
    313         ) = 0;
    314 
    315 };
    316 #ifdef __CRT_UUID_DECL
    317 __CRT_UUID_DECL(ISensorCollection, 0x23571e11, 0xe545, 0x4dd8, 0xa3,0x37, 0xb8,0x9b,0xf4,0x4b,0x10,0xdf)
    318 #endif
    319 #else
    320 typedef struct ISensorCollectionVtbl {
    321     BEGIN_INTERFACE
    322 
    323     /*** IUnknown methods ***/
    324     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    325         ISensorCollection *This,
    326         REFIID riid,
    327         void **ppvObject);
    328 
    329     ULONG (STDMETHODCALLTYPE *AddRef)(
    330         ISensorCollection *This);
    331 
    332     ULONG (STDMETHODCALLTYPE *Release)(
    333         ISensorCollection *This);
    334 
    335     /*** ISensorCollection methods ***/
    336     HRESULT (STDMETHODCALLTYPE *GetAt)(
    337         ISensorCollection *This,
    338         ULONG ulIndex,
    339         ISensor **ppSensor);
    340 
    341     HRESULT (STDMETHODCALLTYPE *GetCount)(
    342         ISensorCollection *This,
    343         ULONG *pCount);
    344 
    345     HRESULT (STDMETHODCALLTYPE *Add)(
    346         ISensorCollection *This,
    347         ISensor *pSensor);
    348 
    349     HRESULT (STDMETHODCALLTYPE *Remove)(
    350         ISensorCollection *This,
    351         ISensor *pSensor);
    352 
    353     HRESULT (STDMETHODCALLTYPE *RemoveByID)(
    354         ISensorCollection *This,
    355         REFSENSOR_ID sensorID);
    356 
    357     HRESULT (STDMETHODCALLTYPE *Clear)(
    358         ISensorCollection *This);
    359 
    360     END_INTERFACE
    361 } ISensorCollectionVtbl;
    362 
    363 interface ISensorCollection {
    364     CONST_VTBL ISensorCollectionVtbl* lpVtbl;
    365 };
    366 
    367 #ifdef COBJMACROS
    368 #ifndef WIDL_C_INLINE_WRAPPERS
    369 /*** IUnknown methods ***/
    370 #define ISensorCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    371 #define ISensorCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
    372 #define ISensorCollection_Release(This) (This)->lpVtbl->Release(This)
    373 /*** ISensorCollection methods ***/
    374 #define ISensorCollection_GetAt(This,ulIndex,ppSensor) (This)->lpVtbl->GetAt(This,ulIndex,ppSensor)
    375 #define ISensorCollection_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
    376 #define ISensorCollection_Add(This,pSensor) (This)->lpVtbl->Add(This,pSensor)
    377 #define ISensorCollection_Remove(This,pSensor) (This)->lpVtbl->Remove(This,pSensor)
    378 #define ISensorCollection_RemoveByID(This,sensorID) (This)->lpVtbl->RemoveByID(This,sensorID)
    379 #define ISensorCollection_Clear(This) (This)->lpVtbl->Clear(This)
    380 #else
    381 /*** IUnknown methods ***/
    382 static inline HRESULT ISensorCollection_QueryInterface(ISensorCollection* This,REFIID riid,void **ppvObject) {
    383     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    384 }
    385 static inline ULONG ISensorCollection_AddRef(ISensorCollection* This) {
    386     return This->lpVtbl->AddRef(This);
    387 }
    388 static inline ULONG ISensorCollection_Release(ISensorCollection* This) {
    389     return This->lpVtbl->Release(This);
    390 }
    391 /*** ISensorCollection methods ***/
    392 static inline HRESULT ISensorCollection_GetAt(ISensorCollection* This,ULONG ulIndex,ISensor **ppSensor) {
    393     return This->lpVtbl->GetAt(This,ulIndex,ppSensor);
    394 }
    395 static inline HRESULT ISensorCollection_GetCount(ISensorCollection* This,ULONG *pCount) {
    396     return This->lpVtbl->GetCount(This,pCount);
    397 }
    398 static inline HRESULT ISensorCollection_Add(ISensorCollection* This,ISensor *pSensor) {
    399     return This->lpVtbl->Add(This,pSensor);
    400 }
    401 static inline HRESULT ISensorCollection_Remove(ISensorCollection* This,ISensor *pSensor) {
    402     return This->lpVtbl->Remove(This,pSensor);
    403 }
    404 static inline HRESULT ISensorCollection_RemoveByID(ISensorCollection* This,REFSENSOR_ID sensorID) {
    405     return This->lpVtbl->RemoveByID(This,sensorID);
    406 }
    407 static inline HRESULT ISensorCollection_Clear(ISensorCollection* This) {
    408     return This->lpVtbl->Clear(This);
    409 }
    410 #endif
    411 #endif
    412 
    413 #endif
    414 
    415 
    416 #endif  /* __ISensorCollection_INTERFACE_DEFINED__ */
    417 
    418 /*****************************************************************************
    419  * ISensor interface
    420  */
    421 #ifndef __ISensor_INTERFACE_DEFINED__
    422 #define __ISensor_INTERFACE_DEFINED__
    423 
    424 DEFINE_GUID(IID_ISensor, 0x5fa08f80, 0x2657, 0x458e, 0xaf,0x75, 0x46,0xf7,0x3f,0xa6,0xac,0x5c);
    425 #if defined(__cplusplus) && !defined(CINTERFACE)
    426 MIDL_INTERFACE("5fa08f80-2657-458e-af75-46f73fa6ac5c")
    427 ISensor : public IUnknown
    428 {
    429     virtual HRESULT STDMETHODCALLTYPE GetID(
    430         SENSOR_ID *pID) = 0;
    431 
    432     virtual HRESULT STDMETHODCALLTYPE GetCategory(
    433         SENSOR_CATEGORY_ID *pSensorCategory) = 0;
    434 
    435     virtual HRESULT STDMETHODCALLTYPE GetType(
    436         SENSOR_TYPE_ID *pSensorType) = 0;
    437 
    438     virtual HRESULT STDMETHODCALLTYPE GetFriendlyName(
    439         BSTR *pFriendlyName) = 0;
    440 
    441     virtual HRESULT STDMETHODCALLTYPE GetProperty(
    442         REFPROPERTYKEY key,
    443         PROPVARIANT *pProperty) = 0;
    444 
    445     virtual HRESULT STDMETHODCALLTYPE GetProperties(
    446         IPortableDeviceKeyCollection *pKeys,
    447         IPortableDeviceValues **ppProperties) = 0;
    448 
    449     virtual HRESULT STDMETHODCALLTYPE GetSupportedDataFields(
    450         IPortableDeviceKeyCollection **ppDataFields) = 0;
    451 
    452     virtual HRESULT STDMETHODCALLTYPE SetProperties(
    453         IPortableDeviceValues *pProperties,
    454         IPortableDeviceValues **ppResults) = 0;
    455 
    456     virtual HRESULT STDMETHODCALLTYPE SupportsDataField(
    457         REFPROPERTYKEY key,
    458         VARIANT_BOOL *pIsSupported) = 0;
    459 
    460     virtual HRESULT STDMETHODCALLTYPE GetState(
    461         SensorState *pState) = 0;
    462 
    463     virtual HRESULT STDMETHODCALLTYPE GetData(
    464         ISensorDataReport **ppDataReport) = 0;
    465 
    466     virtual HRESULT STDMETHODCALLTYPE SupportsEvent(
    467         REFGUID eventGuid,
    468         VARIANT_BOOL *pIsSupported) = 0;
    469 
    470     virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
    471         GUID **ppValues,
    472         ULONG *pCount) = 0;
    473 
    474     virtual HRESULT STDMETHODCALLTYPE SetEventInterest(
    475         GUID *pValues,
    476         ULONG count) = 0;
    477 
    478     virtual HRESULT STDMETHODCALLTYPE SetEventSink(
    479         ISensorEvents *pEvents) = 0;
    480 
    481 };
    482 #ifdef __CRT_UUID_DECL
    483 __CRT_UUID_DECL(ISensor, 0x5fa08f80, 0x2657, 0x458e, 0xaf,0x75, 0x46,0xf7,0x3f,0xa6,0xac,0x5c)
    484 #endif
    485 #else
    486 typedef struct ISensorVtbl {
    487     BEGIN_INTERFACE
    488 
    489     /*** IUnknown methods ***/
    490     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    491         ISensor *This,
    492         REFIID riid,
    493         void **ppvObject);
    494 
    495     ULONG (STDMETHODCALLTYPE *AddRef)(
    496         ISensor *This);
    497 
    498     ULONG (STDMETHODCALLTYPE *Release)(
    499         ISensor *This);
    500 
    501     /*** ISensor methods ***/
    502     HRESULT (STDMETHODCALLTYPE *GetID)(
    503         ISensor *This,
    504         SENSOR_ID *pID);
    505 
    506     HRESULT (STDMETHODCALLTYPE *GetCategory)(
    507         ISensor *This,
    508         SENSOR_CATEGORY_ID *pSensorCategory);
    509 
    510     HRESULT (STDMETHODCALLTYPE *GetType)(
    511         ISensor *This,
    512         SENSOR_TYPE_ID *pSensorType);
    513 
    514     HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
    515         ISensor *This,
    516         BSTR *pFriendlyName);
    517 
    518     HRESULT (STDMETHODCALLTYPE *GetProperty)(
    519         ISensor *This,
    520         REFPROPERTYKEY key,
    521         PROPVARIANT *pProperty);
    522 
    523     HRESULT (STDMETHODCALLTYPE *GetProperties)(
    524         ISensor *This,
    525         IPortableDeviceKeyCollection *pKeys,
    526         IPortableDeviceValues **ppProperties);
    527 
    528     HRESULT (STDMETHODCALLTYPE *GetSupportedDataFields)(
    529         ISensor *This,
    530         IPortableDeviceKeyCollection **ppDataFields);
    531 
    532     HRESULT (STDMETHODCALLTYPE *SetProperties)(
    533         ISensor *This,
    534         IPortableDeviceValues *pProperties,
    535         IPortableDeviceValues **ppResults);
    536 
    537     HRESULT (STDMETHODCALLTYPE *SupportsDataField)(
    538         ISensor *This,
    539         REFPROPERTYKEY key,
    540         VARIANT_BOOL *pIsSupported);
    541 
    542     HRESULT (STDMETHODCALLTYPE *GetState)(
    543         ISensor *This,
    544         SensorState *pState);
    545 
    546     HRESULT (STDMETHODCALLTYPE *GetData)(
    547         ISensor *This,
    548         ISensorDataReport **ppDataReport);
    549 
    550     HRESULT (STDMETHODCALLTYPE *SupportsEvent)(
    551         ISensor *This,
    552         REFGUID eventGuid,
    553         VARIANT_BOOL *pIsSupported);
    554 
    555     HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
    556         ISensor *This,
    557         GUID **ppValues,
    558         ULONG *pCount);
    559 
    560     HRESULT (STDMETHODCALLTYPE *SetEventInterest)(
    561         ISensor *This,
    562         GUID *pValues,
    563         ULONG count);
    564 
    565     HRESULT (STDMETHODCALLTYPE *SetEventSink)(
    566         ISensor *This,
    567         ISensorEvents *pEvents);
    568 
    569     END_INTERFACE
    570 } ISensorVtbl;
    571 
    572 interface ISensor {
    573     CONST_VTBL ISensorVtbl* lpVtbl;
    574 };
    575 
    576 #ifdef COBJMACROS
    577 #ifndef WIDL_C_INLINE_WRAPPERS
    578 /*** IUnknown methods ***/
    579 #define ISensor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    580 #define ISensor_AddRef(This) (This)->lpVtbl->AddRef(This)
    581 #define ISensor_Release(This) (This)->lpVtbl->Release(This)
    582 /*** ISensor methods ***/
    583 #define ISensor_GetID(This,pID) (This)->lpVtbl->GetID(This,pID)
    584 #define ISensor_GetCategory(This,pSensorCategory) (This)->lpVtbl->GetCategory(This,pSensorCategory)
    585 #define ISensor_GetType(This,pSensorType) (This)->lpVtbl->GetType(This,pSensorType)
    586 #define ISensor_GetFriendlyName(This,pFriendlyName) (This)->lpVtbl->GetFriendlyName(This,pFriendlyName)
    587 #define ISensor_GetProperty(This,key,pProperty) (This)->lpVtbl->GetProperty(This,key,pProperty)
    588 #define ISensor_GetProperties(This,pKeys,ppProperties) (This)->lpVtbl->GetProperties(This,pKeys,ppProperties)
    589 #define ISensor_GetSupportedDataFields(This,ppDataFields) (This)->lpVtbl->GetSupportedDataFields(This,ppDataFields)
    590 #define ISensor_SetProperties(This,pProperties,ppResults) (This)->lpVtbl->SetProperties(This,pProperties,ppResults)
    591 #define ISensor_SupportsDataField(This,key,pIsSupported) (This)->lpVtbl->SupportsDataField(This,key,pIsSupported)
    592 #define ISensor_GetState(This,pState) (This)->lpVtbl->GetState(This,pState)
    593 #define ISensor_GetData(This,ppDataReport) (This)->lpVtbl->GetData(This,ppDataReport)
    594 #define ISensor_SupportsEvent(This,eventGuid,pIsSupported) (This)->lpVtbl->SupportsEvent(This,eventGuid,pIsSupported)
    595 #define ISensor_GetEventInterest(This,ppValues,pCount) (This)->lpVtbl->GetEventInterest(This,ppValues,pCount)
    596 #define ISensor_SetEventInterest(This,pValues,count) (This)->lpVtbl->SetEventInterest(This,pValues,count)
    597 #define ISensor_SetEventSink(This,pEvents) (This)->lpVtbl->SetEventSink(This,pEvents)
    598 #else
    599 /*** IUnknown methods ***/
    600 static inline HRESULT ISensor_QueryInterface(ISensor* This,REFIID riid,void **ppvObject) {
    601     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    602 }
    603 static inline ULONG ISensor_AddRef(ISensor* This) {
    604     return This->lpVtbl->AddRef(This);
    605 }
    606 static inline ULONG ISensor_Release(ISensor* This) {
    607     return This->lpVtbl->Release(This);
    608 }
    609 /*** ISensor methods ***/
    610 static inline HRESULT ISensor_GetID(ISensor* This,SENSOR_ID *pID) {
    611     return This->lpVtbl->GetID(This,pID);
    612 }
    613 static inline HRESULT ISensor_GetCategory(ISensor* This,SENSOR_CATEGORY_ID *pSensorCategory) {
    614     return This->lpVtbl->GetCategory(This,pSensorCategory);
    615 }
    616 static inline HRESULT ISensor_GetType(ISensor* This,SENSOR_TYPE_ID *pSensorType) {
    617     return This->lpVtbl->GetType(This,pSensorType);
    618 }
    619 static inline HRESULT ISensor_GetFriendlyName(ISensor* This,BSTR *pFriendlyName) {
    620     return This->lpVtbl->GetFriendlyName(This,pFriendlyName);
    621 }
    622 static inline HRESULT ISensor_GetProperty(ISensor* This,REFPROPERTYKEY key,PROPVARIANT *pProperty) {
    623     return This->lpVtbl->GetProperty(This,key,pProperty);
    624 }
    625 static inline HRESULT ISensor_GetProperties(ISensor* This,IPortableDeviceKeyCollection *pKeys,IPortableDeviceValues **ppProperties) {
    626     return This->lpVtbl->GetProperties(This,pKeys,ppProperties);
    627 }
    628 static inline HRESULT ISensor_GetSupportedDataFields(ISensor* This,IPortableDeviceKeyCollection **ppDataFields) {
    629     return This->lpVtbl->GetSupportedDataFields(This,ppDataFields);
    630 }
    631 static inline HRESULT ISensor_SetProperties(ISensor* This,IPortableDeviceValues *pProperties,IPortableDeviceValues **ppResults) {
    632     return This->lpVtbl->SetProperties(This,pProperties,ppResults);
    633 }
    634 static inline HRESULT ISensor_SupportsDataField(ISensor* This,REFPROPERTYKEY key,VARIANT_BOOL *pIsSupported) {
    635     return This->lpVtbl->SupportsDataField(This,key,pIsSupported);
    636 }
    637 static inline HRESULT ISensor_GetState(ISensor* This,SensorState *pState) {
    638     return This->lpVtbl->GetState(This,pState);
    639 }
    640 static inline HRESULT ISensor_GetData(ISensor* This,ISensorDataReport **ppDataReport) {
    641     return This->lpVtbl->GetData(This,ppDataReport);
    642 }
    643 static inline HRESULT ISensor_SupportsEvent(ISensor* This,REFGUID eventGuid,VARIANT_BOOL *pIsSupported) {
    644     return This->lpVtbl->SupportsEvent(This,eventGuid,pIsSupported);
    645 }
    646 static inline HRESULT ISensor_GetEventInterest(ISensor* This,GUID **ppValues,ULONG *pCount) {
    647     return This->lpVtbl->GetEventInterest(This,ppValues,pCount);
    648 }
    649 static inline HRESULT ISensor_SetEventInterest(ISensor* This,GUID *pValues,ULONG count) {
    650     return This->lpVtbl->SetEventInterest(This,pValues,count);
    651 }
    652 static inline HRESULT ISensor_SetEventSink(ISensor* This,ISensorEvents *pEvents) {
    653     return This->lpVtbl->SetEventSink(This,pEvents);
    654 }
    655 #endif
    656 #endif
    657 
    658 #endif
    659 
    660 
    661 #endif  /* __ISensor_INTERFACE_DEFINED__ */
    662 
    663 /*****************************************************************************
    664  * ISensorDataReport interface
    665  */
    666 #ifndef __ISensorDataReport_INTERFACE_DEFINED__
    667 #define __ISensorDataReport_INTERFACE_DEFINED__
    668 
    669 DEFINE_GUID(IID_ISensorDataReport, 0x0ab9df9b, 0xc4b5, 0x4796, 0x88,0x98, 0x04,0x70,0x70,0x6a,0x2e,0x1d);
    670 #if defined(__cplusplus) && !defined(CINTERFACE)
    671 MIDL_INTERFACE("0ab9df9b-c4b5-4796-8898-0470706a2e1d")
    672 ISensorDataReport : public IUnknown
    673 {
    674     virtual HRESULT STDMETHODCALLTYPE GetTimestamp(
    675         SYSTEMTIME *pTimeStamp) = 0;
    676 
    677     virtual HRESULT STDMETHODCALLTYPE GetSensorValue(
    678         REFPROPERTYKEY pKey,
    679         PROPVARIANT *pValue) = 0;
    680 
    681     virtual HRESULT STDMETHODCALLTYPE GetSensorValues(
    682         IPortableDeviceKeyCollection *pKeys,
    683         IPortableDeviceValues **ppValues) = 0;
    684 
    685 };
    686 #ifdef __CRT_UUID_DECL
    687 __CRT_UUID_DECL(ISensorDataReport, 0x0ab9df9b, 0xc4b5, 0x4796, 0x88,0x98, 0x04,0x70,0x70,0x6a,0x2e,0x1d)
    688 #endif
    689 #else
    690 typedef struct ISensorDataReportVtbl {
    691     BEGIN_INTERFACE
    692 
    693     /*** IUnknown methods ***/
    694     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    695         ISensorDataReport *This,
    696         REFIID riid,
    697         void **ppvObject);
    698 
    699     ULONG (STDMETHODCALLTYPE *AddRef)(
    700         ISensorDataReport *This);
    701 
    702     ULONG (STDMETHODCALLTYPE *Release)(
    703         ISensorDataReport *This);
    704 
    705     /*** ISensorDataReport methods ***/
    706     HRESULT (STDMETHODCALLTYPE *GetTimestamp)(
    707         ISensorDataReport *This,
    708         SYSTEMTIME *pTimeStamp);
    709 
    710     HRESULT (STDMETHODCALLTYPE *GetSensorValue)(
    711         ISensorDataReport *This,
    712         REFPROPERTYKEY pKey,
    713         PROPVARIANT *pValue);
    714 
    715     HRESULT (STDMETHODCALLTYPE *GetSensorValues)(
    716         ISensorDataReport *This,
    717         IPortableDeviceKeyCollection *pKeys,
    718         IPortableDeviceValues **ppValues);
    719 
    720     END_INTERFACE
    721 } ISensorDataReportVtbl;
    722 
    723 interface ISensorDataReport {
    724     CONST_VTBL ISensorDataReportVtbl* lpVtbl;
    725 };
    726 
    727 #ifdef COBJMACROS
    728 #ifndef WIDL_C_INLINE_WRAPPERS
    729 /*** IUnknown methods ***/
    730 #define ISensorDataReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    731 #define ISensorDataReport_AddRef(This) (This)->lpVtbl->AddRef(This)
    732 #define ISensorDataReport_Release(This) (This)->lpVtbl->Release(This)
    733 /*** ISensorDataReport methods ***/
    734 #define ISensorDataReport_GetTimestamp(This,pTimeStamp) (This)->lpVtbl->GetTimestamp(This,pTimeStamp)
    735 #define ISensorDataReport_GetSensorValue(This,pKey,pValue) (This)->lpVtbl->GetSensorValue(This,pKey,pValue)
    736 #define ISensorDataReport_GetSensorValues(This,pKeys,ppValues) (This)->lpVtbl->GetSensorValues(This,pKeys,ppValues)
    737 #else
    738 /*** IUnknown methods ***/
    739 static inline HRESULT ISensorDataReport_QueryInterface(ISensorDataReport* This,REFIID riid,void **ppvObject) {
    740     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    741 }
    742 static inline ULONG ISensorDataReport_AddRef(ISensorDataReport* This) {
    743     return This->lpVtbl->AddRef(This);
    744 }
    745 static inline ULONG ISensorDataReport_Release(ISensorDataReport* This) {
    746     return This->lpVtbl->Release(This);
    747 }
    748 /*** ISensorDataReport methods ***/
    749 static inline HRESULT ISensorDataReport_GetTimestamp(ISensorDataReport* This,SYSTEMTIME *pTimeStamp) {
    750     return This->lpVtbl->GetTimestamp(This,pTimeStamp);
    751 }
    752 static inline HRESULT ISensorDataReport_GetSensorValue(ISensorDataReport* This,REFPROPERTYKEY pKey,PROPVARIANT *pValue) {
    753     return This->lpVtbl->GetSensorValue(This,pKey,pValue);
    754 }
    755 static inline HRESULT ISensorDataReport_GetSensorValues(ISensorDataReport* This,IPortableDeviceKeyCollection *pKeys,IPortableDeviceValues **ppValues) {
    756     return This->lpVtbl->GetSensorValues(This,pKeys,ppValues);
    757 }
    758 #endif
    759 #endif
    760 
    761 #endif
    762 
    763 
    764 #endif  /* __ISensorDataReport_INTERFACE_DEFINED__ */
    765 
    766 /*****************************************************************************
    767  * ISensorManagerEvents interface
    768  */
    769 #ifndef __ISensorManagerEvents_INTERFACE_DEFINED__
    770 #define __ISensorManagerEvents_INTERFACE_DEFINED__
    771 
    772 DEFINE_GUID(IID_ISensorManagerEvents, 0x9b3b0b86, 0x266a, 0x4aad, 0xb2,0x1f, 0xfd,0xe5,0x50,0x10,0x01,0xb7);
    773 #if defined(__cplusplus) && !defined(CINTERFACE)
    774 MIDL_INTERFACE("9b3b0b86-266a-4aad-b21f-fde5501001b7")
    775 ISensorManagerEvents : public IUnknown
    776 {
    777     virtual HRESULT STDMETHODCALLTYPE OnSensorEnter(
    778         ISensor *pSensor,
    779         SensorState state) = 0;
    780 
    781 };
    782 #ifdef __CRT_UUID_DECL
    783 __CRT_UUID_DECL(ISensorManagerEvents, 0x9b3b0b86, 0x266a, 0x4aad, 0xb2,0x1f, 0xfd,0xe5,0x50,0x10,0x01,0xb7)
    784 #endif
    785 #else
    786 typedef struct ISensorManagerEventsVtbl {
    787     BEGIN_INTERFACE
    788 
    789     /*** IUnknown methods ***/
    790     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    791         ISensorManagerEvents *This,
    792         REFIID riid,
    793         void **ppvObject);
    794 
    795     ULONG (STDMETHODCALLTYPE *AddRef)(
    796         ISensorManagerEvents *This);
    797 
    798     ULONG (STDMETHODCALLTYPE *Release)(
    799         ISensorManagerEvents *This);
    800 
    801     /*** ISensorManagerEvents methods ***/
    802     HRESULT (STDMETHODCALLTYPE *OnSensorEnter)(
    803         ISensorManagerEvents *This,
    804         ISensor *pSensor,
    805         SensorState state);
    806 
    807     END_INTERFACE
    808 } ISensorManagerEventsVtbl;
    809 
    810 interface ISensorManagerEvents {
    811     CONST_VTBL ISensorManagerEventsVtbl* lpVtbl;
    812 };
    813 
    814 #ifdef COBJMACROS
    815 #ifndef WIDL_C_INLINE_WRAPPERS
    816 /*** IUnknown methods ***/
    817 #define ISensorManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    818 #define ISensorManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
    819 #define ISensorManagerEvents_Release(This) (This)->lpVtbl->Release(This)
    820 /*** ISensorManagerEvents methods ***/
    821 #define ISensorManagerEvents_OnSensorEnter(This,pSensor,state) (This)->lpVtbl->OnSensorEnter(This,pSensor,state)
    822 #else
    823 /*** IUnknown methods ***/
    824 static inline HRESULT ISensorManagerEvents_QueryInterface(ISensorManagerEvents* This,REFIID riid,void **ppvObject) {
    825     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    826 }
    827 static inline ULONG ISensorManagerEvents_AddRef(ISensorManagerEvents* This) {
    828     return This->lpVtbl->AddRef(This);
    829 }
    830 static inline ULONG ISensorManagerEvents_Release(ISensorManagerEvents* This) {
    831     return This->lpVtbl->Release(This);
    832 }
    833 /*** ISensorManagerEvents methods ***/
    834 static inline HRESULT ISensorManagerEvents_OnSensorEnter(ISensorManagerEvents* This,ISensor *pSensor,SensorState state) {
    835     return This->lpVtbl->OnSensorEnter(This,pSensor,state);
    836 }
    837 #endif
    838 #endif
    839 
    840 #endif
    841 
    842 
    843 #endif  /* __ISensorManagerEvents_INTERFACE_DEFINED__ */
    844 
    845 /*****************************************************************************
    846  * ISensorEvents interface
    847  */
    848 #ifndef __ISensorEvents_INTERFACE_DEFINED__
    849 #define __ISensorEvents_INTERFACE_DEFINED__
    850 
    851 DEFINE_GUID(IID_ISensorEvents, 0x5d8dcc91, 0x4641, 0x47e7, 0xb7,0xc3, 0xb7,0x4f,0x48,0xa6,0xc3,0x91);
    852 #if defined(__cplusplus) && !defined(CINTERFACE)
    853 MIDL_INTERFACE("5d8dcc91-4641-47e7-b7c3-b74f48a6c391")
    854 ISensorEvents : public IUnknown
    855 {
    856     virtual HRESULT STDMETHODCALLTYPE OnStateChanged(
    857         ISensor *pSensor,
    858         SensorState state) = 0;
    859 
    860     virtual HRESULT STDMETHODCALLTYPE OnDataUpdated(
    861         ISensor *pSensor,
    862         ISensorDataReport *pNewData) = 0;
    863 
    864     virtual HRESULT STDMETHODCALLTYPE OnEvent(
    865         ISensor *pSensor,
    866         REFGUID eventID,
    867         IPortableDeviceValues *pEventData) = 0;
    868 
    869     virtual HRESULT STDMETHODCALLTYPE OnLeave(
    870         REFSENSOR_ID ID) = 0;
    871 
    872 };
    873 #ifdef __CRT_UUID_DECL
    874 __CRT_UUID_DECL(ISensorEvents, 0x5d8dcc91, 0x4641, 0x47e7, 0xb7,0xc3, 0xb7,0x4f,0x48,0xa6,0xc3,0x91)
    875 #endif
    876 #else
    877 typedef struct ISensorEventsVtbl {
    878     BEGIN_INTERFACE
    879 
    880     /*** IUnknown methods ***/
    881     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    882         ISensorEvents *This,
    883         REFIID riid,
    884         void **ppvObject);
    885 
    886     ULONG (STDMETHODCALLTYPE *AddRef)(
    887         ISensorEvents *This);
    888 
    889     ULONG (STDMETHODCALLTYPE *Release)(
    890         ISensorEvents *This);
    891 
    892     /*** ISensorEvents methods ***/
    893     HRESULT (STDMETHODCALLTYPE *OnStateChanged)(
    894         ISensorEvents *This,
    895         ISensor *pSensor,
    896         SensorState state);
    897 
    898     HRESULT (STDMETHODCALLTYPE *OnDataUpdated)(
    899         ISensorEvents *This,
    900         ISensor *pSensor,
    901         ISensorDataReport *pNewData);
    902 
    903     HRESULT (STDMETHODCALLTYPE *OnEvent)(
    904         ISensorEvents *This,
    905         ISensor *pSensor,
    906         REFGUID eventID,
    907         IPortableDeviceValues *pEventData);
    908 
    909     HRESULT (STDMETHODCALLTYPE *OnLeave)(
    910         ISensorEvents *This,
    911         REFSENSOR_ID ID);
    912 
    913     END_INTERFACE
    914 } ISensorEventsVtbl;
    915 
    916 interface ISensorEvents {
    917     CONST_VTBL ISensorEventsVtbl* lpVtbl;
    918 };
    919 
    920 #ifdef COBJMACROS
    921 #ifndef WIDL_C_INLINE_WRAPPERS
    922 /*** IUnknown methods ***/
    923 #define ISensorEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    924 #define ISensorEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
    925 #define ISensorEvents_Release(This) (This)->lpVtbl->Release(This)
    926 /*** ISensorEvents methods ***/
    927 #define ISensorEvents_OnStateChanged(This,pSensor,state) (This)->lpVtbl->OnStateChanged(This,pSensor,state)
    928 #define ISensorEvents_OnDataUpdated(This,pSensor,pNewData) (This)->lpVtbl->OnDataUpdated(This,pSensor,pNewData)
    929 #define ISensorEvents_OnEvent(This,pSensor,eventID,pEventData) (This)->lpVtbl->OnEvent(This,pSensor,eventID,pEventData)
    930 #define ISensorEvents_OnLeave(This,ID) (This)->lpVtbl->OnLeave(This,ID)
    931 #else
    932 /*** IUnknown methods ***/
    933 static inline HRESULT ISensorEvents_QueryInterface(ISensorEvents* This,REFIID riid,void **ppvObject) {
    934     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    935 }
    936 static inline ULONG ISensorEvents_AddRef(ISensorEvents* This) {
    937     return This->lpVtbl->AddRef(This);
    938 }
    939 static inline ULONG ISensorEvents_Release(ISensorEvents* This) {
    940     return This->lpVtbl->Release(This);
    941 }
    942 /*** ISensorEvents methods ***/
    943 static inline HRESULT ISensorEvents_OnStateChanged(ISensorEvents* This,ISensor *pSensor,SensorState state) {
    944     return This->lpVtbl->OnStateChanged(This,pSensor,state);
    945 }
    946 static inline HRESULT ISensorEvents_OnDataUpdated(ISensorEvents* This,ISensor *pSensor,ISensorDataReport *pNewData) {
    947     return This->lpVtbl->OnDataUpdated(This,pSensor,pNewData);
    948 }
    949 static inline HRESULT ISensorEvents_OnEvent(ISensorEvents* This,ISensor *pSensor,REFGUID eventID,IPortableDeviceValues *pEventData) {
    950     return This->lpVtbl->OnEvent(This,pSensor,eventID,pEventData);
    951 }
    952 static inline HRESULT ISensorEvents_OnLeave(ISensorEvents* This,REFSENSOR_ID ID) {
    953     return This->lpVtbl->OnLeave(This,ID);
    954 }
    955 #endif
    956 #endif
    957 
    958 #endif
    959 
    960 
    961 #endif  /* __ISensorEvents_INTERFACE_DEFINED__ */
    962 
    963 #ifndef __SensorsApiLib_LIBRARY_DEFINED__
    964 #define __SensorsApiLib_LIBRARY_DEFINED__
    965 
    966 DEFINE_GUID(LIBID_SensorsApiLib, 0x15092592, 0x5270, 0x4c6c, 0xaa,0xa0, 0x11,0x76,0x4f,0x18,0x9a,0x8f);
    967 
    968 /*****************************************************************************
    969  * SensorManager coclass
    970  */
    971 
    972 DEFINE_GUID(CLSID_SensorManager, 0x77a1c827, 0xfcd2, 0x4689, 0x89,0x15, 0x9d,0x61,0x3c,0xc5,0xfa,0x3e);
    973 
    974 #ifdef __cplusplus
    975 class DECLSPEC_UUID("77a1c827-fcd2-4689-8915-9d613cc5fa3e") SensorManager;
    976 #ifdef __CRT_UUID_DECL
    977 __CRT_UUID_DECL(SensorManager, 0x77a1c827, 0xfcd2, 0x4689, 0x89,0x15, 0x9d,0x61,0x3c,0xc5,0xfa,0x3e)
    978 #endif
    979 #endif
    980 
    981 #endif /* __SensorsApiLib_LIBRARY_DEFINED__ */
    982 /* Begin additional prototypes for all interfaces */
    983 
    984 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
    985 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
    986 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
    987 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
    988 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
    989 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
    990 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
    991 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
    992 ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
    993 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
    994 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
    995 void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
    996 
    997 /* End additional prototypes */
    998 
    999 #ifdef __cplusplus
   1000 }
   1001 #endif
   1002 
   1003 #endif /* __sensorsapi_h__ */