Am Fr., 15. Sept. 2023 um 10:39 Uhr schrieb LIU Hao <[email protected]>:
>
> 在 2023/9/15 03:53, Oleg Tolmatcev 写道:
> > diff --git a/mingw-w64-crt/lib-common/dinput8.def 
> > b/mingw-w64-crt/lib-common/dinput8.def
> > ...
> > +DirectInput8Create@20
> > +DllCanUnloadNow
> > +DllGetClassObject@12
> > +DllRegisterServer
> > +DllUnregisterServer
> > +GetdfDIJoystick
>
> Please add necessary stdcall suffixes for these functions.

I have done it, but I don't know if it is necessary because there are
many def files in "lib32" that lack them.

> > diff --git a/mingw-w64-headers/include/dinput.h 
> > b/mingw-w64-headers/include/dinput.h
> > ...
> > +extern LPCDIDATAFORMAT WINAPI GetdfDIJoystick();
>
> This has to be `GetdfDIJoystick(void);` which makes a difference when 
> compiled as C.

I changed it, but was defined like this in the MS header.
From 8ce67e9ca0fe6ebefd3d1b97f934d903e91f4ba9 Mon Sep 17 00:00:00 2001
From: Oleg Tolmatcev <[email protected]>
Date: Sun, 13 Aug 2023 13:01:49 +0200
Subject: [PATCH] headers: add symbols in dinput.h

---
 mingw-w64-crt/lib-common/dinput8.def |  1 +
 mingw-w64-crt/lib32/dinput8.def      | 16 +++++++++++++---
 mingw-w64-headers/include/dinput.h   |  4 ++++
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/mingw-w64-crt/lib-common/dinput8.def 
b/mingw-w64-crt/lib-common/dinput8.def
index 7ba9b339..a960a357 100644
--- a/mingw-w64-crt/lib-common/dinput8.def
+++ b/mingw-w64-crt/lib-common/dinput8.def
@@ -11,3 +11,4 @@ DllCanUnloadNow
 DllGetClassObject
 DllRegisterServer
 DllUnregisterServer
+GetdfDIJoystick
diff --git a/mingw-w64-crt/lib32/dinput8.def b/mingw-w64-crt/lib32/dinput8.def
index a36cc53e..7fcedd2c 100644
--- a/mingw-w64-crt/lib32/dinput8.def
+++ b/mingw-w64-crt/lib32/dinput8.def
@@ -1,3 +1,13 @@
-LIBRARY dinput8.dll
-EXPORTS
-DirectInput8Create@20
+;
+; Definition file of DINPUT8.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "DINPUT8.dll"
+EXPORTS
+DirectInput8Create@20
+DllCanUnloadNow@0
+DllGetClassObject@12
+DllRegisterServer@0
+DllUnregisterServer@0
+GetdfDIJoystick@0
diff --git a/mingw-w64-headers/include/dinput.h 
b/mingw-w64-headers/include/dinput.h
index 4e2d5100..e4b53658 100644
--- a/mingw-w64-headers/include/dinput.h
+++ b/mingw-w64-headers/include/dinput.h
@@ -603,6 +603,7 @@ typedef WINBOOL (CALLBACK 
*LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEF
 #define DIK_YEN             0x7D    /* (Japanese keyboard)            */
 #define DIK_ABNT_C2         0x7E    /* Numpad . on Portugese (Brazilian) 
keyboards */
 #define DIK_NUMPADEQUALS    0x8D    /* = on numeric keypad (NEC PC98) */
+#define DIK_PREVTRACK       0x90    /* Previous Track (DIK_CIRCUMFLEX on 
Japanese keyboard) */
 #define DIK_CIRCUMFLEX      0x90    /* (Japanese keyboard)            */
 #define DIK_AT              0x91    /*                     (NEC PC98) */
 #define DIK_COLON           0x92    /*                     (NEC PC98) */
@@ -1132,6 +1133,7 @@ DECL_WINELIB_TYPE_AW(LPCDIEFFECTINFO)
 
 typedef WINBOOL (CALLBACK *LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
 typedef WINBOOL (CALLBACK *LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
+DECL_WINELIB_TYPE_AW(LPDIENUMEFFECTSCALLBACK)
 
 typedef struct DIEFFESCAPE {
        DWORD   dwSize;
@@ -2150,6 +2152,8 @@ extern const DIDATAFORMAT c_dfDIMouse2; /* DX 7 */
 extern const DIDATAFORMAT c_dfDIKeyboard;
 #if DIRECTINPUT_VERSION >= 0x0500
 extern const DIDATAFORMAT c_dfDIJoystick;
+extern LPCDIDATAFORMAT WINAPI GetdfDIJoystick(void);
+
 extern const DIDATAFORMAT c_dfDIJoystick2;
 #endif /* DI5 */
 #ifdef __cplusplus
-- 
2.41.0.windows.1

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to