Fixed bugs in output functions (write).
Rewrote some parts for better DLL separation.
Fixed some prototypes.
Fixed mmioAdvance in write mode.

diff --git a/include/mmsystem.h b/include/mmsystem.h
index f75a6f2..3336b91 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -1357,9 +1357,9 @@
 HMMIO		WINAPI	mmioOpenW(LPWSTR,MMIOINFO*,DWORD);
 #define			mmioOpen WINELIB_NAME_AW(mmioOpen)
 
-UINT 		WINAPI	mmioRenameA(LPCSTR szFileName, LPCSTR szNewFileName,
+MMRESULT	WINAPI	mmioRenameA(LPCSTR szFileName, LPCSTR szNewFileName,
 				    MMIOINFO * lpmmioinfo, DWORD dwRenameFlags);
-UINT 		WINAPI	mmioRenameW(LPCWSTR szFileName, LPCWSTR szNewFileName,
+MMRESULT	WINAPI	mmioRenameW(LPCWSTR szFileName, LPCWSTR szNewFileName,
 				    MMIOINFO * lpmmioinfo, DWORD dwRenameFlags);
 #define 		mmioRename WINELIB_NAME_AW(mmioRename)
 
@@ -1369,13 +1369,13 @@
 LONG 		WINAPI	mmioSeek(HMMIO,LONG,INT);
 MMRESULT 	WINAPI	mmioGetInfo(HMMIO,MMIOINFO*,UINT);
 MMRESULT 	WINAPI	mmioSetInfo(HMMIO,const MMIOINFO*,UINT);
-UINT 		WINAPI	mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
-UINT 		WINAPI	mmioFlush(HMMIO,UINT);
-UINT 		WINAPI	mmioAdvance(HMMIO,MMIOINFO*,UINT);
-LONG 		WINAPI	mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
-UINT		WINAPI	mmioDescend(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
-UINT		WINAPI	mmioAscend(HMMIO,MMCKINFO*,UINT);
-UINT		WINAPI	mmioCreateChunk(HMMIO,MMCKINFO*,UINT);
+MMRESULT	WINAPI	mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
+MMRESULT	WINAPI	mmioFlush(HMMIO,UINT);
+MMRESULT	WINAPI	mmioAdvance(HMMIO,MMIOINFO*,UINT);
+LRESULT		WINAPI	mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
+MMRESULT	WINAPI	mmioDescend(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
+MMRESULT	WINAPI	mmioAscend(HMMIO,MMCKINFO*,UINT);
+MMRESULT	WINAPI	mmioCreateChunk(HMMIO,MMCKINFO*,UINT);
 
 typedef UINT CALLBACK (*YIELDPROC)(MCIDEVICEID,DWORD);