source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dinputd.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 39.8 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/dinputd.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 __dinputd_h__
17#define __dinputd_h__
18
19/* Forward declarations */
20
21#ifndef __IDirectInputEffectDriver_FWD_DEFINED__
22#define __IDirectInputEffectDriver_FWD_DEFINED__
23typedef interface IDirectInputEffectDriver IDirectInputEffectDriver;
24#ifdef __cplusplus
25interface IDirectInputEffectDriver;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IDirectInputJoyConfig_FWD_DEFINED__
30#define __IDirectInputJoyConfig_FWD_DEFINED__
31typedef interface IDirectInputJoyConfig IDirectInputJoyConfig;
32#ifdef __cplusplus
33interface IDirectInputJoyConfig;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IDirectInputJoyConfig8_FWD_DEFINED__
38#define __IDirectInputJoyConfig8_FWD_DEFINED__
39typedef interface IDirectInputJoyConfig8 IDirectInputJoyConfig8;
40#ifdef __cplusplus
41interface IDirectInputJoyConfig8;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <unknwn.h>
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53#include "winapifamily.h"
54#ifndef DIRECTINPUT_VERSION
55#define DIRECTINPUT_VERSION 0x0800
56#endif
57#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
58
59typedef struct DIOBJECTATTRIBUTES {
60 DWORD dwFlags;
61 WORD wUsagePage;
62 WORD wUsage;
63} DIOBJECTATTRIBUTES;
64typedef struct DIOBJECTATTRIBUTES *LPDIOBJECTATTRIBUTES;
65typedef const DIOBJECTATTRIBUTES *LPCDIOBJECTATTRIBUTES;
66
67typedef struct DIFFOBJECTATTRIBUTES {
68 DWORD dwFFMaxForce;
69 DWORD dwFFForceResolution;
70} DIFFOBJECTATTRIBUTES;
71typedef struct DIFFOBJECTATTRIBUTES *LPDIFFOBJECTATTRIBUTES;
72typedef const DIFFOBJECTATTRIBUTES *LPCDIFFOBJECTATTRIBUTES;
73
74typedef struct DIOBJECTCALIBRATION {
75 LONG lMin;
76 LONG lCenter;
77 LONG lMax;
78} DIOBJECTCALIBRATION;
79typedef struct DIOBJECTCALIBRATION *LPDIOBJECTCALIBRATION;
80typedef const DIOBJECTCALIBRATION *LPCDIOBJECTCALIBRATION;
81
82typedef struct DIPOVCALIBRATION {
83 LONG lMin[5];
84 LONG lMax[5];
85} DIPOVCALIBRATION;
86typedef struct DIPOVCALIBRATION *LPDIPOVCALIBRATION;
87typedef const DIPOVCALIBRATION *LPCDIPOVCALIBRATION;
88
89typedef struct DIEFFECTATTRIBUTES {
90 DWORD dwEffectId;
91 DWORD dwEffType;
92 DWORD dwStaticParams;
93 DWORD dwDynamicParams;
94 DWORD dwCoords;
95} DIEFFECTATTRIBUTES;
96typedef struct DIEFFECTATTRIBUTES *LPDIEFFECTATTRIBUTES;
97typedef const DIEFFECTATTRIBUTES *LPCDIEFFECTATTRIBUTES;
98
99typedef struct DIFFDEVICEATTRIBUTES {
100 DWORD dwFlags;
101 DWORD dwFFSamplePeriod;
102 DWORD dwFFMinTimeResolution;
103} DIFFDEVICEATTRIBUTES;
104typedef struct DIFFDEVICEATTRIBUTES *LPDIFFDEVICEATTRIBUTES;
105typedef const DIFFDEVICEATTRIBUTES *LPCDIFFDEVICEATTRIBUTES;
106
107typedef struct DIDRIVERVERSIONS {
108 DWORD dwSize;
109 DWORD dwFirmwareRevision;
110 DWORD dwHardwareRevision;
111 DWORD dwFFDriverVersion;
112} DIDRIVERVERSIONS;
113typedef struct DIDRIVERVERSIONS *LPDIDRIVERVERSIONS;
114typedef const DIDRIVERVERSIONS *LPCDIDRIVERVERSIONS;
115
116typedef struct DIDEVICESTATE {
117 DWORD dwSize;
118 DWORD dwState;
119 DWORD dwLoad;
120} DIDEVICESTATE;
121typedef struct DIDEVICESTATE *LPDIDEVICESTATE;
122#define DEV_STS_EFFECT_RUNNING DIEGES_PLAYING
123#ifndef DIJ_RINGZERO
124
125typedef struct DIHIDFFINITINFO {
126 DWORD dwSize;
127 LPWSTR pwszDeviceInterface;
128 GUID GuidInstance;
129} DIHIDFFINITINFO;
130typedef struct DIHIDFFINITINFO *LPDIHIDFFINITINFO;
131#if 0
132typedef struct DIEFFESCAPE DIEFFESCAPE;
133typedef struct DIEFFESCAPE *LPDIEFFESCAPE;
134typedef struct DIEFFECT DIEFFECT;
135typedef struct DIEFFECT *LPDIEFFECT;
136typedef const DIEFFECT *LPCDIEFFECT;
137#endif
138
139/*****************************************************************************
140 * IDirectInputEffectDriver interface
141 */
142#ifndef __IDirectInputEffectDriver_INTERFACE_DEFINED__
143#define __IDirectInputEffectDriver_INTERFACE_DEFINED__
144
145DEFINE_GUID(IID_IDirectInputEffectDriver, 0x02538130, 0x898f, 0x11d0, 0x9a,0xd0, 0x00,0xa0,0xc9,0xa0,0x6e,0x35);
146#if defined(__cplusplus) && !defined(CINTERFACE)
147MIDL_INTERFACE("02538130-898f-11d0-9ad0-00a0c9a06e35")
148IDirectInputEffectDriver : public IUnknown
149{
150 virtual HRESULT STDMETHODCALLTYPE DeviceID(
151 DWORD a,
152 DWORD b,
153 DWORD c,
154 DWORD d,
155 LPVOID e) = 0;
156
157 virtual HRESULT STDMETHODCALLTYPE GetVersions(
158 LPDIDRIVERVERSIONS a) = 0;
159
160 virtual HRESULT STDMETHODCALLTYPE Escape(
161 DWORD a,
162 DWORD b,
163 LPDIEFFESCAPE c) = 0;
164
165 virtual HRESULT STDMETHODCALLTYPE SetGain(
166 DWORD a,
167 DWORD b) = 0;
168
169 virtual HRESULT STDMETHODCALLTYPE SendForceFeedbackCommand(
170 DWORD a,
171 DWORD b) = 0;
172
173 virtual HRESULT STDMETHODCALLTYPE GetForceFeedbackState(
174 DWORD a,
175 LPDIDEVICESTATE b) = 0;
176
177 virtual HRESULT STDMETHODCALLTYPE DownloadEffect(
178 DWORD a,
179 DWORD b,
180 LPDWORD c,
181 LPCDIEFFECT d,
182 DWORD e) = 0;
183
184 virtual HRESULT STDMETHODCALLTYPE DestroyEffect(
185 DWORD a,
186 DWORD b) = 0;
187
188 virtual HRESULT STDMETHODCALLTYPE StartEffect(
189 DWORD a,
190 DWORD b,
191 DWORD c,
192 DWORD d) = 0;
193
194 virtual HRESULT STDMETHODCALLTYPE StopEffect(
195 DWORD a,
196 DWORD b) = 0;
197
198 virtual HRESULT STDMETHODCALLTYPE GetEffectStatus(
199 DWORD a,
200 DWORD b,
201 LPDWORD c) = 0;
202
203};
204#ifdef __CRT_UUID_DECL
205__CRT_UUID_DECL(IDirectInputEffectDriver, 0x02538130, 0x898f, 0x11d0, 0x9a,0xd0, 0x00,0xa0,0xc9,0xa0,0x6e,0x35)
206#endif
207#else
208typedef struct IDirectInputEffectDriverVtbl {
209 BEGIN_INTERFACE
210
211 /*** IUnknown methods ***/
212 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
213 IDirectInputEffectDriver *This,
214 REFIID riid,
215 void **ppvObject);
216
217 ULONG (STDMETHODCALLTYPE *AddRef)(
218 IDirectInputEffectDriver *This);
219
220 ULONG (STDMETHODCALLTYPE *Release)(
221 IDirectInputEffectDriver *This);
222
223 /*** IDirectInputEffectDriver methods ***/
224 HRESULT (STDMETHODCALLTYPE *DeviceID)(
225 IDirectInputEffectDriver *This,
226 DWORD a,
227 DWORD b,
228 DWORD c,
229 DWORD d,
230 LPVOID e);
231
232 HRESULT (STDMETHODCALLTYPE *GetVersions)(
233 IDirectInputEffectDriver *This,
234 LPDIDRIVERVERSIONS a);
235
236 HRESULT (STDMETHODCALLTYPE *Escape)(
237 IDirectInputEffectDriver *This,
238 DWORD a,
239 DWORD b,
240 LPDIEFFESCAPE c);
241
242 HRESULT (STDMETHODCALLTYPE *SetGain)(
243 IDirectInputEffectDriver *This,
244 DWORD a,
245 DWORD b);
246
247 HRESULT (STDMETHODCALLTYPE *SendForceFeedbackCommand)(
248 IDirectInputEffectDriver *This,
249 DWORD a,
250 DWORD b);
251
252 HRESULT (STDMETHODCALLTYPE *GetForceFeedbackState)(
253 IDirectInputEffectDriver *This,
254 DWORD a,
255 LPDIDEVICESTATE b);
256
257 HRESULT (STDMETHODCALLTYPE *DownloadEffect)(
258 IDirectInputEffectDriver *This,
259 DWORD a,
260 DWORD b,
261 LPDWORD c,
262 LPCDIEFFECT d,
263 DWORD e);
264
265 HRESULT (STDMETHODCALLTYPE *DestroyEffect)(
266 IDirectInputEffectDriver *This,
267 DWORD a,
268 DWORD b);
269
270 HRESULT (STDMETHODCALLTYPE *StartEffect)(
271 IDirectInputEffectDriver *This,
272 DWORD a,
273 DWORD b,
274 DWORD c,
275 DWORD d);
276
277 HRESULT (STDMETHODCALLTYPE *StopEffect)(
278 IDirectInputEffectDriver *This,
279 DWORD a,
280 DWORD b);
281
282 HRESULT (STDMETHODCALLTYPE *GetEffectStatus)(
283 IDirectInputEffectDriver *This,
284 DWORD a,
285 DWORD b,
286 LPDWORD c);
287
288 END_INTERFACE
289} IDirectInputEffectDriverVtbl;
290
291interface IDirectInputEffectDriver {
292 CONST_VTBL IDirectInputEffectDriverVtbl* lpVtbl;
293};
294
295#ifdef COBJMACROS
296#ifndef WIDL_C_INLINE_WRAPPERS
297/*** IUnknown methods ***/
298#define IDirectInputEffectDriver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
299#define IDirectInputEffectDriver_AddRef(This) (This)->lpVtbl->AddRef(This)
300#define IDirectInputEffectDriver_Release(This) (This)->lpVtbl->Release(This)
301/*** IDirectInputEffectDriver methods ***/
302#define IDirectInputEffectDriver_DeviceID(This,a,b,c,d,e) (This)->lpVtbl->DeviceID(This,a,b,c,d,e)
303#define IDirectInputEffectDriver_GetVersions(This,a) (This)->lpVtbl->GetVersions(This,a)
304#define IDirectInputEffectDriver_Escape(This,a,b,c) (This)->lpVtbl->Escape(This,a,b,c)
305#define IDirectInputEffectDriver_SetGain(This,a,b) (This)->lpVtbl->SetGain(This,a,b)
306#define IDirectInputEffectDriver_SendForceFeedbackCommand(This,a,b) (This)->lpVtbl->SendForceFeedbackCommand(This,a,b)
307#define IDirectInputEffectDriver_GetForceFeedbackState(This,a,b) (This)->lpVtbl->GetForceFeedbackState(This,a,b)
308#define IDirectInputEffectDriver_DownloadEffect(This,a,b,c,d,e) (This)->lpVtbl->DownloadEffect(This,a,b,c,d,e)
309#define IDirectInputEffectDriver_DestroyEffect(This,a,b) (This)->lpVtbl->DestroyEffect(This,a,b)
310#define IDirectInputEffectDriver_StartEffect(This,a,b,c,d) (This)->lpVtbl->StartEffect(This,a,b,c,d)
311#define IDirectInputEffectDriver_StopEffect(This,a,b) (This)->lpVtbl->StopEffect(This,a,b)
312#define IDirectInputEffectDriver_GetEffectStatus(This,a,b,c) (This)->lpVtbl->GetEffectStatus(This,a,b,c)
313#else
314/*** IUnknown methods ***/
315static FORCEINLINE HRESULT IDirectInputEffectDriver_QueryInterface(IDirectInputEffectDriver* This,REFIID riid,void **ppvObject) {
316 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
317}
318static FORCEINLINE ULONG IDirectInputEffectDriver_AddRef(IDirectInputEffectDriver* This) {
319 return This->lpVtbl->AddRef(This);
320}
321static FORCEINLINE ULONG IDirectInputEffectDriver_Release(IDirectInputEffectDriver* This) {
322 return This->lpVtbl->Release(This);
323}
324/*** IDirectInputEffectDriver methods ***/
325static FORCEINLINE HRESULT IDirectInputEffectDriver_DeviceID(IDirectInputEffectDriver* This,DWORD a,DWORD b,DWORD c,DWORD d,LPVOID e) {
326 return This->lpVtbl->DeviceID(This,a,b,c,d,e);
327}
328static FORCEINLINE HRESULT IDirectInputEffectDriver_GetVersions(IDirectInputEffectDriver* This,LPDIDRIVERVERSIONS a) {
329 return This->lpVtbl->GetVersions(This,a);
330}
331static FORCEINLINE HRESULT IDirectInputEffectDriver_Escape(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDIEFFESCAPE c) {
332 return This->lpVtbl->Escape(This,a,b,c);
333}
334static FORCEINLINE HRESULT IDirectInputEffectDriver_SetGain(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
335 return This->lpVtbl->SetGain(This,a,b);
336}
337static FORCEINLINE HRESULT IDirectInputEffectDriver_SendForceFeedbackCommand(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
338 return This->lpVtbl->SendForceFeedbackCommand(This,a,b);
339}
340static FORCEINLINE HRESULT IDirectInputEffectDriver_GetForceFeedbackState(IDirectInputEffectDriver* This,DWORD a,LPDIDEVICESTATE b) {
341 return This->lpVtbl->GetForceFeedbackState(This,a,b);
342}
343static FORCEINLINE HRESULT IDirectInputEffectDriver_DownloadEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDWORD c,LPCDIEFFECT d,DWORD e) {
344 return This->lpVtbl->DownloadEffect(This,a,b,c,d,e);
345}
346static FORCEINLINE HRESULT IDirectInputEffectDriver_DestroyEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
347 return This->lpVtbl->DestroyEffect(This,a,b);
348}
349static FORCEINLINE HRESULT IDirectInputEffectDriver_StartEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b,DWORD c,DWORD d) {
350 return This->lpVtbl->StartEffect(This,a,b,c,d);
351}
352static FORCEINLINE HRESULT IDirectInputEffectDriver_StopEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
353 return This->lpVtbl->StopEffect(This,a,b);
354}
355static FORCEINLINE HRESULT IDirectInputEffectDriver_GetEffectStatus(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDWORD c) {
356 return This->lpVtbl->GetEffectStatus(This,a,b,c);
357}
358#endif
359#endif
360
361#endif
362
363
364#endif /* __IDirectInputEffectDriver_INTERFACE_DEFINED__ */
365
366#endif /* DIJ_RINGZERO */
367#ifndef JOY_HW_NONE
368#define JOY_HW_NONE 0
369#define JOY_HW_CUSTOM 1
370#define JOY_HW_2A_2B_GENERIC 2
371#define JOY_HW_2A_4B_GENERIC 3
372#define JOY_HW_2B_GAMEPAD 4
373#define JOY_HW_2B_FLIGHTYOKE 5
374#define JOY_HW_2B_FLIGHTYOKETHROTTLE 6
375#define JOY_HW_3A_2B_GENERIC 7
376#define JOY_HW_3A_4B_GENERIC 8
377#define JOY_HW_4B_GAMEPAD 9
378#define JOY_HW_4B_FLIGHTYOKE 10
379#define JOY_HW_4B_FLIGHTYOKETHROTTLE 11
380#define JOY_HW_TWO_2A_2B_WITH_Y 12
381#define JOY_HW_LASTENTRY 13
382#define JOY_ISCAL_XY 0x00000001
383#define JOY_ISCAL_Z 0x00000002
384#define JOY_ISCAL_R 0x00000004
385#define JOY_ISCAL_U 0x00000008
386#define JOY_ISCAL_V 0x00000010
387#define JOY_ISCAL_POV 0x00000020
388#define JOY_POVVAL_FORWARD (0)
389
390#define JOY_POVVAL_BACKWARD (1)
391
392#define JOY_POVVAL_LEFT (2)
393
394#define JOY_POVVAL_RIGHT (3)
395
396#define JOY_POV_NUMDIRS (4)
397
398#define JOY_HWS_HASZ 0x00000001
399#define JOY_HWS_HASPOV 0x00000002
400#define JOY_HWS_POVISBUTTONCOMBOS 0x00000004
401#define JOY_HWS_POVISPOLL 0x00000008
402#define JOY_HWS_ISYOKE 0x00000010
403#define JOY_HWS_ISGAMEPAD 0x00000020
404#define JOY_HWS_ISCARCTRL 0x00000040
405#define JOY_HWS_XISJ1Y 0x00000080
406#define JOY_HWS_XISJ2X 0x00000100
407#define JOY_HWS_XISJ2Y 0x00000200
408#define JOY_HWS_YISJ1X 0x00000400
409#define JOY_HWS_YISJ2X 0x00000800
410#define JOY_HWS_YISJ2Y 0x00001000
411#define JOY_HWS_ZISJ1X 0x00002000
412#define JOY_HWS_ZISJ1Y 0x00004000
413#define JOY_HWS_ZISJ2X 0x00008000
414#define JOY_HWS_POVISJ1X 0x00010000
415#define JOY_HWS_POVISJ1Y 0x00020000
416#define JOY_HWS_POVISJ2X 0x00040000
417#define JOY_HWS_HASR 0x00080000
418#define JOY_HWS_RISJ1X 0x00100000
419#define JOY_HWS_RISJ1Y 0x00200000
420#define JOY_HWS_RISJ2Y 0x00400000
421#define JOY_HWS_HASU 0x00800000
422#define JOY_HWS_HASV 0x01000000
423#define JOY_US_HASRUDDER 0x00000001
424#define JOY_US_PRESENT 0x00000002
425#define JOY_US_ISOEM 0x00000004
426#define JOY_US_RESERVED 0x80000000
427#define JOYTYPE_ZEROGAMEENUMOEMDATA 0x00000001
428#define JOYTYPE_NOAUTODETECTGAMEPORT 0x00000002
429#define JOYTYPE_NOHIDDIRECT 0x00000004
430#define JOYTYPE_ANALOGCOMPAT 0x00000008
431#define JOYTYPE_DEFAULTPROPSHEET 0x80000000
432#define JOYTYPE_DEVICEHIDE 0x00010000
433#define JOYTYPE_MOUSEHIDE 0x00020000
434#define JOYTYPE_KEYBHIDE 0x00040000
435#define JOYTYPE_GAMEHIDE 0x00080000
436#define JOYTYPE_HIDEACTIVE 0x00100000
437#define JOYTYPE_INFOMASK 0x00E00000
438#define JOYTYPE_INFODEFAULT 0x00000000
439#define JOYTYPE_INFOYYPEDALS 0x00200000
440#define JOYTYPE_INFOZYPEDALS 0x00400000
441#define JOYTYPE_INFOYRPEDALS 0x00600000
442#define JOYTYPE_INFOZRPEDALS 0x00800000
443#define JOYTYPE_INFOZISSLIDER 0x00200000
444#define JOYTYPE_INFOZISZ 0x00400000
445#define JOYTYPE_ENABLEINPUTREPORT 0x01000000
446
447typedef struct joypos_tag {
448 DWORD dwX;
449 DWORD dwY;
450 DWORD dwZ;
451 DWORD dwR;
452 DWORD dwU;
453 DWORD dwV;
454} JOYPOS;
455typedef struct joypos_tag *LPJOYPOS;
456
457typedef struct joyrange_tag {
458 JOYPOS jpMin;
459 JOYPOS jpMax;
460 JOYPOS jpCenter;
461} JOYRANGE;
462typedef struct joyrange_tag *LPJOYRANGE;
463
464typedef struct joyreguservalues_tag {
465 DWORD dwTimeOut;
466 JOYRANGE jrvRanges;
467 JOYPOS jpDeadZone;
468} JOYREGUSERVALUES;
469typedef struct joyreguservalues_tag *LPJOYREGUSERVALUES;
470
471typedef struct joyreghwsettings_tag {
472 DWORD dwFlags;
473 DWORD dwNumButtons;
474} JOYREGHWSETTINGS;
475typedef struct joyreghwsettings_tag *LPJOYHWSETTINGS;
476
477typedef struct joyreghwvalues_tag {
478 JOYRANGE jrvHardware;
479 DWORD dwPOVValues[4];
480 DWORD dwCalFlags;
481} JOYREGHWVALUES;
482typedef struct joyreghwvalues_tag *LPJOYREGHWVALUES;
483
484typedef struct joyreghwconfig_tag {
485 JOYREGHWSETTINGS hws;
486 DWORD dwUsageSettings;
487 JOYREGHWVALUES hwv;
488 DWORD dwType;
489 DWORD dwReserved;
490} JOYREGHWCONFIG;
491typedef struct joyreghwconfig_tag *LPJOYREGHWCONFIG;
492
493typedef struct joycalibrate_tag {
494 UINT wXbase;
495 UINT wXdelta;
496 UINT wYbase;
497 UINT wYdelta;
498 UINT wZbase;
499 UINT wZdelta;
500} JOYCALIBRATE;
501typedef struct joycalibrate_tag *LPJOYCALIBRATE;
502#endif /* JOY_HW_NONE */
503#ifndef DIJ_RINGZERO
504#define MAX_JOYSTRING (256)
505
506typedef WINBOOL (WINAPI *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
507#if 0
508#define MAX_JOYSTICKOEMVXDNAME (260)
509
510#endif
511#ifndef MAX_JOYSTICKOEMVXDNAME
512#define MAX_JOYSTICKOEMVXDNAME 260
513#endif
514#define DITC_REGHWSETTINGS 0x00000001
515#define DITC_CLSIDCONFIG 0x00000002
516#define DITC_DISPLAYNAME 0x00000004
517#define DITC_CALLOUT 0x00000008
518#define DITC_HARDWAREID 0x00000010
519#define DITC_FLAGS1 0x00000020
520#define DITC_FLAGS2 0x00000040
521#define DITC_MAPFILE 0x00000080
522
523typedef struct DIJOYTYPEINFO_DX5 {
524 DWORD dwSize;
525 JOYREGHWSETTINGS hws;
526 CLSID clsidConfig;
527 WCHAR wszDisplayName[256];
528 WCHAR wszCallout[260];
529} DIJOYTYPEINFO_DX5;
530typedef struct DIJOYTYPEINFO_DX5 *LPDIJOYTYPEINFO_DX5;
531typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
532
533typedef struct DIJOYTYPEINFO_DX6 {
534 DWORD dwSize;
535 JOYREGHWSETTINGS hws;
536 CLSID clsidConfig;
537 WCHAR wszDisplayName[256];
538 WCHAR wszCallout[260];
539 WCHAR wszHardwareId[256];
540 DWORD dwFlags1;
541} DIJOYTYPEINFO_DX6;
542typedef struct DIJOYTYPEINFO_DX6 *LPDIJOYTYPEINFO_DX6;
543typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
544
545typedef struct DIJOYTYPEINFO {
546 DWORD dwSize;
547 JOYREGHWSETTINGS hws;
548 CLSID clsidConfig;
549 WCHAR wszDisplayName[256];
550 WCHAR wszCallout[260];
551 WCHAR wszHardwareId[256];
552 DWORD dwFlags1;
553 DWORD dwFlags2;
554 WCHAR wszMapFile[256];
555} DIJOYTYPEINFO;
556typedef struct DIJOYTYPEINFO *LPDIJOYTYPEINFO;
557typedef const DIJOYTYPEINFO *LPCDIJOYTYPEINFO;
558#define DIJC_GUIDINSTANCE 0x00000001
559#define DIJC_REGHWCONFIGTYPE 0x00000002
560#define DIJC_GAIN 0x00000004
561#define DIJC_CALLOUT 0x00000008
562#define DIJC_WDMGAMEPORT 0x00000010
563
564typedef struct DIJOYCONFIG_DX5 {
565 DWORD dwSize;
566 GUID guidInstance;
567 JOYREGHWCONFIG hwc;
568 DWORD dwGain;
569 WCHAR wszType[256];
570 WCHAR wszCallout[256];
571} DIJOYCONFIG_DX5;
572typedef struct DIJOYCONFIG_DX5 *LPDIJOYCONFIG_DX5;
573typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
574
575typedef struct DIJOYCONFIG {
576 DWORD dwSize;
577 GUID guidInstance;
578 JOYREGHWCONFIG hwc;
579 DWORD dwGain;
580 WCHAR wszType[256];
581 WCHAR wszCallout[256];
582 GUID guidGameport;
583} DIJOYCONFIG;
584typedef struct DIJOYCONFIG *LPDIJOYCONFIG;
585typedef const DIJOYCONFIG *LPCDIJOYCONFIG;
586#define DIJU_USERVALUES 0x00000001
587#define DIJU_GLOBALDRIVER 0x00000002
588#define DIJU_GAMEPORTEMULATOR 0x00000004
589
590typedef struct DIJOYUSERVALUES {
591 DWORD dwSize;
592 JOYREGUSERVALUES ruv;
593 WCHAR wszGlobalDriver[256];
594 WCHAR wszGameportEmulator[256];
595} DIJOYUSERVALUES;
596typedef struct DIJOYUSERVALUES *LPDIJOYUSERVALUES;
597typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
598DEFINE_GUID(GUID_KeyboardClass, 0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
599DEFINE_GUID(GUID_MediaClass, 0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
600DEFINE_GUID(GUID_MouseClass, 0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
601DEFINE_GUID(GUID_HIDClass, 0x745a17a0,0x74d3,0x11d0,0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda);
602
603/*****************************************************************************
604 * IDirectInputJoyConfig interface
605 */
606#ifndef __IDirectInputJoyConfig_INTERFACE_DEFINED__
607#define __IDirectInputJoyConfig_INTERFACE_DEFINED__
608
609DEFINE_GUID(IID_IDirectInputJoyConfig, 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf,0xc7, 0x44,0x45,0x53,0x54,0x00,0x00);
610#if defined(__cplusplus) && !defined(CINTERFACE)
611MIDL_INTERFACE("1de12ab1-c9f5-11cf-bfc7-444553540000")
612IDirectInputJoyConfig : public IUnknown
613{
614 virtual HRESULT STDMETHODCALLTYPE Acquire(
615 ) = 0;
616
617 virtual HRESULT STDMETHODCALLTYPE Unacquire(
618 ) = 0;
619
620 virtual HRESULT STDMETHODCALLTYPE SetCooperativeLevel(
621 HWND a,
622 DWORD b) = 0;
623
624 virtual HRESULT STDMETHODCALLTYPE SendNotify(
625 ) = 0;
626
627 virtual HRESULT STDMETHODCALLTYPE EnumTypes(
628 LPVOID a,
629 LPVOID b) = 0;
630
631 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
632 LPCWSTR a,
633 LPDIJOYTYPEINFO b,
634 DWORD c) = 0;
635
636 virtual HRESULT STDMETHODCALLTYPE SetTypeInfo(
637 LPCWSTR a,
638 LPCDIJOYTYPEINFO b,
639 DWORD c) = 0;
640
641 virtual HRESULT STDMETHODCALLTYPE DeleteType(
642 LPCWSTR a) = 0;
643
644 virtual HRESULT STDMETHODCALLTYPE GetConfig(
645 UINT a,
646 LPDIJOYCONFIG b,
647 DWORD c) = 0;
648
649 virtual HRESULT STDMETHODCALLTYPE SetConfig(
650 UINT a,
651 LPCDIJOYCONFIG b,
652 DWORD c) = 0;
653
654 virtual HRESULT STDMETHODCALLTYPE DeleteConfig(
655 UINT a) = 0;
656
657 virtual HRESULT STDMETHODCALLTYPE GetUserValues(
658 LPDIJOYUSERVALUES a,
659 DWORD b) = 0;
660
661 virtual HRESULT STDMETHODCALLTYPE SetUserValues(
662 LPCDIJOYUSERVALUES a,
663 DWORD b) = 0;
664
665 virtual HRESULT STDMETHODCALLTYPE AddNewHardware(
666 HWND a,
667 REFGUID b) = 0;
668
669 virtual HRESULT STDMETHODCALLTYPE OpenTypeKey(
670 LPCWSTR a,
671 DWORD b,
672 HKEY *c) = 0;
673
674 virtual HRESULT STDMETHODCALLTYPE OpenConfigKey(
675 UINT a,
676 DWORD b,
677 HKEY *c) = 0;
678
679};
680#ifdef __CRT_UUID_DECL
681__CRT_UUID_DECL(IDirectInputJoyConfig, 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf,0xc7, 0x44,0x45,0x53,0x54,0x00,0x00)
682#endif
683#else
684typedef struct IDirectInputJoyConfigVtbl {
685 BEGIN_INTERFACE
686
687 /*** IUnknown methods ***/
688 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
689 IDirectInputJoyConfig *This,
690 REFIID riid,
691 void **ppvObject);
692
693 ULONG (STDMETHODCALLTYPE *AddRef)(
694 IDirectInputJoyConfig *This);
695
696 ULONG (STDMETHODCALLTYPE *Release)(
697 IDirectInputJoyConfig *This);
698
699 /*** IDirectInputJoyConfig methods ***/
700 HRESULT (STDMETHODCALLTYPE *Acquire)(
701 IDirectInputJoyConfig *This);
702
703 HRESULT (STDMETHODCALLTYPE *Unacquire)(
704 IDirectInputJoyConfig *This);
705
706 HRESULT (STDMETHODCALLTYPE *SetCooperativeLevel)(
707 IDirectInputJoyConfig *This,
708 HWND a,
709 DWORD b);
710
711 HRESULT (STDMETHODCALLTYPE *SendNotify)(
712 IDirectInputJoyConfig *This);
713
714 HRESULT (STDMETHODCALLTYPE *EnumTypes)(
715 IDirectInputJoyConfig *This,
716 LPVOID a,
717 LPVOID b);
718
719 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
720 IDirectInputJoyConfig *This,
721 LPCWSTR a,
722 LPDIJOYTYPEINFO b,
723 DWORD c);
724
725 HRESULT (STDMETHODCALLTYPE *SetTypeInfo)(
726 IDirectInputJoyConfig *This,
727 LPCWSTR a,
728 LPCDIJOYTYPEINFO b,
729 DWORD c);
730
731 HRESULT (STDMETHODCALLTYPE *DeleteType)(
732 IDirectInputJoyConfig *This,
733 LPCWSTR a);
734
735 HRESULT (STDMETHODCALLTYPE *GetConfig)(
736 IDirectInputJoyConfig *This,
737 UINT a,
738 LPDIJOYCONFIG b,
739 DWORD c);
740
741 HRESULT (STDMETHODCALLTYPE *SetConfig)(
742 IDirectInputJoyConfig *This,
743 UINT a,
744 LPCDIJOYCONFIG b,
745 DWORD c);
746
747 HRESULT (STDMETHODCALLTYPE *DeleteConfig)(
748 IDirectInputJoyConfig *This,
749 UINT a);
750
751 HRESULT (STDMETHODCALLTYPE *GetUserValues)(
752 IDirectInputJoyConfig *This,
753 LPDIJOYUSERVALUES a,
754 DWORD b);
755
756 HRESULT (STDMETHODCALLTYPE *SetUserValues)(
757 IDirectInputJoyConfig *This,
758 LPCDIJOYUSERVALUES a,
759 DWORD b);
760
761 HRESULT (STDMETHODCALLTYPE *AddNewHardware)(
762 IDirectInputJoyConfig *This,
763 HWND a,
764 REFGUID b);
765
766 HRESULT (STDMETHODCALLTYPE *OpenTypeKey)(
767 IDirectInputJoyConfig *This,
768 LPCWSTR a,
769 DWORD b,
770 HKEY *c);
771
772 HRESULT (STDMETHODCALLTYPE *OpenConfigKey)(
773 IDirectInputJoyConfig *This,
774 UINT a,
775 DWORD b,
776 HKEY *c);
777
778 END_INTERFACE
779} IDirectInputJoyConfigVtbl;
780
781interface IDirectInputJoyConfig {
782 CONST_VTBL IDirectInputJoyConfigVtbl* lpVtbl;
783};
784
785#ifdef COBJMACROS
786#ifndef WIDL_C_INLINE_WRAPPERS
787/*** IUnknown methods ***/
788#define IDirectInputJoyConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
789#define IDirectInputJoyConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
790#define IDirectInputJoyConfig_Release(This) (This)->lpVtbl->Release(This)
791/*** IDirectInputJoyConfig methods ***/
792#define IDirectInputJoyConfig_Acquire(This) (This)->lpVtbl->Acquire(This)
793#define IDirectInputJoyConfig_Unacquire(This) (This)->lpVtbl->Unacquire(This)
794#define IDirectInputJoyConfig_SetCooperativeLevel(This,a,b) (This)->lpVtbl->SetCooperativeLevel(This,a,b)
795#define IDirectInputJoyConfig_SendNotify(This) (This)->lpVtbl->SendNotify(This)
796#define IDirectInputJoyConfig_EnumTypes(This,a,b) (This)->lpVtbl->EnumTypes(This,a,b)
797#define IDirectInputJoyConfig_GetTypeInfo(This,a,b,c) (This)->lpVtbl->GetTypeInfo(This,a,b,c)
798#define IDirectInputJoyConfig_SetTypeInfo(This,a,b,c) (This)->lpVtbl->SetTypeInfo(This,a,b,c)
799#define IDirectInputJoyConfig_DeleteType(This,a) (This)->lpVtbl->DeleteType(This,a)
800#define IDirectInputJoyConfig_GetConfig(This,a,b,c) (This)->lpVtbl->GetConfig(This,a,b,c)
801#define IDirectInputJoyConfig_SetConfig(This,a,b,c) (This)->lpVtbl->SetConfig(This,a,b,c)
802#define IDirectInputJoyConfig_DeleteConfig(This,a) (This)->lpVtbl->DeleteConfig(This,a)
803#define IDirectInputJoyConfig_GetUserValues(This,a,b) (This)->lpVtbl->GetUserValues(This,a,b)
804#define IDirectInputJoyConfig_SetUserValues(This,a,b) (This)->lpVtbl->SetUserValues(This,a,b)
805#define IDirectInputJoyConfig_AddNewHardware(This,a,b) (This)->lpVtbl->AddNewHardware(This,a,b)
806#define IDirectInputJoyConfig_OpenTypeKey(This,a,b,c) (This)->lpVtbl->OpenTypeKey(This,a,b,c)
807#define IDirectInputJoyConfig_OpenConfigKey(This,a,b,c) (This)->lpVtbl->OpenConfigKey(This,a,b,c)
808#else
809/*** IUnknown methods ***/
810static FORCEINLINE HRESULT IDirectInputJoyConfig_QueryInterface(IDirectInputJoyConfig* This,REFIID riid,void **ppvObject) {
811 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
812}
813static FORCEINLINE ULONG IDirectInputJoyConfig_AddRef(IDirectInputJoyConfig* This) {
814 return This->lpVtbl->AddRef(This);
815}
816static FORCEINLINE ULONG IDirectInputJoyConfig_Release(IDirectInputJoyConfig* This) {
817 return This->lpVtbl->Release(This);
818}
819/*** IDirectInputJoyConfig methods ***/
820static FORCEINLINE HRESULT IDirectInputJoyConfig_Acquire(IDirectInputJoyConfig* This) {
821 return This->lpVtbl->Acquire(This);
822}
823static FORCEINLINE HRESULT IDirectInputJoyConfig_Unacquire(IDirectInputJoyConfig* This) {
824 return This->lpVtbl->Unacquire(This);
825}
826static FORCEINLINE HRESULT IDirectInputJoyConfig_SetCooperativeLevel(IDirectInputJoyConfig* This,HWND a,DWORD b) {
827 return This->lpVtbl->SetCooperativeLevel(This,a,b);
828}
829static FORCEINLINE HRESULT IDirectInputJoyConfig_SendNotify(IDirectInputJoyConfig* This) {
830 return This->lpVtbl->SendNotify(This);
831}
832static FORCEINLINE HRESULT IDirectInputJoyConfig_EnumTypes(IDirectInputJoyConfig* This,LPVOID a,LPVOID b) {
833 return This->lpVtbl->EnumTypes(This,a,b);
834}
835static FORCEINLINE HRESULT IDirectInputJoyConfig_GetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) {
836 return This->lpVtbl->GetTypeInfo(This,a,b,c);
837}
838static FORCEINLINE HRESULT IDirectInputJoyConfig_SetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c) {
839 return This->lpVtbl->SetTypeInfo(This,a,b,c);
840}
841static FORCEINLINE HRESULT IDirectInputJoyConfig_DeleteType(IDirectInputJoyConfig* This,LPCWSTR a) {
842 return This->lpVtbl->DeleteType(This,a);
843}
844static FORCEINLINE HRESULT IDirectInputJoyConfig_GetConfig(IDirectInputJoyConfig* This,UINT a,LPDIJOYCONFIG b,DWORD c) {
845 return This->lpVtbl->GetConfig(This,a,b,c);
846}
847static FORCEINLINE HRESULT IDirectInputJoyConfig_SetConfig(IDirectInputJoyConfig* This,UINT a,LPCDIJOYCONFIG b,DWORD c) {
848 return This->lpVtbl->SetConfig(This,a,b,c);
849}
850static FORCEINLINE HRESULT IDirectInputJoyConfig_DeleteConfig(IDirectInputJoyConfig* This,UINT a) {
851 return This->lpVtbl->DeleteConfig(This,a);
852}
853static FORCEINLINE HRESULT IDirectInputJoyConfig_GetUserValues(IDirectInputJoyConfig* This,LPDIJOYUSERVALUES a,DWORD b) {
854 return This->lpVtbl->GetUserValues(This,a,b);
855}
856static FORCEINLINE HRESULT IDirectInputJoyConfig_SetUserValues(IDirectInputJoyConfig* This,LPCDIJOYUSERVALUES a,DWORD b) {
857 return This->lpVtbl->SetUserValues(This,a,b);
858}
859static FORCEINLINE HRESULT IDirectInputJoyConfig_AddNewHardware(IDirectInputJoyConfig* This,HWND a,REFGUID b) {
860 return This->lpVtbl->AddNewHardware(This,a,b);
861}
862static FORCEINLINE HRESULT IDirectInputJoyConfig_OpenTypeKey(IDirectInputJoyConfig* This,LPCWSTR a,DWORD b,HKEY *c) {
863 return This->lpVtbl->OpenTypeKey(This,a,b,c);
864}
865static FORCEINLINE HRESULT IDirectInputJoyConfig_OpenConfigKey(IDirectInputJoyConfig* This,UINT a,DWORD b,HKEY *c) {
866 return This->lpVtbl->OpenConfigKey(This,a,b,c);
867}
868#endif
869#endif
870
871#endif
872
873
874#endif /* __IDirectInputJoyConfig_INTERFACE_DEFINED__ */
875
876
877/*****************************************************************************
878 * IDirectInputJoyConfig8 interface
879 */
880#ifndef __IDirectInputJoyConfig8_INTERFACE_DEFINED__
881#define __IDirectInputJoyConfig8_INTERFACE_DEFINED__
882
883DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4,0xd6, 0xed,0xf2,0xee,0xc4,0xa4,0x4c);
884#if defined(__cplusplus) && !defined(CINTERFACE)
885MIDL_INTERFACE("eb0d7dfa-1990-4f27-b4d6-edf2eec4a44c")
886IDirectInputJoyConfig8 : public IUnknown
887{
888 virtual HRESULT STDMETHODCALLTYPE Acquire(
889 ) = 0;
890
891 virtual HRESULT STDMETHODCALLTYPE Unacquire(
892 ) = 0;
893
894 virtual HRESULT STDMETHODCALLTYPE SetCooperativeLevel(
895 HWND a,
896 DWORD b) = 0;
897
898 virtual HRESULT STDMETHODCALLTYPE SendNotify(
899 ) = 0;
900
901 virtual HRESULT STDMETHODCALLTYPE EnumTypes(
902 LPVOID a,
903 LPVOID b) = 0;
904
905 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
906 LPCWSTR a,
907 LPDIJOYTYPEINFO b,
908 DWORD c) = 0;
909
910 virtual HRESULT STDMETHODCALLTYPE SetTypeInfo(
911 LPCWSTR a,
912 LPCDIJOYTYPEINFO b,
913 DWORD c,
914 LPWSTR d) = 0;
915
916 virtual HRESULT STDMETHODCALLTYPE DeleteType(
917 LPCWSTR a) = 0;
918
919 virtual HRESULT STDMETHODCALLTYPE GetConfig(
920 UINT a,
921 LPDIJOYCONFIG b,
922 DWORD c) = 0;
923
924 virtual HRESULT STDMETHODCALLTYPE SetConfig(
925 UINT a,
926 LPCDIJOYCONFIG b,
927 DWORD c) = 0;
928
929 virtual HRESULT STDMETHODCALLTYPE DeleteConfig(
930 UINT a) = 0;
931
932 virtual HRESULT STDMETHODCALLTYPE GetUserValues(
933 LPDIJOYUSERVALUES a,
934 DWORD b) = 0;
935
936 virtual HRESULT STDMETHODCALLTYPE SetUserValues(
937 LPCDIJOYUSERVALUES a,
938 DWORD b) = 0;
939
940 virtual HRESULT STDMETHODCALLTYPE AddNewHardware(
941 HWND a,
942 REFGUID b) = 0;
943
944 virtual HRESULT STDMETHODCALLTYPE OpenTypeKey(
945 LPCWSTR a,
946 DWORD b,
947 HKEY *c) = 0;
948
949 virtual HRESULT STDMETHODCALLTYPE OpenAppStatusKey(
950 HKEY *a) = 0;
951
952};
953#ifdef __CRT_UUID_DECL
954__CRT_UUID_DECL(IDirectInputJoyConfig8, 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4,0xd6, 0xed,0xf2,0xee,0xc4,0xa4,0x4c)
955#endif
956#else
957typedef struct IDirectInputJoyConfig8Vtbl {
958 BEGIN_INTERFACE
959
960 /*** IUnknown methods ***/
961 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
962 IDirectInputJoyConfig8 *This,
963 REFIID riid,
964 void **ppvObject);
965
966 ULONG (STDMETHODCALLTYPE *AddRef)(
967 IDirectInputJoyConfig8 *This);
968
969 ULONG (STDMETHODCALLTYPE *Release)(
970 IDirectInputJoyConfig8 *This);
971
972 /*** IDirectInputJoyConfig8 methods ***/
973 HRESULT (STDMETHODCALLTYPE *Acquire)(
974 IDirectInputJoyConfig8 *This);
975
976 HRESULT (STDMETHODCALLTYPE *Unacquire)(
977 IDirectInputJoyConfig8 *This);
978
979 HRESULT (STDMETHODCALLTYPE *SetCooperativeLevel)(
980 IDirectInputJoyConfig8 *This,
981 HWND a,
982 DWORD b);
983
984 HRESULT (STDMETHODCALLTYPE *SendNotify)(
985 IDirectInputJoyConfig8 *This);
986
987 HRESULT (STDMETHODCALLTYPE *EnumTypes)(
988 IDirectInputJoyConfig8 *This,
989 LPVOID a,
990 LPVOID b);
991
992 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
993 IDirectInputJoyConfig8 *This,
994 LPCWSTR a,
995 LPDIJOYTYPEINFO b,
996 DWORD c);
997
998 HRESULT (STDMETHODCALLTYPE *SetTypeInfo)(
999 IDirectInputJoyConfig8 *This,
1000 LPCWSTR a,
1001 LPCDIJOYTYPEINFO b,
1002 DWORD c,
1003 LPWSTR d);
1004
1005 HRESULT (STDMETHODCALLTYPE *DeleteType)(
1006 IDirectInputJoyConfig8 *This,
1007 LPCWSTR a);
1008
1009 HRESULT (STDMETHODCALLTYPE *GetConfig)(
1010 IDirectInputJoyConfig8 *This,
1011 UINT a,
1012 LPDIJOYCONFIG b,
1013 DWORD c);
1014
1015 HRESULT (STDMETHODCALLTYPE *SetConfig)(
1016 IDirectInputJoyConfig8 *This,
1017 UINT a,
1018 LPCDIJOYCONFIG b,
1019 DWORD c);
1020
1021 HRESULT (STDMETHODCALLTYPE *DeleteConfig)(
1022 IDirectInputJoyConfig8 *This,
1023 UINT a);
1024
1025 HRESULT (STDMETHODCALLTYPE *GetUserValues)(
1026 IDirectInputJoyConfig8 *This,
1027 LPDIJOYUSERVALUES a,
1028 DWORD b);
1029
1030 HRESULT (STDMETHODCALLTYPE *SetUserValues)(
1031 IDirectInputJoyConfig8 *This,
1032 LPCDIJOYUSERVALUES a,
1033 DWORD b);
1034
1035 HRESULT (STDMETHODCALLTYPE *AddNewHardware)(
1036 IDirectInputJoyConfig8 *This,
1037 HWND a,
1038 REFGUID b);
1039
1040 HRESULT (STDMETHODCALLTYPE *OpenTypeKey)(
1041 IDirectInputJoyConfig8 *This,
1042 LPCWSTR a,
1043 DWORD b,
1044 HKEY *c);
1045
1046 HRESULT (STDMETHODCALLTYPE *OpenAppStatusKey)(
1047 IDirectInputJoyConfig8 *This,
1048 HKEY *a);
1049
1050 END_INTERFACE
1051} IDirectInputJoyConfig8Vtbl;
1052
1053interface IDirectInputJoyConfig8 {
1054 CONST_VTBL IDirectInputJoyConfig8Vtbl* lpVtbl;
1055};
1056
1057#ifdef COBJMACROS
1058#ifndef WIDL_C_INLINE_WRAPPERS
1059/*** IUnknown methods ***/
1060#define IDirectInputJoyConfig8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1061#define IDirectInputJoyConfig8_AddRef(This) (This)->lpVtbl->AddRef(This)
1062#define IDirectInputJoyConfig8_Release(This) (This)->lpVtbl->Release(This)
1063/*** IDirectInputJoyConfig8 methods ***/
1064#define IDirectInputJoyConfig8_Acquire(This) (This)->lpVtbl->Acquire(This)
1065#define IDirectInputJoyConfig8_Unacquire(This) (This)->lpVtbl->Unacquire(This)
1066#define IDirectInputJoyConfig8_SetCooperativeLevel(This,a,b) (This)->lpVtbl->SetCooperativeLevel(This,a,b)
1067#define IDirectInputJoyConfig8_SendNotify(This) (This)->lpVtbl->SendNotify(This)
1068#define IDirectInputJoyConfig8_EnumTypes(This,a,b) (This)->lpVtbl->EnumTypes(This,a,b)
1069#define IDirectInputJoyConfig8_GetTypeInfo(This,a,b,c) (This)->lpVtbl->GetTypeInfo(This,a,b,c)
1070#define IDirectInputJoyConfig8_SetTypeInfo(This,a,b,c,d) (This)->lpVtbl->SetTypeInfo(This,a,b,c,d)
1071#define IDirectInputJoyConfig8_DeleteType(This,a) (This)->lpVtbl->DeleteType(This,a)
1072#define IDirectInputJoyConfig8_GetConfig(This,a,b,c) (This)->lpVtbl->GetConfig(This,a,b,c)
1073#define IDirectInputJoyConfig8_SetConfig(This,a,b,c) (This)->lpVtbl->SetConfig(This,a,b,c)
1074#define IDirectInputJoyConfig8_DeleteConfig(This,a) (This)->lpVtbl->DeleteConfig(This,a)
1075#define IDirectInputJoyConfig8_GetUserValues(This,a,b) (This)->lpVtbl->GetUserValues(This,a,b)
1076#define IDirectInputJoyConfig8_SetUserValues(This,a,b) (This)->lpVtbl->SetUserValues(This,a,b)
1077#define IDirectInputJoyConfig8_AddNewHardware(This,a,b) (This)->lpVtbl->AddNewHardware(This,a,b)
1078#define IDirectInputJoyConfig8_OpenTypeKey(This,a,b,c) (This)->lpVtbl->OpenTypeKey(This,a,b,c)
1079#define IDirectInputJoyConfig8_OpenAppStatusKey(This,a) (This)->lpVtbl->OpenAppStatusKey(This,a)
1080#else
1081/*** IUnknown methods ***/
1082static FORCEINLINE HRESULT IDirectInputJoyConfig8_QueryInterface(IDirectInputJoyConfig8* This,REFIID riid,void **ppvObject) {
1083 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1084}
1085static FORCEINLINE ULONG IDirectInputJoyConfig8_AddRef(IDirectInputJoyConfig8* This) {
1086 return This->lpVtbl->AddRef(This);
1087}
1088static FORCEINLINE ULONG IDirectInputJoyConfig8_Release(IDirectInputJoyConfig8* This) {
1089 return This->lpVtbl->Release(This);
1090}
1091/*** IDirectInputJoyConfig8 methods ***/
1092static FORCEINLINE HRESULT IDirectInputJoyConfig8_Acquire(IDirectInputJoyConfig8* This) {
1093 return This->lpVtbl->Acquire(This);
1094}
1095static FORCEINLINE HRESULT IDirectInputJoyConfig8_Unacquire(IDirectInputJoyConfig8* This) {
1096 return This->lpVtbl->Unacquire(This);
1097}
1098static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetCooperativeLevel(IDirectInputJoyConfig8* This,HWND a,DWORD b) {
1099 return This->lpVtbl->SetCooperativeLevel(This,a,b);
1100}
1101static FORCEINLINE HRESULT IDirectInputJoyConfig8_SendNotify(IDirectInputJoyConfig8* This) {
1102 return This->lpVtbl->SendNotify(This);
1103}
1104static FORCEINLINE HRESULT IDirectInputJoyConfig8_EnumTypes(IDirectInputJoyConfig8* This,LPVOID a,LPVOID b) {
1105 return This->lpVtbl->EnumTypes(This,a,b);
1106}
1107static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) {
1108 return This->lpVtbl->GetTypeInfo(This,a,b,c);
1109}
1110static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c,LPWSTR d) {
1111 return This->lpVtbl->SetTypeInfo(This,a,b,c,d);
1112}
1113static FORCEINLINE HRESULT IDirectInputJoyConfig8_DeleteType(IDirectInputJoyConfig8* This,LPCWSTR a) {
1114 return This->lpVtbl->DeleteType(This,a);
1115}
1116static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetConfig(IDirectInputJoyConfig8* This,UINT a,LPDIJOYCONFIG b,DWORD c) {
1117 return This->lpVtbl->GetConfig(This,a,b,c);
1118}
1119static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetConfig(IDirectInputJoyConfig8* This,UINT a,LPCDIJOYCONFIG b,DWORD c) {
1120 return This->lpVtbl->SetConfig(This,a,b,c);
1121}
1122static FORCEINLINE HRESULT IDirectInputJoyConfig8_DeleteConfig(IDirectInputJoyConfig8* This,UINT a) {
1123 return This->lpVtbl->DeleteConfig(This,a);
1124}
1125static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetUserValues(IDirectInputJoyConfig8* This,LPDIJOYUSERVALUES a,DWORD b) {
1126 return This->lpVtbl->GetUserValues(This,a,b);
1127}
1128static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetUserValues(IDirectInputJoyConfig8* This,LPCDIJOYUSERVALUES a,DWORD b) {
1129 return This->lpVtbl->SetUserValues(This,a,b);
1130}
1131static FORCEINLINE HRESULT IDirectInputJoyConfig8_AddNewHardware(IDirectInputJoyConfig8* This,HWND a,REFGUID b) {
1132 return This->lpVtbl->AddNewHardware(This,a,b);
1133}
1134static FORCEINLINE HRESULT IDirectInputJoyConfig8_OpenTypeKey(IDirectInputJoyConfig8* This,LPCWSTR a,DWORD b,HKEY *c) {
1135 return This->lpVtbl->OpenTypeKey(This,a,b,c);
1136}
1137static FORCEINLINE HRESULT IDirectInputJoyConfig8_OpenAppStatusKey(IDirectInputJoyConfig8* This,HKEY *a) {
1138 return This->lpVtbl->OpenAppStatusKey(This,a);
1139}
1140#endif
1141#endif
1142
1143#endif
1144
1145
1146#endif /* __IDirectInputJoyConfig8_INTERFACE_DEFINED__ */
1147
1148#endif /* DIJ_RINGZERO */
1149#define DIRECTINPUT_NOTIFICATION_MSGSTRINGA "DIRECTINPUT_NOTIFICATION_MSGSTRING"
1150#define DIRECTINPUT_NOTIFICATION_MSGSTRINGW L"DIRECTINPUT_NOTIFICATION_MSGSTRING"
1151#define DIRECTINPUT_NOTIFICATION_MSGSTRING __MINGW_NAME_AW(DIRECTINPUT_NOTIFICATION_MSGSTRING)
1152#define DIMSGWP_NEWAPPSTART 0x00000001
1153#define DIMSGWP_DX8APPSTART 0x00000002
1154#define DIMSGWP_DX8MAPPERAPPSTART 0x00000003
1155#define DIAPPIDFLAG_NOTIME 0x00000001
1156#define DIAPPIDFLAG_NOSIZE 0x00000002
1157#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGA "AppIdFlag"
1158#define DIRECTINPUT_REGSTR_KEY_LASTAPPA "MostRecentApplication"
1159#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPA "MostRecentMapperApplication"
1160#define DIRECTINPUT_REGSTR_VAL_VERSIONA "Version"
1161#define DIRECTINPUT_REGSTR_VAL_NAMEA "Name"
1162#define DIRECTINPUT_REGSTR_VAL_IDA "Id"
1163#define DIRECTINPUT_REGSTR_VAL_MAPPERA "UsesMapper"
1164#define DIRECTINPUT_REGSTR_VAL_LASTSTARTA "MostRecentStart"
1165#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGW L"AppIdFlag"
1166#define DIRECTINPUT_REGSTR_KEY_LASTAPPW L"MostRecentApplication"
1167#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPW L"MostRecentMapperApplication"
1168#define DIRECTINPUT_REGSTR_VAL_VERSIONW L"Version"
1169#define DIRECTINPUT_REGSTR_VAL_NAMEW L"Name"
1170#define DIRECTINPUT_REGSTR_VAL_IDW L"Id"
1171#define DIRECTINPUT_REGSTR_VAL_MAPPERW L"UsesMapper"
1172#define DIRECTINPUT_REGSTR_VAL_LASTSTARTW L"MostRecentStart"
1173#define DIRECTINPUT_REGSTR_VAL_APPIDFLAG __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_APPIDFLAG)
1174#define DIRECTINPUT_REGSTR_KEY_LASTAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTAPP)
1175#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTMAPAPP)
1176#define DIRECTINPUT_REGSTR_VAL_VERSION __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_VERSION)
1177#define DIRECTINPUT_REGSTR_VAL_NAME __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_NAME)
1178#define DIRECTINPUT_REGSTR_VAL_ID __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_ID)
1179#define DIRECTINPUT_REGSTR_VAL_MAPPER __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_MAPPER)
1180#define DIRECTINPUT_REGSTR_VAL_LASTSTART __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_LASTSTART)
1181#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
1182#define DIERR_DRIVERFIRST __MSABI_LONG(0x80040300)
1183#define DIERR_DRIVERLAST __MSABI_LONG(0x800403FF)
1184#define DIERR_INVALIDCLASSINSTALLER __MSABI_LONG(0x80040400)
1185#define DIERR_CANCELLED __MSABI_LONG(0x80040401)
1186#define DIERR_BADINF __MSABI_LONG(0x80040402)
1187#define DIDIFT_DELETE __MSABI_LONG(0x01000000)
1188#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
1189/* Begin additional prototypes for all interfaces */
1190
1191
1192/* End additional prototypes */
1193
1194#ifdef __cplusplus
1195}
1196#endif
1197
1198#endif /* __dinputd_h__ */
Note: See TracBrowser for help on using the repository browser.