Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
a84d2fe2
Commit
a84d2fe2
authored
Nov 26, 2011
by
Vitaliy Margolen
Committed by
Alexandre Julliard
Nov 29, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dinput: Stub IDirectInputJoyConfig8 interface.
parent
87a770fa
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
420 additions
and
2 deletions
+420
-2
dinput_main.c
dlls/dinput/dinput_main.c
+159
-0
dinput_private.h
dlls/dinput/dinput_private.h
+2
-0
dinput.c
dlls/dinput8/tests/dinput.c
+15
-2
Makefile.in
include/Makefile.in
+1
-0
dinputd.h
include/dinputd.h
+243
-0
No files found.
dlls/dinput/dinput_main.c
View file @
a84d2fe2
...
...
@@ -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
*/
...
...
dlls/dinput/dinput_private.h
View file @
a84d2fe2
...
...
@@ -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
;
...
...
dlls/dinput8/tests/dinput.c
View file @
a84d2fe2
...
...
@@ -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
++
)
...
...
include/Makefile.in
View file @
a84d2fe2
...
...
@@ -229,6 +229,7 @@ SRCDIR_INCLUDES = \
devpropdef.h
\
digitalv.h
\
dinput.h
\
dinputd.h
\
dispdib.h
\
dlgs.h
\
dls1.h
\
...
...
include/dinputd.h
0 → 100644
View file @
a84d2fe2
/*
* 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__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment