Removed DECLARE_OLD_HANDLE. Fixed a few remaining warnings.

diff --git a/dlls/winmm/mciavi/mmoutput.c b/dlls/winmm/mciavi/mmoutput.c
index 1408f14..541bcf8 100644
--- a/dlls/winmm/mciavi/mmoutput.c
+++ b/dlls/winmm/mciavi/mmoutput.c
@@ -438,7 +438,7 @@
     LPWAVEHDR	waveHdr;
     unsigned	i;
 
-    dwRet = waveOutOpen(&wma->hWave, WAVE_MAPPER, wma->lpWaveFormat,
+    dwRet = waveOutOpen((HWAVEOUT *)&wma->hWave, WAVE_MAPPER, wma->lpWaveFormat,
 			(DWORD)MCIAVI_waveCallback, (DWORD)wma, CALLBACK_FUNCTION);
     if (dwRet != 0) {
 	TRACE("Can't open low level audio device %ld\n", dwRet);
diff --git a/dlls/winmm/mciwave/mciwave.c b/dlls/winmm/mciwave/mciwave.c
index a2b7f8c..3c19c8b 100644
--- a/dlls/winmm/mciwave/mciwave.c
+++ b/dlls/winmm/mciwave/mciwave.c
@@ -775,7 +775,7 @@
      * change from output to input and back
      */
     /* FIXME: how to choose between several output channels ? here mapper is forced */
-    dwRet = waveOutOpen(&wmw->hWave, WAVE_MAPPER, wmw->lpWaveFormat,
+    dwRet = waveOutOpen((HWAVEOUT *)&wmw->hWave, WAVE_MAPPER, wmw->lpWaveFormat,
 			(DWORD)WAVE_mciPlayCallback, (DWORD)wmw, CALLBACK_FUNCTION);
 
     if (dwRet != 0) {
@@ -1006,7 +1006,7 @@
      * change from output to input and back
      */
     /* FIXME: how to choose between several output channels ? here mapper is forced */
-    dwRet = waveInOpen(&wmw->hWave, WAVE_MAPPER, wmw->lpWaveFormat,
+    dwRet = waveInOpen((HWAVEIN*)&wmw->hWave, WAVE_MAPPER, wmw->lpWaveFormat,
 			(DWORD)WAVE_mciRecordCallback, (DWORD)wmw, CALLBACK_FUNCTION);
 
     if (dwRet != 0) {
diff --git a/dlls/winmm/winealsa/audio.c b/dlls/winmm/winealsa/audio.c
index 743fad4..4c2ea91 100644
--- a/dlls/winmm/winealsa/audio.c
+++ b/dlls/winmm/winealsa/audio.c
@@ -632,7 +632,7 @@
     case WOM_CLOSE:
     case WOM_DONE:
 	if (wwo->wFlags != DCB_NULL &&
-	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, wwo->waveDesc.hWave,
+	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, (HDRVR)wwo->waveDesc.hWave,
 			    wMsg, wwo->waveDesc.dwInstance, dwParam1, dwParam2)) {
 	    WARN("can't notify client !\n");
 	    return MMSYSERR_ERROR;
diff --git a/dlls/winmm/winearts/audio.c b/dlls/winmm/winearts/audio.c
index 5996b0f..3838ab0 100644
--- a/dlls/winmm/winearts/audio.c
+++ b/dlls/winmm/winearts/audio.c
@@ -456,7 +456,7 @@
     case WOM_CLOSE:
     case WOM_DONE:
 	if (wwo->wFlags != DCB_NULL &&
-	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, wwo->waveDesc.hWave,
+	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, (HDRVR)wwo->waveDesc.hWave,
 			    wMsg, wwo->waveDesc.dwInstance, dwParam1, dwParam2)) {
 	    WARN("can't notify client !\n");
 	    return MMSYSERR_ERROR;
diff --git a/dlls/winmm/winenas/audio.c b/dlls/winmm/winenas/audio.c
index 7196349..dbbb7f7 100644
--- a/dlls/winmm/winenas/audio.c
+++ b/dlls/winmm/winenas/audio.c
@@ -534,7 +534,7 @@
     case WOM_CLOSE:
     case WOM_DONE:
 	if (wwo->wFlags != DCB_NULL &&
-	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, wwo->waveDesc.hWave,
+	    !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, (HDRVR)wwo->waveDesc.hWave,
 			    wMsg, wwo->waveDesc.dwInstance, dwParam1, dwParam2)) {
 	    WARN("can't notify client !\n");
 	    return MMSYSERR_ERROR;
diff --git a/include/windef.h b/include/windef.h
index d37f8e0..e689bc7 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -72,24 +72,24 @@
 
 typedef int HFILE;
 DECLARE_HANDLE(HACCEL);
-DECLARE_OLD_HANDLE(HBITMAP);
-DECLARE_OLD_HANDLE(HBRUSH);
+DECLARE_HANDLE(HBITMAP);
+DECLARE_HANDLE(HBRUSH);
 DECLARE_HANDLE(HCOLORSPACE);
-DECLARE_OLD_HANDLE(HDC);
+DECLARE_HANDLE(HDC);
 DECLARE_HANDLE(HDESK);
 DECLARE_HANDLE(HENHMETAFILE);
-DECLARE_OLD_HANDLE(HFONT);
+DECLARE_HANDLE(HFONT);
 DECLARE_HANDLE(HHOOK);
 DECLARE_HANDLE(HICON);
-DECLARE_OLD_HANDLE(HINSTANCE);
+DECLARE_HANDLE(HINSTANCE);
 DECLARE_HANDLE(HKEY);
 DECLARE_HANDLE(HKL);
-DECLARE_OLD_HANDLE(HMENU);
+DECLARE_HANDLE(HMENU);
 DECLARE_HANDLE(HMETAFILE);
 DECLARE_HANDLE(HMONITOR);
 DECLARE_HANDLE(HPALETTE);
-DECLARE_OLD_HANDLE(HPEN);
-DECLARE_OLD_HANDLE(HRGN);
+DECLARE_HANDLE(HPEN);
+DECLARE_HANDLE(HRGN);
 DECLARE_HANDLE(HRSRC);
 DECLARE_HANDLE(HTASK);
 DECLARE_HANDLE(HWINEVENTHOOK);
diff --git a/include/winnt.h b/include/winnt.h
index afc60c7..63f0e6d 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -561,20 +561,14 @@
  * we're ready we'll remove the '!defined(__WINE__)' (the equivalent
  * of converting it from DECLARE_OLD_HANDLE to DECLARE_HANDLE).
  */
-#if defined(STRICT) || (defined(__WINE__) && !defined(WINE_NO_STRICT))
-typedef VOID*           HANDLE;
-#define DECLARE_OLD_HANDLE(a) \
-    typedef struct a##__ { int unused; } *a; \
-    typedef a *P##a
+#if defined(__WINE__) && defined(WINE_NO_STRICT)
+typedef UINT HANDLE;
 #else
-typedef UINT            HANDLE;
-#define DECLARE_OLD_HANDLE(a) \
-    typedef HANDLE a; \
-    typedef a *P##a
+typedef void *HANDLE;
 #endif
-typedef HANDLE         *PHANDLE,    *LPHANDLE;
+typedef HANDLE *PHANDLE, *LPHANDLE;
 
-#ifdef STRICT
+#if defined(STRICT) || (defined(__WINE__) && !defined(WINE_NO_STRICT))
 #define DECLARE_HANDLE(a) \
     typedef struct a##__ { int unused; } *a; \
     typedef a *P##a