Commit 37c0217d authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

Updated to new MM header organization.

parent 668228a1
...@@ -21,7 +21,8 @@ ...@@ -21,7 +21,8 @@
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "wine/winuser16.h" #include "wine/winuser16.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "mmddk.h"
#include "oss.h"
#include "heap.h" #include "heap.h"
#include "ldt.h" #include "ldt.h"
#include "debugtools.h" #include "debugtools.h"
...@@ -1377,7 +1378,6 @@ DWORD WINAPI widMessage(WORD wDevID, WORD wMsg, DWORD dwUser, ...@@ -1377,7 +1378,6 @@ DWORD WINAPI widMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
case WIDM_GETPOS: return widGetPosition(wDevID, (LPMMTIME16)dwParam1, dwParam2); case WIDM_GETPOS: return widGetPosition(wDevID, (LPMMTIME16)dwParam1, dwParam2);
case WIDM_RESET: return widReset(wDevID); case WIDM_RESET: return widReset(wDevID);
case WIDM_START: return widStart(wDevID); case WIDM_START: return widStart(wDevID);
case WIDM_PAUSE: return widStop(wDevID);
case WIDM_STOP: return widStop(wDevID); case WIDM_STOP: return widStop(wDevID);
default: default:
FIXME("unknown message %u!\n", wMsg); FIXME("unknown message %u!\n", wMsg);
......
...@@ -64,7 +64,6 @@ ...@@ -64,7 +64,6 @@
#include "dsound.h" #include "dsound.h"
#include "winuser.h" #include "winuser.h"
#include "winerror.h" #include "winerror.h"
#include "multimedia.h"
#include "wine/obj_base.h" #include "wine/obj_base.h"
#include "thread.h" #include "thread.h"
#include "debugtools.h" #include "debugtools.h"
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include "winuser.h" #include "winuser.h"
#include "heap.h" #include "heap.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "winemm.h"
#include "selectors.h" #include "selectors.h"
#include "digitalv.h" #include "digitalv.h"
#include "options.h" #include "options.h"
...@@ -708,7 +708,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M ...@@ -708,7 +708,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M
switch (dwRet & 0xFFFF0000ul) { switch (dwRet & 0xFFFF0000ul) {
case 0: case 0:
case MCI_INTEGER_RETURNED: case MCI_INTEGER_RETURNED:
wsnprintfA(lpstrRet, uRetLen, "%d", data[1]); wsnprintfA(lpstrRet, uRetLen, "%ld", data[1]);
break; break;
case MCI_RESOURCE_RETURNED: case MCI_RESOURCE_RETURNED:
/* return string which ID is HIWORD(data[1]), /* return string which ID is HIWORD(data[1]),
...@@ -741,7 +741,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M ...@@ -741,7 +741,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M
break; break;
case MCI_INTEGER_RETURNED: case MCI_INTEGER_RETURNED:
data[1] = *(LPDWORD)lpstrRet; data[1] = *(LPDWORD)lpstrRet;
wsnprintfA(lpstrRet, uRetLen, "%d", data[1]); wsnprintfA(lpstrRet, uRetLen, "%ld", data[1]);
break; break;
default: default:
WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet)); WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet));
...@@ -751,7 +751,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M ...@@ -751,7 +751,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet, LPWINE_M
case MCI_RECT: case MCI_RECT:
if (dwRet & 0xFFFF0000ul) if (dwRet & 0xFFFF0000ul)
WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet)); WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet));
wsnprintfA(lpstrRet, uRetLen, "%d %d %d %d", wsnprintfA(lpstrRet, uRetLen, "%ld %ld %ld %ld",
data[1], data[2], data[3], data[4]); data[1], data[2], data[3], data[4]);
break; break;
default: ERR("oops\n"); default: ERR("oops\n");
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "winuser.h" #include "winuser.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "mmddk.h"
#include "debugtools.h" #include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(mcianim) DEFAULT_DEBUG_CHANNEL(mcianim)
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include <string.h> #include <string.h>
#include "winuser.h" #include "winuser.h"
#include "multimedia.h" #include "mmddk.h"
#include "user.h" #include "user.h"
#include "driver.h" #include "driver.h"
#include "digitalv.h" #include "digitalv.h"
......
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
#include <fcntl.h> #include <fcntl.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "winuser.h" #include "winuser.h"
#include "multimedia.h" #include "mmddk.h"
#include "oss.h"
#include "driver.h" #include "driver.h"
#include "debugtools.h" #include "debugtools.h"
#include "heap.h" #include "heap.h"
...@@ -27,6 +28,8 @@ DEFAULT_DEBUG_CHANNEL(midi) ...@@ -27,6 +28,8 @@ DEFAULT_DEBUG_CHANNEL(midi)
#ifdef HAVE_OSS_MIDI #ifdef HAVE_OSS_MIDI
#define MIDI_SEQ "/dev/sequencer"
typedef struct { typedef struct {
int state; int state;
DWORD bufsize; DWORD bufsize;
...@@ -128,13 +131,13 @@ static int MIDI_UnixToWindowsDeviceType(int type) ...@@ -128,13 +131,13 @@ static int MIDI_UnixToWindowsDeviceType(int type)
#endif #endif
/************************************************************************** /**************************************************************************
* MULTIMEDIA_MidiInit [internal] * OSS_MidiInit [internal]
* *
* Initializes the MIDI devices information variables * Initializes the MIDI devices information variables
* *
*/ */
/* FIXME: this function shall be moved to the OSS drivers DLL entry point */ /* FIXME: this function shall be moved to the OSS drivers DLL entry point */
BOOL MULTIMEDIA_MidiInit(void) BOOL OSS_MidiInit(void)
{ {
#ifdef HAVE_OSS_MIDI #ifdef HAVE_OSS_MIDI
int i, status, numsynthdevs = 255, nummididevs = 255; int i, status, numsynthdevs = 255, nummididevs = 255;
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
#include "windef.h" #include "windef.h"
#include "user.h" #include "user.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "mmddk.h"
#include "oss.h"
#include "debugtools.h" #include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(mmaux) DEFAULT_DEBUG_CHANNEL(mmaux)
......
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "windef.h" #include "windef.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "mmddk.h"
#include "oss.h"
#include "debugtools.h" #include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(mmaux) DEFAULT_DEBUG_CHANNEL(mmaux)
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include "heap.h" #include "heap.h"
#include "user.h" #include "user.h"
#include "driver.h" #include "driver.h"
#include "multimedia.h" #include "winemm.h"
#include "syslevel.h" #include "syslevel.h"
#include "callback.h" #include "callback.h"
#include "selectors.h" #include "selectors.h"
...@@ -70,7 +70,8 @@ BOOL WINAPI WINMM_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) ...@@ -70,7 +70,8 @@ BOOL WINAPI WINMM_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
switch (fdwReason) { switch (fdwReason) {
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
if (!bInitDone) { /* to be done only once */ if (!bInitDone) { /* to be done only once */
if (!MULTIMEDIA_MidiInit() || !MULTIMEDIA_MciInit()) { /* FIXME: OSS_MidiInit() shall be moved to OSS low level driver */
if (!OSS_MidiInit() || !MULTIMEDIA_MciInit()) {
return FALSE; return FALSE;
} }
bInitDone = TRUE; bInitDone = TRUE;
...@@ -1733,7 +1734,7 @@ UINT16 WINAPI mciDriverYield16(UINT16 uDeviceID) ...@@ -1733,7 +1734,7 @@ UINT16 WINAPI mciDriverYield16(UINT16 uDeviceID)
/* TRACE("(%04x)\n", uDeviceID); */ /* TRACE("(%04x)\n", uDeviceID); */
if (!(wmd = MCI_GetDriver(uDeviceID)) || wmd->lpfnYieldProc || wmd->bIs32) { if (!(wmd = MCI_GetDriver(uDeviceID)) || !wmd->lpfnYieldProc || wmd->bIs32) {
UserYield16(); UserYield16();
} else { } else {
ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData); ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData);
...@@ -1752,7 +1753,7 @@ UINT WINAPI mciDriverYield(UINT uDeviceID) ...@@ -1752,7 +1753,7 @@ UINT WINAPI mciDriverYield(UINT uDeviceID)
TRACE("(%04x)\n", uDeviceID); TRACE("(%04x)\n", uDeviceID);
if (!(wmd = MCI_GetDriver(uDeviceID)) || wmd->lpfnYieldProc || wmd->bIs32) { if (!(wmd = MCI_GetDriver(uDeviceID)) || !wmd->lpfnYieldProc || !wmd->bIs32) {
UserYield16(); UserYield16();
} else { } else {
ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData); ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData);
...@@ -3990,7 +3991,6 @@ DWORD WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage, ...@@ -3990,7 +3991,6 @@ DWORD WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage,
case WODM_PAUSE: case WODM_PAUSE:
case WODM_PREPARE: case WODM_PREPARE:
case WODM_UNPREPARE: case WODM_UNPREPARE:
case WODM_STOP:
case WODM_CLOSE: case WODM_CLOSE:
/* no argument conversion needed */ /* no argument conversion needed */
break; break;
...@@ -4027,7 +4027,6 @@ DWORD WINAPI waveOutMessage16(HWAVEOUT16 hWaveOut, UINT16 uMessage, ...@@ -4027,7 +4027,6 @@ DWORD WINAPI waveOutMessage16(HWAVEOUT16 hWaveOut, UINT16 uMessage,
case WODM_SETPLAYBACKRATE: case WODM_SETPLAYBACKRATE:
case WODM_RESET: case WODM_RESET:
case WODM_PAUSE: case WODM_PAUSE:
case WODM_STOP:
case WODM_CLOSE: case WODM_CLOSE:
/* no argument conversion needed */ /* no argument conversion needed */
break; break;
...@@ -4153,7 +4152,7 @@ UINT16 WINAPI waveInGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize) ...@@ -4153,7 +4152,7 @@ UINT16 WINAPI waveInGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize)
* waveInOpen [WINMM.154] * waveInOpen [WINMM.154]
*/ */
UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID, UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
const LPWAVEFORMAT lpFormat, DWORD dwCallback, const LPWAVEFORMATEX lpFormat, DWORD dwCallback,
DWORD dwInstance, DWORD dwFlags) DWORD dwInstance, DWORD dwFlags)
{ {
HWAVEIN16 hwin16; HWAVEIN16 hwin16;
...@@ -4167,7 +4166,7 @@ UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID, ...@@ -4167,7 +4166,7 @@ UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
* waveInOpen [MMSYSTEM.504] * waveInOpen [MMSYSTEM.504]
*/ */
UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID, UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID,
const LPWAVEFORMAT lpFormat, DWORD dwCallback, const LPWAVEFORMATEX lpFormat, DWORD dwCallback,
DWORD dwInstance, DWORD dwFlags) DWORD dwInstance, DWORD dwFlags)
{ {
HWAVEIN16 hWaveIn; HWAVEIN16 hWaveIn;
...@@ -4190,7 +4189,7 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID, ...@@ -4190,7 +4189,7 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID,
lpDesc = (LPWAVEOPENDESC) USER_HEAP_LIN_ADDR(hWaveIn); lpDesc = (LPWAVEOPENDESC) USER_HEAP_LIN_ADDR(hWaveIn);
if (lpDesc == NULL) return MMSYSERR_NOMEM; if (lpDesc == NULL) return MMSYSERR_NOMEM;
lpDesc->hWave = hWaveIn; lpDesc->hWave = hWaveIn;
lpDesc->lpFormat = lpFormat; lpDesc->lpFormat = (LPWAVEFORMAT)lpFormat;
lpDesc->dwCallBack = dwCallback; lpDesc->dwCallBack = dwCallback;
lpDesc->dwInstance = dwInstance; lpDesc->dwInstance = dwInstance;
while (uDeviceID < MAXWAVEDRIVERS) { while (uDeviceID < MAXWAVEDRIVERS) {
...@@ -4514,7 +4513,6 @@ DWORD WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage, ...@@ -4514,7 +4513,6 @@ DWORD WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage,
case WIDM_PREPARE: case WIDM_PREPARE:
case WIDM_UNPREPARE: case WIDM_UNPREPARE:
case WIDM_ADDBUFFER: case WIDM_ADDBUFFER:
case WIDM_PAUSE:
/* no argument conversion needed */ /* no argument conversion needed */
break; break;
case WIDM_GETDEVCAPS: case WIDM_GETDEVCAPS:
...@@ -4549,7 +4547,6 @@ DWORD WINAPI waveInMessage16(HWAVEIN16 hWaveIn, UINT16 uMessage, ...@@ -4549,7 +4547,6 @@ DWORD WINAPI waveInMessage16(HWAVEIN16 hWaveIn, UINT16 uMessage,
case WIDM_STOP: case WIDM_STOP:
case WIDM_RESET: case WIDM_RESET:
case WIDM_START: case WIDM_START:
case WIDM_PAUSE:
/* no argument conversion needed */ /* no argument conversion needed */
break; break;
case WIDM_GETDEVCAPS: case WIDM_GETDEVCAPS:
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include <sys/time.h> #include <sys/time.h>
#include "winbase.h" #include "winbase.h"
#include "callback.h" #include "callback.h"
#include "multimedia.h" #include "winemm.h"
#include "services.h" #include "services.h"
#include "syslevel.h" #include "syslevel.h"
#include "debugtools.h" #include "debugtools.h"
...@@ -28,9 +28,8 @@ DEFAULT_DEBUG_CHANNEL(mmtime) ...@@ -28,9 +28,8 @@ DEFAULT_DEBUG_CHANNEL(mmtime)
static void TIME_TriggerCallBack(LPWINE_TIMERENTRY lpTimer, DWORD dwCurrent) static void TIME_TriggerCallBack(LPWINE_TIMERENTRY lpTimer, DWORD dwCurrent)
{ {
TRACE("before CallBack (%lu)!\n", dwCurrent); TRACE("before CallBack (%lu) => lpFunc=%p wTimerID=%04X dwUser=%08lX !\n",
TRACE("lpFunc=%p wTimerID=%04X dwUser=%08lX !\n", dwCurrent, lpTimer->lpFunc, lpTimer->wTimerID, lpTimer->dwUser);
lpTimer->lpFunc, lpTimer->wTimerID, lpTimer->dwUser);
/* - TimeProc callback that is called here is something strange, under Windows 3.1x it is called /* - TimeProc callback that is called here is something strange, under Windows 3.1x it is called
* during interrupt time, is allowed to execute very limited number of API calls (like * during interrupt time, is allowed to execute very limited number of API calls (like
...@@ -89,11 +88,11 @@ static void CALLBACK TIME_MMSysTimeCallback(ULONG_PTR ptr_) ...@@ -89,11 +88,11 @@ static void CALLBACK TIME_MMSysTimeCallback(ULONG_PTR ptr_)
EnterCriticalSection(&iData->cs); EnterCriticalSection(&iData->cs);
for (lpTimer = iData->lpTimerList; lpTimer != NULL; ) { for (lpTimer = iData->lpTimerList; lpTimer != NULL; ) {
lpNextTimer = lpTimer->lpNext; lpNextTimer = lpTimer->lpNext;
if (lpTimer->wCurTime < MMSYSTIME_MININTERVAL) { if (lpTimer->uCurTime < MMSYSTIME_MININTERVAL) {
/* since lpTimer->wDelay is >= MININTERVAL, wCurTime value /* since lpTimer->wDelay is >= MININTERVAL, wCurTime value
* shall be correct (>= 0) * shall be correct (>= 0)
*/ */
lpTimer->wCurTime += lpTimer->wDelay - MMSYSTIME_MININTERVAL; lpTimer->uCurTime += lpTimer->wDelay - MMSYSTIME_MININTERVAL;
if (lpTimer->lpFunc) { if (lpTimer->lpFunc) {
if (idx == iData->nSizeLpTimers) { if (idx == iData->nSizeLpTimers) {
iData->lpTimers = (LPWINE_TIMERENTRY) iData->lpTimers = (LPWINE_TIMERENTRY)
...@@ -103,17 +102,18 @@ static void CALLBACK TIME_MMSysTimeCallback(ULONG_PTR ptr_) ...@@ -103,17 +102,18 @@ static void CALLBACK TIME_MMSysTimeCallback(ULONG_PTR ptr_)
} }
iData->lpTimers[idx++] = *lpTimer; iData->lpTimers[idx++] = *lpTimer;
} }
if (lpTimer->wFlags & TIME_ONESHOT) /* TIME_ONESHOT is defined as 0 */
if (!(lpTimer->wFlags & TIME_PERIODIC))
timeKillEvent(lpTimer->wTimerID); timeKillEvent(lpTimer->wTimerID);
} else { } else {
lpTimer->wCurTime -= MMSYSTIME_MININTERVAL; lpTimer->uCurTime -= MMSYSTIME_MININTERVAL;
} }
lpTimer = lpNextTimer; lpTimer = lpNextTimer;
} }
LeaveCriticalSection(&iData->cs); LeaveCriticalSection(&iData->cs);
while (idx > 0) { while (idx > 0) {
TIME_TriggerCallBack(iData->lpTimers + --idx, iData->mmSysTimeMS); TIME_TriggerCallBack(&iData->lpTimers[--idx], iData->mmSysTimeMS);
} }
} }
...@@ -213,15 +213,13 @@ static WORD timeSetEventInternal(UINT wDelay, UINT wResol, ...@@ -213,15 +213,13 @@ static WORD timeSetEventInternal(UINT wDelay, UINT wResol,
if (!iData) if (!iData)
return 0; return 0;
lpNewTimer->wCurTime = wDelay; lpNewTimer->uCurTime = wDelay;
lpNewTimer->wDelay = wDelay; lpNewTimer->wDelay = wDelay;
lpNewTimer->wResol = wResol; lpNewTimer->wResol = wResol;
lpNewTimer->lpFunc = lpFunc; lpNewTimer->lpFunc = lpFunc;
lpNewTimer->dwUser = dwUser; lpNewTimer->dwUser = dwUser;
lpNewTimer->wFlags = wFlags; lpNewTimer->wFlags = wFlags;
TRACE("lpFunc=0x%08lx !\n", (DWORD)lpFunc);
EnterCriticalSection(&iData->cs); EnterCriticalSection(&iData->cs);
for (lpTimer = iData->lpTimerList; lpTimer != NULL; lpTimer = lpTimer->lpNext) { for (lpTimer = iData->lpTimerList; lpTimer != NULL; lpTimer = lpTimer->lpNext) {
...@@ -234,6 +232,8 @@ static WORD timeSetEventInternal(UINT wDelay, UINT wResol, ...@@ -234,6 +232,8 @@ static WORD timeSetEventInternal(UINT wDelay, UINT wResol,
LeaveCriticalSection(&iData->cs); LeaveCriticalSection(&iData->cs);
TRACE("=> %u\n", wNewID + 1);
return wNewID + 1; return wNewID + 1;
} }
...@@ -272,19 +272,25 @@ MMRESULT WINAPI timeKillEvent(UINT wID) ...@@ -272,19 +272,25 @@ MMRESULT WINAPI timeKillEvent(UINT wID)
LPWINE_MM_IDATA iData = MULTIMEDIA_GetIData(); LPWINE_MM_IDATA iData = MULTIMEDIA_GetIData();
MMRESULT ret = MMSYSERR_INVALPARAM; MMRESULT ret = MMSYSERR_INVALPARAM;
TRACE("(%u)\n", wID);
EnterCriticalSection(&iData->cs); EnterCriticalSection(&iData->cs);
/* remove WINE_TIMERENTRY from list */ /* remove WINE_TIMERENTRY from list */
for (lpTimer = &iData->lpTimerList; *lpTimer; lpTimer = &((*lpTimer)->lpNext)) { for (lpTimer = &iData->lpTimerList; *lpTimer; lpTimer = &(*lpTimer)->lpNext) {
if (wID == (*lpTimer)->wTimerID) { if (wID == (*lpTimer)->wTimerID) {
*lpTimer = (*lpTimer)->lpNext;
break; break;
} }
} }
LeaveCriticalSection(&iData->cs); LeaveCriticalSection(&iData->cs);
if (*lpTimer) { if (*lpTimer) {
HeapFree(GetProcessHeap(), 0, *lpTimer); LPWINE_TIMERENTRY lpTemp = *lpTimer;
/* unlink timer of id 'wID' */
*lpTimer = (*lpTimer)->lpNext;
HeapFree(GetProcessHeap(), 0, lpTemp);
ret = TIMERR_NOERROR; ret = TIMERR_NOERROR;
} else {
WARN("wID=%u is not a valid timer ID\n", wID);
} }
return ret; return ret;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* MMSYSTEM...) * MMSYSTEM...)
*/ */
#include "mmsystem.h" #include "mmddk.h"
#include "winnls.h" #include "winnls.h"
/* Add your language specific defines here */ /* Add your language specific defines here */
......
...@@ -14,8 +14,9 @@ ...@@ -14,8 +14,9 @@
#include "driver.h" #include "driver.h"
#include "ldt.h" #include "ldt.h"
#include "module.h" #include "module.h"
#include "debugtools.h"
#include "mmsystem.h" #include "mmsystem.h"
#include "mmddk.h"
#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(driver) DEFAULT_DEBUG_CHANNEL(driver)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment