ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/sensorsapi.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 35411 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*** Autogenerated by WIDL 6.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 FORCEINLINE HRESULT ISensorManager_QueryInterface(ISensorManager* This,REFIID riid,void **ppvObject) {
253 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
254 }
255 static FORCEINLINE ULONG ISensorManager_AddRef(ISensorManager* This) {
256 return This->lpVtbl->AddRef(This);
257 }
258 static FORCEINLINE ULONG ISensorManager_Release(ISensorManager* This) {
259 return This->lpVtbl->Release(This);
260 }
261 /*** ISensorManager methods ***/
262 static FORCEINLINE HRESULT ISensorManager_GetSensorsByCategory(ISensorManager* This,REFSENSOR_CATEGORY_ID sensorCategory,ISensorCollection **ppSensorsFound) {
263 return This->lpVtbl->GetSensorsByCategory(This,sensorCategory,ppSensorsFound);
264 }
265 static FORCEINLINE HRESULT ISensorManager_GetSensorsByType(ISensorManager* This,REFSENSOR_TYPE_ID sensorType,ISensorCollection **ppSensorsFound) {
266 return This->lpVtbl->GetSensorsByType(This,sensorType,ppSensorsFound);
267 }
268 static FORCEINLINE HRESULT ISensorManager_GetSensorByID(ISensorManager* This,REFSENSOR_ID sensorID,ISensor **ppSensor) {
269 return This->lpVtbl->GetSensorByID(This,sensorID,ppSensor);
270 }
271 static FORCEINLINE HRESULT ISensorManager_SetEventSink(ISensorManager* This,ISensorManagerEvents *pEvents) {
272 return This->lpVtbl->SetEventSink(This,pEvents);
273 }
274 static FORCEINLINE 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 FORCEINLINE HRESULT ISensorCollection_QueryInterface(ISensorCollection* This,REFIID riid,void **ppvObject) {
383 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
384 }
385 static FORCEINLINE ULONG ISensorCollection_AddRef(ISensorCollection* This) {
386 return This->lpVtbl->AddRef(This);
387 }
388 static FORCEINLINE ULONG ISensorCollection_Release(ISensorCollection* This) {
389 return This->lpVtbl->Release(This);
390 }
391 /*** ISensorCollection methods ***/
392 static FORCEINLINE HRESULT ISensorCollection_GetAt(ISensorCollection* This,ULONG ulIndex,ISensor **ppSensor) {
393 return This->lpVtbl->GetAt(This,ulIndex,ppSensor);
394 }
395 static FORCEINLINE HRESULT ISensorCollection_GetCount(ISensorCollection* This,ULONG *pCount) {
396 return This->lpVtbl->GetCount(This,pCount);
397 }
398 static FORCEINLINE HRESULT ISensorCollection_Add(ISensorCollection* This,ISensor *pSensor) {
399 return This->lpVtbl->Add(This,pSensor);
400 }
401 static FORCEINLINE HRESULT ISensorCollection_Remove(ISensorCollection* This,ISensor *pSensor) {
402 return This->lpVtbl->Remove(This,pSensor);
403 }
404 static FORCEINLINE HRESULT ISensorCollection_RemoveByID(ISensorCollection* This,REFSENSOR_ID sensorID) {
405 return This->lpVtbl->RemoveByID(This,sensorID);
406 }
407 static FORCEINLINE 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 FORCEINLINE HRESULT ISensor_QueryInterface(ISensor* This,REFIID riid,void **ppvObject) {
601 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
602 }
603 static FORCEINLINE ULONG ISensor_AddRef(ISensor* This) {
604 return This->lpVtbl->AddRef(This);
605 }
606 static FORCEINLINE ULONG ISensor_Release(ISensor* This) {
607 return This->lpVtbl->Release(This);
608 }
609 /*** ISensor methods ***/
610 static FORCEINLINE HRESULT ISensor_GetID(ISensor* This,SENSOR_ID *pID) {
611 return This->lpVtbl->GetID(This,pID);
612 }
613 static FORCEINLINE HRESULT ISensor_GetCategory(ISensor* This,SENSOR_CATEGORY_ID *pSensorCategory) {
614 return This->lpVtbl->GetCategory(This,pSensorCategory);
615 }
616 static FORCEINLINE HRESULT ISensor_GetType(ISensor* This,SENSOR_TYPE_ID *pSensorType) {
617 return This->lpVtbl->GetType(This,pSensorType);
618 }
619 static FORCEINLINE HRESULT ISensor_GetFriendlyName(ISensor* This,BSTR *pFriendlyName) {
620 return This->lpVtbl->GetFriendlyName(This,pFriendlyName);
621 }
622 static FORCEINLINE HRESULT ISensor_GetProperty(ISensor* This,REFPROPERTYKEY key,PROPVARIANT *pProperty) {
623 return This->lpVtbl->GetProperty(This,key,pProperty);
624 }
625 static FORCEINLINE HRESULT ISensor_GetProperties(ISensor* This,IPortableDeviceKeyCollection *pKeys,IPortableDeviceValues **ppProperties) {
626 return This->lpVtbl->GetProperties(This,pKeys,ppProperties);
627 }
628 static FORCEINLINE HRESULT ISensor_GetSupportedDataFields(ISensor* This,IPortableDeviceKeyCollection **ppDataFields) {
629 return This->lpVtbl->GetSupportedDataFields(This,ppDataFields);
630 }
631 static FORCEINLINE HRESULT ISensor_SetProperties(ISensor* This,IPortableDeviceValues *pProperties,IPortableDeviceValues **ppResults) {
632 return This->lpVtbl->SetProperties(This,pProperties,ppResults);
633 }
634 static FORCEINLINE HRESULT ISensor_SupportsDataField(ISensor* This,REFPROPERTYKEY key,VARIANT_BOOL *pIsSupported) {
635 return This->lpVtbl->SupportsDataField(This,key,pIsSupported);
636 }
637 static FORCEINLINE HRESULT ISensor_GetState(ISensor* This,SensorState *pState) {
638 return This->lpVtbl->GetState(This,pState);
639 }
640 static FORCEINLINE HRESULT ISensor_GetData(ISensor* This,ISensorDataReport **ppDataReport) {
641 return This->lpVtbl->GetData(This,ppDataReport);
642 }
643 static FORCEINLINE HRESULT ISensor_SupportsEvent(ISensor* This,REFGUID eventGuid,VARIANT_BOOL *pIsSupported) {
644 return This->lpVtbl->SupportsEvent(This,eventGuid,pIsSupported);
645 }
646 static FORCEINLINE HRESULT ISensor_GetEventInterest(ISensor* This,GUID **ppValues,ULONG *pCount) {
647 return This->lpVtbl->GetEventInterest(This,ppValues,pCount);
648 }
649 static FORCEINLINE HRESULT ISensor_SetEventInterest(ISensor* This,GUID *pValues,ULONG count) {
650 return This->lpVtbl->SetEventInterest(This,pValues,count);
651 }
652 static FORCEINLINE 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 FORCEINLINE HRESULT ISensorDataReport_QueryInterface(ISensorDataReport* This,REFIID riid,void **ppvObject) {
740 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
741 }
742 static FORCEINLINE ULONG ISensorDataReport_AddRef(ISensorDataReport* This) {
743 return This->lpVtbl->AddRef(This);
744 }
745 static FORCEINLINE ULONG ISensorDataReport_Release(ISensorDataReport* This) {
746 return This->lpVtbl->Release(This);
747 }
748 /*** ISensorDataReport methods ***/
749 static FORCEINLINE HRESULT ISensorDataReport_GetTimestamp(ISensorDataReport* This,SYSTEMTIME *pTimeStamp) {
750 return This->lpVtbl->GetTimestamp(This,pTimeStamp);
751 }
752 static FORCEINLINE HRESULT ISensorDataReport_GetSensorValue(ISensorDataReport* This,REFPROPERTYKEY pKey,PROPVARIANT *pValue) {
753 return This->lpVtbl->GetSensorValue(This,pKey,pValue);
754 }
755 static FORCEINLINE 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 FORCEINLINE HRESULT ISensorManagerEvents_QueryInterface(ISensorManagerEvents* This,REFIID riid,void **ppvObject) {
825 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
826 }
827 static FORCEINLINE ULONG ISensorManagerEvents_AddRef(ISensorManagerEvents* This) {
828 return This->lpVtbl->AddRef(This);
829 }
830 static FORCEINLINE ULONG ISensorManagerEvents_Release(ISensorManagerEvents* This) {
831 return This->lpVtbl->Release(This);
832 }
833 /*** ISensorManagerEvents methods ***/
834 static FORCEINLINE 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 FORCEINLINE HRESULT ISensorEvents_QueryInterface(ISensorEvents* This,REFIID riid,void **ppvObject) {
934 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
935 }
936 static FORCEINLINE ULONG ISensorEvents_AddRef(ISensorEvents* This) {
937 return This->lpVtbl->AddRef(This);
938 }
939 static FORCEINLINE ULONG ISensorEvents_Release(ISensorEvents* This) {
940 return This->lpVtbl->Release(This);
941 }
942 /*** ISensorEvents methods ***/
943 static FORCEINLINE HRESULT ISensorEvents_OnStateChanged(ISensorEvents* This,ISensor *pSensor,SensorState state) {
944 return This->lpVtbl->OnStateChanged(This,pSensor,state);
945 }
946 static FORCEINLINE HRESULT ISensorEvents_OnDataUpdated(ISensorEvents* This,ISensor *pSensor,ISensorDataReport *pNewData) {
947 return This->lpVtbl->OnDataUpdated(This,pSensor,pNewData);
948 }
949 static FORCEINLINE HRESULT ISensorEvents_OnEvent(ISensorEvents* This,ISensor *pSensor,REFGUID eventID,IPortableDeviceValues *pEventData) {
950 return This->lpVtbl->OnEvent(This,pSensor,eventID,pEventData);
951 }
952 static FORCEINLINE 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__ */