Add Unicode->ANSI MCI message mapping, implement mciSendCommandW, fix
a bug with a window creation belonging to another hInstance, add
support for MCI_WINDOW command in mciavi.drv, add support for MCI_PLAY
and MCI_STOP in the MCIWndClass implementation.

diff --git a/include/mmsystem.h b/include/mmsystem.h
index 2722b17..9a05a60 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -1407,8 +1407,8 @@
 
 typedef UINT (CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
 
-DWORD		WINAPI	mciSendCommandA(UINT,UINT,DWORD,DWORD);
-DWORD		WINAPI	mciSendCommandW(UINT,UINT,DWORD,DWORD);
+DWORD          WINAPI  mciSendCommandA(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
+DWORD          WINAPI  mciSendCommandW(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
 #define 		mciSendCommand WINELIB_NAME_AW(mciSendCommand)
 DWORD		WINAPI	mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
 DWORD		WINAPI	mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
@@ -1416,12 +1416,12 @@
 UINT		WINAPI	mciGetDeviceIDA(LPCSTR);
 UINT		WINAPI	mciGetDeviceIDW(LPCWSTR);
 #define 		mciGetDeviceID WINELIB_NAME_AW(mciGetDeviceID)
-BOOL		WINAPI	mciGetErrorStringA(DWORD,LPSTR,UINT);
-BOOL		WINAPI	mciGetErrorStringW(DWORD,LPWSTR,UINT);
+BOOL           WINAPI  mciGetErrorStringA(MCIERROR,LPSTR,UINT);
+BOOL           WINAPI  mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
 #define 		mciGetErrorString WINELIB_NAME_AW(mciGetErrorString)
-BOOL		WINAPI	mciSetYieldProc(UINT,YIELDPROC,DWORD);
-HTASK		WINAPI	mciGetCreatorTask(UINT);
-YIELDPROC	WINAPI	mciGetYieldProc(UINT,DWORD*);
+BOOL           WINAPI  mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
+HTASK          WINAPI  mciGetCreatorTask(MCIDEVICEID);
+YIELDPROC      WINAPI  mciGetYieldProc(MCIDEVICEID,DWORD*);
 
 #define MCIERR_INVALID_DEVICE_ID        (MCIERR_BASE + 1)
 #define MCIERR_UNRECOGNIZED_KEYWORD     (MCIERR_BASE + 3)