blob: 2934fc40382a233207d36cafa5a5c70174717e61 [file] [log] [blame]
/*** Autogenerated by WIDL 6.4 from include/dinputd.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __dinputd_h__
#define __dinputd_h__
/* Forward declarations */
#ifndef __IDirectInputEffectDriver_FWD_DEFINED__
#define __IDirectInputEffectDriver_FWD_DEFINED__
typedef interface IDirectInputEffectDriver IDirectInputEffectDriver;
#ifdef __cplusplus
interface IDirectInputEffectDriver;
#endif /* __cplusplus */
#endif
#ifndef __IDirectInputJoyConfig_FWD_DEFINED__
#define __IDirectInputJoyConfig_FWD_DEFINED__
typedef interface IDirectInputJoyConfig IDirectInputJoyConfig;
#ifdef __cplusplus
interface IDirectInputJoyConfig;
#endif /* __cplusplus */
#endif
#ifndef __IDirectInputJoyConfig8_FWD_DEFINED__
#define __IDirectInputJoyConfig8_FWD_DEFINED__
typedef interface IDirectInputJoyConfig8 IDirectInputJoyConfig8;
#ifdef __cplusplus
interface IDirectInputJoyConfig8;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <unknwn.h>
#ifdef __cplusplus
extern "C" {
#endif
#include "winapifamily.h"
#ifndef DIRECTINPUT_VERSION
#define DIRECTINPUT_VERSION 0x0800
#endif
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct DIOBJECTATTRIBUTES {
DWORD dwFlags;
WORD wUsagePage;
WORD wUsage;
} DIOBJECTATTRIBUTES;
typedef struct DIOBJECTATTRIBUTES *LPDIOBJECTATTRIBUTES;
typedef const DIOBJECTATTRIBUTES *LPCDIOBJECTATTRIBUTES;
typedef struct DIFFOBJECTATTRIBUTES {
DWORD dwFFMaxForce;
DWORD dwFFForceResolution;
} DIFFOBJECTATTRIBUTES;
typedef struct DIFFOBJECTATTRIBUTES *LPDIFFOBJECTATTRIBUTES;
typedef const DIFFOBJECTATTRIBUTES *LPCDIFFOBJECTATTRIBUTES;
typedef struct DIOBJECTCALIBRATION {
LONG lMin;
LONG lCenter;
LONG lMax;
} DIOBJECTCALIBRATION;
typedef struct DIOBJECTCALIBRATION *LPDIOBJECTCALIBRATION;
typedef const DIOBJECTCALIBRATION *LPCDIOBJECTCALIBRATION;
typedef struct DIPOVCALIBRATION {
LONG lMin[5];
LONG lMax[5];
} DIPOVCALIBRATION;
typedef struct DIPOVCALIBRATION *LPDIPOVCALIBRATION;
typedef const DIPOVCALIBRATION *LPCDIPOVCALIBRATION;
typedef struct DIEFFECTATTRIBUTES {
DWORD dwEffectId;
DWORD dwEffType;
DWORD dwStaticParams;
DWORD dwDynamicParams;
DWORD dwCoords;
} DIEFFECTATTRIBUTES;
typedef struct DIEFFECTATTRIBUTES *LPDIEFFECTATTRIBUTES;
typedef const DIEFFECTATTRIBUTES *LPCDIEFFECTATTRIBUTES;
typedef struct DIFFDEVICEATTRIBUTES {
DWORD dwFlags;
DWORD dwFFSamplePeriod;
DWORD dwFFMinTimeResolution;
} DIFFDEVICEATTRIBUTES;
typedef struct DIFFDEVICEATTRIBUTES *LPDIFFDEVICEATTRIBUTES;
typedef const DIFFDEVICEATTRIBUTES *LPCDIFFDEVICEATTRIBUTES;
typedef struct DIDRIVERVERSIONS {
DWORD dwSize;
DWORD dwFirmwareRevision;
DWORD dwHardwareRevision;
DWORD dwFFDriverVersion;
} DIDRIVERVERSIONS;
typedef struct DIDRIVERVERSIONS *LPDIDRIVERVERSIONS;
typedef const DIDRIVERVERSIONS *LPCDIDRIVERVERSIONS;
typedef struct DIDEVICESTATE {
DWORD dwSize;
DWORD dwState;
DWORD dwLoad;
} DIDEVICESTATE;
typedef struct DIDEVICESTATE *LPDIDEVICESTATE;
#define DEV_STS_EFFECT_RUNNING DIEGES_PLAYING
#ifndef DIJ_RINGZERO
typedef struct DIHIDFFINITINFO {
DWORD dwSize;
LPWSTR pwszDeviceInterface;
GUID GuidInstance;
} DIHIDFFINITINFO;
typedef struct DIHIDFFINITINFO *LPDIHIDFFINITINFO;
#if 0
typedef struct DIEFFESCAPE DIEFFESCAPE;
typedef struct DIEFFESCAPE *LPDIEFFESCAPE;
typedef struct DIEFFECT DIEFFECT;
typedef struct DIEFFECT *LPDIEFFECT;
typedef const DIEFFECT *LPCDIEFFECT;
#endif
/*****************************************************************************
* IDirectInputEffectDriver interface
*/
#ifndef __IDirectInputEffectDriver_INTERFACE_DEFINED__
#define __IDirectInputEffectDriver_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectInputEffectDriver, 0x02538130, 0x898f, 0x11d0, 0x9a,0xd0, 0x00,0xa0,0xc9,0xa0,0x6e,0x35);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("02538130-898f-11d0-9ad0-00a0c9a06e35")
IDirectInputEffectDriver : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DeviceID(
DWORD a,
DWORD b,
DWORD c,
DWORD d,
LPVOID e) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVersions(
LPDIDRIVERVERSIONS a) = 0;
virtual HRESULT STDMETHODCALLTYPE Escape(
DWORD a,
DWORD b,
LPDIEFFESCAPE c) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGain(
DWORD a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE SendForceFeedbackCommand(
DWORD a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE GetForceFeedbackState(
DWORD a,
LPDIDEVICESTATE b) = 0;
virtual HRESULT STDMETHODCALLTYPE DownloadEffect(
DWORD a,
DWORD b,
LPDWORD c,
LPCDIEFFECT d,
DWORD e) = 0;
virtual HRESULT STDMETHODCALLTYPE DestroyEffect(
DWORD a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE StartEffect(
DWORD a,
DWORD b,
DWORD c,
DWORD d) = 0;
virtual HRESULT STDMETHODCALLTYPE StopEffect(
DWORD a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEffectStatus(
DWORD a,
DWORD b,
LPDWORD c) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectInputEffectDriver, 0x02538130, 0x898f, 0x11d0, 0x9a,0xd0, 0x00,0xa0,0xc9,0xa0,0x6e,0x35)
#endif
#else
typedef struct IDirectInputEffectDriverVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectInputEffectDriver *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectInputEffectDriver *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectInputEffectDriver *This);
/*** IDirectInputEffectDriver methods ***/
HRESULT (STDMETHODCALLTYPE *DeviceID)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b,
DWORD c,
DWORD d,
LPVOID e);
HRESULT (STDMETHODCALLTYPE *GetVersions)(
IDirectInputEffectDriver *This,
LPDIDRIVERVERSIONS a);
HRESULT (STDMETHODCALLTYPE *Escape)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b,
LPDIEFFESCAPE c);
HRESULT (STDMETHODCALLTYPE *SetGain)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *SendForceFeedbackCommand)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *GetForceFeedbackState)(
IDirectInputEffectDriver *This,
DWORD a,
LPDIDEVICESTATE b);
HRESULT (STDMETHODCALLTYPE *DownloadEffect)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b,
LPDWORD c,
LPCDIEFFECT d,
DWORD e);
HRESULT (STDMETHODCALLTYPE *DestroyEffect)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *StartEffect)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b,
DWORD c,
DWORD d);
HRESULT (STDMETHODCALLTYPE *StopEffect)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *GetEffectStatus)(
IDirectInputEffectDriver *This,
DWORD a,
DWORD b,
LPDWORD c);
END_INTERFACE
} IDirectInputEffectDriverVtbl;
interface IDirectInputEffectDriver {
CONST_VTBL IDirectInputEffectDriverVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectInputEffectDriver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectInputEffectDriver_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectInputEffectDriver_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectInputEffectDriver methods ***/
#define IDirectInputEffectDriver_DeviceID(This,a,b,c,d,e) (This)->lpVtbl->DeviceID(This,a,b,c,d,e)
#define IDirectInputEffectDriver_GetVersions(This,a) (This)->lpVtbl->GetVersions(This,a)
#define IDirectInputEffectDriver_Escape(This,a,b,c) (This)->lpVtbl->Escape(This,a,b,c)
#define IDirectInputEffectDriver_SetGain(This,a,b) (This)->lpVtbl->SetGain(This,a,b)
#define IDirectInputEffectDriver_SendForceFeedbackCommand(This,a,b) (This)->lpVtbl->SendForceFeedbackCommand(This,a,b)
#define IDirectInputEffectDriver_GetForceFeedbackState(This,a,b) (This)->lpVtbl->GetForceFeedbackState(This,a,b)
#define IDirectInputEffectDriver_DownloadEffect(This,a,b,c,d,e) (This)->lpVtbl->DownloadEffect(This,a,b,c,d,e)
#define IDirectInputEffectDriver_DestroyEffect(This,a,b) (This)->lpVtbl->DestroyEffect(This,a,b)
#define IDirectInputEffectDriver_StartEffect(This,a,b,c,d) (This)->lpVtbl->StartEffect(This,a,b,c,d)
#define IDirectInputEffectDriver_StopEffect(This,a,b) (This)->lpVtbl->StopEffect(This,a,b)
#define IDirectInputEffectDriver_GetEffectStatus(This,a,b,c) (This)->lpVtbl->GetEffectStatus(This,a,b,c)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectInputEffectDriver_QueryInterface(IDirectInputEffectDriver* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectInputEffectDriver_AddRef(IDirectInputEffectDriver* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectInputEffectDriver_Release(IDirectInputEffectDriver* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectInputEffectDriver methods ***/
static FORCEINLINE HRESULT IDirectInputEffectDriver_DeviceID(IDirectInputEffectDriver* This,DWORD a,DWORD b,DWORD c,DWORD d,LPVOID e) {
return This->lpVtbl->DeviceID(This,a,b,c,d,e);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_GetVersions(IDirectInputEffectDriver* This,LPDIDRIVERVERSIONS a) {
return This->lpVtbl->GetVersions(This,a);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_Escape(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDIEFFESCAPE c) {
return This->lpVtbl->Escape(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_SetGain(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
return This->lpVtbl->SetGain(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_SendForceFeedbackCommand(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
return This->lpVtbl->SendForceFeedbackCommand(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_GetForceFeedbackState(IDirectInputEffectDriver* This,DWORD a,LPDIDEVICESTATE b) {
return This->lpVtbl->GetForceFeedbackState(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_DownloadEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDWORD c,LPCDIEFFECT d,DWORD e) {
return This->lpVtbl->DownloadEffect(This,a,b,c,d,e);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_DestroyEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
return This->lpVtbl->DestroyEffect(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_StartEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b,DWORD c,DWORD d) {
return This->lpVtbl->StartEffect(This,a,b,c,d);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_StopEffect(IDirectInputEffectDriver* This,DWORD a,DWORD b) {
return This->lpVtbl->StopEffect(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputEffectDriver_GetEffectStatus(IDirectInputEffectDriver* This,DWORD a,DWORD b,LPDWORD c) {
return This->lpVtbl->GetEffectStatus(This,a,b,c);
}
#endif
#endif
#endif
#endif /* __IDirectInputEffectDriver_INTERFACE_DEFINED__ */
#endif /* DIJ_RINGZERO */
#ifndef JOY_HW_NONE
#define JOY_HW_NONE 0
#define JOY_HW_CUSTOM 1
#define JOY_HW_2A_2B_GENERIC 2
#define JOY_HW_2A_4B_GENERIC 3
#define JOY_HW_2B_GAMEPAD 4
#define JOY_HW_2B_FLIGHTYOKE 5
#define JOY_HW_2B_FLIGHTYOKETHROTTLE 6
#define JOY_HW_3A_2B_GENERIC 7
#define JOY_HW_3A_4B_GENERIC 8
#define JOY_HW_4B_GAMEPAD 9
#define JOY_HW_4B_FLIGHTYOKE 10
#define JOY_HW_4B_FLIGHTYOKETHROTTLE 11
#define JOY_HW_TWO_2A_2B_WITH_Y 12
#define JOY_HW_LASTENTRY 13
#define JOY_ISCAL_XY 0x00000001
#define JOY_ISCAL_Z 0x00000002
#define JOY_ISCAL_R 0x00000004
#define JOY_ISCAL_U 0x00000008
#define JOY_ISCAL_V 0x00000010
#define JOY_ISCAL_POV 0x00000020
#define JOY_POVVAL_FORWARD (0)
#define JOY_POVVAL_BACKWARD (1)
#define JOY_POVVAL_LEFT (2)
#define JOY_POVVAL_RIGHT (3)
#define JOY_POV_NUMDIRS (4)
#define JOY_HWS_HASZ 0x00000001
#define JOY_HWS_HASPOV 0x00000002
#define JOY_HWS_POVISBUTTONCOMBOS 0x00000004
#define JOY_HWS_POVISPOLL 0x00000008
#define JOY_HWS_ISYOKE 0x00000010
#define JOY_HWS_ISGAMEPAD 0x00000020
#define JOY_HWS_ISCARCTRL 0x00000040
#define JOY_HWS_XISJ1Y 0x00000080
#define JOY_HWS_XISJ2X 0x00000100
#define JOY_HWS_XISJ2Y 0x00000200
#define JOY_HWS_YISJ1X 0x00000400
#define JOY_HWS_YISJ2X 0x00000800
#define JOY_HWS_YISJ2Y 0x00001000
#define JOY_HWS_ZISJ1X 0x00002000
#define JOY_HWS_ZISJ1Y 0x00004000
#define JOY_HWS_ZISJ2X 0x00008000
#define JOY_HWS_POVISJ1X 0x00010000
#define JOY_HWS_POVISJ1Y 0x00020000
#define JOY_HWS_POVISJ2X 0x00040000
#define JOY_HWS_HASR 0x00080000
#define JOY_HWS_RISJ1X 0x00100000
#define JOY_HWS_RISJ1Y 0x00200000
#define JOY_HWS_RISJ2Y 0x00400000
#define JOY_HWS_HASU 0x00800000
#define JOY_HWS_HASV 0x01000000
#define JOY_US_HASRUDDER 0x00000001
#define JOY_US_PRESENT 0x00000002
#define JOY_US_ISOEM 0x00000004
#define JOY_US_RESERVED 0x80000000
#define JOYTYPE_ZEROGAMEENUMOEMDATA 0x00000001
#define JOYTYPE_NOAUTODETECTGAMEPORT 0x00000002
#define JOYTYPE_NOHIDDIRECT 0x00000004
#define JOYTYPE_ANALOGCOMPAT 0x00000008
#define JOYTYPE_DEFAULTPROPSHEET 0x80000000
#define JOYTYPE_DEVICEHIDE 0x00010000
#define JOYTYPE_MOUSEHIDE 0x00020000
#define JOYTYPE_KEYBHIDE 0x00040000
#define JOYTYPE_GAMEHIDE 0x00080000
#define JOYTYPE_HIDEACTIVE 0x00100000
#define JOYTYPE_INFOMASK 0x00E00000
#define JOYTYPE_INFODEFAULT 0x00000000
#define JOYTYPE_INFOYYPEDALS 0x00200000
#define JOYTYPE_INFOZYPEDALS 0x00400000
#define JOYTYPE_INFOYRPEDALS 0x00600000
#define JOYTYPE_INFOZRPEDALS 0x00800000
#define JOYTYPE_INFOZISSLIDER 0x00200000
#define JOYTYPE_INFOZISZ 0x00400000
#define JOYTYPE_ENABLEINPUTREPORT 0x01000000
typedef struct joypos_tag {
DWORD dwX;
DWORD dwY;
DWORD dwZ;
DWORD dwR;
DWORD dwU;
DWORD dwV;
} JOYPOS;
typedef struct joypos_tag *LPJOYPOS;
typedef struct joyrange_tag {
JOYPOS jpMin;
JOYPOS jpMax;
JOYPOS jpCenter;
} JOYRANGE;
typedef struct joyrange_tag *LPJOYRANGE;
typedef struct joyreguservalues_tag {
DWORD dwTimeOut;
JOYRANGE jrvRanges;
JOYPOS jpDeadZone;
} JOYREGUSERVALUES;
typedef struct joyreguservalues_tag *LPJOYREGUSERVALUES;
typedef struct joyreghwsettings_tag {
DWORD dwFlags;
DWORD dwNumButtons;
} JOYREGHWSETTINGS;
typedef struct joyreghwsettings_tag *LPJOYHWSETTINGS;
typedef struct joyreghwvalues_tag {
JOYRANGE jrvHardware;
DWORD dwPOVValues[4];
DWORD dwCalFlags;
} JOYREGHWVALUES;
typedef struct joyreghwvalues_tag *LPJOYREGHWVALUES;
typedef struct joyreghwconfig_tag {
JOYREGHWSETTINGS hws;
DWORD dwUsageSettings;
JOYREGHWVALUES hwv;
DWORD dwType;
DWORD dwReserved;
} JOYREGHWCONFIG;
typedef struct joyreghwconfig_tag *LPJOYREGHWCONFIG;
typedef struct joycalibrate_tag {
UINT wXbase;
UINT wXdelta;
UINT wYbase;
UINT wYdelta;
UINT wZbase;
UINT wZdelta;
} JOYCALIBRATE;
typedef struct joycalibrate_tag *LPJOYCALIBRATE;
#endif /* JOY_HW_NONE */
#ifndef DIJ_RINGZERO
#define MAX_JOYSTRING (256)
typedef WINBOOL (WINAPI *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
#if 0
#define MAX_JOYSTICKOEMVXDNAME (260)
#endif
#ifndef MAX_JOYSTICKOEMVXDNAME
#define MAX_JOYSTICKOEMVXDNAME 260
#endif
#define DITC_REGHWSETTINGS 0x00000001
#define DITC_CLSIDCONFIG 0x00000002
#define DITC_DISPLAYNAME 0x00000004
#define DITC_CALLOUT 0x00000008
#define DITC_HARDWAREID 0x00000010
#define DITC_FLAGS1 0x00000020
#define DITC_FLAGS2 0x00000040
#define DITC_MAPFILE 0x00000080
typedef struct DIJOYTYPEINFO_DX5 {
DWORD dwSize;
JOYREGHWSETTINGS hws;
CLSID clsidConfig;
WCHAR wszDisplayName[256];
WCHAR wszCallout[260];
} DIJOYTYPEINFO_DX5;
typedef struct DIJOYTYPEINFO_DX5 *LPDIJOYTYPEINFO_DX5;
typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
typedef struct DIJOYTYPEINFO_DX6 {
DWORD dwSize;
JOYREGHWSETTINGS hws;
CLSID clsidConfig;
WCHAR wszDisplayName[256];
WCHAR wszCallout[260];
WCHAR wszHardwareId[256];
DWORD dwFlags1;
} DIJOYTYPEINFO_DX6;
typedef struct DIJOYTYPEINFO_DX6 *LPDIJOYTYPEINFO_DX6;
typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
typedef struct DIJOYTYPEINFO {
DWORD dwSize;
JOYREGHWSETTINGS hws;
CLSID clsidConfig;
WCHAR wszDisplayName[256];
WCHAR wszCallout[260];
WCHAR wszHardwareId[256];
DWORD dwFlags1;
DWORD dwFlags2;
WCHAR wszMapFile[256];
} DIJOYTYPEINFO;
typedef struct DIJOYTYPEINFO *LPDIJOYTYPEINFO;
typedef const DIJOYTYPEINFO *LPCDIJOYTYPEINFO;
#define DIJC_GUIDINSTANCE 0x00000001
#define DIJC_REGHWCONFIGTYPE 0x00000002
#define DIJC_GAIN 0x00000004
#define DIJC_CALLOUT 0x00000008
#define DIJC_WDMGAMEPORT 0x00000010
typedef struct DIJOYCONFIG_DX5 {
DWORD dwSize;
GUID guidInstance;
JOYREGHWCONFIG hwc;
DWORD dwGain;
WCHAR wszType[256];
WCHAR wszCallout[256];
} DIJOYCONFIG_DX5;
typedef struct DIJOYCONFIG_DX5 *LPDIJOYCONFIG_DX5;
typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
typedef struct DIJOYCONFIG {
DWORD dwSize;
GUID guidInstance;
JOYREGHWCONFIG hwc;
DWORD dwGain;
WCHAR wszType[256];
WCHAR wszCallout[256];
GUID guidGameport;
} DIJOYCONFIG;
typedef struct DIJOYCONFIG *LPDIJOYCONFIG;
typedef const DIJOYCONFIG *LPCDIJOYCONFIG;
#define DIJU_USERVALUES 0x00000001
#define DIJU_GLOBALDRIVER 0x00000002
#define DIJU_GAMEPORTEMULATOR 0x00000004
typedef struct DIJOYUSERVALUES {
DWORD dwSize;
JOYREGUSERVALUES ruv;
WCHAR wszGlobalDriver[256];
WCHAR wszGameportEmulator[256];
} DIJOYUSERVALUES;
typedef struct DIJOYUSERVALUES *LPDIJOYUSERVALUES;
typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
DEFINE_GUID(GUID_KeyboardClass, 0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
DEFINE_GUID(GUID_MediaClass, 0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
DEFINE_GUID(GUID_MouseClass, 0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
DEFINE_GUID(GUID_HIDClass, 0x745a17a0,0x74d3,0x11d0,0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda);
/*****************************************************************************
* IDirectInputJoyConfig interface
*/
#ifndef __IDirectInputJoyConfig_INTERFACE_DEFINED__
#define __IDirectInputJoyConfig_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectInputJoyConfig, 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf,0xc7, 0x44,0x45,0x53,0x54,0x00,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1de12ab1-c9f5-11cf-bfc7-444553540000")
IDirectInputJoyConfig : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Acquire(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Unacquire(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCooperativeLevel(
HWND a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE SendNotify(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypes(
LPVOID a,
LPVOID b) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
LPCWSTR a,
LPDIJOYTYPEINFO b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTypeInfo(
LPCWSTR a,
LPCDIJOYTYPEINFO b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteType(
LPCWSTR a) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfig(
UINT a,
LPDIJOYCONFIG b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE SetConfig(
UINT a,
LPCDIJOYCONFIG b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteConfig(
UINT a) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUserValues(
LPDIJOYUSERVALUES a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUserValues(
LPCDIJOYUSERVALUES a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE AddNewHardware(
HWND a,
REFGUID b) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenTypeKey(
LPCWSTR a,
DWORD b,
HKEY *c) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenConfigKey(
UINT a,
DWORD b,
HKEY *c) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectInputJoyConfig, 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf,0xc7, 0x44,0x45,0x53,0x54,0x00,0x00)
#endif
#else
typedef struct IDirectInputJoyConfigVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectInputJoyConfig *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectInputJoyConfig *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectInputJoyConfig *This);
/*** IDirectInputJoyConfig methods ***/
HRESULT (STDMETHODCALLTYPE *Acquire)(
IDirectInputJoyConfig *This);
HRESULT (STDMETHODCALLTYPE *Unacquire)(
IDirectInputJoyConfig *This);
HRESULT (STDMETHODCALLTYPE *SetCooperativeLevel)(
IDirectInputJoyConfig *This,
HWND a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *SendNotify)(
IDirectInputJoyConfig *This);
HRESULT (STDMETHODCALLTYPE *EnumTypes)(
IDirectInputJoyConfig *This,
LPVOID a,
LPVOID b);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
IDirectInputJoyConfig *This,
LPCWSTR a,
LPDIJOYTYPEINFO b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *SetTypeInfo)(
IDirectInputJoyConfig *This,
LPCWSTR a,
LPCDIJOYTYPEINFO b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *DeleteType)(
IDirectInputJoyConfig *This,
LPCWSTR a);
HRESULT (STDMETHODCALLTYPE *GetConfig)(
IDirectInputJoyConfig *This,
UINT a,
LPDIJOYCONFIG b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *SetConfig)(
IDirectInputJoyConfig *This,
UINT a,
LPCDIJOYCONFIG b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *DeleteConfig)(
IDirectInputJoyConfig *This,
UINT a);
HRESULT (STDMETHODCALLTYPE *GetUserValues)(
IDirectInputJoyConfig *This,
LPDIJOYUSERVALUES a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *SetUserValues)(
IDirectInputJoyConfig *This,
LPCDIJOYUSERVALUES a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *AddNewHardware)(
IDirectInputJoyConfig *This,
HWND a,
REFGUID b);
HRESULT (STDMETHODCALLTYPE *OpenTypeKey)(
IDirectInputJoyConfig *This,
LPCWSTR a,
DWORD b,
HKEY *c);
HRESULT (STDMETHODCALLTYPE *OpenConfigKey)(
IDirectInputJoyConfig *This,
UINT a,
DWORD b,
HKEY *c);
END_INTERFACE
} IDirectInputJoyConfigVtbl;
interface IDirectInputJoyConfig {
CONST_VTBL IDirectInputJoyConfigVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectInputJoyConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectInputJoyConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectInputJoyConfig_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectInputJoyConfig methods ***/
#define IDirectInputJoyConfig_Acquire(This) (This)->lpVtbl->Acquire(This)
#define IDirectInputJoyConfig_Unacquire(This) (This)->lpVtbl->Unacquire(This)
#define IDirectInputJoyConfig_SetCooperativeLevel(This,a,b) (This)->lpVtbl->SetCooperativeLevel(This,a,b)
#define IDirectInputJoyConfig_SendNotify(This) (This)->lpVtbl->SendNotify(This)
#define IDirectInputJoyConfig_EnumTypes(This,a,b) (This)->lpVtbl->EnumTypes(This,a,b)
#define IDirectInputJoyConfig_GetTypeInfo(This,a,b,c) (This)->lpVtbl->GetTypeInfo(This,a,b,c)
#define IDirectInputJoyConfig_SetTypeInfo(This,a,b,c) (This)->lpVtbl->SetTypeInfo(This,a,b,c)
#define IDirectInputJoyConfig_DeleteType(This,a) (This)->lpVtbl->DeleteType(This,a)
#define IDirectInputJoyConfig_GetConfig(This,a,b,c) (This)->lpVtbl->GetConfig(This,a,b,c)
#define IDirectInputJoyConfig_SetConfig(This,a,b,c) (This)->lpVtbl->SetConfig(This,a,b,c)
#define IDirectInputJoyConfig_DeleteConfig(This,a) (This)->lpVtbl->DeleteConfig(This,a)
#define IDirectInputJoyConfig_GetUserValues(This,a,b) (This)->lpVtbl->GetUserValues(This,a,b)
#define IDirectInputJoyConfig_SetUserValues(This,a,b) (This)->lpVtbl->SetUserValues(This,a,b)
#define IDirectInputJoyConfig_AddNewHardware(This,a,b) (This)->lpVtbl->AddNewHardware(This,a,b)
#define IDirectInputJoyConfig_OpenTypeKey(This,a,b,c) (This)->lpVtbl->OpenTypeKey(This,a,b,c)
#define IDirectInputJoyConfig_OpenConfigKey(This,a,b,c) (This)->lpVtbl->OpenConfigKey(This,a,b,c)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectInputJoyConfig_QueryInterface(IDirectInputJoyConfig* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectInputJoyConfig_AddRef(IDirectInputJoyConfig* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectInputJoyConfig_Release(IDirectInputJoyConfig* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectInputJoyConfig methods ***/
static FORCEINLINE HRESULT IDirectInputJoyConfig_Acquire(IDirectInputJoyConfig* This) {
return This->lpVtbl->Acquire(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_Unacquire(IDirectInputJoyConfig* This) {
return This->lpVtbl->Unacquire(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_SetCooperativeLevel(IDirectInputJoyConfig* This,HWND a,DWORD b) {
return This->lpVtbl->SetCooperativeLevel(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_SendNotify(IDirectInputJoyConfig* This) {
return This->lpVtbl->SendNotify(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_EnumTypes(IDirectInputJoyConfig* This,LPVOID a,LPVOID b) {
return This->lpVtbl->EnumTypes(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_GetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) {
return This->lpVtbl->GetTypeInfo(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_SetTypeInfo(IDirectInputJoyConfig* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c) {
return This->lpVtbl->SetTypeInfo(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_DeleteType(IDirectInputJoyConfig* This,LPCWSTR a) {
return This->lpVtbl->DeleteType(This,a);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_GetConfig(IDirectInputJoyConfig* This,UINT a,LPDIJOYCONFIG b,DWORD c) {
return This->lpVtbl->GetConfig(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_SetConfig(IDirectInputJoyConfig* This,UINT a,LPCDIJOYCONFIG b,DWORD c) {
return This->lpVtbl->SetConfig(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_DeleteConfig(IDirectInputJoyConfig* This,UINT a) {
return This->lpVtbl->DeleteConfig(This,a);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_GetUserValues(IDirectInputJoyConfig* This,LPDIJOYUSERVALUES a,DWORD b) {
return This->lpVtbl->GetUserValues(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_SetUserValues(IDirectInputJoyConfig* This,LPCDIJOYUSERVALUES a,DWORD b) {
return This->lpVtbl->SetUserValues(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_AddNewHardware(IDirectInputJoyConfig* This,HWND a,REFGUID b) {
return This->lpVtbl->AddNewHardware(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_OpenTypeKey(IDirectInputJoyConfig* This,LPCWSTR a,DWORD b,HKEY *c) {
return This->lpVtbl->OpenTypeKey(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig_OpenConfigKey(IDirectInputJoyConfig* This,UINT a,DWORD b,HKEY *c) {
return This->lpVtbl->OpenConfigKey(This,a,b,c);
}
#endif
#endif
#endif
#endif /* __IDirectInputJoyConfig_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectInputJoyConfig8 interface
*/
#ifndef __IDirectInputJoyConfig8_INTERFACE_DEFINED__
#define __IDirectInputJoyConfig8_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4,0xd6, 0xed,0xf2,0xee,0xc4,0xa4,0x4c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eb0d7dfa-1990-4f27-b4d6-edf2eec4a44c")
IDirectInputJoyConfig8 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Acquire(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Unacquire(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCooperativeLevel(
HWND a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE SendNotify(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypes(
LPVOID a,
LPVOID b) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
LPCWSTR a,
LPDIJOYTYPEINFO b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTypeInfo(
LPCWSTR a,
LPCDIJOYTYPEINFO b,
DWORD c,
LPWSTR d) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteType(
LPCWSTR a) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfig(
UINT a,
LPDIJOYCONFIG b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE SetConfig(
UINT a,
LPCDIJOYCONFIG b,
DWORD c) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteConfig(
UINT a) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUserValues(
LPDIJOYUSERVALUES a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUserValues(
LPCDIJOYUSERVALUES a,
DWORD b) = 0;
virtual HRESULT STDMETHODCALLTYPE AddNewHardware(
HWND a,
REFGUID b) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenTypeKey(
LPCWSTR a,
DWORD b,
HKEY *c) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenAppStatusKey(
HKEY *a) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectInputJoyConfig8, 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4,0xd6, 0xed,0xf2,0xee,0xc4,0xa4,0x4c)
#endif
#else
typedef struct IDirectInputJoyConfig8Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectInputJoyConfig8 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectInputJoyConfig8 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectInputJoyConfig8 *This);
/*** IDirectInputJoyConfig8 methods ***/
HRESULT (STDMETHODCALLTYPE *Acquire)(
IDirectInputJoyConfig8 *This);
HRESULT (STDMETHODCALLTYPE *Unacquire)(
IDirectInputJoyConfig8 *This);
HRESULT (STDMETHODCALLTYPE *SetCooperativeLevel)(
IDirectInputJoyConfig8 *This,
HWND a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *SendNotify)(
IDirectInputJoyConfig8 *This);
HRESULT (STDMETHODCALLTYPE *EnumTypes)(
IDirectInputJoyConfig8 *This,
LPVOID a,
LPVOID b);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
IDirectInputJoyConfig8 *This,
LPCWSTR a,
LPDIJOYTYPEINFO b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *SetTypeInfo)(
IDirectInputJoyConfig8 *This,
LPCWSTR a,
LPCDIJOYTYPEINFO b,
DWORD c,
LPWSTR d);
HRESULT (STDMETHODCALLTYPE *DeleteType)(
IDirectInputJoyConfig8 *This,
LPCWSTR a);
HRESULT (STDMETHODCALLTYPE *GetConfig)(
IDirectInputJoyConfig8 *This,
UINT a,
LPDIJOYCONFIG b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *SetConfig)(
IDirectInputJoyConfig8 *This,
UINT a,
LPCDIJOYCONFIG b,
DWORD c);
HRESULT (STDMETHODCALLTYPE *DeleteConfig)(
IDirectInputJoyConfig8 *This,
UINT a);
HRESULT (STDMETHODCALLTYPE *GetUserValues)(
IDirectInputJoyConfig8 *This,
LPDIJOYUSERVALUES a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *SetUserValues)(
IDirectInputJoyConfig8 *This,
LPCDIJOYUSERVALUES a,
DWORD b);
HRESULT (STDMETHODCALLTYPE *AddNewHardware)(
IDirectInputJoyConfig8 *This,
HWND a,
REFGUID b);
HRESULT (STDMETHODCALLTYPE *OpenTypeKey)(
IDirectInputJoyConfig8 *This,
LPCWSTR a,
DWORD b,
HKEY *c);
HRESULT (STDMETHODCALLTYPE *OpenAppStatusKey)(
IDirectInputJoyConfig8 *This,
HKEY *a);
END_INTERFACE
} IDirectInputJoyConfig8Vtbl;
interface IDirectInputJoyConfig8 {
CONST_VTBL IDirectInputJoyConfig8Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectInputJoyConfig8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectInputJoyConfig8_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectInputJoyConfig8_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectInputJoyConfig8 methods ***/
#define IDirectInputJoyConfig8_Acquire(This) (This)->lpVtbl->Acquire(This)
#define IDirectInputJoyConfig8_Unacquire(This) (This)->lpVtbl->Unacquire(This)
#define IDirectInputJoyConfig8_SetCooperativeLevel(This,a,b) (This)->lpVtbl->SetCooperativeLevel(This,a,b)
#define IDirectInputJoyConfig8_SendNotify(This) (This)->lpVtbl->SendNotify(This)
#define IDirectInputJoyConfig8_EnumTypes(This,a,b) (This)->lpVtbl->EnumTypes(This,a,b)
#define IDirectInputJoyConfig8_GetTypeInfo(This,a,b,c) (This)->lpVtbl->GetTypeInfo(This,a,b,c)
#define IDirectInputJoyConfig8_SetTypeInfo(This,a,b,c,d) (This)->lpVtbl->SetTypeInfo(This,a,b,c,d)
#define IDirectInputJoyConfig8_DeleteType(This,a) (This)->lpVtbl->DeleteType(This,a)
#define IDirectInputJoyConfig8_GetConfig(This,a,b,c) (This)->lpVtbl->GetConfig(This,a,b,c)
#define IDirectInputJoyConfig8_SetConfig(This,a,b,c) (This)->lpVtbl->SetConfig(This,a,b,c)
#define IDirectInputJoyConfig8_DeleteConfig(This,a) (This)->lpVtbl->DeleteConfig(This,a)
#define IDirectInputJoyConfig8_GetUserValues(This,a,b) (This)->lpVtbl->GetUserValues(This,a,b)
#define IDirectInputJoyConfig8_SetUserValues(This,a,b) (This)->lpVtbl->SetUserValues(This,a,b)
#define IDirectInputJoyConfig8_AddNewHardware(This,a,b) (This)->lpVtbl->AddNewHardware(This,a,b)
#define IDirectInputJoyConfig8_OpenTypeKey(This,a,b,c) (This)->lpVtbl->OpenTypeKey(This,a,b,c)
#define IDirectInputJoyConfig8_OpenAppStatusKey(This,a) (This)->lpVtbl->OpenAppStatusKey(This,a)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectInputJoyConfig8_QueryInterface(IDirectInputJoyConfig8* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectInputJoyConfig8_AddRef(IDirectInputJoyConfig8* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectInputJoyConfig8_Release(IDirectInputJoyConfig8* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectInputJoyConfig8 methods ***/
static FORCEINLINE HRESULT IDirectInputJoyConfig8_Acquire(IDirectInputJoyConfig8* This) {
return This->lpVtbl->Acquire(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_Unacquire(IDirectInputJoyConfig8* This) {
return This->lpVtbl->Unacquire(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetCooperativeLevel(IDirectInputJoyConfig8* This,HWND a,DWORD b) {
return This->lpVtbl->SetCooperativeLevel(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_SendNotify(IDirectInputJoyConfig8* This) {
return This->lpVtbl->SendNotify(This);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_EnumTypes(IDirectInputJoyConfig8* This,LPVOID a,LPVOID b) {
return This->lpVtbl->EnumTypes(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPDIJOYTYPEINFO b,DWORD c) {
return This->lpVtbl->GetTypeInfo(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetTypeInfo(IDirectInputJoyConfig8* This,LPCWSTR a,LPCDIJOYTYPEINFO b,DWORD c,LPWSTR d) {
return This->lpVtbl->SetTypeInfo(This,a,b,c,d);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_DeleteType(IDirectInputJoyConfig8* This,LPCWSTR a) {
return This->lpVtbl->DeleteType(This,a);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetConfig(IDirectInputJoyConfig8* This,UINT a,LPDIJOYCONFIG b,DWORD c) {
return This->lpVtbl->GetConfig(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetConfig(IDirectInputJoyConfig8* This,UINT a,LPCDIJOYCONFIG b,DWORD c) {
return This->lpVtbl->SetConfig(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_DeleteConfig(IDirectInputJoyConfig8* This,UINT a) {
return This->lpVtbl->DeleteConfig(This,a);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_GetUserValues(IDirectInputJoyConfig8* This,LPDIJOYUSERVALUES a,DWORD b) {
return This->lpVtbl->GetUserValues(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_SetUserValues(IDirectInputJoyConfig8* This,LPCDIJOYUSERVALUES a,DWORD b) {
return This->lpVtbl->SetUserValues(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_AddNewHardware(IDirectInputJoyConfig8* This,HWND a,REFGUID b) {
return This->lpVtbl->AddNewHardware(This,a,b);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_OpenTypeKey(IDirectInputJoyConfig8* This,LPCWSTR a,DWORD b,HKEY *c) {
return This->lpVtbl->OpenTypeKey(This,a,b,c);
}
static FORCEINLINE HRESULT IDirectInputJoyConfig8_OpenAppStatusKey(IDirectInputJoyConfig8* This,HKEY *a) {
return This->lpVtbl->OpenAppStatusKey(This,a);
}
#endif
#endif
#endif
#endif /* __IDirectInputJoyConfig8_INTERFACE_DEFINED__ */
#endif /* DIJ_RINGZERO */
#define DIRECTINPUT_NOTIFICATION_MSGSTRINGA "DIRECTINPUT_NOTIFICATION_MSGSTRING"
#define DIRECTINPUT_NOTIFICATION_MSGSTRINGW L"DIRECTINPUT_NOTIFICATION_MSGSTRING"
#define DIRECTINPUT_NOTIFICATION_MSGSTRING __MINGW_NAME_AW(DIRECTINPUT_NOTIFICATION_MSGSTRING)
#define DIMSGWP_NEWAPPSTART 0x00000001
#define DIMSGWP_DX8APPSTART 0x00000002
#define DIMSGWP_DX8MAPPERAPPSTART 0x00000003
#define DIAPPIDFLAG_NOTIME 0x00000001
#define DIAPPIDFLAG_NOSIZE 0x00000002
#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGA "AppIdFlag"
#define DIRECTINPUT_REGSTR_KEY_LASTAPPA "MostRecentApplication"
#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPA "MostRecentMapperApplication"
#define DIRECTINPUT_REGSTR_VAL_VERSIONA "Version"
#define DIRECTINPUT_REGSTR_VAL_NAMEA "Name"
#define DIRECTINPUT_REGSTR_VAL_IDA "Id"
#define DIRECTINPUT_REGSTR_VAL_MAPPERA "UsesMapper"
#define DIRECTINPUT_REGSTR_VAL_LASTSTARTA "MostRecentStart"
#define DIRECTINPUT_REGSTR_VAL_APPIDFLAGW L"AppIdFlag"
#define DIRECTINPUT_REGSTR_KEY_LASTAPPW L"MostRecentApplication"
#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPPW L"MostRecentMapperApplication"
#define DIRECTINPUT_REGSTR_VAL_VERSIONW L"Version"
#define DIRECTINPUT_REGSTR_VAL_NAMEW L"Name"
#define DIRECTINPUT_REGSTR_VAL_IDW L"Id"
#define DIRECTINPUT_REGSTR_VAL_MAPPERW L"UsesMapper"
#define DIRECTINPUT_REGSTR_VAL_LASTSTARTW L"MostRecentStart"
#define DIRECTINPUT_REGSTR_VAL_APPIDFLAG __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_APPIDFLAG)
#define DIRECTINPUT_REGSTR_KEY_LASTAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTAPP)
#define DIRECTINPUT_REGSTR_KEY_LASTMAPAPP __MINGW_NAME_AW(DIRECTINPUT_REGSTR_KEY_LASTMAPAPP)
#define DIRECTINPUT_REGSTR_VAL_VERSION __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_VERSION)
#define DIRECTINPUT_REGSTR_VAL_NAME __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_NAME)
#define DIRECTINPUT_REGSTR_VAL_ID __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_ID)
#define DIRECTINPUT_REGSTR_VAL_MAPPER __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_MAPPER)
#define DIRECTINPUT_REGSTR_VAL_LASTSTART __MINGW_NAME_AW(DIRECTINPUT_REGSTR_VAL_LASTSTART)
#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
#define DIERR_DRIVERFIRST __MSABI_LONG(0x80040300)
#define DIERR_DRIVERLAST __MSABI_LONG(0x800403FF)
#define DIERR_INVALIDCLASSINSTALLER __MSABI_LONG(0x80040400)
#define DIERR_CANCELLED __MSABI_LONG(0x80040401)
#define DIERR_BADINF __MSABI_LONG(0x80040402)
#define DIDIFT_DELETE __MSABI_LONG(0x01000000)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __dinputd_h__ */