Added a few missing parts.

diff --git a/dlls/msacm/wineacm.h b/dlls/msacm/wineacm.h
index 3595abf..cb43ca7 100644
--- a/dlls/msacm/wineacm.h
+++ b/dlls/msacm/wineacm.h
@@ -332,20 +332,6 @@
 				       LPARAM dwParam1, LPARAM dwParam2);
 
 /* Dialog box templates */
-#define DLG_ACMFORMATCHOOSE_ID              70
-#define IDD_ACMFORMATCHOOSE_BTN_HELP        9
-#define IDD_ACMFORMATCHOOSE_CMB_CUSTOM      100
-#define IDD_ACMFORMATCHOOSE_CMB_FORMATTAG   101
-#define IDD_ACMFORMATCHOOSE_CMB_FORMAT      102
-#define IDD_ACMFORMATCHOOSE_BTN_SETNAME     103
-#define IDD_ACMFORMATCHOOSE_BTN_DELNAME     104
-
-#define DLG_ACMFILTERCHOOSE_ID              71
-#define IDD_ACMFILTERCHOOSE_BTN_HELP        9
-#define IDD_ACMFILTERCHOOSE_CMB_CUSTOM      100
-#define IDD_ACMFILTERCHOOSE_CMB_FILTERTAG   101
-#define IDD_ACMFILTERCHOOSE_CMB_FILTER      102
-#define IDD_ACMFILTERCHOOSE_BTN_SETNAME     103
-#define IDD_ACMFILTERCHOOSE_BTN_DELNAME     104
+#include "msacmdlg.h"
 
 #endif /* __WINE_WINEACM_H */
diff --git a/include/Makefile.in b/include/Makefile.in
index 7c9eae6..648603b 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -40,6 +40,7 @@
 	mmreg.h \
 	mmsystem.h \
 	msacm.h \
+	msacmdlg.h \
 	ntsecapi.h \
 	oaidl.h \
 	objbase.h \
diff --git a/include/mmsystem.h b/include/mmsystem.h
index 7dd942e..fd3ff34 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -30,9 +30,15 @@
    
 typedef WORD    VERSION;        /* major (high byte), minor (low byte) */
 
+#ifndef _MCIERROR_
+#define _MCIERROR_
 typedef DWORD   MCIERROR;
+#endif
 typedef UINT	MMVERSION;
+#ifndef _MCIDEVICEID_
+#define _MCIDEVICEID_
 typedef UINT	MCIDEVICEID;
+#endif
 typedef	UINT	MMRESULT;
 
 typedef struct {
diff --git a/include/msacm.h b/include/msacm.h
index d00310d..3535ef8 100644
--- a/include/msacm.h
+++ b/include/msacm.h
@@ -13,10 +13,11 @@
 extern "C" {
 #endif /* defined(__cplusplus) */
 
+#define ACMAPI              WINAPI
+
 /***********************************************************************
  * Defines/Enums
  */
-
 #define ACMERR_BASE        512
 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
 #define ACMERR_BUSY        (ACMERR_BASE + 1)
@@ -91,12 +92,15 @@
 
 #define ACMHELPMSGSTRINGA       "acmchoose_help"
 #define ACMHELPMSGSTRINGW       L"acmchoose_help"
+#define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
 
 #define ACMHELPMSGCONTEXTMENUA  "acmchoose_contextmenu"
 #define ACMHELPMSGCONTEXTMENUW  L"acmchoose_contextmenu"
+#define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
 
 #define ACMHELPMSGCONTEXTHELPA  "acmchoose_contexthelp"
 #define ACMHELPMSGCONTEXTHELPW  L"acmchoose_contexthelp"
+#define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
 
 #define MM_ACM_FORMATCHOOSE 0x8000
 
@@ -237,7 +241,7 @@
   CHAR     szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
   CHAR     szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
   CHAR     szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
+} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
 
 typedef struct _ACMDRIVERDETAILSW
 {
@@ -263,10 +267,11 @@
   WCHAR    szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
   WCHAR    szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
   WCHAR    szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
+} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
 
 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
+DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
 
 typedef struct _ACMFILTERCHOOSEA
 {
@@ -292,7 +297,7 @@
   LPCSTR        pszTemplateName;
   LPARAM        lCustData;
   ACMFILTERCHOOSEHOOKPROCA pfnHook;
-} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
+} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
 
 typedef struct _ACMFILTERCHOOSEW
 {
@@ -318,10 +323,11 @@
   LPCWSTR       pszTemplateName;
   LPARAM        lCustData;
   ACMFILTERCHOOSEHOOKPROCW pfnHook;
-} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
+} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
 
 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
+DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
 
 typedef struct _ACMFILTERDETAILSA
 {
@@ -332,7 +338,7 @@
   PWAVEFILTER     pwfltr;
   DWORD           cbwfltr;
   CHAR            szFilter[ACMFILTERDETAILS_FILTER_CHARS];
-} ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
+} ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
 
 typedef struct _ACMFILTERDETAILSW
 {
@@ -343,10 +349,11 @@
   PWAVEFILTER    pwfltr;
   DWORD          cbwfltr;
   WCHAR          szFilter[ACMFILTERDETAILS_FILTER_CHARS];
-} ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
+} ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
 
 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
+DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
 
 typedef struct _ACMFILTERTAGDETAILSA
 {
@@ -357,7 +364,7 @@
   DWORD fdwSupport;
   DWORD cStandardFilters;
   CHAR  szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
-} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
+} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
 
 typedef struct _ACMFILTERTAGDETAILSW
 {
@@ -368,10 +375,11 @@
   DWORD fdwSupport;
   DWORD cStandardFilters;
   WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
-} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
+} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
 
 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
+DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
 
 typedef struct _ACMFORMATCHOOSEA
 {
@@ -397,7 +405,7 @@
   LPCSTR          pszTemplateName;
   LPARAM          lCustData;
   ACMFORMATCHOOSEHOOKPROCA pfnHook;
-} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
+} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
 
 typedef struct _ACMFORMATCHOOSEW
 {
@@ -423,10 +431,11 @@
   LPCWSTR         pszTemplateName;
   LPARAM          lCustData;
   ACMFORMATCHOOSEHOOKPROCW pfnHook;
-} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
+} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
 
 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
+DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
 
 typedef struct _ACMFORMATDETAILSA
 {
@@ -437,7 +446,7 @@
   PWAVEFORMATEX   pwfx;
   DWORD           cbwfx;
   CHAR            szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
+} ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
 
 typedef struct _ACMFORMATDETAILSW
 {
@@ -448,10 +457,11 @@
     PWAVEFORMATEX   pwfx;
     DWORD           cbwfx;
     WCHAR           szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
+} ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
 
 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
+DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
 
 typedef struct _ACMFORMATTAGDETAILSA
 {
@@ -462,7 +472,7 @@
   DWORD fdwSupport;
   DWORD cStandardFormats;
   CHAR  szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
+} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
 
 typedef struct _ACMFORMATTAGDETAILSW
 {
@@ -473,10 +483,11 @@
   DWORD fdwSupport;
   DWORD cStandardFormats;
   WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
+} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
 
 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
+DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
 
 typedef struct _ACMSTREAMHEADER
 {
@@ -492,7 +503,7 @@
   DWORD  cbDstLengthUsed;
   DWORD  dwDstUser;
   DWORD  dwReservedDriver[10];
-} ACMSTREAMHEADER, *PACMSTREAMHEADER;
+} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
 
 /***********************************************************************
  * Callbacks 2
@@ -681,7 +692,7 @@
 );
 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
 
-DWORD WINAPI acmGetVersion(
+DWORD WINAPI acmGetVersion(void
 );
 MMRESULT WINAPI acmMetrics(
   HACMOBJ hao, UINT  uMetric, LPVOID  pMetric
diff --git a/include/msacmdlg.h b/include/msacmdlg.h
new file mode 100644
index 0000000..c6c97e6
--- /dev/null
+++ b/include/msacmdlg.h
@@ -0,0 +1,18 @@
+/* msacmdlg.h definitions for MSACM dialog boxes */
+
+#define DLG_ACMFORMATCHOOSE_ID              70
+#define IDD_ACMFORMATCHOOSE_BTN_HELP        9
+#define IDD_ACMFORMATCHOOSE_CMB_CUSTOM      100
+#define IDD_ACMFORMATCHOOSE_CMB_FORMATTAG   101
+#define IDD_ACMFORMATCHOOSE_CMB_FORMAT      102
+#define IDD_ACMFORMATCHOOSE_BTN_SETNAME     103
+#define IDD_ACMFORMATCHOOSE_BTN_DELNAME     104
+
+#define DLG_ACMFILTERCHOOSE_ID              71
+#define IDD_ACMFILTERCHOOSE_BTN_HELP        9
+#define IDD_ACMFILTERCHOOSE_CMB_CUSTOM      100
+#define IDD_ACMFILTERCHOOSE_CMB_FILTERTAG   101
+#define IDD_ACMFILTERCHOOSE_CMB_FILTER      102
+#define IDD_ACMFILTERCHOOSE_BTN_SETNAME     103
+#define IDD_ACMFILTERCHOOSE_BTN_DELNAME     104
+