gameux.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 7.00.0550 */
  3. /* Compiler settings for gameux.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0550
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. /* @@MIDL_FILE_HEADING( ) */
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  18. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  19. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  20. #endif
  21. #include "rpc.h"
  22. #include "rpcndr.h"
  23. #ifndef __RPCNDR_H_VERSION__
  24. #error this stub requires an updated version of <rpcndr.h>
  25. #endif // __RPCNDR_H_VERSION__
  26. #ifndef COM_NO_WINDOWS_H
  27. #include "windows.h"
  28. #include "ole2.h"
  29. #endif /*COM_NO_WINDOWS_H*/
  30. #ifndef __gameux_h__
  31. #define __gameux_h__
  32. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  33. #pragma once
  34. #endif
  35. /* Forward Declarations */
  36. #ifndef __IGameExplorer_FWD_DEFINED__
  37. #define __IGameExplorer_FWD_DEFINED__
  38. typedef interface IGameExplorer IGameExplorer;
  39. #endif /* __IGameExplorer_FWD_DEFINED__ */
  40. #ifndef __IGameStatistics_FWD_DEFINED__
  41. #define __IGameStatistics_FWD_DEFINED__
  42. typedef interface IGameStatistics IGameStatistics;
  43. #endif /* __IGameStatistics_FWD_DEFINED__ */
  44. #ifndef __IGameStatisticsMgr_FWD_DEFINED__
  45. #define __IGameStatisticsMgr_FWD_DEFINED__
  46. typedef interface IGameStatisticsMgr IGameStatisticsMgr;
  47. #endif /* __IGameStatisticsMgr_FWD_DEFINED__ */
  48. #ifndef __IGameExplorer2_FWD_DEFINED__
  49. #define __IGameExplorer2_FWD_DEFINED__
  50. typedef interface IGameExplorer2 IGameExplorer2;
  51. #endif /* __IGameExplorer2_FWD_DEFINED__ */
  52. #ifndef __GameExplorer_FWD_DEFINED__
  53. #define __GameExplorer_FWD_DEFINED__
  54. #ifdef __cplusplus
  55. typedef class GameExplorer GameExplorer;
  56. #else
  57. typedef struct GameExplorer GameExplorer;
  58. #endif /* __cplusplus */
  59. #endif /* __GameExplorer_FWD_DEFINED__ */
  60. #ifndef __GameStatistics_FWD_DEFINED__
  61. #define __GameStatistics_FWD_DEFINED__
  62. #ifdef __cplusplus
  63. typedef class GameStatistics GameStatistics;
  64. #else
  65. typedef struct GameStatistics GameStatistics;
  66. #endif /* __cplusplus */
  67. #endif /* __GameStatistics_FWD_DEFINED__ */
  68. /* header files for imported files */
  69. #include "oaidl.h"
  70. #include "ocidl.h"
  71. #include "shobjidl.h"
  72. #ifdef __cplusplus
  73. extern "C"{
  74. #endif
  75. /* interface __MIDL_itf_gameux_0000_0000 */
  76. /* [local] */
  77. #define ID_GDF_XML __GDF_XML
  78. #define ID_GDF_THUMBNAIL __GDF_THUMBNAIL
  79. #define ID_ICON_ICO __ICON_ICO
  80. #define ID_GDF_XML_STR L"__GDF_XML"
  81. #define ID_GDF_THUMBNAIL_STR L"__GDF_THUMBNAIL"
  82. typedef /* [v1_enum] */
  83. enum GAME_INSTALL_SCOPE
  84. { GIS_NOT_INSTALLED = 1,
  85. GIS_CURRENT_USER = 2,
  86. GIS_ALL_USERS = 3
  87. } GAME_INSTALL_SCOPE;
  88. extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_c_ifspec;
  89. extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_s_ifspec;
  90. #ifndef __IGameExplorer_INTERFACE_DEFINED__
  91. #define __IGameExplorer_INTERFACE_DEFINED__
  92. /* interface IGameExplorer */
  93. /* [unique][helpstring][uuid][object] */
  94. EXTERN_C const IID IID_IGameExplorer;
  95. #if defined(__cplusplus) && !defined(CINTERFACE)
  96. MIDL_INTERFACE("E7B2FB72-D728-49B3-A5F2-18EBF5F1349E")
  97. IGameExplorer : public IUnknown
  98. {
  99. public:
  100. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddGame(
  101. /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
  102. /* [in] */ __RPC__in BSTR bstrGameInstallDirectory,
  103. /* [in] */ GAME_INSTALL_SCOPE installScope,
  104. /* [out][in] */ __RPC__inout GUID *pguidInstanceID) = 0;
  105. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveGame(
  106. /* [in] */ GUID guidInstanceID) = 0;
  107. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateGame(
  108. /* [in] */ GUID guidInstanceID) = 0;
  109. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VerifyAccess(
  110. /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
  111. /* [out] */ __RPC__out BOOL *pfHasAccess) = 0;
  112. };
  113. #else /* C style interface */
  114. typedef struct IGameExplorerVtbl
  115. {
  116. BEGIN_INTERFACE
  117. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  118. __RPC__in IGameExplorer * This,
  119. /* [in] */ __RPC__in REFIID riid,
  120. /* [annotation][iid_is][out] */
  121. __RPC__deref_out void **ppvObject);
  122. ULONG ( STDMETHODCALLTYPE *AddRef )(
  123. __RPC__in IGameExplorer * This);
  124. ULONG ( STDMETHODCALLTYPE *Release )(
  125. __RPC__in IGameExplorer * This);
  126. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddGame )(
  127. __RPC__in IGameExplorer * This,
  128. /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
  129. /* [in] */ __RPC__in BSTR bstrGameInstallDirectory,
  130. /* [in] */ GAME_INSTALL_SCOPE installScope,
  131. /* [out][in] */ __RPC__inout GUID *pguidInstanceID);
  132. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveGame )(
  133. __RPC__in IGameExplorer * This,
  134. /* [in] */ GUID guidInstanceID);
  135. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateGame )(
  136. __RPC__in IGameExplorer * This,
  137. /* [in] */ GUID guidInstanceID);
  138. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VerifyAccess )(
  139. __RPC__in IGameExplorer * This,
  140. /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
  141. /* [out] */ __RPC__out BOOL *pfHasAccess);
  142. END_INTERFACE
  143. } IGameExplorerVtbl;
  144. interface IGameExplorer
  145. {
  146. CONST_VTBL struct IGameExplorerVtbl *lpVtbl;
  147. };
  148. #ifdef COBJMACROS
  149. #define IGameExplorer_QueryInterface(This,riid,ppvObject) \
  150. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  151. #define IGameExplorer_AddRef(This) \
  152. ( (This)->lpVtbl -> AddRef(This) )
  153. #define IGameExplorer_Release(This) \
  154. ( (This)->lpVtbl -> Release(This) )
  155. #define IGameExplorer_AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) \
  156. ( (This)->lpVtbl -> AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) )
  157. #define IGameExplorer_RemoveGame(This,guidInstanceID) \
  158. ( (This)->lpVtbl -> RemoveGame(This,guidInstanceID) )
  159. #define IGameExplorer_UpdateGame(This,guidInstanceID) \
  160. ( (This)->lpVtbl -> UpdateGame(This,guidInstanceID) )
  161. #define IGameExplorer_VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) \
  162. ( (This)->lpVtbl -> VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) )
  163. #endif /* COBJMACROS */
  164. #endif /* C style interface */
  165. #endif /* __IGameExplorer_INTERFACE_DEFINED__ */
  166. /* interface __MIDL_itf_gameux_0000_0001 */
  167. /* [local] */
  168. typedef /* [v1_enum] */
  169. enum GAMESTATS_OPEN_TYPE
  170. { GAMESTATS_OPEN_OPENORCREATE = 0,
  171. GAMESTATS_OPEN_OPENONLY = 1
  172. } GAMESTATS_OPEN_TYPE;
  173. typedef /* [v1_enum] */
  174. enum GAMESTATS_OPEN_RESULT
  175. { GAMESTATS_OPEN_CREATED = 0,
  176. GAMESTATS_OPEN_OPENED = 1
  177. } GAMESTATS_OPEN_RESULT;
  178. extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0001_v0_0_c_ifspec;
  179. extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0001_v0_0_s_ifspec;
  180. #ifndef __IGameStatistics_INTERFACE_DEFINED__
  181. #define __IGameStatistics_INTERFACE_DEFINED__
  182. /* interface IGameStatistics */
  183. /* [unique][helpstring][uuid][object] */
  184. EXTERN_C const IID IID_IGameStatistics;
  185. #if defined(__cplusplus) && !defined(CINTERFACE)
  186. MIDL_INTERFACE("3887C9CA-04A0-42ae-BC4C-5FA6C7721145")
  187. IGameStatistics : public IUnknown
  188. {
  189. public:
  190. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxCategoryLength(
  191. /* [retval][out] */ __RPC__out UINT *cch) = 0;
  192. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxNameLength(
  193. /* [retval][out] */ __RPC__out UINT *cch) = 0;
  194. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxValueLength(
  195. /* [retval][out] */ __RPC__out UINT *cch) = 0;
  196. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxCategories(
  197. /* [retval][out] */ __RPC__out WORD *pMax) = 0;
  198. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaxStatsPerCategory(
  199. /* [retval][out] */ __RPC__out WORD *pMax) = 0;
  200. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCategoryTitle(
  201. /* [in] */ WORD categoryIndex,
  202. /* [string][in] */ __RPC__in_string LPCWSTR title) = 0;
  203. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCategoryTitle(
  204. /* [in] */ WORD categoryIndex,
  205. /* [retval][string][out] */ __RPC__deref_out_opt_string LPWSTR *pTitle) = 0;
  206. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatistic(
  207. /* [in] */ WORD categoryIndex,
  208. /* [in] */ WORD statIndex,
  209. /* [string][unique][out][in] */ __RPC__deref_opt_inout_opt_string LPWSTR *pName,
  210. /* [string][unique][out][in] */ __RPC__deref_opt_inout_opt_string LPWSTR *pValue) = 0;
  211. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStatistic(
  212. /* [in] */ WORD categoryIndex,
  213. /* [in] */ WORD statIndex,
  214. /* [string][in] */ __RPC__in_string LPCWSTR name,
  215. /* [string][in] */ __RPC__in_string LPCWSTR value) = 0;
  216. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save(
  217. /* [in] */ BOOL trackChanges) = 0;
  218. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLastPlayedCategory(
  219. /* [in] */ UINT categoryIndex) = 0;
  220. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastPlayedCategory(
  221. /* [retval][out] */ __RPC__out UINT *pCategoryIndex) = 0;
  222. };
  223. #else /* C style interface */
  224. typedef struct IGameStatisticsVtbl
  225. {
  226. BEGIN_INTERFACE
  227. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  228. __RPC__in IGameStatistics * This,
  229. /* [in] */ __RPC__in REFIID riid,
  230. /* [annotation][iid_is][out] */
  231. __RPC__deref_out void **ppvObject);
  232. ULONG ( STDMETHODCALLTYPE *AddRef )(
  233. __RPC__in IGameStatistics * This);
  234. ULONG ( STDMETHODCALLTYPE *Release )(
  235. __RPC__in IGameStatistics * This);
  236. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaxCategoryLength )(
  237. __RPC__in IGameStatistics * This,
  238. /* [retval][out] */ __RPC__out UINT *cch);
  239. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaxNameLength )(
  240. __RPC__in IGameStatistics * This,
  241. /* [retval][out] */ __RPC__out UINT *cch);
  242. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaxValueLength )(
  243. __RPC__in IGameStatistics * This,
  244. /* [retval][out] */ __RPC__out UINT *cch);
  245. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaxCategories )(
  246. __RPC__in IGameStatistics * This,
  247. /* [retval][out] */ __RPC__out WORD *pMax);
  248. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaxStatsPerCategory )(
  249. __RPC__in IGameStatistics * This,
  250. /* [retval][out] */ __RPC__out WORD *pMax);
  251. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCategoryTitle )(
  252. __RPC__in IGameStatistics * This,
  253. /* [in] */ WORD categoryIndex,
  254. /* [string][in] */ __RPC__in_string LPCWSTR title);
  255. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryTitle )(
  256. __RPC__in IGameStatistics * This,
  257. /* [in] */ WORD categoryIndex,
  258. /* [retval][string][out] */ __RPC__deref_out_opt_string LPWSTR *pTitle);
  259. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStatistic )(
  260. __RPC__in IGameStatistics * This,
  261. /* [in] */ WORD categoryIndex,
  262. /* [in] */ WORD statIndex,
  263. /* [string][unique][out][in] */ __RPC__deref_opt_inout_opt_string LPWSTR *pName,
  264. /* [string][unique][out][in] */ __RPC__deref_opt_inout_opt_string LPWSTR *pValue);
  265. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStatistic )(
  266. __RPC__in IGameStatistics * This,
  267. /* [in] */ WORD categoryIndex,
  268. /* [in] */ WORD statIndex,
  269. /* [string][in] */ __RPC__in_string LPCWSTR name,
  270. /* [string][in] */ __RPC__in_string LPCWSTR value);
  271. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )(
  272. __RPC__in IGameStatistics * This,
  273. /* [in] */ BOOL trackChanges);
  274. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLastPlayedCategory )(
  275. __RPC__in IGameStatistics * This,
  276. /* [in] */ UINT categoryIndex);
  277. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastPlayedCategory )(
  278. __RPC__in IGameStatistics * This,
  279. /* [retval][out] */ __RPC__out UINT *pCategoryIndex);
  280. END_INTERFACE
  281. } IGameStatisticsVtbl;
  282. interface IGameStatistics
  283. {
  284. CONST_VTBL struct IGameStatisticsVtbl *lpVtbl;
  285. };
  286. #ifdef COBJMACROS
  287. #define IGameStatistics_QueryInterface(This,riid,ppvObject) \
  288. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  289. #define IGameStatistics_AddRef(This) \
  290. ( (This)->lpVtbl -> AddRef(This) )
  291. #define IGameStatistics_Release(This) \
  292. ( (This)->lpVtbl -> Release(This) )
  293. #define IGameStatistics_GetMaxCategoryLength(This,cch) \
  294. ( (This)->lpVtbl -> GetMaxCategoryLength(This,cch) )
  295. #define IGameStatistics_GetMaxNameLength(This,cch) \
  296. ( (This)->lpVtbl -> GetMaxNameLength(This,cch) )
  297. #define IGameStatistics_GetMaxValueLength(This,cch) \
  298. ( (This)->lpVtbl -> GetMaxValueLength(This,cch) )
  299. #define IGameStatistics_GetMaxCategories(This,pMax) \
  300. ( (This)->lpVtbl -> GetMaxCategories(This,pMax) )
  301. #define IGameStatistics_GetMaxStatsPerCategory(This,pMax) \
  302. ( (This)->lpVtbl -> GetMaxStatsPerCategory(This,pMax) )
  303. #define IGameStatistics_SetCategoryTitle(This,categoryIndex,title) \
  304. ( (This)->lpVtbl -> SetCategoryTitle(This,categoryIndex,title) )
  305. #define IGameStatistics_GetCategoryTitle(This,categoryIndex,pTitle) \
  306. ( (This)->lpVtbl -> GetCategoryTitle(This,categoryIndex,pTitle) )
  307. #define IGameStatistics_GetStatistic(This,categoryIndex,statIndex,pName,pValue) \
  308. ( (This)->lpVtbl -> GetStatistic(This,categoryIndex,statIndex,pName,pValue) )
  309. #define IGameStatistics_SetStatistic(This,categoryIndex,statIndex,name,value) \
  310. ( (This)->lpVtbl -> SetStatistic(This,categoryIndex,statIndex,name,value) )
  311. #define IGameStatistics_Save(This,trackChanges) \
  312. ( (This)->lpVtbl -> Save(This,trackChanges) )
  313. #define IGameStatistics_SetLastPlayedCategory(This,categoryIndex) \
  314. ( (This)->lpVtbl -> SetLastPlayedCategory(This,categoryIndex) )
  315. #define IGameStatistics_GetLastPlayedCategory(This,pCategoryIndex) \
  316. ( (This)->lpVtbl -> GetLastPlayedCategory(This,pCategoryIndex) )
  317. #endif /* COBJMACROS */
  318. #endif /* C style interface */
  319. #endif /* __IGameStatistics_INTERFACE_DEFINED__ */
  320. #ifndef __IGameStatisticsMgr_INTERFACE_DEFINED__
  321. #define __IGameStatisticsMgr_INTERFACE_DEFINED__
  322. /* interface IGameStatisticsMgr */
  323. /* [unique][helpstring][uuid][object] */
  324. EXTERN_C const IID IID_IGameStatisticsMgr;
  325. #if defined(__cplusplus) && !defined(CINTERFACE)
  326. MIDL_INTERFACE("AFF3EA11-E70E-407d-95DD-35E612C41CE2")
  327. IGameStatisticsMgr : public IUnknown
  328. {
  329. public:
  330. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGameStatistics(
  331. /* [string][in] */ __RPC__in_string LPCWSTR GDFBinaryPath,
  332. /* [in] */ GAMESTATS_OPEN_TYPE openType,
  333. /* [out] */ __RPC__out GAMESTATS_OPEN_RESULT *pOpenResult,
  334. /* [retval][out] */ __RPC__deref_out_opt IGameStatistics **ppiStats) = 0;
  335. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveGameStatistics(
  336. /* [string][in] */ __RPC__in_string LPCWSTR GDFBinaryPath) = 0;
  337. };
  338. #else /* C style interface */
  339. typedef struct IGameStatisticsMgrVtbl
  340. {
  341. BEGIN_INTERFACE
  342. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  343. __RPC__in IGameStatisticsMgr * This,
  344. /* [in] */ __RPC__in REFIID riid,
  345. /* [annotation][iid_is][out] */
  346. __RPC__deref_out void **ppvObject);
  347. ULONG ( STDMETHODCALLTYPE *AddRef )(
  348. __RPC__in IGameStatisticsMgr * This);
  349. ULONG ( STDMETHODCALLTYPE *Release )(
  350. __RPC__in IGameStatisticsMgr * This);
  351. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGameStatistics )(
  352. __RPC__in IGameStatisticsMgr * This,
  353. /* [string][in] */ __RPC__in_string LPCWSTR GDFBinaryPath,
  354. /* [in] */ GAMESTATS_OPEN_TYPE openType,
  355. /* [out] */ __RPC__out GAMESTATS_OPEN_RESULT *pOpenResult,
  356. /* [retval][out] */ __RPC__deref_out_opt IGameStatistics **ppiStats);
  357. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveGameStatistics )(
  358. __RPC__in IGameStatisticsMgr * This,
  359. /* [string][in] */ __RPC__in_string LPCWSTR GDFBinaryPath);
  360. END_INTERFACE
  361. } IGameStatisticsMgrVtbl;
  362. interface IGameStatisticsMgr
  363. {
  364. CONST_VTBL struct IGameStatisticsMgrVtbl *lpVtbl;
  365. };
  366. #ifdef COBJMACROS
  367. #define IGameStatisticsMgr_QueryInterface(This,riid,ppvObject) \
  368. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  369. #define IGameStatisticsMgr_AddRef(This) \
  370. ( (This)->lpVtbl -> AddRef(This) )
  371. #define IGameStatisticsMgr_Release(This) \
  372. ( (This)->lpVtbl -> Release(This) )
  373. #define IGameStatisticsMgr_GetGameStatistics(This,GDFBinaryPath,openType,pOpenResult,ppiStats) \
  374. ( (This)->lpVtbl -> GetGameStatistics(This,GDFBinaryPath,openType,pOpenResult,ppiStats) )
  375. #define IGameStatisticsMgr_RemoveGameStatistics(This,GDFBinaryPath) \
  376. ( (This)->lpVtbl -> RemoveGameStatistics(This,GDFBinaryPath) )
  377. #endif /* COBJMACROS */
  378. #endif /* C style interface */
  379. #endif /* __IGameStatisticsMgr_INTERFACE_DEFINED__ */
  380. #ifndef __IGameExplorer2_INTERFACE_DEFINED__
  381. #define __IGameExplorer2_INTERFACE_DEFINED__
  382. /* interface IGameExplorer2 */
  383. /* [unique][helpstring][uuid][object] */
  384. EXTERN_C const IID IID_IGameExplorer2;
  385. #if defined(__cplusplus) && !defined(CINTERFACE)
  386. MIDL_INTERFACE("86874AA7-A1ED-450d-A7EB-B89E20B2FFF3")
  387. IGameExplorer2 : public IUnknown
  388. {
  389. public:
  390. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InstallGame(
  391. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath,
  392. /* [unique][in] */ __RPC__in_opt LPCWSTR installDirectory,
  393. /* [in] */ GAME_INSTALL_SCOPE installScope) = 0;
  394. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UninstallGame(
  395. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath) = 0;
  396. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckAccess(
  397. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath,
  398. /* [retval][out] */ __RPC__out BOOL *pHasAccess) = 0;
  399. };
  400. #else /* C style interface */
  401. typedef struct IGameExplorer2Vtbl
  402. {
  403. BEGIN_INTERFACE
  404. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  405. __RPC__in IGameExplorer2 * This,
  406. /* [in] */ __RPC__in REFIID riid,
  407. /* [annotation][iid_is][out] */
  408. __RPC__deref_out void **ppvObject);
  409. ULONG ( STDMETHODCALLTYPE *AddRef )(
  410. __RPC__in IGameExplorer2 * This);
  411. ULONG ( STDMETHODCALLTYPE *Release )(
  412. __RPC__in IGameExplorer2 * This);
  413. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InstallGame )(
  414. __RPC__in IGameExplorer2 * This,
  415. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath,
  416. /* [unique][in] */ __RPC__in_opt LPCWSTR installDirectory,
  417. /* [in] */ GAME_INSTALL_SCOPE installScope);
  418. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UninstallGame )(
  419. __RPC__in IGameExplorer2 * This,
  420. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath);
  421. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckAccess )(
  422. __RPC__in IGameExplorer2 * This,
  423. /* [string][in] */ __RPC__in_string LPCWSTR binaryGDFPath,
  424. /* [retval][out] */ __RPC__out BOOL *pHasAccess);
  425. END_INTERFACE
  426. } IGameExplorer2Vtbl;
  427. interface IGameExplorer2
  428. {
  429. CONST_VTBL struct IGameExplorer2Vtbl *lpVtbl;
  430. };
  431. #ifdef COBJMACROS
  432. #define IGameExplorer2_QueryInterface(This,riid,ppvObject) \
  433. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  434. #define IGameExplorer2_AddRef(This) \
  435. ( (This)->lpVtbl -> AddRef(This) )
  436. #define IGameExplorer2_Release(This) \
  437. ( (This)->lpVtbl -> Release(This) )
  438. #define IGameExplorer2_InstallGame(This,binaryGDFPath,installDirectory,installScope) \
  439. ( (This)->lpVtbl -> InstallGame(This,binaryGDFPath,installDirectory,installScope) )
  440. #define IGameExplorer2_UninstallGame(This,binaryGDFPath) \
  441. ( (This)->lpVtbl -> UninstallGame(This,binaryGDFPath) )
  442. #define IGameExplorer2_CheckAccess(This,binaryGDFPath,pHasAccess) \
  443. ( (This)->lpVtbl -> CheckAccess(This,binaryGDFPath,pHasAccess) )
  444. #endif /* COBJMACROS */
  445. #endif /* C style interface */
  446. #endif /* __IGameExplorer2_INTERFACE_DEFINED__ */
  447. #ifndef __gameuxLib_LIBRARY_DEFINED__
  448. #define __gameuxLib_LIBRARY_DEFINED__
  449. /* library gameuxLib */
  450. /* [helpstring][version][uuid] */
  451. EXTERN_C const IID LIBID_gameuxLib;
  452. EXTERN_C const CLSID CLSID_GameExplorer;
  453. #ifdef __cplusplus
  454. class DECLSPEC_UUID("9A5EA990-3034-4D6F-9128-01F3C61022BC")
  455. GameExplorer;
  456. #endif
  457. EXTERN_C const CLSID CLSID_GameStatistics;
  458. #ifdef __cplusplus
  459. class DECLSPEC_UUID("DBC85A2C-C0DC-4961-B6E2-D28B62C11AD4")
  460. GameStatistics;
  461. #endif
  462. #endif /* __gameuxLib_LIBRARY_DEFINED__ */
  463. /* Additional Prototypes for ALL interfaces */
  464. unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
  465. unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
  466. unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
  467. void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
  468. unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
  469. unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
  470. unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
  471. void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * );
  472. /* end of Additional Prototypes */
  473. #ifdef __cplusplus
  474. }
  475. #endif
  476. #endif