-/*\r
- * Copyright 2000 Lionel Ulmer\r
- * Copyright 2000-2001 TransGaming Technologies Inc.\r
- *\r
- * This library is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU Lesser General Public\r
- * License as published by the Free Software Foundation; either\r
- * version 2.1 of the License, or (at your option) any later version.\r
- *\r
- * This library is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
- * Lesser General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU Lesser General Public\r
- * License along with this library; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
- */\r
-\r
-#ifndef __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H\r
-#define __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H\r
-\r
-#include <stdarg.h>\r
-\r
-#include "windef.h"\r
-#include "winbase.h"\r
-#include "dinput.h"\r
-\r
-/* Device implementation */\r
-typedef struct IDirectInputDevice2AImpl IDirectInputDevice2AImpl;\r
-struct IDirectInputDevice2AImpl\r
-{\r
- IDirectInputDevice2AVtbl *lpVtbl;\r
- DWORD ref;\r
- GUID guid;\r
-};\r
-\r
-/* Routines to do DataFormat / WineFormat conversions */\r
-typedef struct {\r
- int size;\r
- int offset_in;\r
- int offset_out;\r
- int value;\r
-} DataTransform;\r
-\r
-typedef struct {\r
- int size;\r
- int internal_format_size;\r
- DataTransform *dt;\r
-} DataFormat;\r
-extern void fill_DataFormat(void *out, const void *in, DataFormat *df) ;\r
-extern DataFormat *create_DataFormat(const DIDATAFORMAT *wine_format, LPCDIDATAFORMAT asked_format, int *offset) ;\r
-extern void release_DataFormat(DataFormat *df) ;\r
-\r
-/* Used to fill events in the queue */\r
-#define GEN_EVENT(offset,data,xtime,seq) \\r
-{ \\r
- /* If queue_len > 0, queuing is requested -> TRACE the event queued */ \\r
- if (This->queue_len > 0) { \\r
- int nq; \\r
- TRACE(" queueing %d at offset %d (queue head %d / size %d)\n", \\r
- (int) (data), (int) (offset), \\r
- (int) (This->queue_head), (int) (This->queue_len)); \\r
- \\r
- nq = This->queue_head+1; \\r
- while (nq >= This->queue_len) nq -= This->queue_len; \\r
- if ((offset >= 0) && (nq != This->queue_tail)) { \\r
- This->data_queue[This->queue_head].dwOfs = offset; \\r
- This->data_queue[This->queue_head].dwData = data; \\r
- This->data_queue[This->queue_head].dwTimeStamp = xtime; \\r
- This->data_queue[This->queue_head].dwSequence = seq; \\r
- This->queue_head = nq; \\r
- } else \\r
- This->overflow = TRUE; \\r
- } \\r
-}\r
-\r
-/**\r
- * Callback Data used by specific callback \r
- * for EnumObject on 'W' interfaces\r
- */\r
-typedef struct {\r
- LPDIENUMDEVICEOBJECTSCALLBACKW lpCallBack;\r
- LPVOID lpvRef;\r
-} device_enumobjects_AtoWcb_data;\r
-\r
-extern BOOL DIEnumDevicesCallbackAtoW(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);\r
-\r
-\r
-/* Various debug tools */\r
-extern void _dump_cooperativelevel_DI(DWORD dwFlags) ;\r
-extern void _dump_EnumObjects_flags(DWORD dwFlags) ;\r
-extern void _dump_DIPROPHEADER(LPCDIPROPHEADER diph) ;\r
-extern void _dump_OBJECTINSTANCEA(DIDEVICEOBJECTINSTANCEA *ddoi) ;\r
-extern void _dump_OBJECTINSTANCEW(DIDEVICEOBJECTINSTANCEW *ddoi) ;\r
-extern void _dump_DIDATAFORMAT(const DIDATAFORMAT *df) ;\r
-extern const char *_dump_dinput_GUID(const GUID *guid) ;\r
-\r
-/* And the stubs */\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_SetDataFormat(\r
- LPDIRECTINPUTDEVICE8A iface,LPCDIDATAFORMAT df ) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_SetCooperativeLevel(\r
- LPDIRECTINPUTDEVICE8A iface,HWND hwnd,DWORD dwflags ) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_SetEventNotification(\r
- LPDIRECTINPUTDEVICE8A iface,HANDLE hnd ) ;\r
-extern ULONG WINAPI IDirectInputDevice2AImpl_Release(LPDIRECTINPUTDEVICE8A iface) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_QueryInterface(LPDIRECTINPUTDEVICE8A iface,REFIID riid,LPVOID *ppobj);\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_QueryInterface(LPDIRECTINPUTDEVICE8W iface,REFIID riid,LPVOID *ppobj);\r
-extern ULONG WINAPI IDirectInputDevice2AImpl_AddRef(\r
- LPDIRECTINPUTDEVICE8A iface) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumObjects(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback,\r
- LPVOID lpvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_EnumObjects(\r
- LPDIRECTINPUTDEVICE8W iface,\r
- LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback,\r
- LPVOID lpvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_GetProperty(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- REFGUID rguid,\r
- LPDIPROPHEADER pdiph) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_GetObjectInfo(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIDEVICEOBJECTINSTANCEA pdidoi,\r
- DWORD dwObj,\r
- DWORD dwHow) ;\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_GetObjectInfo(LPDIRECTINPUTDEVICE8W iface, \r
- LPDIDEVICEOBJECTINSTANCEW pdidoi,\r
- DWORD dwObj,\r
- DWORD dwHow);\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_GetDeviceInfo(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIDEVICEINSTANCEA pdidi) ;\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_GetDeviceInfo(\r
- LPDIRECTINPUTDEVICE8W iface,\r
- LPDIDEVICEINSTANCEW pdidi) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_RunControlPanel(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- HWND hwndOwner,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_Initialize(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- HINSTANCE hinst,\r
- DWORD dwVersion,\r
- REFGUID rguid) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_CreateEffect(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- REFGUID rguid,\r
- LPCDIEFFECT lpeff,\r
- LPDIRECTINPUTEFFECT *ppdef,\r
- LPUNKNOWN pUnkOuter) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumEffects(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIENUMEFFECTSCALLBACKA lpCallback,\r
- LPVOID lpvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_EnumEffects(\r
- LPDIRECTINPUTDEVICE8W iface,\r
- LPDIENUMEFFECTSCALLBACKW lpCallback,\r
- LPVOID lpvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_GetEffectInfo(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIEFFECTINFOA lpdei,\r
- REFGUID rguid) ;\r
-extern HRESULT WINAPI IDirectInputDevice2WImpl_GetEffectInfo(\r
- LPDIRECTINPUTDEVICE8W iface,\r
- LPDIEFFECTINFOW lpdei,\r
- REFGUID rguid) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_GetForceFeedbackState(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDWORD pdwOut) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_SendForceFeedbackCommand(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumCreatedEffectObjects(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback,\r
- LPVOID lpvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_Escape(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- LPDIEFFESCAPE lpDIEEsc) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_Poll(\r
- LPDIRECTINPUTDEVICE8A iface) ;\r
-extern HRESULT WINAPI IDirectInputDevice2AImpl_SendDeviceData(\r
- LPDIRECTINPUTDEVICE8A iface,\r
- DWORD cbObjectData,\r
- LPCDIDEVICEOBJECTDATA rgdod,\r
- LPDWORD pdwInOut,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice7AImpl_EnumEffectsInFile(LPDIRECTINPUTDEVICE8A iface,\r
- LPCSTR lpszFileName,\r
- LPDIENUMEFFECTSINFILECALLBACK pec,\r
- LPVOID pvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice7WImpl_EnumEffectsInFile(LPDIRECTINPUTDEVICE8W iface,\r
- LPCWSTR lpszFileName,\r
- LPDIENUMEFFECTSINFILECALLBACK pec,\r
- LPVOID pvRef,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice7AImpl_WriteEffectToFile(LPDIRECTINPUTDEVICE8A iface,\r
- LPCSTR lpszFileName,\r
- DWORD dwEntries,\r
- LPDIFILEEFFECT rgDiFileEft,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice7WImpl_WriteEffectToFile(LPDIRECTINPUTDEVICE8W iface,\r
- LPCWSTR lpszFileName,\r
- DWORD dwEntries,\r
- LPDIFILEEFFECT rgDiFileEft,\r
- DWORD dwFlags) ;\r
-extern HRESULT WINAPI IDirectInputDevice8AImpl_BuildActionMap(LPDIRECTINPUTDEVICE8A iface,\r
- LPDIACTIONFORMATA lpdiaf,\r
- LPCSTR lpszUserName,\r
- DWORD dwFlags);\r
-extern HRESULT WINAPI IDirectInputDevice8WImpl_BuildActionMap(LPDIRECTINPUTDEVICE8W iface,\r
- LPDIACTIONFORMATW lpdiaf,\r
- LPCWSTR lpszUserName,\r
- DWORD dwFlags);\r
-extern HRESULT WINAPI IDirectInputDevice8AImpl_SetActionMap(LPDIRECTINPUTDEVICE8A iface,\r
- LPDIACTIONFORMATA lpdiaf,\r
- LPCSTR lpszUserName,\r
- DWORD dwFlags);\r
-extern HRESULT WINAPI IDirectInputDevice8WImpl_SetActionMap(LPDIRECTINPUTDEVICE8W iface,\r
- LPDIACTIONFORMATW lpdiaf,\r
- LPCWSTR lpszUserName,\r
- DWORD dwFlags);\r
-extern HRESULT WINAPI IDirectInputDevice8AImpl_GetImageInfo(LPDIRECTINPUTDEVICE8A iface,\r
- LPDIDEVICEIMAGEINFOHEADERA lpdiDevImageInfoHeader);\r
-extern HRESULT WINAPI IDirectInputDevice8WImpl_GetImageInfo(LPDIRECTINPUTDEVICE8W iface,\r
- LPDIDEVICEIMAGEINFOHEADERW lpdiDevImageInfoHeader);\r
-\r
-#endif /* __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H */\r
+/*
+ * Copyright 2000 Lionel Ulmer
+ * Copyright 2000-2001 TransGaming Technologies Inc.
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H
+#define __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "dinput.h"
+
+/* Device implementation */
+typedef struct IDirectInputDevice2AImpl IDirectInputDevice2AImpl;
+struct IDirectInputDevice2AImpl
+{
+ IDirectInputDevice2AVtbl *lpVtbl;
+ DWORD ref;
+ GUID guid;
+};
+
+/* Routines to do DataFormat / WineFormat conversions */
+typedef struct {
+ int size;
+ int offset_in;
+ int offset_out;
+ int value;
+} DataTransform;
+
+typedef struct {
+ int size;
+ int internal_format_size;
+ DataTransform *dt;
+} DataFormat;
+extern void fill_DataFormat(void *out, const void *in, DataFormat *df) ;
+extern DataFormat *create_DataFormat(const DIDATAFORMAT *wine_format, LPCDIDATAFORMAT asked_format, int *offset) ;
+extern void release_DataFormat(DataFormat *df) ;
+
+/* Used to fill events in the queue */
+#define GEN_EVENT(offset,data,xtime,seq) \
+{ \
+ /* If queue_len > 0, queuing is requested -> TRACE the event queued */ \
+ if (This->queue_len > 0) { \
+ int nq; \
+ TRACE(" queueing %d at offset %d (queue head %d / size %d)\n", \
+ (int) (data), (int) (offset), \
+ (int) (This->queue_head), (int) (This->queue_len)); \
+ \
+ nq = This->queue_head+1; \
+ while (nq >= This->queue_len) nq -= This->queue_len; \
+ if ((offset >= 0) && (nq != This->queue_tail)) { \
+ This->data_queue[This->queue_head].dwOfs = offset; \
+ This->data_queue[This->queue_head].dwData = data; \
+ This->data_queue[This->queue_head].dwTimeStamp = xtime; \
+ This->data_queue[This->queue_head].dwSequence = seq; \
+ This->queue_head = nq; \
+ } else \
+ This->overflow = TRUE; \
+ } \
+}
+
+/**
+ * Callback Data used by specific callback
+ * for EnumObject on 'W' interfaces
+ */
+typedef struct {
+ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallBack;
+ LPVOID lpvRef;
+} device_enumobjects_AtoWcb_data;
+
+extern BOOL DIEnumDevicesCallbackAtoW(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);
+
+
+/* Various debug tools */
+extern void _dump_cooperativelevel_DI(DWORD dwFlags) ;
+extern void _dump_EnumObjects_flags(DWORD dwFlags) ;
+extern void _dump_DIPROPHEADER(LPCDIPROPHEADER diph) ;
+extern void _dump_OBJECTINSTANCEA(DIDEVICEOBJECTINSTANCEA *ddoi) ;
+extern void _dump_OBJECTINSTANCEW(DIDEVICEOBJECTINSTANCEW *ddoi) ;
+extern void _dump_DIDATAFORMAT(const DIDATAFORMAT *df) ;
+extern const char *_dump_dinput_GUID(const GUID *guid) ;
+
+/* And the stubs */
+extern HRESULT WINAPI IDirectInputDevice2AImpl_SetDataFormat(
+ LPDIRECTINPUTDEVICE8A iface,LPCDIDATAFORMAT df ) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_SetCooperativeLevel(
+ LPDIRECTINPUTDEVICE8A iface,HWND hwnd,DWORD dwflags ) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_SetEventNotification(
+ LPDIRECTINPUTDEVICE8A iface,HANDLE hnd ) ;
+extern ULONG WINAPI IDirectInputDevice2AImpl_Release(LPDIRECTINPUTDEVICE8A iface) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_QueryInterface(LPDIRECTINPUTDEVICE8A iface,REFIID riid,LPVOID *ppobj);
+extern HRESULT WINAPI IDirectInputDevice2WImpl_QueryInterface(LPDIRECTINPUTDEVICE8W iface,REFIID riid,LPVOID *ppobj);
+extern ULONG WINAPI IDirectInputDevice2AImpl_AddRef(
+ LPDIRECTINPUTDEVICE8A iface) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumObjects(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback,
+ LPVOID lpvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2WImpl_EnumObjects(
+ LPDIRECTINPUTDEVICE8W iface,
+ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback,
+ LPVOID lpvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_GetProperty(
+ LPDIRECTINPUTDEVICE8A iface,
+ REFGUID rguid,
+ LPDIPROPHEADER pdiph) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_GetObjectInfo(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIDEVICEOBJECTINSTANCEA pdidoi,
+ DWORD dwObj,
+ DWORD dwHow) ;
+extern HRESULT WINAPI IDirectInputDevice2WImpl_GetObjectInfo(LPDIRECTINPUTDEVICE8W iface,
+ LPDIDEVICEOBJECTINSTANCEW pdidoi,
+ DWORD dwObj,
+ DWORD dwHow);
+extern HRESULT WINAPI IDirectInputDevice2AImpl_GetDeviceInfo(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIDEVICEINSTANCEA pdidi) ;
+extern HRESULT WINAPI IDirectInputDevice2WImpl_GetDeviceInfo(
+ LPDIRECTINPUTDEVICE8W iface,
+ LPDIDEVICEINSTANCEW pdidi) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_RunControlPanel(
+ LPDIRECTINPUTDEVICE8A iface,
+ HWND hwndOwner,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_Initialize(
+ LPDIRECTINPUTDEVICE8A iface,
+ HINSTANCE hinst,
+ DWORD dwVersion,
+ REFGUID rguid) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_CreateEffect(
+ LPDIRECTINPUTDEVICE8A iface,
+ REFGUID rguid,
+ LPCDIEFFECT lpeff,
+ LPDIRECTINPUTEFFECT *ppdef,
+ LPUNKNOWN pUnkOuter) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumEffects(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIENUMEFFECTSCALLBACKA lpCallback,
+ LPVOID lpvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2WImpl_EnumEffects(
+ LPDIRECTINPUTDEVICE8W iface,
+ LPDIENUMEFFECTSCALLBACKW lpCallback,
+ LPVOID lpvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_GetEffectInfo(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIEFFECTINFOA lpdei,
+ REFGUID rguid) ;
+extern HRESULT WINAPI IDirectInputDevice2WImpl_GetEffectInfo(
+ LPDIRECTINPUTDEVICE8W iface,
+ LPDIEFFECTINFOW lpdei,
+ REFGUID rguid) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_GetForceFeedbackState(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDWORD pdwOut) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_SendForceFeedbackCommand(
+ LPDIRECTINPUTDEVICE8A iface,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_EnumCreatedEffectObjects(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback,
+ LPVOID lpvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_Escape(
+ LPDIRECTINPUTDEVICE8A iface,
+ LPDIEFFESCAPE lpDIEEsc) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_Poll(
+ LPDIRECTINPUTDEVICE8A iface) ;
+extern HRESULT WINAPI IDirectInputDevice2AImpl_SendDeviceData(
+ LPDIRECTINPUTDEVICE8A iface,
+ DWORD cbObjectData,
+ LPCDIDEVICEOBJECTDATA rgdod,
+ LPDWORD pdwInOut,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice7AImpl_EnumEffectsInFile(LPDIRECTINPUTDEVICE8A iface,
+ LPCSTR lpszFileName,
+ LPDIENUMEFFECTSINFILECALLBACK pec,
+ LPVOID pvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice7WImpl_EnumEffectsInFile(LPDIRECTINPUTDEVICE8W iface,
+ LPCWSTR lpszFileName,
+ LPDIENUMEFFECTSINFILECALLBACK pec,
+ LPVOID pvRef,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice7AImpl_WriteEffectToFile(LPDIRECTINPUTDEVICE8A iface,
+ LPCSTR lpszFileName,
+ DWORD dwEntries,
+ LPDIFILEEFFECT rgDiFileEft,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice7WImpl_WriteEffectToFile(LPDIRECTINPUTDEVICE8W iface,
+ LPCWSTR lpszFileName,
+ DWORD dwEntries,
+ LPDIFILEEFFECT rgDiFileEft,
+ DWORD dwFlags) ;
+extern HRESULT WINAPI IDirectInputDevice8AImpl_BuildActionMap(LPDIRECTINPUTDEVICE8A iface,
+ LPDIACTIONFORMATA lpdiaf,
+ LPCSTR lpszUserName,
+ DWORD dwFlags);
+extern HRESULT WINAPI IDirectInputDevice8WImpl_BuildActionMap(LPDIRECTINPUTDEVICE8W iface,
+ LPDIACTIONFORMATW lpdiaf,
+ LPCWSTR lpszUserName,
+ DWORD dwFlags);
+extern HRESULT WINAPI IDirectInputDevice8AImpl_SetActionMap(LPDIRECTINPUTDEVICE8A iface,
+ LPDIACTIONFORMATA lpdiaf,
+ LPCSTR lpszUserName,
+ DWORD dwFlags);
+extern HRESULT WINAPI IDirectInputDevice8WImpl_SetActionMap(LPDIRECTINPUTDEVICE8W iface,
+ LPDIACTIONFORMATW lpdiaf,
+ LPCWSTR lpszUserName,
+ DWORD dwFlags);
+extern HRESULT WINAPI IDirectInputDevice8AImpl_GetImageInfo(LPDIRECTINPUTDEVICE8A iface,
+ LPDIDEVICEIMAGEINFOHEADERA lpdiDevImageInfoHeader);
+extern HRESULT WINAPI IDirectInputDevice8WImpl_GetImageInfo(LPDIRECTINPUTDEVICE8W iface,
+ LPDIDEVICEIMAGEINFOHEADERW lpdiDevImageInfoHeader);
+
+#endif /* __WINE_DLLS_DINPUT_DINPUTDEVICE_PRIVATE_H */