sensorsapi.h 35 KB

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