3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) the Wine project
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __DINPUTD_INCLUDED__
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __DINPUTD_INCLUDED__
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define COM_NO_WINDOWS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <objbase.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef DIRECTINPUT_VERSION
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIRECTINPUT_VERSION 0x0800
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDEFINE_GUID(IID_IDirectInputJoyConfig8, 0xEB0D7DFA,0x1990,0x4F27,0xB4,0xD6,0xED,0xF2,0xEE,0xC4,0xA4,0x4C);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct IDirectInputJoyConfig8 *LPDIRECTINPUTJOYCONFIG8;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAX_JOYSTRING 256
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef MAX_JOYSTICKOEMVXDNAME
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAX_JOYSTICKOEMVXDNAME 260
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define JOY_POV_NUMDIRS 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define JOY_POVVAL_FORWARD 0
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define JOY_POVVAL_BACKWARD 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define JOY_POVVAL_LEFT 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define JOY_POVVAL_RIGHT 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joypos_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwX;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwZ;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwU;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwV;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYPOS, *LPJOYPOS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joyrange_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYPOS jpMin;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYPOS jpMax;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYPOS jpCenter;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYRANGE, *LPJOYRANGE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joyreguservalues_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwTimeOut;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYRANGE jrvRanges;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYPOS jpDeadZone;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYREGUSERVALUES, *LPJOYREGUSERVALUES;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joyreghwsettings_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwNumButtons;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYREGHWSETTINGS, *LPJOYHWSETTINGS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joyreghwvalues_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYRANGE jrvHardware;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwPOVValues[JOY_POV_NUMDIRS];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCalFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYREGHWVALUES, *LPJOYREGHWVALUES;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct joyreghwconfig_tag
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWSETTINGS hws;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwUsageSettings;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWVALUES hwv;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwReserved;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} JOYREGHWCONFIG, *LPJOYREGHWCONFIG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYTYPEINFO_DX5
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWSETTINGS hws;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CLSID clsidConfig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszDisplayName[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYTYPEINFO_DX5, *LPDIJOYTYPEINFO_DX5;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYTYPEINFO_DX6
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWSETTINGS hws;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CLSID clsidConfig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszDisplayName[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszHardwareId[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYTYPEINFO_DX6, *LPDIJOYTYPEINFO_DX6;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYTYPEINFO
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWSETTINGS hws;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CLSID clsidConfig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszDisplayName[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszHardwareId[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszMapFile[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYTYPEINFO, *LPDIJOYTYPEINFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYTYPEINFO *LPCDIJOYTYPEINFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIJC_GUIDINSTANCE 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIJC_REGHWCONFIGTYPE 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIJC_GAIN 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIJC_CALLOUT 0x00000008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DIJC_WDMGAMEPORT 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYCONFIG_DX5
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID guidInstance;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWCONFIG hwc;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwGain;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszType[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszCallout[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYCONFIG_DX5, *LPDIJOYCONFIG_DX5;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYCONFIG
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID guidInstance;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGHWCONFIG hwc;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwGain;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszType[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszCallout[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID guidGameport;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYCONFIG, *LPDIJOYCONFIG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYCONFIG *LPCDIJOYCONFIG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct DIJOYUSERVALUES
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync JOYREGUSERVALUES ruv;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszGlobalDriver[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR wszGameportEmulator[MAX_JOYSTRING];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DIJOYUSERVALUES, *LPDIJOYUSERVALUES;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IDirectInputJoyConfig8 interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define INTERFACE IDirectInputJoyConfig8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECLARE_INTERFACE_(IDirectInputJoyConfig8, IUnknown)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,AddRef)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(ULONG,Release)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IDirectInputJoyConfig8 methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Acquire)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(Unacquire)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SendNotify)(THIS) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(EnumTypes)(THIS_ LPDIJOYTYPECALLBACK, LPVOID) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetTypeInfo)(THIS_ LPCWSTR, LPDIJOYTYPEINFO, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetTypeInfo)(THIS_ LPCWSTR, LPCDIJOYTYPEINFO, DWORD, LPWSTR) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteType)(THIS_ LPCWSTR) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetConfig)(THIS_ UINT, LPDIJOYCONFIG, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetConfig)(THIS_ UINT, LPCDIJOYCONFIG, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(DeleteConfig)(THIS_ UINT) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetUserValues)(THIS_ LPDIJOYUSERVALUES, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(SetUserValues)(THIS_ LPCDIJOYUSERVALUES, DWORD) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(AddNewHardware)(THIS_ HWND, REFGUID) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenTypeKey)(THIS_ LPCWSTR, DWORD, PHKEY) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(OpenAppStatusKey)(THIS_ PHKEY) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#undef INTERFACE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if !defined(__cplusplus) || defined(CINTERFACE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_AddRef(p) (p)->lpVtbl->AddRef(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Release(p) (p)->lpVtbl->Release(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*** IDirectInputJoyConfig8 methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Acquire(p) (p)->lpVtbl->Acquire(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Unacquire(p) (p)->lpVtbl->Unacquire(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SendNotify(p) (p)->lpVtbl->SendNotify(p)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->lpVtbl->EnumTypes(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->lpVtbl->SetTypeInfo(p,a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->lpVtbl->DeleteType(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->lpVtbl->GetConfig(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->lpVtbl->SetConfig(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->lpVtbl->DeleteConfig(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->lpVtbl->GetUserValues(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->lpVtbl->SetUserValues(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->lpVtbl->AddNewHardware(p,a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->lpVtbl->OpenTypeKey(p,a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->lpVtbl->OpenAppStatusKey(p,a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_AddRef(p) (p)->AddRef()
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Release(p) (p)->Release()
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*** IDirectInputJoyConfig8 methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Acquire(p) (p)->Acquire()
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_Unacquire(p) (p)->Unacquire()
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SendNotify(p) (p)->SendNotify()
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->EnumTypes(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->GetTypeInfo(a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->SetTypeInfo(a,b,c,d)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->DeleteType(a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->GetConfig(a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->SetConfig(a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->DeleteConfig(a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->GetUserValues(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->SetUserValues(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->AddNewHardware(a,b)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->OpenTypeKey(a,b,c)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->OpenAppStatusKey(a)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __DINPUTD_INCLUDED__ */