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;