MCI_ANIM_OPEN_PARMSW should be LPCWSTR, MCI_DefYieldProc should be WINAPI.
diff --git a/include/mmsystem.h b/include/mmsystem.h
index e56a5ca..b63a6f0 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -2361,9 +2361,9 @@
typedef struct {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
- LPCSTR lpstrDeviceType;
- LPCSTR lpstrElementName;
- LPCSTR lpstrAlias;
+ LPCWSTR lpstrDeviceType;
+ LPCWSTR lpstrElementName;
+ LPCWSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_ANIM_OPEN_PARMSW, *LPMCI_ANIM_OPEN_PARMSW;
@@ -2819,6 +2819,8 @@
UINT wCustomCommandTable; /* custom command table (0xFFFF if none) * filled in by the driver */
UINT wType; /* driver type (filled in by the driver) */
} MCI_OPEN_DRIVER_PARMSW, *LPMCI_OPEN_DRIVER_PARMSW;
+DECL_WINELIB_TYPE_AW(MCI_OPEN_DRIVER_PARMS);
+DECL_WINELIB_TYPE_AW(LPMCI_OPEN_DRIVER_PARMS);
DWORD WINAPI mciGetDriverData16(UINT16 uDeviceID);
DWORD WINAPI mciGetDriverData(UINT uDeviceID);
diff --git a/include/multimedia.h b/include/multimedia.h
index 719b240..4c3f4a2 100644
--- a/include/multimedia.h
+++ b/include/multimedia.h
@@ -104,7 +104,7 @@
extern int mciInstalledListLen;
extern LPSTR lpmciInstallNames;
-extern UINT16 MCI_DefYieldProc(UINT16 wDevID, DWORD data);
+extern UINT16 WINAPI MCI_DefYieldProc(UINT16 wDevID, DWORD data);
typedef struct {
WORD uDevType;
diff --git a/multimedia/mmsystem.c b/multimedia/mmsystem.c
index 424e210..ba42274 100644
--- a/multimedia/mmsystem.c
+++ b/multimedia/mmsystem.c
@@ -1651,7 +1651,7 @@
return ret;
}
-UINT16 MCI_DefYieldProc(UINT16 wDevID, DWORD data)
+UINT16 WINAPI MCI_DefYieldProc(UINT16 wDevID, DWORD data)
{
MSG msg;
INT16 ret;