dinputd.h (40451B) - Raw
1 /*** Autogenerated by WIDL 10.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__ 23 typedef interface IDirectInputEffectDriver IDirectInputEffectDriver; 24 #ifdef __cplusplus 25 interface IDirectInputEffectDriver; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IDirectInputJoyConfig_FWD_DEFINED__ 30 #define __IDirectInputJoyConfig_FWD_DEFINED__ 31 typedef interface IDirectInputJoyConfig IDirectInputJoyConfig; 32 #ifdef __cplusplus 33 interface IDirectInputJoyConfig; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IDirectInputJoyConfig8_FWD_DEFINED__ 38 #define __IDirectInputJoyConfig8_FWD_DEFINED__ 39 typedef interface IDirectInputJoyConfig8 IDirectInputJoyConfig8; 40 #ifdef __cplusplus 41 interface IDirectInputJoyConfig8; 42 #endif /* __cplusplus */ 43 #endif 44 45 /* Headers for imported files */ 46 47 #include <unknwn.h> 48 49 #ifdef __cplusplus 50 extern "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 59 typedef struct DIOBJECTATTRIBUTES { 60 DWORD dwFlags; 61 WORD wUsagePage; 62 WORD wUsage; 63 } DIOBJECTATTRIBUTES; 64 typedef struct DIOBJECTATTRIBUTES *LPDIOBJECTATTRIBUTES; 65 typedef const DIOBJECTATTRIBUTES *LPCDIOBJECTATTRIBUTES; 66 67 typedef struct DIFFOBJECTATTRIBUTES { 68 DWORD dwFFMaxForce; 69 DWORD dwFFForceResolution; 70 } DIFFOBJECTATTRIBUTES; 71 typedef struct DIFFOBJECTATTRIBUTES *LPDIFFOBJECTATTRIBUTES; 72 typedef const DIFFOBJECTATTRIBUTES *LPCDIFFOBJECTATTRIBUTES; 73 74 typedef struct DIOBJECTCALIBRATION { 75 LONG lMin; 76 LONG lCenter; 77 LONG lMax; 78 } DIOBJECTCALIBRATION; 79 typedef struct DIOBJECTCALIBRATION *LPDIOBJECTCALIBRATION; 80 typedef const DIOBJECTCALIBRATION *LPCDIOBJECTCALIBRATION; 81 82 typedef struct DIPOVCALIBRATION { 83 LONG lMin[5]; 84 LONG lMax[5]; 85 } DIPOVCALIBRATION; 86 typedef struct DIPOVCALIBRATION *LPDIPOVCALIBRATION; 87 typedef const DIPOVCALIBRATION *LPCDIPOVCALIBRATION; 88 89 typedef struct DIEFFECTATTRIBUTES { 90 DWORD dwEffectId; 91 DWORD dwEffType; 92 DWORD dwStaticParams; 93 DWORD dwDynamicParams; 94 DWORD dwCoords; 95 } DIEFFECTATTRIBUTES; 96 typedef struct DIEFFECTATTRIBUTES *LPDIEFFECTATTRIBUTES; 97 typedef const DIEFFECTATTRIBUTES *LPCDIEFFECTATTRIBUTES; 98 99 typedef struct DIFFDEVICEATTRIBUTES { 100 DWORD dwFlags; 101 DWORD dwFFSamplePeriod; 102 DWORD dwFFMinTimeResolution; 103 } DIFFDEVICEATTRIBUTES; 104 typedef struct DIFFDEVICEATTRIBUTES *LPDIFFDEVICEATTRIBUTES; 105 typedef const DIFFDEVICEATTRIBUTES *LPCDIFFDEVICEATTRIBUTES; 106 107 typedef struct DIDRIVERVERSIONS { 108 DWORD dwSize; 109 DWORD dwFirmwareRevision; 110 DWORD dwHardwareRevision; 111 DWORD dwFFDriverVersion; 112 } DIDRIVERVERSIONS; 113 typedef struct DIDRIVERVERSIONS *LPDIDRIVERVERSIONS; 114 typedef const DIDRIVERVERSIONS *LPCDIDRIVERVERSIONS; 115 116 typedef struct DIDEVICESTATE { 117 DWORD dwSize; 118 DWORD dwState; 119 DWORD dwLoad; 120 } DIDEVICESTATE; 121 typedef struct DIDEVICESTATE *LPDIDEVICESTATE; 122 #define DEV_STS_EFFECT_RUNNING DIEGES_PLAYING 123 #ifndef DIJ_RINGZERO 124 125 typedef struct DIHIDFFINITINFO { 126 DWORD dwSize; 127 LPWSTR pwszDeviceInterface; 128 GUID GuidInstance; 129 } DIHIDFFINITINFO; 130 typedef struct DIHIDFFINITINFO *LPDIHIDFFINITINFO; 131 #if 0 132 typedef struct DIEFFESCAPE DIEFFESCAPE; 133 typedef struct DIEFFESCAPE *LPDIEFFESCAPE; 134 typedef struct DIEFFECT DIEFFECT; 135 typedef struct DIEFFECT *LPDIEFFECT; 136 typedef const DIEFFECT *LPCDIEFFECT; 137 #endif 138 139 /***************************************************************************** 140 * IDirectInputEffectDriver interface 141 */ 142 #ifndef __IDirectInputEffectDriver_INTERFACE_DEFINED__ 143 #define __IDirectInputEffectDriver_INTERFACE_DEFINED__ 144 145 DEFINE_GUID(IID_IDirectInputEffectDriver, 0x02538130, 0x898f, 0x11d0, 0x9a,0xd0, 0x00,0xa0,0xc9,0xa0,0x6e,0x35); 146 #if defined(__cplusplus) && !defined(CINTERFACE) 147 MIDL_INTERFACE("02538130-898f-11d0-9ad0-00a0c9a06e35") 148 IDirectInputEffectDriver : 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 208 typedef 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 291 interface 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 ***/ 315 static inline HRESULT IDirectInputEffectDriver_QueryInterface(IDirectInputEffectDriver* This,REFIID riid,void **ppvObject) { 316 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 317 } 318 static inline ULONG IDirectInputEffectDriver_AddRef(IDirectInputEffectDriver* This) { 319 return This->lpVtbl->AddRef(This); 320 } 321 static inline ULONG IDirectInputEffectDriver_Release(IDirectInputEffectDriver* This) { 322 return This->lpVtbl->Release(This); 323 } 324 /*** IDirectInputEffectDriver methods ***/ 325 static inline 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 } 328 static inline HRESULT IDirectInputEffectDriver_GetVersions(IDirectInputEffectDriver* This,LPDIDRIVERVERSIONS a) { 329 return This->lpVtbl->GetVersions(This,a); 330 } 331 static inline HRESULT IDirectInputEffectDriver_Escape(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDIEFFESCAPE c) { 332 return This->lpVtbl->Escape(This,a,b,c); 333 } 334 static inline HRESULT IDirectInputEffectDriver_SetGain(IDirectInputEffectDriver* This,DWORD a,DWORD b) { 335 return This->lpVtbl->SetGain(This,a,b); 336 } 337 static inline HRESULT IDirectInputEffectDriver_SendForceFeedbackCommand(IDirectInputEffectDriver* This,DWORD a,DWORD b) { 338 return This->lpVtbl->SendForceFeedbackCommand(This,a,b); 339 } 340 static inline HRESULT IDirectInputEffectDriver_GetForceFeedbackState(IDirectInputEffectDriver* This,DWORD a,LPDIDEVICESTATE b) { 341 return This->lpVtbl->GetForceFeedbackState(This,a,b); 342 } 343 static inline 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 } 346 static inline HRESULT IDirectInputEffectDriver_DestroyEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) { 347 return This->lpVtbl->DestroyEffect(This,a,b); 348 } 349 static inline HRESULT IDirectInputEffectDriver_StartEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b,DWORD c,DWORD d) { 350 return This->lpVtbl->StartEffect(This,a,b,c,d); 351 } 352 static inline HRESULT IDirectInputEffectDriver_StopEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) { 353 return This->lpVtbl->StopEffect(This,a,b); 354 } 355 static inline 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 447 typedef struct joypos_tag { 448 DWORD dwX; 449 DWORD dwY; 450 DWORD dwZ; 451 DWORD dwR; 452 DWORD dwU; 453 DWORD dwV; 454 } JOYPOS; 455 typedef struct joypos_tag *LPJOYPOS; 456 457 typedef struct joyrange_tag { 458 JOYPOS jpMin; 459 JOYPOS jpMax; 460 JOYPOS jpCenter; 461 } JOYRANGE; 462 typedef struct joyrange_tag *LPJOYRANGE; 463 464 typedef struct joyreguservalues_tag { 465 DWORD dwTimeOut; 466 JOYRANGE jrvRanges; 467 JOYPOS jpDeadZone; 468 } JOYREGUSERVALUES; 469 typedef struct joyreguservalues_tag *LPJOYREGUSERVALUES; 470 471 typedef struct joyreghwsettings_tag { 472 DWORD dwFlags; 473 DWORD dwNumButtons; 474 } JOYREGHWSETTINGS; 475 typedef struct joyreghwsettings_tag *LPJOYHWSETTINGS; 476 477 typedef struct joyreghwvalues_tag { 478 JOYRANGE jrvHardware; 479 DWORD dwPOVValues[4]; 480 DWORD dwCalFlags; 481 } JOYREGHWVALUES; 482 typedef struct joyreghwvalues_tag *LPJOYREGHWVALUES; 483 484 typedef struct joyreghwconfig_tag { 485 JOYREGHWSETTINGS hws; 486 DWORD dwUsageSettings; 487 JOYREGHWVALUES hwv; 488 DWORD dwType; 489 DWORD dwReserved; 490 } JOYREGHWCONFIG; 491 typedef struct joyreghwconfig_tag *LPJOYREGHWCONFIG; 492 493 typedef struct joycalibrate_tag { 494 UINT wXbase; 495 UINT wXdelta; 496 UINT wYbase; 497 UINT wYdelta; 498 UINT wZbase; 499 UINT wZdelta; 500 } JOYCALIBRATE; 501 typedef struct joycalibrate_tag *LPJOYCALIBRATE; 502 #endif /* JOY_HW_NONE */ 503 #ifndef DIJ_RINGZERO 504 #define MAX_JOYSTRING (256) 505 506 typedef 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 523 typedef struct DIJOYTYPEINFO_DX5 { 524 DWORD dwSize; 525 JOYREGHWSETTINGS hws; 526 CLSID clsidConfig; 527 WCHAR wszDisplayName[256]; 528 WCHAR wszCallout[260]; 529 } DIJOYTYPEINFO_DX5; 530 typedef struct DIJOYTYPEINFO_DX5 *LPDIJOYTYPEINFO_DX5; 531 typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5; 532 533 typedef 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; 542 typedef struct DIJOYTYPEINFO_DX6 *LPDIJOYTYPEINFO_DX6; 543 typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6; 544 545 typedef 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; 556 typedef struct DIJOYTYPEINFO *LPDIJOYTYPEINFO; 557 typedef 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 564 typedef 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; 572 typedef struct DIJOYCONFIG_DX5 *LPDIJOYCONFIG_DX5; 573 typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5; 574 575 typedef 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; 584 typedef struct DIJOYCONFIG *LPDIJOYCONFIG; 585 typedef const DIJOYCONFIG *LPCDIJOYCONFIG; 586 #define DIJU_USERVALUES 0x00000001 587 #define DIJU_GLOBALDRIVER 0x00000002 588 #define DIJU_GAMEPORTEMULATOR 0x00000004 589 590 typedef struct DIJOYUSERVALUES { 591 DWORD dwSize; 592 JOYREGUSERVALUES ruv; 593 WCHAR wszGlobalDriver[256]; 594 WCHAR wszGameportEmulator[256]; 595 } DIJOYUSERVALUES; 596 typedef struct DIJOYUSERVALUES *LPDIJOYUSERVALUES; 597 typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES; 598 DEFINE_GUID(GUID_KeyboardClass, 0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18); 599 DEFINE_GUID(GUID_MediaClass, 0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18); 600 DEFINE_GUID(GUID_MouseClass, 0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18); 601 DEFINE_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 609 DEFINE_GUID(IID_IDirectInputJoyConfig, 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf,0xc7, 0x44,0x45,0x53,0x54,0x00,0x00); 610 #if defined(__cplusplus) && !defined(CINTERFACE) 611 MIDL_INTERFACE("1de12ab1-c9f5-11cf-bfc7-444553540000") 612 IDirectInputJoyConfig : 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 684 typedef 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 781 interface 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 ***/ 810 static inline HRESULT IDirectInputJoyConfig_QueryInterface(IDirectInputJoyConfig* This,REFIID riid,void **ppvObject) { 811 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 812 } 813 static inline ULONG IDirectInputJoyConfig_AddRef(IDirectInputJoyConfig* This) { 814 return This->lpVtbl->AddRef(This); 815 } 816 static inline ULONG IDirectInputJoyConfig_Release(IDirectInputJoyConfig* This) { 817 return This->lpVtbl->Release(This); 818 } 819 /*** IDirectInputJoyConfig methods ***/ 820 static inline HRESULT IDirectInputJoyConfig_Acquire(IDirectInputJoyConfig* This) { 821 return This->lpVtbl->Acquire(This); 822 } 823 static inline HRESULT IDirectInputJoyConfig_Unacquire(IDirectInputJoyConfig* This) { 824 return This->lpVtbl->Unacquire(This); 825 } 826 static inline HRESULT IDirectInputJoyConfig_SetCooperativeLevel(IDirectInputJoyConfig* This,HWND a,DWORD b) { 827 return This->lpVtbl->SetCooperativeLevel(This,a,b); 828 } 829 static inline HRESULT IDirectInputJoyConfig_SendNotify(IDirectInputJoyConfig* This) { 830 return This->lpVtbl->SendNotify(This); 831 } 832 static inline HRESULT IDirectInputJoyConfig_EnumTypes(IDirectInputJoyConfig* This,LPVOID a,LPVOID b) { 833 return This->lpVtbl->EnumTypes(This,a,b); 834 } 835 static inline HRESULT IDirectInputJoyConfig_GetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) { 836 return This->lpVtbl->GetTypeInfo(This,a,b,c); 837 } 838 static inline HRESULT IDirectInputJoyConfig_SetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c) { 839 return This->lpVtbl->SetTypeInfo(This,a,b,c); 840 } 841 static inline HRESULT IDirectInputJoyConfig_DeleteType(IDirectInputJoyConfig* This,LPCWSTR a) { 842 return This->lpVtbl->DeleteType(This,a); 843 } 844 static inline HRESULT IDirectInputJoyConfig_GetConfig(IDirectInputJoyConfig* This,UINT a,LPDIJOYCONFIG b,DWORD c) { 845 return This->lpVtbl->GetConfig(This,a,b,c); 846 } 847 static inline HRESULT IDirectInputJoyConfig_SetConfig(IDirectInputJoyConfig* This,UINT a,LPCDIJOYCONFIG b,DWORD c) { 848 return This->lpVtbl->SetConfig(This,a,b,c); 849 } 850 static inline HRESULT IDirectInputJoyConfig_DeleteConfig(IDirectInputJoyConfig* This,UINT a) { 851 return This->lpVtbl->DeleteConfig(This,a); 852 } 853 static inline HRESULT IDirectInputJoyConfig_GetUserValues(IDirectInputJoyConfig* This,LPDIJOYUSERVALUES a,DWORD b) { 854 return This->lpVtbl->GetUserValues(This,a,b); 855 } 856 static inline HRESULT IDirectInputJoyConfig_SetUserValues(IDirectInputJoyConfig* This,LPCDIJOYUSERVALUES a,DWORD b) { 857 return This->lpVtbl->SetUserValues(This,a,b); 858 } 859 static inline HRESULT IDirectInputJoyConfig_AddNewHardware(IDirectInputJoyConfig* This,HWND a,REFGUID b) { 860 return This->lpVtbl->AddNewHardware(This,a,b); 861 } 862 static inline HRESULT IDirectInputJoyConfig_OpenTypeKey(IDirectInputJoyConfig* This,LPCWSTR a,DWORD b,HKEY *c) { 863 return This->lpVtbl->OpenTypeKey(This,a,b,c); 864 } 865 static inline 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 883 DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4,0xd6, 0xed,0xf2,0xee,0xc4,0xa4,0x4c); 884 #if defined(__cplusplus) && !defined(CINTERFACE) 885 MIDL_INTERFACE("eb0d7dfa-1990-4f27-b4d6-edf2eec4a44c") 886 IDirectInputJoyConfig8 : 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 957 typedef 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 1053 interface 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 ***/ 1082 static inline HRESULT IDirectInputJoyConfig8_QueryInterface(IDirectInputJoyConfig8* This,REFIID riid,void **ppvObject) { 1083 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1084 } 1085 static inline ULONG IDirectInputJoyConfig8_AddRef(IDirectInputJoyConfig8* This) { 1086 return This->lpVtbl->AddRef(This); 1087 } 1088 static inline ULONG IDirectInputJoyConfig8_Release(IDirectInputJoyConfig8* This) { 1089 return This->lpVtbl->Release(This); 1090 } 1091 /*** IDirectInputJoyConfig8 methods ***/ 1092 static inline HRESULT IDirectInputJoyConfig8_Acquire(IDirectInputJoyConfig8* This) { 1093 return This->lpVtbl->Acquire(This); 1094 } 1095 static inline HRESULT IDirectInputJoyConfig8_Unacquire(IDirectInputJoyConfig8* This) { 1096 return This->lpVtbl->Unacquire(This); 1097 } 1098 static inline HRESULT IDirectInputJoyConfig8_SetCooperativeLevel(IDirectInputJoyConfig8* This,HWND a,DWORD b) { 1099 return This->lpVtbl->SetCooperativeLevel(This,a,b); 1100 } 1101 static inline HRESULT IDirectInputJoyConfig8_SendNotify(IDirectInputJoyConfig8* This) { 1102 return This->lpVtbl->SendNotify(This); 1103 } 1104 static inline HRESULT IDirectInputJoyConfig8_EnumTypes(IDirectInputJoyConfig8* This,LPVOID a,LPVOID b) { 1105 return This->lpVtbl->EnumTypes(This,a,b); 1106 } 1107 static inline HRESULT IDirectInputJoyConfig8_GetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) { 1108 return This->lpVtbl->GetTypeInfo(This,a,b,c); 1109 } 1110 static inline HRESULT IDirectInputJoyConfig8_SetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c,LPWSTR d) { 1111 return This->lpVtbl->SetTypeInfo(This,a,b,c,d); 1112 } 1113 static inline HRESULT IDirectInputJoyConfig8_DeleteType(IDirectInputJoyConfig8* This,LPCWSTR a) { 1114 return This->lpVtbl->DeleteType(This,a); 1115 } 1116 static inline HRESULT IDirectInputJoyConfig8_GetConfig(IDirectInputJoyConfig8* This,UINT a,LPDIJOYCONFIG b,DWORD c) { 1117 return This->lpVtbl->GetConfig(This,a,b,c); 1118 } 1119 static inline HRESULT IDirectInputJoyConfig8_SetConfig(IDirectInputJoyConfig8* This,UINT a,LPCDIJOYCONFIG b,DWORD c) { 1120 return This->lpVtbl->SetConfig(This,a,b,c); 1121 } 1122 static inline HRESULT IDirectInputJoyConfig8_DeleteConfig(IDirectInputJoyConfig8* This,UINT a) { 1123 return This->lpVtbl->DeleteConfig(This,a); 1124 } 1125 static inline HRESULT IDirectInputJoyConfig8_GetUserValues(IDirectInputJoyConfig8* This,LPDIJOYUSERVALUES a,DWORD b) { 1126 return This->lpVtbl->GetUserValues(This,a,b); 1127 } 1128 static inline HRESULT IDirectInputJoyConfig8_SetUserValues(IDirectInputJoyConfig8* This,LPCDIJOYUSERVALUES a,DWORD b) { 1129 return This->lpVtbl->SetUserValues(This,a,b); 1130 } 1131 static inline HRESULT IDirectInputJoyConfig8_AddNewHardware(IDirectInputJoyConfig8* This,HWND a,REFGUID b) { 1132 return This->lpVtbl->AddNewHardware(This,a,b); 1133 } 1134 static inline HRESULT IDirectInputJoyConfig8_OpenTypeKey(IDirectInputJoyConfig8* This,LPCWSTR a,DWORD b,HKEY *c) { 1135 return This->lpVtbl->OpenTypeKey(This,a,b,c); 1136 } 1137 static inline 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__ */