dinputd.idl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. import "unknwn.idl";
  7. cpp_quote("#include \"winapifamily.h\"")
  8. cpp_quote("#ifndef DIRECTINPUT_VERSION")
  9. cpp_quote("#define DIRECTINPUT_VERSION 0x0800")
  10. cpp_quote("#endif")
  11. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  12. cpp_quote("")
  13. typedef struct DIOBJECTATTRIBUTES {
  14. DWORD dwFlags;
  15. WORD wUsagePage;
  16. WORD wUsage;
  17. } DIOBJECTATTRIBUTES, *LPDIOBJECTATTRIBUTES;
  18. typedef const DIOBJECTATTRIBUTES *LPCDIOBJECTATTRIBUTES;
  19. cpp_quote("")
  20. typedef struct DIFFOBJECTATTRIBUTES {
  21. DWORD dwFFMaxForce;
  22. DWORD dwFFForceResolution;
  23. } DIFFOBJECTATTRIBUTES, *LPDIFFOBJECTATTRIBUTES;
  24. typedef const DIFFOBJECTATTRIBUTES *LPCDIFFOBJECTATTRIBUTES;
  25. cpp_quote("")
  26. typedef struct DIOBJECTCALIBRATION {
  27. LONG lMin;
  28. LONG lCenter;
  29. LONG lMax;
  30. } DIOBJECTCALIBRATION, *LPDIOBJECTCALIBRATION;
  31. typedef const DIOBJECTCALIBRATION *LPCDIOBJECTCALIBRATION;
  32. cpp_quote("")
  33. typedef struct DIPOVCALIBRATION {
  34. LONG lMin[5];
  35. LONG lMax[5];
  36. } DIPOVCALIBRATION, *LPDIPOVCALIBRATION;
  37. typedef const DIPOVCALIBRATION *LPCDIPOVCALIBRATION;
  38. cpp_quote("")
  39. typedef struct DIEFFECTATTRIBUTES {
  40. DWORD dwEffectId;
  41. DWORD dwEffType;
  42. DWORD dwStaticParams;
  43. DWORD dwDynamicParams;
  44. DWORD dwCoords;
  45. } DIEFFECTATTRIBUTES, *LPDIEFFECTATTRIBUTES;
  46. typedef const DIEFFECTATTRIBUTES *LPCDIEFFECTATTRIBUTES;
  47. cpp_quote("")
  48. typedef struct DIFFDEVICEATTRIBUTES {
  49. DWORD dwFlags;
  50. DWORD dwFFSamplePeriod;
  51. DWORD dwFFMinTimeResolution;
  52. } DIFFDEVICEATTRIBUTES, *LPDIFFDEVICEATTRIBUTES;
  53. typedef const DIFFDEVICEATTRIBUTES *LPCDIFFDEVICEATTRIBUTES;
  54. cpp_quote("")
  55. typedef struct DIDRIVERVERSIONS {
  56. DWORD dwSize;
  57. DWORD dwFirmwareRevision;
  58. DWORD dwHardwareRevision;
  59. DWORD dwFFDriverVersion;
  60. } DIDRIVERVERSIONS, *LPDIDRIVERVERSIONS;
  61. typedef const DIDRIVERVERSIONS *LPCDIDRIVERVERSIONS;
  62. cpp_quote("")
  63. typedef struct DIDEVICESTATE {
  64. DWORD dwSize;
  65. DWORD dwState;
  66. DWORD dwLoad;
  67. } DIDEVICESTATE, *LPDIDEVICESTATE;
  68. cpp_quote("#define DEV_STS_EFFECT_RUNNING DIEGES_PLAYING")
  69. cpp_quote("#ifndef DIJ_RINGZERO")
  70. cpp_quote("")
  71. typedef struct DIHIDFFINITINFO {
  72. DWORD dwSize;
  73. LPWSTR pwszDeviceInterface;
  74. GUID GuidInstance;
  75. } DIHIDFFINITINFO, *LPDIHIDFFINITINFO;
  76. /* for this idl only, already defined in dinput.h */
  77. cpp_quote("#if 0")
  78. typedef struct DIEFFESCAPE DIEFFESCAPE, *LPDIEFFESCAPE;
  79. typedef struct DIEFFECT DIEFFECT, *LPDIEFFECT;
  80. typedef const DIEFFECT *LPCDIEFFECT;
  81. cpp_quote("#endif")
  82. cpp_quote("")
  83. [object, uuid(02538130-898f-11d0-9ad0-00a0c9a06e35), local]
  84. interface IDirectInputEffectDriver : IUnknown {
  85. HRESULT DeviceID (DWORD, DWORD, DWORD, DWORD, LPVOID);
  86. HRESULT GetVersions (LPDIDRIVERVERSIONS);
  87. HRESULT Escape (DWORD, DWORD, LPDIEFFESCAPE);
  88. HRESULT SetGain (DWORD, DWORD);
  89. HRESULT SendForceFeedbackCommand (DWORD, DWORD);
  90. HRESULT GetForceFeedbackState (DWORD, LPDIDEVICESTATE);
  91. HRESULT DownloadEffect (DWORD, DWORD, LPDWORD, LPCDIEFFECT, DWORD);
  92. HRESULT DestroyEffect (DWORD, DWORD);
  93. HRESULT StartEffect (DWORD, DWORD, DWORD, DWORD);
  94. HRESULT StopEffect (DWORD, DWORD);
  95. HRESULT GetEffectStatus (DWORD, DWORD, LPDWORD);
  96. }
  97. cpp_quote("#endif /* DIJ_RINGZERO */")
  98. cpp_quote("#ifndef JOY_HW_NONE")
  99. cpp_quote("#define JOY_HW_NONE 0")
  100. cpp_quote("#define JOY_HW_CUSTOM 1")
  101. cpp_quote("#define JOY_HW_2A_2B_GENERIC 2")
  102. cpp_quote("#define JOY_HW_2A_4B_GENERIC 3")
  103. cpp_quote("#define JOY_HW_2B_GAMEPAD 4")
  104. cpp_quote("#define JOY_HW_2B_FLIGHTYOKE 5")
  105. cpp_quote("#define JOY_HW_2B_FLIGHTYOKETHROTTLE 6")
  106. cpp_quote("#define JOY_HW_3A_2B_GENERIC 7")
  107. cpp_quote("#define JOY_HW_3A_4B_GENERIC 8")
  108. cpp_quote("#define JOY_HW_4B_GAMEPAD 9")
  109. cpp_quote("#define JOY_HW_4B_FLIGHTYOKE 10")
  110. cpp_quote("#define JOY_HW_4B_FLIGHTYOKETHROTTLE 11")
  111. cpp_quote("#define JOY_HW_TWO_2A_2B_WITH_Y 12")
  112. cpp_quote("#define JOY_HW_LASTENTRY 13")
  113. cpp_quote("#define JOY_ISCAL_XY 0x00000001")
  114. cpp_quote("#define JOY_ISCAL_Z 0x00000002")
  115. cpp_quote("#define JOY_ISCAL_R 0x00000004")
  116. cpp_quote("#define JOY_ISCAL_U 0x00000008")
  117. cpp_quote("#define JOY_ISCAL_V 0x00000010")
  118. cpp_quote("#define JOY_ISCAL_POV 0x00000020")
  119. const USHORT JOY_POVVAL_FORWARD = 0;
  120. const USHORT JOY_POVVAL_BACKWARD = 1;
  121. const USHORT JOY_POVVAL_LEFT = 2;
  122. const USHORT JOY_POVVAL_RIGHT = 3;
  123. const USHORT JOY_POV_NUMDIRS = 4;
  124. cpp_quote("#define JOY_HWS_HASZ 0x00000001")
  125. cpp_quote("#define JOY_HWS_HASPOV 0x00000002")
  126. cpp_quote("#define JOY_HWS_POVISBUTTONCOMBOS 0x00000004")
  127. cpp_quote("#define JOY_HWS_POVISPOLL 0x00000008")
  128. cpp_quote("#define JOY_HWS_ISYOKE 0x00000010")
  129. cpp_quote("#define JOY_HWS_ISGAMEPAD 0x00000020")
  130. cpp_quote("#define JOY_HWS_ISCARCTRL 0x00000040")
  131. cpp_quote("#define JOY_HWS_XISJ1Y 0x00000080")
  132. cpp_quote("#define JOY_HWS_XISJ2X 0x00000100")
  133. cpp_quote("#define JOY_HWS_XISJ2Y 0x00000200")
  134. cpp_quote("#define JOY_HWS_YISJ1X 0x00000400")
  135. cpp_quote("#define JOY_HWS_YISJ2X 0x00000800")
  136. cpp_quote("#define JOY_HWS_YISJ2Y 0x00001000")
  137. cpp_quote("#define JOY_HWS_ZISJ1X 0x00002000")
  138. cpp_quote("#define JOY_HWS_ZISJ1Y 0x00004000")
  139. cpp_quote("#define JOY_HWS_ZISJ2X 0x00008000")
  140. cpp_quote("#define JOY_HWS_POVISJ1X 0x00010000")
  141. cpp_quote("#define JOY_HWS_POVISJ1Y 0x00020000")
  142. cpp_quote("#define JOY_HWS_POVISJ2X 0x00040000")
  143. cpp_quote("#define JOY_HWS_HASR 0x00080000")
  144. cpp_quote("#define JOY_HWS_RISJ1X 0x00100000")
  145. cpp_quote("#define JOY_HWS_RISJ1Y 0x00200000")
  146. cpp_quote("#define JOY_HWS_RISJ2Y 0x00400000")
  147. cpp_quote("#define JOY_HWS_HASU 0x00800000")
  148. cpp_quote("#define JOY_HWS_HASV 0x01000000")
  149. cpp_quote("#define JOY_US_HASRUDDER 0x00000001")
  150. cpp_quote("#define JOY_US_PRESENT 0x00000002")
  151. cpp_quote("#define JOY_US_ISOEM 0x00000004")
  152. cpp_quote("#define JOY_US_RESERVED 0x80000000")
  153. cpp_quote("#define JOYTYPE_ZEROGAMEENUMOEMDATA 0x00000001")
  154. cpp_quote("#define JOYTYPE_NOAUTODETECTGAMEPORT 0x00000002")
  155. cpp_quote("#define JOYTYPE_NOHIDDIRECT 0x00000004")
  156. cpp_quote("#define JOYTYPE_ANALOGCOMPAT 0x00000008")
  157. cpp_quote("#define JOYTYPE_DEFAULTPROPSHEET 0x80000000")
  158. cpp_quote("#define JOYTYPE_DEVICEHIDE 0x00010000")
  159. cpp_quote("#define JOYTYPE_MOUSEHIDE 0x00020000")
  160. cpp_quote("#define JOYTYPE_KEYBHIDE 0x00040000")
  161. cpp_quote("#define JOYTYPE_GAMEHIDE 0x00080000")
  162. cpp_quote("#define JOYTYPE_HIDEACTIVE 0x00100000")
  163. cpp_quote("#define JOYTYPE_INFOMASK 0x00E00000")
  164. cpp_quote("#define JOYTYPE_INFODEFAULT 0x00000000")
  165. cpp_quote("#define JOYTYPE_INFOYYPEDALS 0x00200000")
  166. cpp_quote("#define JOYTYPE_INFOZYPEDALS 0x00400000")
  167. cpp_quote("#define JOYTYPE_INFOYRPEDALS 0x00600000")
  168. cpp_quote("#define JOYTYPE_INFOZRPEDALS 0x00800000")
  169. cpp_quote("#define JOYTYPE_INFOZISSLIDER 0x00200000")
  170. cpp_quote("#define JOYTYPE_INFOZISZ 0x00400000")
  171. cpp_quote("#define JOYTYPE_ENABLEINPUTREPORT 0x01000000")
  172. cpp_quote("")
  173. typedef struct joypos_tag {
  174. DWORD dwX;
  175. DWORD dwY;
  176. DWORD dwZ;
  177. DWORD dwR;
  178. DWORD dwU;
  179. DWORD dwV;
  180. } JOYPOS, *LPJOYPOS;
  181. cpp_quote("")
  182. typedef struct joyrange_tag {
  183. JOYPOS jpMin;
  184. JOYPOS jpMax;
  185. JOYPOS jpCenter;
  186. } JOYRANGE, *LPJOYRANGE;
  187. cpp_quote("")
  188. typedef struct joyreguservalues_tag {
  189. DWORD dwTimeOut;
  190. JOYRANGE jrvRanges;
  191. JOYPOS jpDeadZone;
  192. } JOYREGUSERVALUES, *LPJOYREGUSERVALUES;
  193. cpp_quote("")
  194. typedef struct joyreghwsettings_tag {
  195. DWORD dwFlags;
  196. DWORD dwNumButtons;
  197. } JOYREGHWSETTINGS, *LPJOYHWSETTINGS;
  198. cpp_quote("")
  199. typedef struct joyreghwvalues_tag {
  200. JOYRANGE jrvHardware;
  201. DWORD dwPOVValues[JOY_POV_NUMDIRS];
  202. DWORD dwCalFlags;
  203. } JOYREGHWVALUES, *LPJOYREGHWVALUES;
  204. cpp_quote("")
  205. typedef struct joyreghwconfig_tag {
  206. JOYREGHWSETTINGS hws;
  207. DWORD dwUsageSettings;
  208. JOYREGHWVALUES hwv;
  209. DWORD dwType;
  210. DWORD dwReserved;
  211. } JOYREGHWCONFIG, *LPJOYREGHWCONFIG;
  212. cpp_quote("")
  213. typedef struct joycalibrate_tag {
  214. UINT wXbase;
  215. UINT wXdelta;
  216. UINT wYbase;
  217. UINT wYdelta;
  218. UINT wZbase;
  219. UINT wZdelta;
  220. } JOYCALIBRATE, *LPJOYCALIBRATE;
  221. cpp_quote("#endif /* JOY_HW_NONE */")
  222. cpp_quote("#ifndef DIJ_RINGZERO")
  223. const USHORT MAX_JOYSTRING = 256;
  224. cpp_quote("typedef WINBOOL (WINAPI *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);")
  225. /* for this idl only */
  226. cpp_quote("#if 0")
  227. const USHORT MAX_JOYSTICKOEMVXDNAME = 260;
  228. cpp_quote("#endif")
  229. cpp_quote("#ifndef MAX_JOYSTICKOEMVXDNAME")
  230. cpp_quote("#define MAX_JOYSTICKOEMVXDNAME 260")
  231. cpp_quote("#endif")
  232. cpp_quote("#define DITC_REGHWSETTINGS 0x00000001")
  233. cpp_quote("#define DITC_CLSIDCONFIG 0x00000002")
  234. cpp_quote("#define DITC_DISPLAYNAME 0x00000004")
  235. cpp_quote("#define DITC_CALLOUT 0x00000008")
  236. cpp_quote("#define DITC_HARDWAREID 0x00000010")
  237. cpp_quote("#define DITC_FLAGS1 0x00000020")
  238. cpp_quote("#define DITC_FLAGS2 0x00000040")
  239. cpp_quote("#define DITC_MAPFILE 0x00000080")
  240. cpp_quote("")
  241. typedef struct DIJOYTYPEINFO_DX5 {
  242. DWORD dwSize;
  243. JOYREGHWSETTINGS hws;
  244. CLSID clsidConfig;
  245. WCHAR wszDisplayName[MAX_JOYSTRING];
  246. WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
  247. } DIJOYTYPEINFO_DX5, *LPDIJOYTYPEINFO_DX5;
  248. typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
  249. cpp_quote("")
  250. typedef struct DIJOYTYPEINFO_DX6 {
  251. DWORD dwSize;
  252. JOYREGHWSETTINGS hws;
  253. CLSID clsidConfig;
  254. WCHAR wszDisplayName[MAX_JOYSTRING];
  255. WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
  256. WCHAR wszHardwareId[MAX_JOYSTRING];
  257. DWORD dwFlags1;
  258. } DIJOYTYPEINFO_DX6, *LPDIJOYTYPEINFO_DX6;
  259. typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
  260. cpp_quote("")
  261. typedef struct DIJOYTYPEINFO {
  262. DWORD dwSize;
  263. JOYREGHWSETTINGS hws;
  264. CLSID clsidConfig;
  265. WCHAR wszDisplayName[MAX_JOYSTRING];
  266. WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
  267. WCHAR wszHardwareId[MAX_JOYSTRING];
  268. DWORD dwFlags1;
  269. DWORD dwFlags2;
  270. WCHAR wszMapFile[MAX_JOYSTRING];
  271. } DIJOYTYPEINFO, *LPDIJOYTYPEINFO;
  272. typedef const DIJOYTYPEINFO *LPCDIJOYTYPEINFO;
  273. cpp_quote("#define DIJC_GUIDINSTANCE 0x00000001")
  274. cpp_quote("#define DIJC_REGHWCONFIGTYPE 0x00000002")
  275. cpp_quote("#define DIJC_GAIN 0x00000004")
  276. cpp_quote("#define DIJC_CALLOUT 0x00000008")
  277. cpp_quote("#define DIJC_WDMGAMEPORT 0x00000010")
  278. cpp_quote("")
  279. typedef struct DIJOYCONFIG_DX5 {
  280. DWORD dwSize;
  281. GUID guidInstance;
  282. JOYREGHWCONFIG hwc;
  283. DWORD dwGain;
  284. WCHAR wszType[MAX_JOYSTRING];
  285. WCHAR wszCallout[MAX_JOYSTRING];
  286. } DIJOYCONFIG_DX5, *LPDIJOYCONFIG_DX5;
  287. typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
  288. cpp_quote("")
  289. typedef struct DIJOYCONFIG {
  290. DWORD dwSize;
  291. GUID guidInstance;
  292. JOYREGHWCONFIG hwc;
  293. DWORD dwGain;
  294. WCHAR wszType[MAX_JOYSTRING];
  295. WCHAR wszCallout[MAX_JOYSTRING];
  296. GUID guidGameport;
  297. } DIJOYCONFIG, *LPDIJOYCONFIG;
  298. typedef const DIJOYCONFIG *LPCDIJOYCONFIG;
  299. cpp_quote("#define DIJU_USERVALUES 0x00000001")
  300. cpp_quote("#define DIJU_GLOBALDRIVER 0x00000002")
  301. cpp_quote("#define DIJU_GAMEPORTEMULATOR 0x00000004")
  302. cpp_quote("")
  303. typedef struct DIJOYUSERVALUES {
  304. DWORD dwSize;
  305. JOYREGUSERVALUES ruv;
  306. WCHAR wszGlobalDriver[MAX_JOYSTRING];
  307. WCHAR wszGameportEmulator[MAX_JOYSTRING];
  308. } DIJOYUSERVALUES, *LPDIJOYUSERVALUES;
  309. typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
  310. cpp_quote("DEFINE_GUID(GUID_KeyboardClass, 0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);")
  311. cpp_quote("DEFINE_GUID(GUID_MediaClass, 0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);")
  312. cpp_quote("DEFINE_GUID(GUID_MouseClass, 0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);")
  313. cpp_quote("DEFINE_GUID(GUID_HIDClass, 0x745a17a0,0x74d3,0x11d0,0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda);")
  314. cpp_quote("")
  315. [object, uuid(1de12ab1-c9f5-11cf-bfc7-444553540000), local]
  316. interface IDirectInputJoyConfig : IUnknown {
  317. HRESULT Acquire ();
  318. HRESULT Unacquire ();
  319. HRESULT SetCooperativeLevel (HWND, DWORD);
  320. HRESULT SendNotify ();
  321. HRESULT EnumTypes (LPVOID, LPVOID);
  322. HRESULT GetTypeInfo (LPCWSTR, LPDIJOYTYPEINFO, DWORD);
  323. HRESULT SetTypeInfo (LPCWSTR, LPCDIJOYTYPEINFO, DWORD);
  324. HRESULT DeleteType (LPCWSTR);
  325. HRESULT GetConfig (UINT, LPDIJOYCONFIG, DWORD);
  326. HRESULT SetConfig (UINT, LPCDIJOYCONFIG, DWORD);
  327. HRESULT DeleteConfig (UINT);
  328. HRESULT GetUserValues (LPDIJOYUSERVALUES, DWORD);
  329. HRESULT SetUserValues (LPCDIJOYUSERVALUES, DWORD);
  330. HRESULT AddNewHardware (HWND, REFGUID);
  331. HRESULT OpenTypeKey (LPCWSTR, DWORD, HKEY*);
  332. HRESULT OpenConfigKey (UINT, DWORD, HKEY*);
  333. }
  334. cpp_quote("")
  335. [object, uuid(eb0d7dfa-1990-4f27-b4d6-edf2eec4a44c), local]
  336. interface IDirectInputJoyConfig8 : IUnknown {
  337. HRESULT Acquire ();
  338. HRESULT Unacquire ();
  339. HRESULT SetCooperativeLevel (HWND, DWORD);
  340. HRESULT SendNotify ();
  341. HRESULT EnumTypes (LPVOID, LPVOID);
  342. HRESULT GetTypeInfo (LPCWSTR, LPDIJOYTYPEINFO, DWORD);
  343. HRESULT SetTypeInfo (LPCWSTR, LPCDIJOYTYPEINFO, DWORD, LPWSTR);
  344. HRESULT DeleteType (LPCWSTR);
  345. HRESULT GetConfig (UINT, LPDIJOYCONFIG, DWORD);
  346. HRESULT SetConfig (UINT, LPCDIJOYCONFIG, DWORD);
  347. HRESULT DeleteConfig (UINT);
  348. HRESULT GetUserValues (LPDIJOYUSERVALUES, DWORD);
  349. HRESULT SetUserValues (LPCDIJOYUSERVALUES, DWORD);
  350. HRESULT AddNewHardware (HWND, REFGUID);
  351. HRESULT OpenTypeKey (LPCWSTR, DWORD, HKEY*);
  352. HRESULT OpenAppStatusKey (HKEY*);
  353. }
  354. cpp_quote("#endif /* DIJ_RINGZERO */")
  355. cpp_quote("#define DIRECTINPUT_NOTIFICATION_MSGSTRINGA \"DIRECTINPUT_NOTIFICATION_MSGSTRING\"")
  356. cpp_quote("#define DIRECTINPUT_NOTIFICATION_MSGSTRINGW L\"DIRECTINPUT_NOTIFICATION_MSGSTRING\"")
  357. cpp_quote("#define DIRECTINPUT_NOTIFICATION_MSGSTRING __MINGW_NAME_AW(DIRECTINPUT_NOTIFICATION_MSGSTRING)")
  358. cpp_quote("#define DIMSGWP_NEWAPPSTART 0x00000001")
  359. cpp_quote("#define DIMSGWP_DX8APPSTART 0x00000002")
  360. cpp_quote("#define DIMSGWP_DX8MAPPERAPPSTART 0x00000003")
  361. cpp_quote("#define DIAPPIDFLAG_NOTIME 0x00000001")
  362. cpp_quote("#define DIAPPIDFLAG_NOSIZE 0x00000002")
  363. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGA \"AppIdFlag\"")
  364. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTAPPA \"MostRecentApplication\"")
  365. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPA \"MostRecentMapperApplication\"")
  366. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_VERSIONA \"Version\"")
  367. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_NAMEA \"Name\"")
  368. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_IDA \"Id\"")
  369. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_MAPPERA \"UsesMapper\"")
  370. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_LASTSTARTA \"MostRecentStart\"")
  371. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGW L\"AppIdFlag\"")
  372. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTAPPW L\"MostRecentApplication\"")
  373. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPW L\"MostRecentMapperApplication\"")
  374. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_VERSIONW L\"Version\"")
  375. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_NAMEW L\"Name\"")
  376. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_IDW L\"Id\"")
  377. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_MAPPERW L\"UsesMapper\"")
  378. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_LASTSTARTW L\"MostRecentStart\"")
  379. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_APPIDFLAG __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_APPIDFLAG)")
  380. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTAPP)")
  381. cpp_quote("#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTMAPAPP)")
  382. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_VERSION __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_VERSION)")
  383. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_NAME __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_NAME)")
  384. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_ID __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_ID)")
  385. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_MAPPER __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_MAPPER)")
  386. cpp_quote("#define DIRECTINPUT_REGSTR_VAL_LASTSTART __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_LASTSTART)")
  387. cpp_quote("#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)")
  388. cpp_quote("#define DIERR_DRIVERFIRST __MSABI_LONG(0x80040300)")
  389. cpp_quote("#define DIERR_DRIVERLAST __MSABI_LONG(0x800403FF)")
  390. cpp_quote("#define DIERR_INVALIDCLASSINSTALLER __MSABI_LONG(0x80040400)")
  391. cpp_quote("#define DIERR_CANCELLED __MSABI_LONG(0x80040401)")
  392. cpp_quote("#define DIERR_BADINF __MSABI_LONG(0x80040402)")
  393. cpp_quote("#define DIDIFT_DELETE __MSABI_LONG(0x01000000)")
  394. cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")