TSIA A+
Name: mm1632_2 ChangeLog: keep on moving 16 bit code out of winmm License: X11 GenDate: 2002/10/10 19:58:00 UTC ModifiedFiles: dlls/winmm/driver.c dlls/winmm/mci.c dlls/winmm/mmsystem.c dlls/winmm/time.c dlls/winmm/winemm.h AddedFiles: =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/driver.c,v retrieving revision 1.17 diff -u -u -r1.17 driver.c --- dlls/winmm/driver.c 9 Aug 2002 01:02:25 -0000 1.17 +++ dlls/winmm/driver.c 10 Oct 2002 19:08:13 -0000 @@ -565,48 +624,6 @@ } /************************************************************************** - * DrvOpen [MMSYSTEM.1100] - */ -HDRVR16 WINAPI DrvOpen16(LPSTR lpDriverName, LPSTR lpSectionName, LPARAM lParam) -{ - return OpenDriver16(lpDriverName, lpSectionName, lParam); -} - -/************************************************************************** - * DrvClose [MMSYSTEM.1101] - */ -LRESULT WINAPI DrvClose16(HDRVR16 hDrv, LPARAM lParam1, LPARAM lParam2) -{ - return CloseDriver16(hDrv, lParam1, lParam2); -} - -/************************************************************************** - * DrvSendMessage [MMSYSTEM.1102] - */ -LRESULT WINAPI DrvSendMessage16(HDRVR16 hDrv, WORD msg, LPARAM lParam1, - LPARAM lParam2) -{ - return SendDriverMessage16(hDrv, msg, lParam1, lParam2); -} - -/************************************************************************** - * DrvGetModuleHandle [MMSYSTEM.1103] - */ -HANDLE16 WINAPI DrvGetModuleHandle16(HDRVR16 hDrv) -{ - return GetDriverModuleHandle16(hDrv); -} - -/************************************************************************** - * DrvDefDriverProc [MMSYSTEM.1104] - */ -LRESULT WINAPI DrvDefDriverProc16(DWORD dwDriverID, HDRVR16 hDrv, WORD wMsg, - DWORD dwParam1, DWORD dwParam2) -{ - return DefDriverProc16(dwDriverID, hDrv, wMsg, dwParam1, dwParam2); -} - -/************************************************************************** * DefDriverProc [WINMM.@] * DrvDefDriverProc [WINMM.@] */ @@ -627,14 +644,3 @@ } } -/************************************************************************** - * DriverProc [MMSYSTEM.6] - */ -LRESULT WINAPI DriverProc16(DWORD dwDevID, HDRVR16 hDrv, WORD wMsg, - DWORD dwParam1, DWORD dwParam2) -{ - TRACE("dwDevID=%08lx hDrv=%04x wMsg=%04x dwParam1=%08lx dwParam2=%08lx\n", - dwDevID, hDrv, wMsg, dwParam1, dwParam2); - - return DrvDefDriverProc16(dwDevID, hDrv, wMsg, dwParam1, dwParam2); -} Index: dlls/winmm/mci.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mci.c,v retrieving revision 1.33 diff -u -u -r1.33 mci.c --- dlls/winmm/mci.c 10 Oct 2002 03:43:53 -0000 1.33 +++ dlls/winmm/mci.c 10 Oct 2002 19:37:39 -0000 @@ -1085,15 +1108,6 @@ } /************************************************************************** - * mciSendString [MMSYSTEM.702] - */ -DWORD WINAPI mciSendString16(LPCSTR lpstrCommand, LPSTR lpstrRet, - UINT16 uRetLen, HWND16 hwndCallback) -{ - return mciSendStringA(lpstrCommand, lpstrRet, uRetLen, HWND_32(hwndCallback)); -} - -/************************************************************************** * mciExecute [WINMM.@] * mciExecute [MMSYSTEM.712] */ @@ -1116,52 +1130,6 @@ } /************************************************************************** - * mciLoadCommandResource [MMSYSTEM.705] - */ -UINT16 WINAPI mciLoadCommandResource16(HANDLE16 hInst, LPCSTR resname, UINT16 type) -{ - HRSRC hRsrc = 0; - HGLOBAL hMem; - UINT16 ret = MCI_NO_COMMAND_TABLE; - LPWINE_MM_IDATA iData = MULTIMEDIA_GetIData(); - - TRACE("(%04x, %s, %d)!\n", hInst, resname, type); - - /* if file exists "resname.mci", then load resource "resname" from it - * otherwise directly from driver - * We don't support it (who uses this feature ?), but we check anyway - */ - if (!type) { - char buf[128]; - OFSTRUCT ofs; - - strcat(strcpy(buf, resname), ".mci"); - if (OpenFile(buf, &ofs, OF_EXIST) != HFILE_ERROR) { - FIXME("NIY: command table to be loaded from '%s'\n", ofs.szPathName); - } - } - if (!(hRsrc = FindResourceA(hInst, resname, (LPCSTR)RT_RCDATAA))) { - WARN("No command table found in resource\n"); - } else if ((hMem = LoadResource(hInst, hRsrc))) { - ret = MCI_SetCommandTable(iData, hMem, type); - } else { - WARN("Couldn't load resource.\n"); - } - TRACE("=> %04x\n", ret); - return ret; -} - -/************************************************************************** - * mciFreeCommandResource [MMSYSTEM.713] - */ -BOOL16 WINAPI mciFreeCommandResource16(UINT16 uTable) -{ - TRACE("(%04x)!\n", uTable); - - return MCI_DeleteCommandTable(uTable); -} - -/************************************************************************** * mciLoadCommandResource [WINMM.@] * * Strangely, this function only exists as an UNICODE one. @@ -1175,12 +1143,15 @@ TRACE("(%04x, %s, %d)!\n", hInst, debugstr_w(resNameW), type); -#if 0 - /* if file exists "resname.mci", then load resource "resname" from it + /* if a file named "resname.mci" exits, then load resource "resname" from it * otherwise directly from driver * We don't support it (who uses this feature ?), but we check anyway */ if (!type) { +#if 0 + /* FIXME: we should put this back into order, but I never found a program + * actually using this feature, so we not need it + */ char buf[128]; OFSTRUCT ofs; @@ -1188,8 +1159,8 @@ if (OpenFile(buf, &ofs, OF_EXIST) != HFILE_ERROR) { FIXME("NIY: command table to be loaded from '%s'\n", ofs.szPathName); } - } #endif + } if (!(hRsrc = FindResourceW(hInst, resNameW, (LPCWSTR)RT_RCDATAA))) { WARN("No command table found in resource\n"); } else if ((hMem = LoadResource(hInst, hRsrc))) { @@ -1201,18 +1172,6 @@ return ret; } -#if 0 - LPSTR resNameA; - UINT ret; - - TRACE("(%04x, %s, %d)!\n", hinst, debugstr_w(resNameW), type); - - resNameA = HEAP_strdupWtoA(GetProcessHeap(), 0, resNameW); - ret = mciLoadCommandResource16(hinst, resNameA, type); - HeapFree(GetProcessHeap(), 0, resNameA); - return ret; -#endif - /************************************************************************** * mciFreeCommandResource [WINMM.@] */ Index: dlls/winmm/mmsystem.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mmsystem.c,v retrieving revision 1.71 diff -u -u -r1.71 mmsystem.c --- dlls/winmm/mmsystem.c 10 Oct 2002 03:43:53 -0000 1.71 +++ dlls/winmm/mmsystem.c 10 Oct 2002 19:46:44 -0000 @@ -38,6 +38,7 @@ #include "wine/mmsystem16.h" #include "wine/winuser16.h" #include "winemm.h" +#include "heap.h" #include "wine/debug.h" @@ -2117,3 +2118,162 @@ { OutputDebugStringA( str ); } + +/************************************************************************** + * DrvOpen [MMSYSTEM.1100] + */ +HDRVR16 WINAPI DrvOpen16(LPSTR lpDriverName, LPSTR lpSectionName, LPARAM lParam) +{ + return OpenDriver16(lpDriverName, lpSectionName, lParam); +} + +/************************************************************************** + * DrvClose [MMSYSTEM.1101] + */ +LRESULT WINAPI DrvClose16(HDRVR16 hDrv, LPARAM lParam1, LPARAM lParam2) +{ + return CloseDriver16(hDrv, lParam1, lParam2); +} + +/************************************************************************** + * DrvSendMessage [MMSYSTEM.1102] + */ +LRESULT WINAPI DrvSendMessage16(HDRVR16 hDrv, WORD msg, LPARAM lParam1, + LPARAM lParam2) +{ + return SendDriverMessage16(hDrv, msg, lParam1, lParam2); +} + +/************************************************************************** + * DrvGetModuleHandle [MMSYSTEM.1103] + */ +HANDLE16 WINAPI DrvGetModuleHandle16(HDRVR16 hDrv) +{ + return GetDriverModuleHandle16(hDrv); +} + +/************************************************************************** + * DrvDefDriverProc [MMSYSTEM.1104] + */ +LRESULT WINAPI DrvDefDriverProc16(DWORD dwDriverID, HDRVR16 hDrv, WORD wMsg, + DWORD dwParam1, DWORD dwParam2) +{ + return DefDriverProc16(dwDriverID, hDrv, wMsg, dwParam1, dwParam2); +} + +/************************************************************************** + * DriverProc [MMSYSTEM.6] + */ +LRESULT WINAPI DriverProc16(DWORD dwDevID, HDRVR16 hDrv, WORD wMsg, + DWORD dwParam1, DWORD dwParam2) +{ + TRACE("dwDevID=%08lx hDrv=%04x wMsg=%04x dwParam1=%08lx dwParam2=%08lx\n", + dwDevID, hDrv, wMsg, dwParam1, dwParam2); + + return DrvDefDriverProc16(dwDevID, hDrv, wMsg, dwParam1, dwParam2); +} + +/************************************************************************** + * timeGetSystemTime [MMSYSTEM.601] + */ +MMRESULT16 WINAPI timeGetSystemTime16(LPMMTIME16 lpTime, UINT16 wSize) +{ + TRACE("(%p, %u);\n", lpTime, wSize); + + if (wSize >= sizeof(*lpTime)) { + lpTime->wType = TIME_MS; + lpTime->u.ms = TIME_MMTimeStart()->mmSysTimeMS; + + TRACE("=> %lu\n", lpTime->u.ms); + } + + return 0; +} + +/************************************************************************** + * timeSetEvent [MMSYSTEM.602] + */ +MMRESULT16 WINAPI timeSetEvent16(UINT16 wDelay, UINT16 wResol, LPTIMECALLBACK16 lpFunc, + DWORD dwUser, UINT16 wFlags) +{ + if (wFlags & WINE_TIMER_IS32) + WARN("Unknown windows flag... wine internally used.. ooch\n"); + + return timeSetEventInternal(wDelay, wResol, (FARPROC16)lpFunc, + dwUser, wFlags & ~WINE_TIMER_IS32); +} + +/************************************************************************** + * timeKillEvent [MMSYSTEM.603] + */ +MMRESULT16 WINAPI timeKillEvent16(UINT16 wID) +{ + return timeKillEvent(wID); +} + +/************************************************************************** + * timeGetDevCaps [MMSYSTEM.604] + */ +MMRESULT16 WINAPI timeGetDevCaps16(LPTIMECAPS16 lpCaps, UINT16 wSize) +{ + TIMECAPS caps; + MMRESULT ret; + + TRACE("(%p, %u) !\n", lpCaps, wSize); + + ret = timeGetDevCaps(&caps, sizeof(caps)); + lpCaps->wPeriodMin = caps.wPeriodMin; + lpCaps->wPeriodMax = caps.wPeriodMax; + return 0; +} + +/************************************************************************** + * timeBeginPeriod [MMSYSTEM.605] + */ +MMRESULT16 WINAPI timeBeginPeriod16(UINT16 wPeriod) +{ + TRACE("(%u) !\n", wPeriod); + + return timeBeginPeriod(wPeriod); +} + +/************************************************************************** + * timeEndPeriod [MMSYSTEM.606] + */ +MMRESULT16 WINAPI timeEndPeriod16(UINT16 wPeriod) +{ + TRACE("(%u) !\n", wPeriod); + + return timeEndPeriod(wPeriod); +} + +/************************************************************************** + * mciSendString [MMSYSTEM.702] + */ +DWORD WINAPI mciSendString16(LPCSTR lpstrCommand, LPSTR lpstrRet, + UINT16 uRetLen, HWND16 hwndCallback) +{ + return mciSendStringA(lpstrCommand, lpstrRet, uRetLen, HWND_32(hwndCallback)); +} + +/************************************************************************** + * mciLoadCommandResource [MMSYSTEM.705] + */ +UINT16 WINAPI mciLoadCommandResource16(HANDLE16 hInst, LPCSTR resname, UINT16 type) +{ + LPCWSTR ptr = HEAP_strdupAtoW(GetProcessHeap(), 0, resname); + UINT ret = mciLoadCommandResource(hInst, ptr, type); + HeapFree(GetProcessHeap(), 0, (LPWSTR)ptr); + return ret; +} + +/************************************************************************** + * mciFreeCommandResource [MMSYSTEM.713] + */ +BOOL16 WINAPI mciFreeCommandResource16(UINT16 uTable) +{ + TRACE("(%04x)!\n", uTable); + + return mciFreeCommandResource(uTable); +} + Index: dlls/winmm/time.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/time.c,v retrieving revision 1.16 diff -u -u -r1.16 time.c --- dlls/winmm/time.c 17 Aug 2002 00:43:18 -0000 1.16 +++ dlls/winmm/time.c 10 Oct 2002 19:26:06 -0000 @@ -34,10 +34,7 @@ #include "mmsystem.h" #include "windef.h" #include "winbase.h" -#include "wingdi.h" -#include "winuser.h" -#include "wine/mmsystem16.h" #include "winemm.h" #include "wine/debug.h" @@ -237,27 +234,10 @@ } /************************************************************************** - * timeGetSystemTime [MMSYSTEM.601] - */ -MMRESULT16 WINAPI timeGetSystemTime16(LPMMTIME16 lpTime, UINT16 wSize) -{ - TRACE("(%p, %u);\n", lpTime, wSize); - - if (wSize >= sizeof(*lpTime)) { - lpTime->wType = TIME_MS; - lpTime->u.ms = TIME_MMTimeStart()->mmSysTimeMS; - - TRACE("=> %lu\n", lpTime->u.ms); - } - - return 0; -} - -/************************************************************************** * timeSetEventInternal [internal] */ -static WORD timeSetEventInternal(UINT wDelay, UINT wResol, - FARPROC16 lpFunc, DWORD dwUser, UINT wFlags) +WORD timeSetEventInternal(UINT wDelay, UINT wResol, + FARPROC16 lpFunc, DWORD dwUser, UINT wFlags) { WORD wNewID = 0; LPWINE_TIMERENTRY lpNewTimer; @@ -313,19 +293,6 @@ } /************************************************************************** - * timeSetEvent [MMSYSTEM.602] - */ -MMRESULT16 WINAPI timeSetEvent16(UINT16 wDelay, UINT16 wResol, LPTIMECALLBACK16 lpFunc, - DWORD dwUser, UINT16 wFlags) -{ - if (wFlags & WINE_TIMER_IS32) - WARN("Unknown windows flag... wine internally used.. ooch\n"); - - return timeSetEventInternal(wDelay, wResol, (FARPROC16)lpFunc, - dwUser, wFlags & ~WINE_TIMER_IS32); -} - -/************************************************************************** * timeKillEvent [WINMM.@] */ MMRESULT WINAPI timeKillEvent(UINT wID) @@ -359,14 +326,6 @@ } /************************************************************************** - * timeKillEvent [MMSYSTEM.603] - */ -MMRESULT16 WINAPI timeKillEvent16(UINT16 wID) -{ - return timeKillEvent(wID); -} - -/************************************************************************** * timeGetDevCaps [WINMM.@] */ MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS lpCaps, UINT wSize) @@ -379,18 +338,6 @@ } /************************************************************************** - * timeGetDevCaps [MMSYSTEM.604] - */ -MMRESULT16 WINAPI timeGetDevCaps16(LPTIMECAPS16 lpCaps, UINT16 wSize) -{ - TRACE("(%p, %u) !\n", lpCaps, wSize); - - lpCaps->wPeriodMin = MMSYSTIME_MININTERVAL; - lpCaps->wPeriodMax = MMSYSTIME_MAXINTERVAL; - return 0; -} - -/************************************************************************** * timeBeginPeriod [WINMM.@] */ MMRESULT WINAPI timeBeginPeriod(UINT wPeriod) @@ -403,33 +350,9 @@ } /************************************************************************** - * timeBeginPeriod [MMSYSTEM.605] - */ -MMRESULT16 WINAPI timeBeginPeriod16(UINT16 wPeriod) -{ - TRACE("(%u) !\n", wPeriod); - - if (wPeriod < MMSYSTIME_MININTERVAL || wPeriod > MMSYSTIME_MAXINTERVAL) - return TIMERR_NOCANDO; - return 0; -} - -/************************************************************************** * timeEndPeriod [WINMM.@] */ MMRESULT WINAPI timeEndPeriod(UINT wPeriod) -{ - TRACE("(%u) !\n", wPeriod); - - if (wPeriod < MMSYSTIME_MININTERVAL || wPeriod > MMSYSTIME_MAXINTERVAL) - return TIMERR_NOCANDO; - return 0; -} - -/************************************************************************** - * timeEndPeriod [MMSYSTEM.606] - */ -MMRESULT16 WINAPI timeEndPeriod16(UINT16 wPeriod) { TRACE("(%u) !\n", wPeriod); Index: dlls/winmm/winemm.h =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/winemm.h,v retrieving revision 1.22 diff -u -u -r1.22 winemm.h --- dlls/winmm/winemm.h 10 Oct 2002 03:43:53 -0000 1.22 +++ dlls/winmm/winemm.h 10 Oct 2002 19:22:39 -0000 @@ -233,6 +230,8 @@ UINT MMSYSTEM_waveOpen(HANDLE* lphndl, UINT uDeviceID, UINT uType, const LPWAVEFORMATEX lpFormat, DWORD dwCallback, DWORD dwInstance, DWORD dwFlags, BOOL bFrom32); +WORD timeSetEventInternal(UINT wDelay, UINT wResol, + FARPROC16 lpFunc, DWORD dwUser, UINT wFlags); BOOL MULTIMEDIA_MciInit(void); LPWINE_MM_IDATA MULTIMEDIA_GetIData(void);