dinput: Stub IDirectInputJoyConfig8 interface.
This commit is contained in:
parent
87a770fa73
commit
a84d2fe20e
|
@ -46,8 +46,10 @@
|
|||
#include "winerror.h"
|
||||
#include "objbase.h"
|
||||
#include "rpcproxy.h"
|
||||
#include "initguid.h"
|
||||
#include "dinput_private.h"
|
||||
#include "device_private.h"
|
||||
#include "dinputd.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(dinput);
|
||||
|
||||
|
@ -55,6 +57,7 @@ static const IDirectInput7AVtbl ddi7avt;
|
|||
static const IDirectInput7WVtbl ddi7wvt;
|
||||
static const IDirectInput8AVtbl ddi8avt;
|
||||
static const IDirectInput8WVtbl ddi8wvt;
|
||||
static const IDirectInputJoyConfig8Vtbl JoyConfig8vt;
|
||||
|
||||
static inline IDirectInputImpl *impl_from_IDirectInput7A( IDirectInput7A *iface )
|
||||
{
|
||||
|
@ -116,6 +119,7 @@ static HRESULT create_directinput_instance(REFIID riid, LPVOID *ppDI, IDirectInp
|
|||
This->IDirectInput7W_iface.lpVtbl = &ddi7wvt;
|
||||
This->IDirectInput8A_iface.lpVtbl = &ddi8avt;
|
||||
This->IDirectInput8W_iface.lpVtbl = &ddi8wvt;
|
||||
This->IDirectInputJoyConfig8_iface.lpVtbl = &JoyConfig8vt;
|
||||
|
||||
hr = IDirectInput_QueryInterface( &This->IDirectInput7A_iface, riid, ppDI );
|
||||
if (FAILED(hr))
|
||||
|
@ -493,6 +497,14 @@ static HRESULT WINAPI IDirectInputAImpl_QueryInterface(LPDIRECTINPUT7A iface, RE
|
|||
return DI_OK;
|
||||
}
|
||||
|
||||
if (IsEqualGUID( &IID_IDirectInputJoyConfig8, riid ))
|
||||
{
|
||||
*ppobj = &This->IDirectInputJoyConfig8_iface;
|
||||
IUnknown_AddRef( (IUnknown*)*ppobj );
|
||||
|
||||
return DI_OK;
|
||||
}
|
||||
|
||||
FIXME( "Unsupported interface: %s\n", debugstr_guid(riid));
|
||||
*ppobj = NULL;
|
||||
return E_NOINTERFACE;
|
||||
|
@ -1046,6 +1058,130 @@ static HRESULT WINAPI IDirectInput8AImpl_ConfigureDevices(
|
|||
return hr;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirectInputJoyConfig8 interface
|
||||
*/
|
||||
|
||||
static inline IDirectInputImpl *impl_from_IDirectInputJoyConfig8(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInputJoyConfig8_iface );
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_QueryInterface(IDirectInputJoyConfig8 *iface, REFIID riid, void** ppobj)
|
||||
{
|
||||
IDirectInputImpl *This = impl_from_IDirectInputJoyConfig8( iface );
|
||||
return IDirectInputAImpl_QueryInterface( &This->IDirectInput7A_iface, riid, ppobj );
|
||||
}
|
||||
|
||||
static ULONG WINAPI JoyConfig8Impl_AddRef(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
IDirectInputImpl *This = impl_from_IDirectInputJoyConfig8( iface );
|
||||
return IDirectInputAImpl_AddRef( &This->IDirectInput7A_iface );
|
||||
}
|
||||
|
||||
static ULONG WINAPI JoyConfig8Impl_Release(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
IDirectInputImpl *This = impl_from_IDirectInputJoyConfig8( iface );
|
||||
return IDirectInputAImpl_Release( &This->IDirectInput7A_iface );
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_Acquire(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
FIXME( "(%p): stub!\n", iface );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_Unacquire(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
FIXME( "(%p): stub!\n", iface );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_SetCooperativeLevel(IDirectInputJoyConfig8 *iface, HWND hwnd, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%p, 0x%08x): stub!\n", iface, hwnd, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_SendNotify(IDirectInputJoyConfig8 *iface)
|
||||
{
|
||||
FIXME( "(%p): stub!\n", iface );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_EnumTypes(IDirectInputJoyConfig8 *iface, LPDIJOYTYPECALLBACK cb, void *ref)
|
||||
{
|
||||
FIXME( "(%p)->(%p, %p): stub!\n", iface, cb, ref );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_GetTypeInfo(IDirectInputJoyConfig8 *iface, LPCWSTR name, LPDIJOYTYPEINFO info, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%s, %p, 0x%08x): stub!\n", iface, debugstr_w(name), info, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_SetTypeInfo(IDirectInputJoyConfig8 *iface, LPCWSTR name, LPCDIJOYTYPEINFO info, DWORD flags,
|
||||
LPWSTR new_name)
|
||||
{
|
||||
FIXME( "(%p)->(%s, %p, 0x%08x, %s): stub!\n", iface, debugstr_w(name), info, flags, debugstr_w(new_name) );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_DeleteType(IDirectInputJoyConfig8 *iface, LPCWSTR name)
|
||||
{
|
||||
FIXME( "(%p)->(%s): stub!\n", iface, debugstr_w(name) );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_GetConfig(IDirectInputJoyConfig8 *iface, UINT id, LPDIJOYCONFIG info, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%d, %p, 0x%08x): stub!\n", iface, id, info, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_SetConfig(IDirectInputJoyConfig8 *iface, UINT id, LPCDIJOYCONFIG info, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%d, %p, 0x%08x): stub!\n", iface, id, info, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_DeleteConfig(IDirectInputJoyConfig8 *iface, UINT id)
|
||||
{
|
||||
FIXME( "(%p)->(%d): stub!\n", iface, id );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_GetUserValues(IDirectInputJoyConfig8 *iface, LPDIJOYUSERVALUES info, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%p, 0x%08x): stub!\n", iface, info, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_SetUserValues(IDirectInputJoyConfig8 *iface, LPCDIJOYUSERVALUES info, DWORD flags)
|
||||
{
|
||||
FIXME( "(%p)->(%p, 0x%08x): stub!\n", iface, info, flags );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_AddNewHardware(IDirectInputJoyConfig8 *iface, HWND hwnd, REFGUID guid)
|
||||
{
|
||||
FIXME( "(%p)->(%p, %s): stub!\n", iface, hwnd, debugstr_guid(guid) );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_OpenTypeKey(IDirectInputJoyConfig8 *iface, LPCWSTR name, DWORD security, PHKEY key)
|
||||
{
|
||||
FIXME( "(%p)->(%s, 0x%08x, %p): stub!\n", iface, debugstr_w(name), security, key );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI JoyConfig8Impl_OpenAppStatusKey(IDirectInputJoyConfig8 *iface, PHKEY key)
|
||||
{
|
||||
FIXME( "(%p)->(%p): stub!\n", iface, key );
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IDirectInput7AVtbl ddi7avt = {
|
||||
IDirectInputAImpl_QueryInterface,
|
||||
IDirectInputAImpl_AddRef,
|
||||
|
@ -1100,6 +1236,29 @@ static const IDirectInput8WVtbl ddi8wvt = {
|
|||
IDirectInput8WImpl_ConfigureDevices
|
||||
};
|
||||
|
||||
static const IDirectInputJoyConfig8Vtbl JoyConfig8vt =
|
||||
{
|
||||
JoyConfig8Impl_QueryInterface,
|
||||
JoyConfig8Impl_AddRef,
|
||||
JoyConfig8Impl_Release,
|
||||
JoyConfig8Impl_Acquire,
|
||||
JoyConfig8Impl_Unacquire,
|
||||
JoyConfig8Impl_SetCooperativeLevel,
|
||||
JoyConfig8Impl_SendNotify,
|
||||
JoyConfig8Impl_EnumTypes,
|
||||
JoyConfig8Impl_GetTypeInfo,
|
||||
JoyConfig8Impl_SetTypeInfo,
|
||||
JoyConfig8Impl_DeleteType,
|
||||
JoyConfig8Impl_GetConfig,
|
||||
JoyConfig8Impl_SetConfig,
|
||||
JoyConfig8Impl_DeleteConfig,
|
||||
JoyConfig8Impl_GetUserValues,
|
||||
JoyConfig8Impl_SetUserValues,
|
||||
JoyConfig8Impl_AddNewHardware,
|
||||
JoyConfig8Impl_OpenTypeKey,
|
||||
JoyConfig8Impl_OpenAppStatusKey
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
* DirectInput ClassFactory
|
||||
*/
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "dinput.h"
|
||||
#include "dinputd.h"
|
||||
#include "wine/list.h"
|
||||
|
||||
/* Implementation specification */
|
||||
|
@ -34,6 +35,7 @@ struct IDirectInputImpl
|
|||
IDirectInput7W IDirectInput7W_iface;
|
||||
IDirectInput8A IDirectInput8A_iface;
|
||||
IDirectInput8W IDirectInput8W_iface;
|
||||
IDirectInputJoyConfig8 IDirectInputJoyConfig8_iface;
|
||||
|
||||
LONG ref;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <initguid.h>
|
||||
#include <windows.h>
|
||||
#include <dinput.h>
|
||||
#include <dinputd.h>
|
||||
|
||||
#include "wine/test.h"
|
||||
|
||||
|
@ -225,7 +226,7 @@ static void test_DirectInput8Create(void)
|
|||
|
||||
static void test_QueryInterface(void)
|
||||
{
|
||||
static REFIID iid_list[] = {&IID_IUnknown, &IID_IDirectInput8A, &IID_IDirectInput8W};
|
||||
static REFIID iid_list[] = {&IID_IUnknown, &IID_IDirectInput8A, &IID_IDirectInput8W, &IID_IDirectInputJoyConfig8};
|
||||
|
||||
static const struct
|
||||
{
|
||||
|
@ -279,7 +280,19 @@ static void test_QueryInterface(void)
|
|||
hr = IDirectInput8_QueryInterface(pDI, iid_list[i], (void **)&pUnk);
|
||||
ok(hr == S_OK, "[%d] IDirectInput8_QueryInterface returned 0x%08x\n", i, hr);
|
||||
ok(pUnk != NULL, "[%d] Output interface pointer is NULL\n", i);
|
||||
if (pUnk) IUnknown_Release(pUnk);
|
||||
if (pUnk)
|
||||
{
|
||||
int j;
|
||||
for (j = 0; j < sizeof(iid_list)/sizeof(iid_list[0]); j++)
|
||||
{
|
||||
IUnknown *pUnk1 = NULL;
|
||||
hr = IDirectInput8_QueryInterface(pUnk, iid_list[j], (void **)&pUnk1);
|
||||
ok(hr == S_OK, "[%d] IDirectInput8_QueryInterface(pUnk) returned 0x%08x\n", j, hr);
|
||||
ok(pUnk1 != NULL, "[%d] Output interface pointer is NULL\n", i);
|
||||
if (pUnk1) IUnknown_Release(pUnk1);
|
||||
}
|
||||
IUnknown_Release(pUnk);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < sizeof(no_interface_list)/sizeof(no_interface_list[0]); i++)
|
||||
|
|
|
@ -229,6 +229,7 @@ SRCDIR_INCLUDES = \
|
|||
devpropdef.h \
|
||||
digitalv.h \
|
||||
dinput.h \
|
||||
dinputd.h \
|
||||
dispdib.h \
|
||||
dlgs.h \
|
||||
dls1.h \
|
||||
|
|
|
@ -0,0 +1,243 @@
|
|||
/*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __DINPUTD_INCLUDED__
|
||||
#define __DINPUTD_INCLUDED__
|
||||
|
||||
#define COM_NO_WINDOWS_H
|
||||
#include <objbase.h>
|
||||
|
||||
#ifndef DIRECTINPUT_VERSION
|
||||
#define DIRECTINPUT_VERSION 0x0800
|
||||
#endif
|
||||
|
||||
DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xEB0D7DFA,0x1990,0x4F27,0xB4,0xD6,0xED,0xF2,0xEE,0xC4,0xA4,0x4C);
|
||||
|
||||
typedef struct IDirectInputJoyConfig8 *LPDIRECTINPUTJOYCONFIG8;
|
||||
|
||||
|
||||
typedef BOOL (CALLBACK *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
|
||||
|
||||
#define MAX_JOYSTRING 256
|
||||
#ifndef MAX_JOYSTICKOEMVXDNAME
|
||||
#define MAX_JOYSTICKOEMVXDNAME 260
|
||||
#endif
|
||||
|
||||
#define JOY_POV_NUMDIRS 4
|
||||
#define JOY_POVVAL_FORWARD 0
|
||||
#define JOY_POVVAL_BACKWARD 1
|
||||
#define JOY_POVVAL_LEFT 2
|
||||
#define JOY_POVVAL_RIGHT 3
|
||||
|
||||
typedef struct joypos_tag
|
||||
{
|
||||
DWORD dwX;
|
||||
DWORD dwY;
|
||||
DWORD dwZ;
|
||||
DWORD dwR;
|
||||
DWORD dwU;
|
||||
DWORD dwV;
|
||||
} JOYPOS, *LPJOYPOS;
|
||||
|
||||
typedef struct joyrange_tag
|
||||
{
|
||||
JOYPOS jpMin;
|
||||
JOYPOS jpMax;
|
||||
JOYPOS jpCenter;
|
||||
} JOYRANGE, *LPJOYRANGE;
|
||||
|
||||
typedef struct joyreguservalues_tag
|
||||
{
|
||||
DWORD dwTimeOut;
|
||||
JOYRANGE jrvRanges;
|
||||
JOYPOS jpDeadZone;
|
||||
} JOYREGUSERVALUES, *LPJOYREGUSERVALUES;
|
||||
|
||||
typedef struct joyreghwsettings_tag
|
||||
{
|
||||
DWORD dwFlags;
|
||||
DWORD dwNumButtons;
|
||||
} JOYREGHWSETTINGS, *LPJOYHWSETTINGS;
|
||||
|
||||
typedef struct joyreghwvalues_tag
|
||||
{
|
||||
JOYRANGE jrvHardware;
|
||||
DWORD dwPOVValues[JOY_POV_NUMDIRS];
|
||||
DWORD dwCalFlags;
|
||||
} JOYREGHWVALUES, *LPJOYREGHWVALUES;
|
||||
|
||||
typedef struct joyreghwconfig_tag
|
||||
{
|
||||
JOYREGHWSETTINGS hws;
|
||||
DWORD dwUsageSettings;
|
||||
JOYREGHWVALUES hwv;
|
||||
DWORD dwType;
|
||||
DWORD dwReserved;
|
||||
} JOYREGHWCONFIG, *LPJOYREGHWCONFIG;
|
||||
|
||||
typedef struct DIJOYTYPEINFO_DX5
|
||||
{
|
||||
DWORD dwSize;
|
||||
JOYREGHWSETTINGS hws;
|
||||
CLSID clsidConfig;
|
||||
WCHAR wszDisplayName[MAX_JOYSTRING];
|
||||
WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
|
||||
} DIJOYTYPEINFO_DX5, *LPDIJOYTYPEINFO_DX5;
|
||||
typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
|
||||
|
||||
typedef struct DIJOYTYPEINFO_DX6
|
||||
{
|
||||
DWORD dwSize;
|
||||
JOYREGHWSETTINGS hws;
|
||||
CLSID clsidConfig;
|
||||
WCHAR wszDisplayName[MAX_JOYSTRING];
|
||||
WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
|
||||
WCHAR wszHardwareId[MAX_JOYSTRING];
|
||||
DWORD dwFlags1;
|
||||
} DIJOYTYPEINFO_DX6, *LPDIJOYTYPEINFO_DX6;
|
||||
typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
|
||||
|
||||
typedef struct DIJOYTYPEINFO
|
||||
{
|
||||
DWORD dwSize;
|
||||
JOYREGHWSETTINGS hws;
|
||||
CLSID clsidConfig;
|
||||
WCHAR wszDisplayName[MAX_JOYSTRING];
|
||||
WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
|
||||
WCHAR wszHardwareId[MAX_JOYSTRING];
|
||||
DWORD dwFlags1;
|
||||
DWORD dwFlags2;
|
||||
WCHAR wszMapFile[MAX_JOYSTRING];
|
||||
} 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[MAX_JOYSTRING];
|
||||
WCHAR wszCallout[MAX_JOYSTRING];
|
||||
} DIJOYCONFIG_DX5, *LPDIJOYCONFIG_DX5;
|
||||
typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
|
||||
|
||||
typedef struct DIJOYCONFIG
|
||||
{
|
||||
DWORD dwSize;
|
||||
GUID guidInstance;
|
||||
JOYREGHWCONFIG hwc;
|
||||
DWORD dwGain;
|
||||
WCHAR wszType[MAX_JOYSTRING];
|
||||
WCHAR wszCallout[MAX_JOYSTRING];
|
||||
GUID guidGameport;
|
||||
} DIJOYCONFIG, *LPDIJOYCONFIG;
|
||||
typedef const DIJOYCONFIG *LPCDIJOYCONFIG;
|
||||
|
||||
typedef struct DIJOYUSERVALUES
|
||||
{
|
||||
DWORD dwSize;
|
||||
JOYREGUSERVALUES ruv;
|
||||
WCHAR wszGlobalDriver[MAX_JOYSTRING];
|
||||
WCHAR wszGameportEmulator[MAX_JOYSTRING];
|
||||
} DIJOYUSERVALUES, *LPDIJOYUSERVALUES;
|
||||
typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IDirectInputJoyConfig8 interface
|
||||
*/
|
||||
#define INTERFACE IDirectInputJoyConfig8
|
||||
DECLARE_INTERFACE_(IDirectInputJoyConfig8, IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IDirectInputJoyConfig8 methods ***/
|
||||
STDMETHOD(Acquire)(THIS) PURE;
|
||||
STDMETHOD(Unacquire)(THIS) PURE;
|
||||
STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
|
||||
STDMETHOD(SendNotify)(THIS) PURE;
|
||||
STDMETHOD(EnumTypes)(THIS_ LPDIJOYTYPECALLBACK, LPVOID) PURE;
|
||||
STDMETHOD(GetTypeInfo)(THIS_ LPCWSTR, LPDIJOYTYPEINFO, DWORD) PURE;
|
||||
STDMETHOD(SetTypeInfo)(THIS_ LPCWSTR, LPCDIJOYTYPEINFO, DWORD, LPWSTR) PURE;
|
||||
STDMETHOD(DeleteType)(THIS_ LPCWSTR) PURE;
|
||||
STDMETHOD(GetConfig)(THIS_ UINT, LPDIJOYCONFIG, DWORD) PURE;
|
||||
STDMETHOD(SetConfig)(THIS_ UINT, LPCDIJOYCONFIG, DWORD) PURE;
|
||||
STDMETHOD(DeleteConfig)(THIS_ UINT) PURE;
|
||||
STDMETHOD(GetUserValues)(THIS_ LPDIJOYUSERVALUES, DWORD) PURE;
|
||||
STDMETHOD(SetUserValues)(THIS_ LPCDIJOYUSERVALUES, DWORD) PURE;
|
||||
STDMETHOD(AddNewHardware)(THIS_ HWND, REFGUID) PURE;
|
||||
STDMETHOD(OpenTypeKey)(THIS_ LPCWSTR, DWORD, PHKEY) PURE;
|
||||
STDMETHOD(OpenAppStatusKey)(THIS_ PHKEY) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IDirectInputJoyConfig8_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IDirectInputJoyConfig8_Release(p) (p)->lpVtbl->Release(p)
|
||||
/*** IDirectInputJoyConfig8 methods ***/
|
||||
#define IDirectInputJoyConfig8_Acquire(p) (p)->lpVtbl->Acquire(p)
|
||||
#define IDirectInputJoyConfig8_Unacquire(p) (p)->lpVtbl->Unacquire(p)
|
||||
#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
|
||||
#define IDirectInputJoyConfig8_SendNotify(p) (p)->lpVtbl->SendNotify(p)
|
||||
#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->lpVtbl->EnumTypes(p,a,b)
|
||||
#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
|
||||
#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->lpVtbl->SetTypeInfo(p,a,b,c,d)
|
||||
#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->lpVtbl->DeleteType(p,a)
|
||||
#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->lpVtbl->GetConfig(p,a,b,c)
|
||||
#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->lpVtbl->SetConfig(p,a,b,c)
|
||||
#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->lpVtbl->DeleteConfig(p,a)
|
||||
#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->lpVtbl->GetUserValues(p,a,b)
|
||||
#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->lpVtbl->SetUserValues(p,a,b)
|
||||
#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->lpVtbl->AddNewHardware(p,a,b)
|
||||
#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->lpVtbl->OpenTypeKey(p,a,b,c)
|
||||
#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->lpVtbl->OpenAppStatusKey(p,a)
|
||||
#else
|
||||
/*** IUnknown methods ***/
|
||||
#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
|
||||
#define IDirectInputJoyConfig8_AddRef(p) (p)->AddRef()
|
||||
#define IDirectInputJoyConfig8_Release(p) (p)->Release()
|
||||
/*** IDirectInputJoyConfig8 methods ***/
|
||||
#define IDirectInputJoyConfig8_Acquire(p) (p)->Acquire()
|
||||
#define IDirectInputJoyConfig8_Unacquire(p) (p)->Unacquire()
|
||||
#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
|
||||
#define IDirectInputJoyConfig8_SendNotify(p) (p)->SendNotify()
|
||||
#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->EnumTypes(a,b)
|
||||
#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->GetTypeInfo(a,b,c)
|
||||
#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->SetTypeInfo(a,b,c,d)
|
||||
#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->DeleteType(a)
|
||||
#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->GetConfig(a,b,c)
|
||||
#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->SetConfig(a,b,c)
|
||||
#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->DeleteConfig(a)
|
||||
#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->GetUserValues(a,b)
|
||||
#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->SetUserValues(a,b)
|
||||
#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->AddNewHardware(a,b)
|
||||
#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->OpenTypeKey(a,b,c)
|
||||
#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->OpenAppStatusKey(a)
|
||||
#endif
|
||||
|
||||
#endif /* __DINPUTD_INCLUDED__ */
|
Loading…
Reference in New Issue