dinput: Rename IDirectInputImpl to struct dinput.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2022-02-08 09:55:36 +01:00 committed by Alexandre Julliard
parent 46f7d4c131
commit f0935f850c
8 changed files with 103 additions and 105 deletions

View File

@ -54,22 +54,22 @@ static inline IDirectInputDeviceA *IDirectInputDeviceA_from_IDirectInputDeviceW(
return (IDirectInputDeviceA *)IDirectInputDevice8A_from_IDirectInputDevice8W( (IDirectInputDevice8W *)iface );
}
static IDirectInputImpl *impl_from_IDirectInput7A( IDirectInput7A *iface )
static struct dinput *impl_from_IDirectInput7A( IDirectInput7A *iface )
{
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInput7A_iface );
return CONTAINING_RECORD( iface, struct dinput, IDirectInput7A_iface );
}
static IDirectInput7W *IDirectInput7W_from_impl( IDirectInputImpl *impl )
static IDirectInput7W *IDirectInput7W_from_impl( struct dinput *impl )
{
return &impl->IDirectInput7W_iface;
}
static IDirectInputImpl *impl_from_IDirectInput8A( IDirectInput8A *iface )
static struct dinput *impl_from_IDirectInput8A( IDirectInput8A *iface )
{
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInput8A_iface );
return CONTAINING_RECORD( iface, struct dinput, IDirectInput8A_iface );
}
static IDirectInput8W *IDirectInput8W_from_impl( IDirectInputImpl *impl )
static IDirectInput8W *IDirectInput8W_from_impl( struct dinput *impl )
{
return &impl->IDirectInput8W_iface;
}
@ -678,28 +678,28 @@ const IDirectInputDevice8AVtbl dinput_device_a_vtbl =
static HRESULT WINAPI dinput8_a_QueryInterface( IDirectInput8A *iface_a, REFIID iid, void **out )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_QueryInterface( iface_w, iid, out );
}
static ULONG WINAPI dinput8_a_AddRef( IDirectInput8A *iface_a )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_AddRef( iface_w );
}
static ULONG WINAPI dinput8_a_Release( IDirectInput8A *iface_a )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_Release( iface_w );
}
static HRESULT WINAPI dinput8_a_CreateDevice( IDirectInput8A *iface_a, REFGUID guid, IDirectInputDevice8A **out, IUnknown *outer )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
IDirectInputDevice8W *outw;
HRESULT hr;
@ -730,7 +730,7 @@ static HRESULT WINAPI dinput8_a_EnumDevices( IDirectInput8A *iface_a, DWORD type
void *ref, DWORD flags )
{
struct enum_devices_wtoa_params params = {callback, ref};
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
if (!callback) return DIERR_INVALIDPARAM;
@ -740,28 +740,28 @@ static HRESULT WINAPI dinput8_a_EnumDevices( IDirectInput8A *iface_a, DWORD type
static HRESULT WINAPI dinput8_a_GetDeviceStatus( IDirectInput8A *iface_a, REFGUID instance_guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_GetDeviceStatus( iface_w, instance_guid );
}
static HRESULT WINAPI dinput8_a_RunControlPanel( IDirectInput8A *iface_a, HWND owner, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_RunControlPanel( iface_w, owner, flags );
}
static HRESULT WINAPI dinput8_a_Initialize( IDirectInput8A *iface_a, HINSTANCE instance, DWORD version )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
return IDirectInput8_Initialize( iface_w, instance, version );
}
static HRESULT WINAPI dinput8_a_FindDevice( IDirectInput8A *iface_a, REFGUID guid, const char *name_a, GUID *instance_guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
HRESULT hr;
WCHAR *name_w;
@ -794,7 +794,7 @@ static HRESULT WINAPI dinput8_a_EnumDevicesBySemantics( IDirectInput8A *iface_a,
LPDIENUMDEVICESBYSEMANTICSCBA callback, void *ref, DWORD flags )
{
struct enum_devices_by_semantics_wtoa_params params = {callback, ref};
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
DIACTIONFORMATW format_w = {sizeof(format_w), sizeof(DIACTIONW)};
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
HRESULT hr;
@ -821,7 +821,7 @@ static HRESULT WINAPI dinput8_a_EnumDevicesBySemantics( IDirectInput8A *iface_a,
static HRESULT WINAPI dinput8_a_ConfigureDevices( IDirectInput8A *iface_a, LPDICONFIGUREDEVICESCALLBACK callback,
DICONFIGUREDEVICESPARAMSA *params_a, DWORD flags, void *ref )
{
IDirectInputImpl *impl = impl_from_IDirectInput8A( iface_a );
struct dinput *impl = impl_from_IDirectInput8A( iface_a );
IDirectInput8W *iface_w = IDirectInput8W_from_impl( impl );
DICONFIGUREDEVICESPARAMSW params_w = {sizeof(params_w)};
DIACTIONFORMATA *format_a = params_a->lprgFormats;
@ -873,28 +873,28 @@ const IDirectInput8AVtbl dinput8_a_vtbl =
static HRESULT WINAPI dinput7_a_QueryInterface( IDirectInput7A *iface_a, REFIID iid, void **out )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_QueryInterface( iface_w, iid, out );
}
static ULONG WINAPI dinput7_a_AddRef( IDirectInput7A *iface_a )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_AddRef( iface_w );
}
static ULONG WINAPI dinput7_a_Release( IDirectInput7A *iface_a )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_Release( iface_w );
}
static HRESULT WINAPI dinput7_a_CreateDevice( IDirectInput7A *iface_a, REFGUID guid, IDirectInputDeviceA **out_a, IUnknown *outer )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
IDirectInputDeviceW *out_w;
HRESULT hr;
@ -910,7 +910,7 @@ static HRESULT WINAPI dinput7_a_EnumDevices( IDirectInput7A *iface_a, DWORD type
void *ref, DWORD flags )
{
struct enum_devices_wtoa_params params = {callback, ref};
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
if (!callback) return DIERR_INVALIDPARAM;
@ -920,28 +920,28 @@ static HRESULT WINAPI dinput7_a_EnumDevices( IDirectInput7A *iface_a, DWORD type
static HRESULT WINAPI dinput7_a_GetDeviceStatus( IDirectInput7A *iface_a, REFGUID instance_guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_GetDeviceStatus( iface_w, instance_guid );
}
static HRESULT WINAPI dinput7_a_RunControlPanel( IDirectInput7A *iface_a, HWND owner, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_RunControlPanel( iface_w, owner, flags );
}
static HRESULT WINAPI dinput7_a_Initialize( IDirectInput7A *iface_a, HINSTANCE instance, DWORD version )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_Initialize( iface_w, instance, version );
}
static HRESULT WINAPI dinput7_a_FindDevice( IDirectInput7A *iface_a, REFGUID guid, const char *name_a, GUID *instance_guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
HRESULT hr;
WCHAR *name_w;
@ -955,7 +955,7 @@ static HRESULT WINAPI dinput7_a_FindDevice( IDirectInput7A *iface_a, REFGUID gui
static HRESULT WINAPI dinput7_a_CreateDeviceEx( IDirectInput7A *iface_a, REFGUID guid, REFIID iid, void **out, IUnknown *outer )
{
IDirectInputImpl *impl = impl_from_IDirectInput7A( iface_a );
struct dinput *impl = impl_from_IDirectInput7A( iface_a );
IDirectInput7W *iface_w = IDirectInput7W_from_impl( impl );
return IDirectInput7_CreateDeviceEx( iface_w, guid, iid, out, outer );
}

View File

@ -2153,8 +2153,8 @@ static const IDirectInputDevice8WVtbl dinput_device_w_vtbl =
dinput_device_GetImageInfo,
};
HRESULT dinput_device_alloc( SIZE_T size, const struct dinput_device_vtbl *vtbl,
const GUID *guid, IDirectInputImpl *dinput, void **out )
HRESULT dinput_device_alloc( SIZE_T size, const struct dinput_device_vtbl *vtbl, const GUID *guid,
struct dinput *dinput, void **out )
{
struct dinput_device *This;
DIDATAFORMAT *format;

View File

@ -84,7 +84,7 @@ struct dinput_device
LONG ref;
GUID guid;
CRITICAL_SECTION crit;
IDirectInputImpl *dinput;
struct dinput *dinput;
struct list entry; /* entry into acquired device list */
HANDLE hEvent;
DIDEVICEINSTANCEW instance;
@ -124,7 +124,7 @@ struct dinput_device
};
extern HRESULT dinput_device_alloc( SIZE_T size, const struct dinput_device_vtbl *vtbl, const GUID *guid,
IDirectInputImpl *dinput, void **out ) DECLSPEC_HIDDEN;
struct dinput *dinput, void **out ) DECLSPEC_HIDDEN;
extern HRESULT dinput_device_init( IDirectInputDevice8W *iface );
extern void dinput_device_destroy( IDirectInputDevice8W *iface );

View File

@ -59,14 +59,14 @@ static const IDirectInput7WVtbl dinput7_vtbl;
static const IDirectInput8WVtbl dinput8_vtbl;
static const IDirectInputJoyConfig8Vtbl joy_config_vtbl;
static inline IDirectInputImpl *impl_from_IDirectInput7W( IDirectInput7W *iface )
static inline struct dinput *impl_from_IDirectInput7W( IDirectInput7W *iface )
{
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInput7W_iface );
return CONTAINING_RECORD( iface, struct dinput, IDirectInput7W_iface );
}
static inline IDirectInputImpl *impl_from_IDirectInput8W( IDirectInput8W *iface )
static inline struct dinput *impl_from_IDirectInput8W( IDirectInput8W *iface )
{
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInput8W_iface );
return CONTAINING_RECORD( iface, struct dinput, IDirectInput8W_iface );
}
static inline struct dinput_device *impl_from_IDirectInputDevice8W( IDirectInputDevice8W *iface )
@ -95,8 +95,8 @@ static struct list acquired_rawmouse_list = LIST_INIT( acquired_rawmouse_list );
static struct list acquired_keyboard_list = LIST_INIT( acquired_keyboard_list );
static struct list acquired_device_list = LIST_INIT( acquired_device_list );
static HRESULT initialize_directinput_instance(IDirectInputImpl *This, DWORD dwVersion);
static void uninitialize_directinput_instance(IDirectInputImpl *This);
static HRESULT initialize_directinput_instance( struct dinput *impl, DWORD version );
static void uninitialize_directinput_instance( struct dinput *impl );
void dinput_hooks_acquire_device( IDirectInputDevice8W *iface )
{
@ -137,28 +137,27 @@ static void dinput_device_internal_unacquire( IDirectInputDevice8W *iface )
LeaveCriticalSection( &impl->crit );
}
static HRESULT create_directinput_instance(REFIID riid, LPVOID *ppDI, IDirectInputImpl **out)
static HRESULT dinput_create( REFIID riid, LPVOID *ppDI, struct dinput **out )
{
IDirectInputImpl *This = calloc( 1, sizeof(IDirectInputImpl) );
struct dinput *impl = calloc( 1, sizeof(struct dinput) );
HRESULT hr;
if (!This)
return E_OUTOFMEMORY;
if (!impl) return E_OUTOFMEMORY;
This->IDirectInput7A_iface.lpVtbl = &dinput7_a_vtbl;
This->IDirectInput7W_iface.lpVtbl = &dinput7_vtbl;
This->IDirectInput8A_iface.lpVtbl = &dinput8_a_vtbl;
This->IDirectInput8W_iface.lpVtbl = &dinput8_vtbl;
This->IDirectInputJoyConfig8_iface.lpVtbl = &joy_config_vtbl;
impl->IDirectInput7A_iface.lpVtbl = &dinput7_a_vtbl;
impl->IDirectInput7W_iface.lpVtbl = &dinput7_vtbl;
impl->IDirectInput8A_iface.lpVtbl = &dinput8_a_vtbl;
impl->IDirectInput8W_iface.lpVtbl = &dinput8_vtbl;
impl->IDirectInputJoyConfig8_iface.lpVtbl = &joy_config_vtbl;
hr = IDirectInput_QueryInterface( &This->IDirectInput7A_iface, riid, ppDI );
hr = IDirectInput_QueryInterface( &impl->IDirectInput7A_iface, riid, ppDI );
if (FAILED(hr))
{
free( This );
free( impl );
return hr;
}
if (out) *out = This;
if (out) *out = impl;
return DI_OK;
}
@ -169,7 +168,7 @@ HRESULT WINAPI DirectInputCreateEx(
HINSTANCE hinst, DWORD dwVersion, REFIID riid, LPVOID *ppDI,
LPUNKNOWN punkOuter)
{
IDirectInputImpl *This;
struct dinput *impl;
HRESULT hr;
TRACE("(%p,%04x,%s,%p,%p)\n", hinst, dwVersion, debugstr_guid(riid), ppDI, punkOuter);
@ -181,17 +180,17 @@ HRESULT WINAPI DirectInputCreateEx(
IsEqualGUID( &IID_IDirectInput2W, riid ) ||
IsEqualGUID( &IID_IDirectInput7W, riid ))
{
hr = create_directinput_instance(riid, ppDI, &This);
hr = dinput_create( riid, ppDI, &impl );
if (FAILED(hr))
return hr;
}
else
return DIERR_NOINTERFACE;
hr = IDirectInput_Initialize( &This->IDirectInput7A_iface, hinst, dwVersion );
hr = IDirectInput_Initialize( &impl->IDirectInput7A_iface, hinst, dwVersion );
if (FAILED(hr))
{
IDirectInput_Release( &This->IDirectInput7A_iface );
IDirectInput_Release( &impl->IDirectInput7A_iface );
*ppDI = NULL;
return hr;
}
@ -205,7 +204,7 @@ HRESULT WINAPI DirectInputCreateEx(
HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create(HINSTANCE hinst,
DWORD version, REFIID iid, void **out, IUnknown *outer)
{
IDirectInputImpl *This;
struct dinput *impl;
HRESULT hr;
TRACE("hinst %p, version %#x, iid %s, out %p, outer %p.\n",
@ -222,7 +221,7 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create(HINSTANCE hinst,
return DIERR_NOINTERFACE;
}
hr = create_directinput_instance(iid, out, &This);
hr = dinput_create( iid, out, &impl );
if (FAILED(hr))
{
@ -233,10 +232,10 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create(HINSTANCE hinst,
/* When aggregation is used, the application needs to manually call Initialize(). */
if (!outer && IsEqualGUID(&IID_IDirectInput8A, iid))
{
hr = IDirectInput8_Initialize(&This->IDirectInput8A_iface, hinst, version);
hr = IDirectInput8_Initialize( &impl->IDirectInput8A_iface, hinst, version );
if (FAILED(hr))
{
IDirectInput8_Release(&This->IDirectInput8A_iface);
IDirectInput8_Release( &impl->IDirectInput8A_iface );
*out = NULL;
return hr;
}
@ -244,10 +243,10 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create(HINSTANCE hinst,
if (!outer && IsEqualGUID(&IID_IDirectInput8W, iid))
{
hr = IDirectInput8_Initialize(&This->IDirectInput8W_iface, hinst, version);
hr = IDirectInput8_Initialize( &impl->IDirectInput8W_iface, hinst, version );
if (FAILED(hr))
{
IDirectInput8_Release(&This->IDirectInput8W_iface);
IDirectInput8_Release( &impl->IDirectInput8W_iface );
*out = NULL;
return hr;
}
@ -324,7 +323,7 @@ __ASM_GLOBAL_FUNC( enum_callback_wrapper,
static HRESULT WINAPI dinput7_EnumDevices( IDirectInput7W *iface, DWORD type, LPDIENUMDEVICESCALLBACKW callback,
void *context, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
TRACE( "iface %p, type %#x, callback %p, context %p, flags %#x.\n", iface, type, callback, context, flags );
@ -339,7 +338,7 @@ static HRESULT WINAPI dinput7_EnumDevices( IDirectInput7W *iface, DWORD type, LP
static ULONG WINAPI dinput7_AddRef( IDirectInput7W *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
ULONG ref = InterlockedIncrement( &impl->ref );
TRACE( "iface %p increasing refcount to %u.\n", iface, ref );
return ref;
@ -347,7 +346,7 @@ static ULONG WINAPI dinput7_AddRef( IDirectInput7W *iface )
static ULONG WINAPI dinput7_Release( IDirectInput7W *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
ULONG ref = InterlockedDecrement( &impl->ref );
TRACE( "iface %p decreasing refcount to %u.\n", iface, ref );
@ -363,7 +362,7 @@ static ULONG WINAPI dinput7_Release( IDirectInput7W *iface )
static HRESULT WINAPI dinput7_QueryInterface( IDirectInput7W *iface, REFIID iid, void **out )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
TRACE( "iface %p, iid %s, out %p.\n", iface, debugstr_guid( iid ), out );
@ -450,7 +449,7 @@ static void unregister_di_em_win_class(void)
WARN( "Unable to unregister message window class\n" );
}
static HRESULT initialize_directinput_instance( IDirectInputImpl *impl, DWORD version )
static HRESULT initialize_directinput_instance( struct dinput *impl, DWORD version )
{
if (!impl->initialized)
{
@ -465,7 +464,7 @@ static HRESULT initialize_directinput_instance( IDirectInputImpl *impl, DWORD ve
return DI_OK;
}
static void uninitialize_directinput_instance( IDirectInputImpl *impl )
static void uninitialize_directinput_instance( struct dinput *impl )
{
if (impl->initialized)
{
@ -491,7 +490,7 @@ enum directinput_versions
static HRESULT WINAPI dinput7_Initialize( IDirectInput7W *iface, HINSTANCE hinst, DWORD version )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
TRACE( "iface %p, hinst %p, version %#x.\n", iface, hinst, version );
@ -512,7 +511,7 @@ static HRESULT WINAPI dinput7_Initialize( IDirectInput7W *iface, HINSTANCE hinst
static HRESULT WINAPI dinput7_GetDeviceStatus( IDirectInput7W *iface, const GUID *guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
HRESULT hr;
IDirectInputDeviceW *device;
@ -531,7 +530,7 @@ static HRESULT WINAPI dinput7_GetDeviceStatus( IDirectInput7W *iface, const GUID
static HRESULT WINAPI dinput7_RunControlPanel( IDirectInput7W *iface, HWND owner, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
WCHAR control_exe[] = {L"control.exe"};
STARTUPINFOW si = {0};
PROCESS_INFORMATION pi;
@ -558,7 +557,7 @@ static HRESULT WINAPI dinput7_FindDevice( IDirectInput7W *iface, const GUID *gui
static HRESULT WINAPI dinput7_CreateDeviceEx( IDirectInput7W *iface, const GUID *guid,
REFIID iid, void **out, IUnknown *outer )
{
IDirectInputImpl *impl = impl_from_IDirectInput7W( iface );
struct dinput *impl = impl_from_IDirectInput7W( iface );
IDirectInputDevice8W *device;
HRESULT hr;
@ -593,26 +592,26 @@ static HRESULT WINAPI dinput7_CreateDevice( IDirectInput7W *iface, const GUID *g
static ULONG WINAPI dinput8_AddRef( IDirectInput8W *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_AddRef( &impl->IDirectInput7W_iface );
}
static HRESULT WINAPI dinput8_QueryInterface( IDirectInput8W *iface, REFIID iid, void **out )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_QueryInterface( &impl->IDirectInput7W_iface, iid, out );
}
static ULONG WINAPI dinput8_Release( IDirectInput8W *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_Release( &impl->IDirectInput7W_iface );
}
static HRESULT WINAPI dinput8_CreateDevice( IDirectInput8W *iface, const GUID *guid,
IDirectInputDevice8W **out, IUnknown *outer )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_CreateDeviceEx( &impl->IDirectInput7W_iface, guid,
&IID_IDirectInputDevice8W, (void **)out, outer );
}
@ -630,7 +629,7 @@ static HRESULT WINAPI dinput8_EnumDevices( IDirectInput8W *iface, DWORD type, LP
DWORD flags )
{
DIDEVICEINSTANCEW instance = {.dwSize = sizeof(DIDEVICEINSTANCEW)};
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
DWORD device_class = 0, device_type = 0;
unsigned int i = 0;
HRESULT hr;
@ -679,19 +678,19 @@ static HRESULT WINAPI dinput8_EnumDevices( IDirectInput8W *iface, DWORD type, LP
static HRESULT WINAPI dinput8_GetDeviceStatus( IDirectInput8W *iface, const GUID *guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_GetDeviceStatus( &impl->IDirectInput7W_iface, guid );
}
static HRESULT WINAPI dinput8_RunControlPanel( IDirectInput8W *iface, HWND owner, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_RunControlPanel( &impl->IDirectInput7W_iface, owner, flags );
}
static HRESULT WINAPI dinput8_Initialize( IDirectInput8W *iface, HINSTANCE hinst, DWORD version )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
TRACE( "iface %p, hinst %p, version %#x.\n", iface, hinst, version );
@ -709,7 +708,7 @@ static HRESULT WINAPI dinput8_Initialize( IDirectInput8W *iface, HINSTANCE hinst
static HRESULT WINAPI dinput8_FindDevice( IDirectInput8W *iface, const GUID *guid, const WCHAR *name, GUID *instance_guid )
{
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
return IDirectInput7_FindDevice( &impl->IDirectInput7W_iface, guid, name, instance_guid );
}
@ -767,7 +766,7 @@ struct enum_device_by_semantics_params
static BOOL CALLBACK enum_device_by_semantics( const DIDEVICEINSTANCEW *instance, void *context )
{
struct enum_device_by_semantics_params *params = context;
IDirectInputImpl *impl = impl_from_IDirectInput8W( params->iface );
struct dinput *impl = impl_from_IDirectInput8W( params->iface );
if (should_enumerate_device( params->username, params->flags, &impl->device_players, &instance->guidInstance ))
{
@ -786,7 +785,7 @@ static HRESULT WINAPI dinput8_EnumDevicesBySemantics( IDirectInput8W *iface, con
DWORD callbackFlags, enum_flags = DIEDFL_ATTACHEDONLY | (flags & DIEDFL_FORCEFEEDBACK);
static const GUID *guids[2] = {&GUID_SysKeyboard, &GUID_SysMouse};
static const DWORD actionMasks[] = { DIKEYBOARD_MASK, DIMOUSE_MASK };
IDirectInputImpl *impl = impl_from_IDirectInput8W( iface );
struct dinput *impl = impl_from_IDirectInput8W( iface );
DIDEVICEINSTANCEW didevi;
IDirectInputDevice8W *lpdid;
unsigned int i = 0;
@ -870,26 +869,26 @@ static HRESULT WINAPI dinput8_ConfigureDevices( IDirectInput8W *iface, LPDICONFI
* IDirectInputJoyConfig8 interface
*/
static inline IDirectInputImpl *impl_from_IDirectInputJoyConfig8(IDirectInputJoyConfig8 *iface)
static inline struct dinput *impl_from_IDirectInputJoyConfig8( IDirectInputJoyConfig8 *iface )
{
return CONTAINING_RECORD( iface, IDirectInputImpl, IDirectInputJoyConfig8_iface );
return CONTAINING_RECORD( iface, struct dinput, IDirectInputJoyConfig8_iface );
}
static HRESULT WINAPI joy_config_QueryInterface( IDirectInputJoyConfig8 *iface, REFIID iid, void **out )
{
IDirectInputImpl *impl = impl_from_IDirectInputJoyConfig8( iface );
struct dinput *impl = impl_from_IDirectInputJoyConfig8( iface );
return IDirectInput7_QueryInterface( &impl->IDirectInput7W_iface, iid, out );
}
static ULONG WINAPI joy_config_AddRef( IDirectInputJoyConfig8 *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInputJoyConfig8( iface );
struct dinput *impl = impl_from_IDirectInputJoyConfig8( iface );
return IDirectInput7_AddRef( &impl->IDirectInput7W_iface );
}
static ULONG WINAPI joy_config_Release( IDirectInputJoyConfig8 *iface )
{
IDirectInputImpl *impl = impl_from_IDirectInputJoyConfig8( iface );
struct dinput *impl = impl_from_IDirectInputJoyConfig8( iface );
return IDirectInput7_Release( &impl->IDirectInput7W_iface );
}
@ -960,7 +959,7 @@ static BOOL CALLBACK find_device_from_index( const DIDEVICEINSTANCEW *instance,
static HRESULT WINAPI joy_config_GetConfig( IDirectInputJoyConfig8 *iface, UINT id, DIJOYCONFIG *info, DWORD flags )
{
IDirectInputImpl *impl = impl_from_IDirectInputJoyConfig8( iface );
struct dinput *impl = impl_from_IDirectInputJoyConfig8( iface );
struct find_device_from_index_params params = {.index = id};
HRESULT hr;
@ -1124,7 +1123,7 @@ static HRESULT WINAPI class_factory_CreateInstance( IClassFactory *iface, IUnkno
if (outer) return CLASS_E_NOAGGREGATION;
if (FAILED(hr = create_directinput_instance( &IID_IUnknown, (void **)&unknown, NULL ))) return hr;
if (FAILED(hr = dinput_create( &IID_IUnknown, (void **)&unknown, NULL ))) return hr;
hr = IUnknown_QueryInterface( unknown, iid, out );
IUnknown_Release( unknown );

View File

@ -30,31 +30,30 @@
extern HINSTANCE DINPUT_instance;
/* Implementation specification */
typedef struct IDirectInputImpl IDirectInputImpl;
struct IDirectInputImpl
struct dinput
{
IDirectInput7A IDirectInput7A_iface;
IDirectInput7W IDirectInput7W_iface;
IDirectInput8A IDirectInput8A_iface;
IDirectInput8W IDirectInput8W_iface;
IDirectInputJoyConfig8 IDirectInputJoyConfig8_iface;
IDirectInput7A IDirectInput7A_iface;
IDirectInput7W IDirectInput7W_iface;
IDirectInput8A IDirectInput8A_iface;
IDirectInput8W IDirectInput8W_iface;
IDirectInputJoyConfig8 IDirectInputJoyConfig8_iface;
LONG ref;
LONG ref;
BOOL initialized;
DWORD evsequence; /* unique sequence number for events */
DWORD dwVersion; /* direct input version number */
struct list device_players; /* device instance guid to player name */
BOOL initialized;
DWORD dwVersion; /* direct input version number */
DWORD evsequence; /* unique sequence number for events */
struct list device_players; /* device instance guid to player name */
};
extern const IDirectInput7AVtbl dinput7_a_vtbl DECLSPEC_HIDDEN;
extern const IDirectInput8AVtbl dinput8_a_vtbl DECLSPEC_HIDDEN;
extern HRESULT mouse_enum_device( DWORD type, DWORD flags, DIDEVICEINSTANCEW *instance, DWORD version );
extern HRESULT mouse_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out );
extern HRESULT mouse_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out );
extern HRESULT keyboard_enum_device( DWORD type, DWORD flags, DIDEVICEINSTANCEW *instance, DWORD version );
extern HRESULT keyboard_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out );
extern HRESULT keyboard_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out );
extern HRESULT hid_joystick_enum_device( DWORD type, DWORD flags, DIDEVICEINSTANCEW *instance, DWORD version, int index );
extern HRESULT hid_joystick_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out );
extern HRESULT hid_joystick_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out );
struct DevicePlayer {
GUID instance_guid;

View File

@ -1964,7 +1964,7 @@ static BOOL init_pid_caps( struct hid_joystick *impl, struct hid_value_caps *cap
return DIENUM_CONTINUE;
}
HRESULT hid_joystick_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out )
HRESULT hid_joystick_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out )
{
static const DIPROPHEADER filter =
{

View File

@ -164,7 +164,7 @@ HRESULT keyboard_enum_device( DWORD type, DWORD flags, DIDEVICEINSTANCEW *instan
return DI_OK;
}
HRESULT keyboard_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out )
HRESULT keyboard_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out )
{
struct keyboard *impl;
HRESULT hr;

View File

@ -91,7 +91,7 @@ HRESULT mouse_enum_device( DWORD type, DWORD flags, DIDEVICEINSTANCEW *instance,
return DI_OK;
}
HRESULT mouse_create_device( IDirectInputImpl *dinput, const GUID *guid, IDirectInputDevice8W **out )
HRESULT mouse_create_device( struct dinput *dinput, const GUID *guid, IDirectInputDevice8W **out )
{
struct mouse *impl;
HKEY hkey, appkey;