locationapi.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922
  1. /*** Autogenerated by WIDL 7.7 from include/locationapi.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 __locationapi_h__
  14. #define __locationapi_h__
  15. /* Forward declarations */
  16. #ifndef __ILocationReport_FWD_DEFINED__
  17. #define __ILocationReport_FWD_DEFINED__
  18. typedef interface ILocationReport ILocationReport;
  19. #ifdef __cplusplus
  20. interface ILocationReport;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __ICivicAddressReport_FWD_DEFINED__
  24. #define __ICivicAddressReport_FWD_DEFINED__
  25. typedef interface ICivicAddressReport ICivicAddressReport;
  26. #ifdef __cplusplus
  27. interface ICivicAddressReport;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __ILatLongReport_FWD_DEFINED__
  31. #define __ILatLongReport_FWD_DEFINED__
  32. typedef interface ILatLongReport ILatLongReport;
  33. #ifdef __cplusplus
  34. interface ILatLongReport;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IDefaultLocation_FWD_DEFINED__
  38. #define __IDefaultLocation_FWD_DEFINED__
  39. typedef interface IDefaultLocation IDefaultLocation;
  40. #ifdef __cplusplus
  41. interface IDefaultLocation;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __ILocationEvents_FWD_DEFINED__
  45. #define __ILocationEvents_FWD_DEFINED__
  46. typedef interface ILocationEvents ILocationEvents;
  47. #ifdef __cplusplus
  48. interface ILocationEvents;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __ILocation_FWD_DEFINED__
  52. #define __ILocation_FWD_DEFINED__
  53. typedef interface ILocation ILocation;
  54. #ifdef __cplusplus
  55. interface ILocation;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __Location_FWD_DEFINED__
  59. #define __Location_FWD_DEFINED__
  60. #ifdef __cplusplus
  61. typedef class Location Location;
  62. #else
  63. typedef struct Location Location;
  64. #endif /* defined __cplusplus */
  65. #endif /* defined __Location_FWD_DEFINED__ */
  66. /* Headers for imported files */
  67. #include <oaidl.h>
  68. #include <ocidl.h>
  69. #include <sensorsapi.h>
  70. #ifdef __cplusplus
  71. extern "C" {
  72. #endif
  73. #include <propkeydef.h>
  74. typedef enum LOCATION_REPORT_STATUS {
  75. REPORT_NOT_SUPPORTED = 0,
  76. REPORT_ERROR = 1,
  77. REPORT_ACCESS_DENIED = 2,
  78. REPORT_INITIALIZING = 3,
  79. REPORT_RUNNING = 4
  80. } LOCATION_REPORT_STATUS;
  81. /*****************************************************************************
  82. * ILocationReport interface
  83. */
  84. #ifndef __ILocationReport_INTERFACE_DEFINED__
  85. #define __ILocationReport_INTERFACE_DEFINED__
  86. DEFINE_GUID(IID_ILocationReport, 0xc8b7f7ee, 0x75d0, 0x4db9, 0xb6,0x2d, 0x7a,0x0f,0x36,0x9c,0xa4,0x56);
  87. #if defined(__cplusplus) && !defined(CINTERFACE)
  88. MIDL_INTERFACE("c8b7f7ee-75d0-4db9-b62d-7a0f369ca456")
  89. ILocationReport : public IUnknown
  90. {
  91. virtual HRESULT STDMETHODCALLTYPE GetSensorID(
  92. SENSOR_ID *pSensorID) = 0;
  93. virtual HRESULT STDMETHODCALLTYPE GetTimestamp(
  94. SYSTEMTIME *pCreationTime) = 0;
  95. virtual HRESULT STDMETHODCALLTYPE GetValue(
  96. REFPROPERTYKEY pKey,
  97. PROPVARIANT *pValue) = 0;
  98. };
  99. #ifdef __CRT_UUID_DECL
  100. __CRT_UUID_DECL(ILocationReport, 0xc8b7f7ee, 0x75d0, 0x4db9, 0xb6,0x2d, 0x7a,0x0f,0x36,0x9c,0xa4,0x56)
  101. #endif
  102. #else
  103. typedef struct ILocationReportVtbl {
  104. BEGIN_INTERFACE
  105. /*** IUnknown methods ***/
  106. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  107. ILocationReport *This,
  108. REFIID riid,
  109. void **ppvObject);
  110. ULONG (STDMETHODCALLTYPE *AddRef)(
  111. ILocationReport *This);
  112. ULONG (STDMETHODCALLTYPE *Release)(
  113. ILocationReport *This);
  114. /*** ILocationReport methods ***/
  115. HRESULT (STDMETHODCALLTYPE *GetSensorID)(
  116. ILocationReport *This,
  117. SENSOR_ID *pSensorID);
  118. HRESULT (STDMETHODCALLTYPE *GetTimestamp)(
  119. ILocationReport *This,
  120. SYSTEMTIME *pCreationTime);
  121. HRESULT (STDMETHODCALLTYPE *GetValue)(
  122. ILocationReport *This,
  123. REFPROPERTYKEY pKey,
  124. PROPVARIANT *pValue);
  125. END_INTERFACE
  126. } ILocationReportVtbl;
  127. interface ILocationReport {
  128. CONST_VTBL ILocationReportVtbl* lpVtbl;
  129. };
  130. #ifdef COBJMACROS
  131. #ifndef WIDL_C_INLINE_WRAPPERS
  132. /*** IUnknown methods ***/
  133. #define ILocationReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  134. #define ILocationReport_AddRef(This) (This)->lpVtbl->AddRef(This)
  135. #define ILocationReport_Release(This) (This)->lpVtbl->Release(This)
  136. /*** ILocationReport methods ***/
  137. #define ILocationReport_GetSensorID(This,pSensorID) (This)->lpVtbl->GetSensorID(This,pSensorID)
  138. #define ILocationReport_GetTimestamp(This,pCreationTime) (This)->lpVtbl->GetTimestamp(This,pCreationTime)
  139. #define ILocationReport_GetValue(This,pKey,pValue) (This)->lpVtbl->GetValue(This,pKey,pValue)
  140. #else
  141. /*** IUnknown methods ***/
  142. static FORCEINLINE HRESULT ILocationReport_QueryInterface(ILocationReport* This,REFIID riid,void **ppvObject) {
  143. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  144. }
  145. static FORCEINLINE ULONG ILocationReport_AddRef(ILocationReport* This) {
  146. return This->lpVtbl->AddRef(This);
  147. }
  148. static FORCEINLINE ULONG ILocationReport_Release(ILocationReport* This) {
  149. return This->lpVtbl->Release(This);
  150. }
  151. /*** ILocationReport methods ***/
  152. static FORCEINLINE HRESULT ILocationReport_GetSensorID(ILocationReport* This,SENSOR_ID *pSensorID) {
  153. return This->lpVtbl->GetSensorID(This,pSensorID);
  154. }
  155. static FORCEINLINE HRESULT ILocationReport_GetTimestamp(ILocationReport* This,SYSTEMTIME *pCreationTime) {
  156. return This->lpVtbl->GetTimestamp(This,pCreationTime);
  157. }
  158. static FORCEINLINE HRESULT ILocationReport_GetValue(ILocationReport* This,REFPROPERTYKEY pKey,PROPVARIANT *pValue) {
  159. return This->lpVtbl->GetValue(This,pKey,pValue);
  160. }
  161. #endif
  162. #endif
  163. #endif
  164. #endif /* __ILocationReport_INTERFACE_DEFINED__ */
  165. /*****************************************************************************
  166. * ICivicAddressReport interface
  167. */
  168. #ifndef __ICivicAddressReport_INTERFACE_DEFINED__
  169. #define __ICivicAddressReport_INTERFACE_DEFINED__
  170. DEFINE_GUID(IID_ICivicAddressReport, 0xc0b19f70, 0x4adf, 0x445d, 0x87,0xf2, 0xca,0xd8,0xfd,0x71,0x17,0x92);
  171. #if defined(__cplusplus) && !defined(CINTERFACE)
  172. MIDL_INTERFACE("c0b19f70-4adf-445d-87f2-cad8fd711792")
  173. ICivicAddressReport : public ILocationReport
  174. {
  175. virtual HRESULT STDMETHODCALLTYPE GetAddressLine1(
  176. BSTR *pbstrAddress1) = 0;
  177. virtual HRESULT STDMETHODCALLTYPE GetAddressLine2(
  178. BSTR *pbstrAddress2) = 0;
  179. virtual HRESULT STDMETHODCALLTYPE GetCity(
  180. BSTR *pbstrCity) = 0;
  181. virtual HRESULT STDMETHODCALLTYPE GetStateProvince(
  182. BSTR *pbstrStateProvince) = 0;
  183. virtual HRESULT STDMETHODCALLTYPE GetPostalCode(
  184. BSTR *pbstrPostalCode) = 0;
  185. virtual HRESULT STDMETHODCALLTYPE GetCountryRegion(
  186. BSTR *pbstrCountryRegion) = 0;
  187. virtual HRESULT STDMETHODCALLTYPE GetDetailLevel(
  188. DWORD *pDetailLevel) = 0;
  189. };
  190. #ifdef __CRT_UUID_DECL
  191. __CRT_UUID_DECL(ICivicAddressReport, 0xc0b19f70, 0x4adf, 0x445d, 0x87,0xf2, 0xca,0xd8,0xfd,0x71,0x17,0x92)
  192. #endif
  193. #else
  194. typedef struct ICivicAddressReportVtbl {
  195. BEGIN_INTERFACE
  196. /*** IUnknown methods ***/
  197. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  198. ICivicAddressReport *This,
  199. REFIID riid,
  200. void **ppvObject);
  201. ULONG (STDMETHODCALLTYPE *AddRef)(
  202. ICivicAddressReport *This);
  203. ULONG (STDMETHODCALLTYPE *Release)(
  204. ICivicAddressReport *This);
  205. /*** ILocationReport methods ***/
  206. HRESULT (STDMETHODCALLTYPE *GetSensorID)(
  207. ICivicAddressReport *This,
  208. SENSOR_ID *pSensorID);
  209. HRESULT (STDMETHODCALLTYPE *GetTimestamp)(
  210. ICivicAddressReport *This,
  211. SYSTEMTIME *pCreationTime);
  212. HRESULT (STDMETHODCALLTYPE *GetValue)(
  213. ICivicAddressReport *This,
  214. REFPROPERTYKEY pKey,
  215. PROPVARIANT *pValue);
  216. /*** ICivicAddressReport methods ***/
  217. HRESULT (STDMETHODCALLTYPE *GetAddressLine1)(
  218. ICivicAddressReport *This,
  219. BSTR *pbstrAddress1);
  220. HRESULT (STDMETHODCALLTYPE *GetAddressLine2)(
  221. ICivicAddressReport *This,
  222. BSTR *pbstrAddress2);
  223. HRESULT (STDMETHODCALLTYPE *GetCity)(
  224. ICivicAddressReport *This,
  225. BSTR *pbstrCity);
  226. HRESULT (STDMETHODCALLTYPE *GetStateProvince)(
  227. ICivicAddressReport *This,
  228. BSTR *pbstrStateProvince);
  229. HRESULT (STDMETHODCALLTYPE *GetPostalCode)(
  230. ICivicAddressReport *This,
  231. BSTR *pbstrPostalCode);
  232. HRESULT (STDMETHODCALLTYPE *GetCountryRegion)(
  233. ICivicAddressReport *This,
  234. BSTR *pbstrCountryRegion);
  235. HRESULT (STDMETHODCALLTYPE *GetDetailLevel)(
  236. ICivicAddressReport *This,
  237. DWORD *pDetailLevel);
  238. END_INTERFACE
  239. } ICivicAddressReportVtbl;
  240. interface ICivicAddressReport {
  241. CONST_VTBL ICivicAddressReportVtbl* lpVtbl;
  242. };
  243. #ifdef COBJMACROS
  244. #ifndef WIDL_C_INLINE_WRAPPERS
  245. /*** IUnknown methods ***/
  246. #define ICivicAddressReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  247. #define ICivicAddressReport_AddRef(This) (This)->lpVtbl->AddRef(This)
  248. #define ICivicAddressReport_Release(This) (This)->lpVtbl->Release(This)
  249. /*** ILocationReport methods ***/
  250. #define ICivicAddressReport_GetSensorID(This,pSensorID) (This)->lpVtbl->GetSensorID(This,pSensorID)
  251. #define ICivicAddressReport_GetTimestamp(This,pCreationTime) (This)->lpVtbl->GetTimestamp(This,pCreationTime)
  252. #define ICivicAddressReport_GetValue(This,pKey,pValue) (This)->lpVtbl->GetValue(This,pKey,pValue)
  253. /*** ICivicAddressReport methods ***/
  254. #define ICivicAddressReport_GetAddressLine1(This,pbstrAddress1) (This)->lpVtbl->GetAddressLine1(This,pbstrAddress1)
  255. #define ICivicAddressReport_GetAddressLine2(This,pbstrAddress2) (This)->lpVtbl->GetAddressLine2(This,pbstrAddress2)
  256. #define ICivicAddressReport_GetCity(This,pbstrCity) (This)->lpVtbl->GetCity(This,pbstrCity)
  257. #define ICivicAddressReport_GetStateProvince(This,pbstrStateProvince) (This)->lpVtbl->GetStateProvince(This,pbstrStateProvince)
  258. #define ICivicAddressReport_GetPostalCode(This,pbstrPostalCode) (This)->lpVtbl->GetPostalCode(This,pbstrPostalCode)
  259. #define ICivicAddressReport_GetCountryRegion(This,pbstrCountryRegion) (This)->lpVtbl->GetCountryRegion(This,pbstrCountryRegion)
  260. #define ICivicAddressReport_GetDetailLevel(This,pDetailLevel) (This)->lpVtbl->GetDetailLevel(This,pDetailLevel)
  261. #else
  262. /*** IUnknown methods ***/
  263. static FORCEINLINE HRESULT ICivicAddressReport_QueryInterface(ICivicAddressReport* This,REFIID riid,void **ppvObject) {
  264. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  265. }
  266. static FORCEINLINE ULONG ICivicAddressReport_AddRef(ICivicAddressReport* This) {
  267. return This->lpVtbl->AddRef(This);
  268. }
  269. static FORCEINLINE ULONG ICivicAddressReport_Release(ICivicAddressReport* This) {
  270. return This->lpVtbl->Release(This);
  271. }
  272. /*** ILocationReport methods ***/
  273. static FORCEINLINE HRESULT ICivicAddressReport_GetSensorID(ICivicAddressReport* This,SENSOR_ID *pSensorID) {
  274. return This->lpVtbl->GetSensorID(This,pSensorID);
  275. }
  276. static FORCEINLINE HRESULT ICivicAddressReport_GetTimestamp(ICivicAddressReport* This,SYSTEMTIME *pCreationTime) {
  277. return This->lpVtbl->GetTimestamp(This,pCreationTime);
  278. }
  279. static FORCEINLINE HRESULT ICivicAddressReport_GetValue(ICivicAddressReport* This,REFPROPERTYKEY pKey,PROPVARIANT *pValue) {
  280. return This->lpVtbl->GetValue(This,pKey,pValue);
  281. }
  282. /*** ICivicAddressReport methods ***/
  283. static FORCEINLINE HRESULT ICivicAddressReport_GetAddressLine1(ICivicAddressReport* This,BSTR *pbstrAddress1) {
  284. return This->lpVtbl->GetAddressLine1(This,pbstrAddress1);
  285. }
  286. static FORCEINLINE HRESULT ICivicAddressReport_GetAddressLine2(ICivicAddressReport* This,BSTR *pbstrAddress2) {
  287. return This->lpVtbl->GetAddressLine2(This,pbstrAddress2);
  288. }
  289. static FORCEINLINE HRESULT ICivicAddressReport_GetCity(ICivicAddressReport* This,BSTR *pbstrCity) {
  290. return This->lpVtbl->GetCity(This,pbstrCity);
  291. }
  292. static FORCEINLINE HRESULT ICivicAddressReport_GetStateProvince(ICivicAddressReport* This,BSTR *pbstrStateProvince) {
  293. return This->lpVtbl->GetStateProvince(This,pbstrStateProvince);
  294. }
  295. static FORCEINLINE HRESULT ICivicAddressReport_GetPostalCode(ICivicAddressReport* This,BSTR *pbstrPostalCode) {
  296. return This->lpVtbl->GetPostalCode(This,pbstrPostalCode);
  297. }
  298. static FORCEINLINE HRESULT ICivicAddressReport_GetCountryRegion(ICivicAddressReport* This,BSTR *pbstrCountryRegion) {
  299. return This->lpVtbl->GetCountryRegion(This,pbstrCountryRegion);
  300. }
  301. static FORCEINLINE HRESULT ICivicAddressReport_GetDetailLevel(ICivicAddressReport* This,DWORD *pDetailLevel) {
  302. return This->lpVtbl->GetDetailLevel(This,pDetailLevel);
  303. }
  304. #endif
  305. #endif
  306. #endif
  307. #endif /* __ICivicAddressReport_INTERFACE_DEFINED__ */
  308. /*****************************************************************************
  309. * ILatLongReport interface
  310. */
  311. #ifndef __ILatLongReport_INTERFACE_DEFINED__
  312. #define __ILatLongReport_INTERFACE_DEFINED__
  313. DEFINE_GUID(IID_ILatLongReport, 0x7fed806d, 0x0ef8, 0x4f07, 0x80,0xac, 0x36,0xa0,0xbe,0xae,0x31,0x34);
  314. #if defined(__cplusplus) && !defined(CINTERFACE)
  315. MIDL_INTERFACE("7fed806d-0ef8-4f07-80ac-36a0beae3134")
  316. ILatLongReport : public ILocationReport
  317. {
  318. virtual HRESULT STDMETHODCALLTYPE GetLatitude(
  319. DOUBLE *pLatitude) = 0;
  320. virtual HRESULT STDMETHODCALLTYPE GetLongitude(
  321. DOUBLE *pLongitude) = 0;
  322. virtual HRESULT STDMETHODCALLTYPE GetErrorRadius(
  323. DOUBLE *pErrorRadius) = 0;
  324. virtual HRESULT STDMETHODCALLTYPE GetAltitude(
  325. DOUBLE *pAltitude) = 0;
  326. virtual HRESULT STDMETHODCALLTYPE GetAltitudeError(
  327. DOUBLE *pAltitudeError) = 0;
  328. };
  329. #ifdef __CRT_UUID_DECL
  330. __CRT_UUID_DECL(ILatLongReport, 0x7fed806d, 0x0ef8, 0x4f07, 0x80,0xac, 0x36,0xa0,0xbe,0xae,0x31,0x34)
  331. #endif
  332. #else
  333. typedef struct ILatLongReportVtbl {
  334. BEGIN_INTERFACE
  335. /*** IUnknown methods ***/
  336. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  337. ILatLongReport *This,
  338. REFIID riid,
  339. void **ppvObject);
  340. ULONG (STDMETHODCALLTYPE *AddRef)(
  341. ILatLongReport *This);
  342. ULONG (STDMETHODCALLTYPE *Release)(
  343. ILatLongReport *This);
  344. /*** ILocationReport methods ***/
  345. HRESULT (STDMETHODCALLTYPE *GetSensorID)(
  346. ILatLongReport *This,
  347. SENSOR_ID *pSensorID);
  348. HRESULT (STDMETHODCALLTYPE *GetTimestamp)(
  349. ILatLongReport *This,
  350. SYSTEMTIME *pCreationTime);
  351. HRESULT (STDMETHODCALLTYPE *GetValue)(
  352. ILatLongReport *This,
  353. REFPROPERTYKEY pKey,
  354. PROPVARIANT *pValue);
  355. /*** ILatLongReport methods ***/
  356. HRESULT (STDMETHODCALLTYPE *GetLatitude)(
  357. ILatLongReport *This,
  358. DOUBLE *pLatitude);
  359. HRESULT (STDMETHODCALLTYPE *GetLongitude)(
  360. ILatLongReport *This,
  361. DOUBLE *pLongitude);
  362. HRESULT (STDMETHODCALLTYPE *GetErrorRadius)(
  363. ILatLongReport *This,
  364. DOUBLE *pErrorRadius);
  365. HRESULT (STDMETHODCALLTYPE *GetAltitude)(
  366. ILatLongReport *This,
  367. DOUBLE *pAltitude);
  368. HRESULT (STDMETHODCALLTYPE *GetAltitudeError)(
  369. ILatLongReport *This,
  370. DOUBLE *pAltitudeError);
  371. END_INTERFACE
  372. } ILatLongReportVtbl;
  373. interface ILatLongReport {
  374. CONST_VTBL ILatLongReportVtbl* lpVtbl;
  375. };
  376. #ifdef COBJMACROS
  377. #ifndef WIDL_C_INLINE_WRAPPERS
  378. /*** IUnknown methods ***/
  379. #define ILatLongReport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  380. #define ILatLongReport_AddRef(This) (This)->lpVtbl->AddRef(This)
  381. #define ILatLongReport_Release(This) (This)->lpVtbl->Release(This)
  382. /*** ILocationReport methods ***/
  383. #define ILatLongReport_GetSensorID(This,pSensorID) (This)->lpVtbl->GetSensorID(This,pSensorID)
  384. #define ILatLongReport_GetTimestamp(This,pCreationTime) (This)->lpVtbl->GetTimestamp(This,pCreationTime)
  385. #define ILatLongReport_GetValue(This,pKey,pValue) (This)->lpVtbl->GetValue(This,pKey,pValue)
  386. /*** ILatLongReport methods ***/
  387. #define ILatLongReport_GetLatitude(This,pLatitude) (This)->lpVtbl->GetLatitude(This,pLatitude)
  388. #define ILatLongReport_GetLongitude(This,pLongitude) (This)->lpVtbl->GetLongitude(This,pLongitude)
  389. #define ILatLongReport_GetErrorRadius(This,pErrorRadius) (This)->lpVtbl->GetErrorRadius(This,pErrorRadius)
  390. #define ILatLongReport_GetAltitude(This,pAltitude) (This)->lpVtbl->GetAltitude(This,pAltitude)
  391. #define ILatLongReport_GetAltitudeError(This,pAltitudeError) (This)->lpVtbl->GetAltitudeError(This,pAltitudeError)
  392. #else
  393. /*** IUnknown methods ***/
  394. static FORCEINLINE HRESULT ILatLongReport_QueryInterface(ILatLongReport* This,REFIID riid,void **ppvObject) {
  395. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  396. }
  397. static FORCEINLINE ULONG ILatLongReport_AddRef(ILatLongReport* This) {
  398. return This->lpVtbl->AddRef(This);
  399. }
  400. static FORCEINLINE ULONG ILatLongReport_Release(ILatLongReport* This) {
  401. return This->lpVtbl->Release(This);
  402. }
  403. /*** ILocationReport methods ***/
  404. static FORCEINLINE HRESULT ILatLongReport_GetSensorID(ILatLongReport* This,SENSOR_ID *pSensorID) {
  405. return This->lpVtbl->GetSensorID(This,pSensorID);
  406. }
  407. static FORCEINLINE HRESULT ILatLongReport_GetTimestamp(ILatLongReport* This,SYSTEMTIME *pCreationTime) {
  408. return This->lpVtbl->GetTimestamp(This,pCreationTime);
  409. }
  410. static FORCEINLINE HRESULT ILatLongReport_GetValue(ILatLongReport* This,REFPROPERTYKEY pKey,PROPVARIANT *pValue) {
  411. return This->lpVtbl->GetValue(This,pKey,pValue);
  412. }
  413. /*** ILatLongReport methods ***/
  414. static FORCEINLINE HRESULT ILatLongReport_GetLatitude(ILatLongReport* This,DOUBLE *pLatitude) {
  415. return This->lpVtbl->GetLatitude(This,pLatitude);
  416. }
  417. static FORCEINLINE HRESULT ILatLongReport_GetLongitude(ILatLongReport* This,DOUBLE *pLongitude) {
  418. return This->lpVtbl->GetLongitude(This,pLongitude);
  419. }
  420. static FORCEINLINE HRESULT ILatLongReport_GetErrorRadius(ILatLongReport* This,DOUBLE *pErrorRadius) {
  421. return This->lpVtbl->GetErrorRadius(This,pErrorRadius);
  422. }
  423. static FORCEINLINE HRESULT ILatLongReport_GetAltitude(ILatLongReport* This,DOUBLE *pAltitude) {
  424. return This->lpVtbl->GetAltitude(This,pAltitude);
  425. }
  426. static FORCEINLINE HRESULT ILatLongReport_GetAltitudeError(ILatLongReport* This,DOUBLE *pAltitudeError) {
  427. return This->lpVtbl->GetAltitudeError(This,pAltitudeError);
  428. }
  429. #endif
  430. #endif
  431. #endif
  432. #endif /* __ILatLongReport_INTERFACE_DEFINED__ */
  433. /*****************************************************************************
  434. * IDefaultLocation interface
  435. */
  436. #ifndef __IDefaultLocation_INTERFACE_DEFINED__
  437. #define __IDefaultLocation_INTERFACE_DEFINED__
  438. DEFINE_GUID(IID_IDefaultLocation, 0xa65af77e, 0x969a, 0x4a2e, 0x8a,0xca, 0x33,0xbb,0x7c,0xbb,0x12,0x35);
  439. #if defined(__cplusplus) && !defined(CINTERFACE)
  440. MIDL_INTERFACE("a65af77e-969a-4a2e-8aca-33bb7cbb1235")
  441. IDefaultLocation : public IUnknown
  442. {
  443. virtual HRESULT STDMETHODCALLTYPE SetReport(
  444. REFIID reportType,
  445. ILocationReport *pLocationReport) = 0;
  446. virtual HRESULT STDMETHODCALLTYPE GetReport(
  447. REFIID reportType,
  448. ILocationReport **ppLocationReport) = 0;
  449. };
  450. #ifdef __CRT_UUID_DECL
  451. __CRT_UUID_DECL(IDefaultLocation, 0xa65af77e, 0x969a, 0x4a2e, 0x8a,0xca, 0x33,0xbb,0x7c,0xbb,0x12,0x35)
  452. #endif
  453. #else
  454. typedef struct IDefaultLocationVtbl {
  455. BEGIN_INTERFACE
  456. /*** IUnknown methods ***/
  457. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  458. IDefaultLocation *This,
  459. REFIID riid,
  460. void **ppvObject);
  461. ULONG (STDMETHODCALLTYPE *AddRef)(
  462. IDefaultLocation *This);
  463. ULONG (STDMETHODCALLTYPE *Release)(
  464. IDefaultLocation *This);
  465. /*** IDefaultLocation methods ***/
  466. HRESULT (STDMETHODCALLTYPE *SetReport)(
  467. IDefaultLocation *This,
  468. REFIID reportType,
  469. ILocationReport *pLocationReport);
  470. HRESULT (STDMETHODCALLTYPE *GetReport)(
  471. IDefaultLocation *This,
  472. REFIID reportType,
  473. ILocationReport **ppLocationReport);
  474. END_INTERFACE
  475. } IDefaultLocationVtbl;
  476. interface IDefaultLocation {
  477. CONST_VTBL IDefaultLocationVtbl* lpVtbl;
  478. };
  479. #ifdef COBJMACROS
  480. #ifndef WIDL_C_INLINE_WRAPPERS
  481. /*** IUnknown methods ***/
  482. #define IDefaultLocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  483. #define IDefaultLocation_AddRef(This) (This)->lpVtbl->AddRef(This)
  484. #define IDefaultLocation_Release(This) (This)->lpVtbl->Release(This)
  485. /*** IDefaultLocation methods ***/
  486. #define IDefaultLocation_SetReport(This,reportType,pLocationReport) (This)->lpVtbl->SetReport(This,reportType,pLocationReport)
  487. #define IDefaultLocation_GetReport(This,reportType,ppLocationReport) (This)->lpVtbl->GetReport(This,reportType,ppLocationReport)
  488. #else
  489. /*** IUnknown methods ***/
  490. static FORCEINLINE HRESULT IDefaultLocation_QueryInterface(IDefaultLocation* This,REFIID riid,void **ppvObject) {
  491. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  492. }
  493. static FORCEINLINE ULONG IDefaultLocation_AddRef(IDefaultLocation* This) {
  494. return This->lpVtbl->AddRef(This);
  495. }
  496. static FORCEINLINE ULONG IDefaultLocation_Release(IDefaultLocation* This) {
  497. return This->lpVtbl->Release(This);
  498. }
  499. /*** IDefaultLocation methods ***/
  500. static FORCEINLINE HRESULT IDefaultLocation_SetReport(IDefaultLocation* This,REFIID reportType,ILocationReport *pLocationReport) {
  501. return This->lpVtbl->SetReport(This,reportType,pLocationReport);
  502. }
  503. static FORCEINLINE HRESULT IDefaultLocation_GetReport(IDefaultLocation* This,REFIID reportType,ILocationReport **ppLocationReport) {
  504. return This->lpVtbl->GetReport(This,reportType,ppLocationReport);
  505. }
  506. #endif
  507. #endif
  508. #endif
  509. #endif /* __IDefaultLocation_INTERFACE_DEFINED__ */
  510. /*****************************************************************************
  511. * ILocationEvents interface
  512. */
  513. #ifndef __ILocationEvents_INTERFACE_DEFINED__
  514. #define __ILocationEvents_INTERFACE_DEFINED__
  515. DEFINE_GUID(IID_ILocationEvents, 0xcae02bbf, 0x798b, 0x4508, 0xa2,0x07, 0x35,0xa7,0x90,0x6d,0xc7,0x3d);
  516. #if defined(__cplusplus) && !defined(CINTERFACE)
  517. MIDL_INTERFACE("cae02bbf-798b-4508-a207-35a7906dc73d")
  518. ILocationEvents : public IUnknown
  519. {
  520. virtual HRESULT STDMETHODCALLTYPE OnLocationChanged(
  521. REFIID reportType,
  522. ILocationReport *pLocationReport) = 0;
  523. virtual HRESULT STDMETHODCALLTYPE OnStatusChanged(
  524. REFIID reportType,
  525. LOCATION_REPORT_STATUS newStatus) = 0;
  526. };
  527. #ifdef __CRT_UUID_DECL
  528. __CRT_UUID_DECL(ILocationEvents, 0xcae02bbf, 0x798b, 0x4508, 0xa2,0x07, 0x35,0xa7,0x90,0x6d,0xc7,0x3d)
  529. #endif
  530. #else
  531. typedef struct ILocationEventsVtbl {
  532. BEGIN_INTERFACE
  533. /*** IUnknown methods ***/
  534. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  535. ILocationEvents *This,
  536. REFIID riid,
  537. void **ppvObject);
  538. ULONG (STDMETHODCALLTYPE *AddRef)(
  539. ILocationEvents *This);
  540. ULONG (STDMETHODCALLTYPE *Release)(
  541. ILocationEvents *This);
  542. /*** ILocationEvents methods ***/
  543. HRESULT (STDMETHODCALLTYPE *OnLocationChanged)(
  544. ILocationEvents *This,
  545. REFIID reportType,
  546. ILocationReport *pLocationReport);
  547. HRESULT (STDMETHODCALLTYPE *OnStatusChanged)(
  548. ILocationEvents *This,
  549. REFIID reportType,
  550. LOCATION_REPORT_STATUS newStatus);
  551. END_INTERFACE
  552. } ILocationEventsVtbl;
  553. interface ILocationEvents {
  554. CONST_VTBL ILocationEventsVtbl* lpVtbl;
  555. };
  556. #ifdef COBJMACROS
  557. #ifndef WIDL_C_INLINE_WRAPPERS
  558. /*** IUnknown methods ***/
  559. #define ILocationEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  560. #define ILocationEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  561. #define ILocationEvents_Release(This) (This)->lpVtbl->Release(This)
  562. /*** ILocationEvents methods ***/
  563. #define ILocationEvents_OnLocationChanged(This,reportType,pLocationReport) (This)->lpVtbl->OnLocationChanged(This,reportType,pLocationReport)
  564. #define ILocationEvents_OnStatusChanged(This,reportType,newStatus) (This)->lpVtbl->OnStatusChanged(This,reportType,newStatus)
  565. #else
  566. /*** IUnknown methods ***/
  567. static FORCEINLINE HRESULT ILocationEvents_QueryInterface(ILocationEvents* This,REFIID riid,void **ppvObject) {
  568. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  569. }
  570. static FORCEINLINE ULONG ILocationEvents_AddRef(ILocationEvents* This) {
  571. return This->lpVtbl->AddRef(This);
  572. }
  573. static FORCEINLINE ULONG ILocationEvents_Release(ILocationEvents* This) {
  574. return This->lpVtbl->Release(This);
  575. }
  576. /*** ILocationEvents methods ***/
  577. static FORCEINLINE HRESULT ILocationEvents_OnLocationChanged(ILocationEvents* This,REFIID reportType,ILocationReport *pLocationReport) {
  578. return This->lpVtbl->OnLocationChanged(This,reportType,pLocationReport);
  579. }
  580. static FORCEINLINE HRESULT ILocationEvents_OnStatusChanged(ILocationEvents* This,REFIID reportType,LOCATION_REPORT_STATUS newStatus) {
  581. return This->lpVtbl->OnStatusChanged(This,reportType,newStatus);
  582. }
  583. #endif
  584. #endif
  585. #endif
  586. #endif /* __ILocationEvents_INTERFACE_DEFINED__ */
  587. /*****************************************************************************
  588. * ILocation interface
  589. */
  590. #ifndef __ILocation_INTERFACE_DEFINED__
  591. #define __ILocation_INTERFACE_DEFINED__
  592. DEFINE_GUID(IID_ILocation, 0xab2ece69, 0x56d9, 0x4f28, 0xb5,0x25, 0xde,0x1b,0x0e,0xe4,0x42,0x37);
  593. #if defined(__cplusplus) && !defined(CINTERFACE)
  594. MIDL_INTERFACE("ab2ece69-56d9-4f28-b525-de1b0ee44237")
  595. ILocation : public IUnknown
  596. {
  597. virtual HRESULT STDMETHODCALLTYPE RegisterForReport(
  598. ILocationEvents *pEvents,
  599. REFIID reportType,
  600. DWORD dwRequestedReportInterval) = 0;
  601. virtual HRESULT STDMETHODCALLTYPE UnregisterForReport(
  602. REFIID reportType) = 0;
  603. virtual HRESULT STDMETHODCALLTYPE GetReport(
  604. REFIID reportType,
  605. ILocationReport **ppLocationReport) = 0;
  606. virtual HRESULT STDMETHODCALLTYPE GetReportStatus(
  607. REFIID reportType,
  608. LOCATION_REPORT_STATUS *pStatus) = 0;
  609. virtual HRESULT STDMETHODCALLTYPE GetReportInterval(
  610. REFIID reportType,
  611. DWORD *pMilliseconds) = 0;
  612. virtual HRESULT STDMETHODCALLTYPE SetReportInterval(
  613. REFIID reportType,
  614. DWORD millisecondsRequested) = 0;
  615. virtual HRESULT STDMETHODCALLTYPE GetDesiredAccuracy(
  616. REFIID reportType,
  617. LOCATION_DESIRED_ACCURACY *pDesiredAccuracy) = 0;
  618. virtual HRESULT STDMETHODCALLTYPE SetDesiredAccuracy(
  619. REFIID reportType,
  620. LOCATION_DESIRED_ACCURACY desiredAccuracy) = 0;
  621. virtual HRESULT STDMETHODCALLTYPE RequestPermissions(
  622. HWND hParent,
  623. IID pReportTypes[],
  624. ULONG count,
  625. WINBOOL fModal) = 0;
  626. };
  627. #ifdef __CRT_UUID_DECL
  628. __CRT_UUID_DECL(ILocation, 0xab2ece69, 0x56d9, 0x4f28, 0xb5,0x25, 0xde,0x1b,0x0e,0xe4,0x42,0x37)
  629. #endif
  630. #else
  631. typedef struct ILocationVtbl {
  632. BEGIN_INTERFACE
  633. /*** IUnknown methods ***/
  634. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  635. ILocation *This,
  636. REFIID riid,
  637. void **ppvObject);
  638. ULONG (STDMETHODCALLTYPE *AddRef)(
  639. ILocation *This);
  640. ULONG (STDMETHODCALLTYPE *Release)(
  641. ILocation *This);
  642. /*** ILocation methods ***/
  643. HRESULT (STDMETHODCALLTYPE *RegisterForReport)(
  644. ILocation *This,
  645. ILocationEvents *pEvents,
  646. REFIID reportType,
  647. DWORD dwRequestedReportInterval);
  648. HRESULT (STDMETHODCALLTYPE *UnregisterForReport)(
  649. ILocation *This,
  650. REFIID reportType);
  651. HRESULT (STDMETHODCALLTYPE *GetReport)(
  652. ILocation *This,
  653. REFIID reportType,
  654. ILocationReport **ppLocationReport);
  655. HRESULT (STDMETHODCALLTYPE *GetReportStatus)(
  656. ILocation *This,
  657. REFIID reportType,
  658. LOCATION_REPORT_STATUS *pStatus);
  659. HRESULT (STDMETHODCALLTYPE *GetReportInterval)(
  660. ILocation *This,
  661. REFIID reportType,
  662. DWORD *pMilliseconds);
  663. HRESULT (STDMETHODCALLTYPE *SetReportInterval)(
  664. ILocation *This,
  665. REFIID reportType,
  666. DWORD millisecondsRequested);
  667. HRESULT (STDMETHODCALLTYPE *GetDesiredAccuracy)(
  668. ILocation *This,
  669. REFIID reportType,
  670. LOCATION_DESIRED_ACCURACY *pDesiredAccuracy);
  671. HRESULT (STDMETHODCALLTYPE *SetDesiredAccuracy)(
  672. ILocation *This,
  673. REFIID reportType,
  674. LOCATION_DESIRED_ACCURACY desiredAccuracy);
  675. HRESULT (STDMETHODCALLTYPE *RequestPermissions)(
  676. ILocation *This,
  677. HWND hParent,
  678. IID pReportTypes[],
  679. ULONG count,
  680. WINBOOL fModal);
  681. END_INTERFACE
  682. } ILocationVtbl;
  683. interface ILocation {
  684. CONST_VTBL ILocationVtbl* lpVtbl;
  685. };
  686. #ifdef COBJMACROS
  687. #ifndef WIDL_C_INLINE_WRAPPERS
  688. /*** IUnknown methods ***/
  689. #define ILocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  690. #define ILocation_AddRef(This) (This)->lpVtbl->AddRef(This)
  691. #define ILocation_Release(This) (This)->lpVtbl->Release(This)
  692. /*** ILocation methods ***/
  693. #define ILocation_RegisterForReport(This,pEvents,reportType,dwRequestedReportInterval) (This)->lpVtbl->RegisterForReport(This,pEvents,reportType,dwRequestedReportInterval)
  694. #define ILocation_UnregisterForReport(This,reportType) (This)->lpVtbl->UnregisterForReport(This,reportType)
  695. #define ILocation_GetReport(This,reportType,ppLocationReport) (This)->lpVtbl->GetReport(This,reportType,ppLocationReport)
  696. #define ILocation_GetReportStatus(This,reportType,pStatus) (This)->lpVtbl->GetReportStatus(This,reportType,pStatus)
  697. #define ILocation_GetReportInterval(This,reportType,pMilliseconds) (This)->lpVtbl->GetReportInterval(This,reportType,pMilliseconds)
  698. #define ILocation_SetReportInterval(This,reportType,millisecondsRequested) (This)->lpVtbl->SetReportInterval(This,reportType,millisecondsRequested)
  699. #define ILocation_GetDesiredAccuracy(This,reportType,pDesiredAccuracy) (This)->lpVtbl->GetDesiredAccuracy(This,reportType,pDesiredAccuracy)
  700. #define ILocation_SetDesiredAccuracy(This,reportType,desiredAccuracy) (This)->lpVtbl->SetDesiredAccuracy(This,reportType,desiredAccuracy)
  701. #define ILocation_RequestPermissions(This,hParent,pReportTypes,count,fModal) (This)->lpVtbl->RequestPermissions(This,hParent,pReportTypes,count,fModal)
  702. #else
  703. /*** IUnknown methods ***/
  704. static FORCEINLINE HRESULT ILocation_QueryInterface(ILocation* This,REFIID riid,void **ppvObject) {
  705. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  706. }
  707. static FORCEINLINE ULONG ILocation_AddRef(ILocation* This) {
  708. return This->lpVtbl->AddRef(This);
  709. }
  710. static FORCEINLINE ULONG ILocation_Release(ILocation* This) {
  711. return This->lpVtbl->Release(This);
  712. }
  713. /*** ILocation methods ***/
  714. static FORCEINLINE HRESULT ILocation_RegisterForReport(ILocation* This,ILocationEvents *pEvents,REFIID reportType,DWORD dwRequestedReportInterval) {
  715. return This->lpVtbl->RegisterForReport(This,pEvents,reportType,dwRequestedReportInterval);
  716. }
  717. static FORCEINLINE HRESULT ILocation_UnregisterForReport(ILocation* This,REFIID reportType) {
  718. return This->lpVtbl->UnregisterForReport(This,reportType);
  719. }
  720. static FORCEINLINE HRESULT ILocation_GetReport(ILocation* This,REFIID reportType,ILocationReport **ppLocationReport) {
  721. return This->lpVtbl->GetReport(This,reportType,ppLocationReport);
  722. }
  723. static FORCEINLINE HRESULT ILocation_GetReportStatus(ILocation* This,REFIID reportType,LOCATION_REPORT_STATUS *pStatus) {
  724. return This->lpVtbl->GetReportStatus(This,reportType,pStatus);
  725. }
  726. static FORCEINLINE HRESULT ILocation_GetReportInterval(ILocation* This,REFIID reportType,DWORD *pMilliseconds) {
  727. return This->lpVtbl->GetReportInterval(This,reportType,pMilliseconds);
  728. }
  729. static FORCEINLINE HRESULT ILocation_SetReportInterval(ILocation* This,REFIID reportType,DWORD millisecondsRequested) {
  730. return This->lpVtbl->SetReportInterval(This,reportType,millisecondsRequested);
  731. }
  732. static FORCEINLINE HRESULT ILocation_GetDesiredAccuracy(ILocation* This,REFIID reportType,LOCATION_DESIRED_ACCURACY *pDesiredAccuracy) {
  733. return This->lpVtbl->GetDesiredAccuracy(This,reportType,pDesiredAccuracy);
  734. }
  735. static FORCEINLINE HRESULT ILocation_SetDesiredAccuracy(ILocation* This,REFIID reportType,LOCATION_DESIRED_ACCURACY desiredAccuracy) {
  736. return This->lpVtbl->SetDesiredAccuracy(This,reportType,desiredAccuracy);
  737. }
  738. static FORCEINLINE HRESULT ILocation_RequestPermissions(ILocation* This,HWND hParent,IID pReportTypes[],ULONG count,WINBOOL fModal) {
  739. return This->lpVtbl->RequestPermissions(This,hParent,pReportTypes,count,fModal);
  740. }
  741. #endif
  742. #endif
  743. #endif
  744. #endif /* __ILocation_INTERFACE_DEFINED__ */
  745. /*****************************************************************************
  746. * Location coclass
  747. */
  748. DEFINE_GUID(CLSID_Location, 0xe5b8e079, 0xee6d, 0x4e33, 0xa4,0x38, 0xc8,0x7f,0x2e,0x95,0x92,0x54);
  749. #ifdef __cplusplus
  750. class DECLSPEC_UUID("e5b8e079-ee6d-4e33-a438-c87f2e959254") Location;
  751. #ifdef __CRT_UUID_DECL
  752. __CRT_UUID_DECL(Location, 0xe5b8e079, 0xee6d, 0x4e33, 0xa4,0x38, 0xc8,0x7f,0x2e,0x95,0x92,0x54)
  753. #endif
  754. #endif
  755. /* Begin additional prototypes for all interfaces */
  756. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  757. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  758. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  759. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  760. ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
  761. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
  762. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
  763. void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
  764. ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
  765. unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
  766. unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
  767. void __RPC_USER HWND_UserFree (ULONG *, HWND *);
  768. /* End additional prototypes */
  769. #ifdef __cplusplus
  770. }
  771. #endif
  772. #endif /* __locationapi_h__ */