Sync to Wine-20050628:
Alexandre Julliard <julliard@winehq.org>
- Get rid of the WaveMapper and MidiMapper options, the defaults should
  be good enough in all cases.
- Moved the audio driver configuration to HKCU\Software\Wine\Drivers and
  changed it a bit to follow the model of the graphics driver.
- Added magic comments to all Wine-specific registry accesses to make
  them easier to grep.
Mike McCormack <mike@codeweavers.com>
- Make a function static.
Francois Gouget <fgouget@free.fr>
- Fix winapi_check documentation warnings.
Rein Klazes <wijn@wanadoo.nl>
- In MCI_(Un)MapMsg16To32W with wMsg == MCI_OPEN(_DRIVER) only do
  strdupAtoW on those parameters that are flagged to be a string.
Modified: trunk/reactos/lib/winmm/lolvldrv.c
Modified: trunk/reactos/lib/winmm/mci.c
Modified: trunk/reactos/lib/winmm/message16.c
Modified: trunk/reactos/lib/winmm/mmsystem.c
Modified: trunk/reactos/lib/winmm/mmsystem.spec
Modified: trunk/reactos/lib/winmm/sound.spec
Modified: trunk/reactos/lib/winmm/winemm.h
Modified: trunk/reactos/lib/winmm/winmm.spec
Modified: trunk/reactos/lib/winmm/winmm_Cs.rc
Modified: trunk/reactos/lib/winmm/winmm_De.rc
Modified: trunk/reactos/lib/winmm/winmm_En.rc
Modified: trunk/reactos/lib/winmm/winmm_Es.rc
Modified: trunk/reactos/lib/winmm/winmm_Fr.rc
Modified: trunk/reactos/lib/winmm/winmm_It.rc
Modified: trunk/reactos/lib/winmm/winmm_Ja.rc
Modified: trunk/reactos/lib/winmm/winmm_Nl.rc
Modified: trunk/reactos/lib/winmm/winmm_Pt.rc
Modified: trunk/reactos/lib/winmm/winmm_Ru.rc
Modified: trunk/reactos/lib/winmm/winmm_Si.rc
Modified: trunk/reactos/lib/winmm/winmm_Sk.rc
Modified: trunk/reactos/lib/winmm/winmm_res.rc

Modified: trunk/reactos/lib/winmm/lolvldrv.c
--- trunk/reactos/lib/winmm/lolvldrv.c	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/lolvldrv.c	2005-08-05 20:25:46 UTC (rev 17076)
@@ -414,7 +414,7 @@
 /**************************************************************************
  * 				MMDRV_GetByID			[internal]
  */
-LPWINE_MLD	MMDRV_GetByID(UINT uDevID, UINT type)
+static LPWINE_MLD MMDRV_GetByID(UINT uDevID, UINT type)
 {
     TRACE("(%04x, %04x)\n", uDevID, type);
     if (uDevID < llTypes[type].wMaxId)
@@ -731,43 +731,19 @@
     strcpy(mapper_buffer, WINE_DEFAULT_WINMM_MAPPER);
     strcpy(midi_buffer, WINE_DEFAULT_WINMM_MIDI);
 
-    if (! RegCreateKeyA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\WinMM", &hKey)) {
+    /* @@ Wine registry key: HKCU\Software\Wine\Drivers */
+    if (!RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Drivers", &hKey))
+    {
         size = sizeof(driver_buffer);
-        if (RegQueryValueExA(hKey, "Drivers", 0, &type, (LPVOID)driver_buffer, &size)) 
+        if (RegQueryValueExA(hKey, "Audio", 0, &type, (LPVOID)driver_buffer, &size))
             strcpy(driver_buffer, WINE_DEFAULT_WINMM_DRIVER);
-
-        /* finish with mappers */
-        size = sizeof(mapper_buffer);
-        if (RegQueryValueExA(hKey, "WaveMapper", 0, &type, (LPVOID)mapper_buffer, &size))
-            strcpy(mapper_buffer, WINE_DEFAULT_WINMM_MAPPER);
-
-        size = sizeof(midi_buffer);
-        if (RegQueryValueExA(hKey, "MidiMapper", 0, &type, (LPVOID)midi_buffer, &size))
-            strcpy(midi_buffer, WINE_DEFAULT_WINMM_MIDI);
-
-        RegCloseKey(hKey);
     }
 
-#ifndef __REACTOS__
-    char*	p1;
-    char*	p2;
-
-    p1 = driver_buffer;
-    while (p1) {
-        p2 = strchr(p1, ';');
-        if (p2) *p2++ = '\0';
-        ret |= MMDRV_Install(p1, p1, FALSE);
-        p1 = p2;
-    }
-#endif
-
-#ifdef __REACTOS__
     // AG: TESTING:
     ret |= MMDRV_Install("mmdrv.dll", "mmdrv.dll", FALSE);
-#endif
 
-    ret |= MMDRV_Install("wavemapper", mapper_buffer, TRUE);
-    ret |= MMDRV_Install("midimapper", midi_buffer, TRUE);
+    ret |= MMDRV_Install("wavemapper", WINE_DEFAULT_WINMM_MAPPER, TRUE);
+    ret |= MMDRV_Install("midimapper", WINE_DEFAULT_WINMM_MIDI, TRUE);
     return ret;
 
 }

Modified: trunk/reactos/lib/winmm/mci.c
--- trunk/reactos/lib/winmm/mci.c	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/mci.c	2005-08-05 20:25:46 UTC (rev 17076)
@@ -68,8 +68,8 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(mci);
 
-WINMM_MapType  (*pFnMciMapMsg16To32W)  (WORD,WORD,DWORD*) /* = NULL */;
-WINMM_MapType  (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD) /* = NULL */;
+WINMM_MapType  (*pFnMciMapMsg16To32W)  (WORD,WORD,DWORD,DWORD*) /* = NULL */;
+WINMM_MapType  (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD,DWORD) /* = NULL */;
 WINMM_MapType  (*pFnMciMapMsg32WTo16)  (WORD,WORD,DWORD,DWORD*) /* = NULL */;
 WINMM_MapType  (*pFnMciUnMapMsg32WTo16)(WORD,WORD,DWORD,DWORD) /* = NULL */;
 
@@ -1595,7 +1595,7 @@
 	if (wmd->bIs32 && pFnMciMapMsg16To32W) {
 	    WINMM_MapType		res;
 
-	    switch (res = pFnMciMapMsg16To32W(wmd->wType, wMsg, &dwParam2)) {
+	    switch (res = pFnMciMapMsg16To32W(wmd->wType, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_MSGERROR:
 		TRACE("Not handled yet (%s)\n", MCI_MessageToString(wMsg));
 		dwRet = MCIERR_DRIVER_INTERNAL;
@@ -1608,7 +1608,7 @@
 	    case WINMM_MAP_OKMEM:
 		dwRet = SendDriverMessage(wmd->hDriver, wMsg, dwParam1, dwParam2);
 		if (res == WINMM_MAP_OKMEM)
-		    pFnMciUnMapMsg16To32W(wmd->wType, wMsg, dwParam2);
+		    pFnMciUnMapMsg16To32W(wmd->wType, wMsg, dwParam1, dwParam2);
 		break;
 	    }
 	} else {
@@ -1966,11 +1966,11 @@
 	if (bFrom32) {
 	    dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSW)dwParam2);
 	} else if (pFnMciMapMsg16To32W) {
-	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
+	    switch (pFnMciMapMsg16To32W(0, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_OK:
 	    case WINMM_MAP_OKMEM:
 		dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSW)dwParam2);
-		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
+		pFnMciUnMapMsg16To32W(0, wMsg, dwParam1, dwParam2);
 		break;
 	    default: break; /* so that gcc does not bark */
 	    }
@@ -1980,11 +1980,11 @@
 	if (bFrom32) {
 	    dwRet = MCI_Close(wDevID, dwParam1, (LPMCI_GENERIC_PARMS)dwParam2);
 	} else if (pFnMciMapMsg16To32W) {
-	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
+	    switch (pFnMciMapMsg16To32W(0, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_OK:
 	    case WINMM_MAP_OKMEM:
 		dwRet = MCI_Close(wDevID, dwParam1, (LPMCI_GENERIC_PARMS)dwParam2);
-		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
+		pFnMciUnMapMsg16To32W(0, wMsg, dwParam1, dwParam2);
 		break;
 	    default: break; /* so that gcc does not bark */
 	    }
@@ -1994,11 +1994,11 @@
 	if (bFrom32) {
 	    dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSW)dwParam2);
 	} else if (pFnMciMapMsg16To32W) {
-	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
+	    switch (pFnMciMapMsg16To32W(0, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_OK:
 	    case WINMM_MAP_OKMEM:
 		dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSW)dwParam2);
-		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
+		pFnMciUnMapMsg16To32W(0, wMsg, dwParam1, dwParam2);
 		break;
 	    default: break; /* so that gcc does not bark */
 	    }
@@ -2008,11 +2008,11 @@
 	if (bFrom32) {
 	    dwRet = MCI_Break(wDevID, dwParam1, (LPMCI_BREAK_PARMS)dwParam2);
 	} else if (pFnMciMapMsg16To32W) {
-	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
+	    switch (pFnMciMapMsg16To32W(0, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_OK:
 	    case WINMM_MAP_OKMEM:
 		dwRet = MCI_Break(wDevID, dwParam1, (LPMCI_BREAK_PARMS)dwParam2);
-		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
+		pFnMciUnMapMsg16To32W(0, wMsg, dwParam1, dwParam2);
 		break;
 	    default: break; /* so that gcc does not bark */
 	    }
@@ -2022,11 +2022,11 @@
 	if (bFrom32) {
 	    dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMSW)dwParam2);
 	} else if (pFnMciMapMsg16To32W) {
-	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
+	    switch (pFnMciMapMsg16To32W(0, wMsg, dwParam1, &dwParam2)) {
 	    case WINMM_MAP_OK:
 	    case WINMM_MAP_OKMEM:
 		dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMSW)dwParam2);
-		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
+		pFnMciUnMapMsg16To32W(0, wMsg, dwParam1, dwParam2);
 		break;
 	    default: break; /* so that gcc does not bark */
 	    }

Modified: trunk/reactos/lib/winmm/message16.c
--- trunk/reactos/lib/winmm/message16.c	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/message16.c	2005-08-05 20:25:46 UTC (rev 17076)
@@ -2522,7 +2522,7 @@
 /**************************************************************************
  * 			MCI_MapMsg16To32W			[internal]
  */
-static WINMM_MapType	MCI_MapMsg16To32W(WORD uDevType, WORD wMsg, DWORD* lParam)
+static WINMM_MapType	MCI_MapMsg16To32W(WORD uDevType, WORD wMsg, DWORD dwFlags, DWORD* lParam)
 {
     if (*lParam == 0)
 	return WINMM_MAP_OK;
@@ -2632,9 +2632,18 @@
 		mop32w = (LPMCI_OPEN_PARMSW)((char*)mop32w + sizeof(LPMCI_OPEN_PARMS16));
 		mop32w->dwCallback       = mop16->dwCallback;
 		mop32w->wDeviceID        = mop16->wDeviceID;
-		mop32w->lpstrDeviceType  = MCI_strdupAtoW(MapSL(mop16->lpstrDeviceType));
-                mop32w->lpstrElementName = MCI_strdupAtoW(MapSL(mop16->lpstrElementName));
-                mop32w->lpstrAlias       = MCI_strdupAtoW(MapSL(mop16->lpstrAlias));
+                if( ( dwFlags & ( MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID)) == MCI_OPEN_TYPE)
+                    mop32w->lpstrDeviceType  = MCI_strdupAtoW(MapSL(mop16->lpstrDeviceType));
+                else
+                    mop32w->lpstrDeviceType  = (LPWSTR) mop16->lpstrDeviceType;
+                if( ( dwFlags & ( MCI_OPEN_ELEMENT | MCI_OPEN_ELEMENT_ID)) == MCI_OPEN_ELEMENT)
+                    mop32w->lpstrElementName = MCI_strdupAtoW(MapSL(mop16->lpstrElementName));
+                else
+                    mop32w->lpstrElementName = (LPWSTR) mop16->lpstrElementName;
+                if( ( dwFlags &  MCI_OPEN_ALIAS))
+                    mop32w->lpstrAlias = MCI_strdupAtoW(MapSL(mop16->lpstrAlias));
+                else
+                    mop32w->lpstrAlias = (LPWSTR) mop16->lpstrAlias;
 		/* copy extended information if any...
 		 * FIXME: this may seg fault if initial structure does not contain them and
 		 * the reads after msip16 fail under LDT limits...
@@ -2707,7 +2716,7 @@
 /**************************************************************************
  * 			MCI_UnMapMsg16To32W			[internal]
  */
-static  WINMM_MapType	MCI_UnMapMsg16To32W(WORD uDevType, WORD wMsg, DWORD lParam)
+static  WINMM_MapType	MCI_UnMapMsg16To32W(WORD uDevType, WORD wMsg, DWORD dwFlags, DWORD lParam)
 {
     switch (wMsg) {
 	/* case MCI_CAPTURE */
@@ -2798,9 +2807,12 @@
 	    LPMCI_OPEN_PARMS16	mop16  = *(LPMCI_OPEN_PARMS16*)((char*)mop32w - sizeof(LPMCI_OPEN_PARMS16));
 
 	    mop16->wDeviceID = mop32w->wDeviceID;
-            HeapFree(GetProcessHeap(), 0, mop32w->lpstrDeviceType);
-            HeapFree(GetProcessHeap(), 0, mop32w->lpstrElementName);
-            HeapFree(GetProcessHeap(), 0, mop32w->lpstrAlias);
+            if( ( dwFlags & ( MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID)) == MCI_OPEN_TYPE)
+                HeapFree(GetProcessHeap(), 0, mop32w->lpstrDeviceType);
+            if( ( dwFlags & ( MCI_OPEN_ELEMENT | MCI_OPEN_ELEMENT_ID)) == MCI_OPEN_ELEMENT)
+                HeapFree(GetProcessHeap(), 0, mop32w->lpstrElementName);
+            if( ( dwFlags &  MCI_OPEN_ALIAS))
+                HeapFree(GetProcessHeap(), 0, mop32w->lpstrAlias);
 	    if (!HeapFree(GetProcessHeap(), 0, (LPVOID)(lParam - sizeof(LPMCI_OPEN_PARMS16))))
 		FIXME("bad free line=%d\n", __LINE__);
 	}

Modified: trunk/reactos/lib/winmm/mmsystem.c
--- trunk/reactos/lib/winmm/mmsystem.c	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/mmsystem.c	2005-08-05 20:25:46 UTC (rev 17076)
@@ -109,7 +109,7 @@
 }
 
 /**************************************************************************
- * 				MMSYSTEM_WEP			[MMSYSTEM.1]
+ * 				WEP			[MMSYSTEM.1]
  */
 int WINAPI MMSYSTEM_WEP(HINSTANCE16 hInstance, WORD wDataSeg,
                         WORD cbHeapSize, LPSTR lpCmdLine)

Modified: trunk/reactos/lib/winmm/mmsystem.spec
--- trunk/reactos/lib/winmm/mmsystem.spec	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/mmsystem.spec	2005-08-05 20:25:46 UTC (rev 17076)
@@ -1,176 +1,176 @@
-1      pascal  WEP(word word word ptr) MMSYSTEM_WEP
-2      pascal  sndPlaySound(ptr word) sndPlaySound16
-3      pascal  PlaySound(ptr word long) PlaySound16
-4      pascal  DllEntryPoint(long word word word long word) MMSYSTEM_LibMain
-5      pascal  mmsystemGetVersion() mmsystemGetVersion16
-6      pascal  DriverProc(long word word long long) DriverProc16
-8      pascal  WMMMidiRunOnce() WMMMidiRunOnce16
-30     pascal -ret16 OutputDebugStr(str) OutputDebugStr16
-31     pascal  DriverCallback(long word word word long long long) DriverCallback16
-32     pascal  StackEnter() StackEnter16
-33     pascal  StackLeave() StackLeave16
-34     stub    MMDRVINSTALL
-101    pascal  joyGetNumDevs() joyGetNumDevs16
-102    pascal  joyGetDevCaps(word ptr word) joyGetDevCaps16
-103    pascal  joyGetPos(word ptr) joyGetPos16
-104    pascal  joyGetThreshold(word ptr) joyGetThreshold16
-105    pascal  joyReleaseCapture(word) joyReleaseCapture16
-106    pascal  joySetCapture(word word word word) joySetCapture16
-107    pascal  joySetThreshold(word word) joySetThreshold16
-109    pascal  joySetCalibration(word) joySetCalibration16
-110    pascal  joyGetPosEx(word ptr) joyGetPosEx16
-111    stub    JOYCONFIGCHANGED
-201    pascal  midiOutGetNumDevs() midiOutGetNumDevs16
-202    pascal  midiOutGetDevCaps(word ptr word) midiOutGetDevCaps16
-203    pascal  midiOutGetErrorText(word ptr word) midiOutGetErrorText16
-204    pascal  midiOutOpen(ptr word long long long) midiOutOpen16
-205    pascal  midiOutClose(word) midiOutClose16
-206    pascal  midiOutPrepareHeader(word segptr word) midiOutPrepareHeader16
-207    pascal  midiOutUnprepareHeader(word segptr word) midiOutUnprepareHeader16
-208    pascal  midiOutShortMsg(word long) midiOutShortMsg16
-209    pascal  midiOutLongMsg(word segptr word) midiOutLongMsg16
-210    pascal  midiOutReset(word) midiOutReset16
-211    pascal  midiOutGetVolume(word ptr) midiOutGetVolume16
-212    pascal  midiOutSetVolume(word long) midiOutSetVolume16
-213    pascal  midiOutCachePatches(word word ptr word) midiOutCachePatches16
-214    pascal  midiOutCacheDrumPatches(word word ptr word) midiOutCacheDrumPatches16
-215    pascal  midiOutGetID(word ptr) midiOutGetID16
-216    pascal  midiOutMessage(word word long long) midiOutMessage16
-250    pascal  midiStreamProperty(word ptr long) midiStreamProperty16
-251    pascal  midiStreamOpen(ptr ptr long long long long) midiStreamOpen16
-252    pascal  midiStreamClose(word) midiStreamClose16
-253    pascal  midiStreamPosition(word ptr word) midiStreamPosition16
-254    pascal  midiStreamOut(word ptr word) midiStreamOut16
-255    pascal  midiStreamPause(word) midiStreamPause16
-256    pascal  midiStreamRestart(word) midiStreamRestart16
-257    pascal  midiStreamStop(word) midiStreamStop16
-301    pascal  midiInGetNumDevs() midiInGetNumDevs16
-302    pascal  midiInGetDevCaps(word ptr word) midiInGetDevCaps16
-303    pascal  midiInGetErrorText(word ptr word) midiOutGetErrorText16
-304    pascal  midiInOpen(ptr word long long long) midiInOpen16
-305    pascal  midiInClose(word) midiInClose16
-306    pascal  midiInPrepareHeader(word segptr word) midiInPrepareHeader16
-307    pascal  midiInUnprepareHeader(word segptr word) midiInUnprepareHeader16
-308    pascal  midiInAddBuffer(word segptr word) midiInAddBuffer16
-309    pascal  midiInStart(word) midiInStart16
-310    pascal  midiInStop(word) midiInStop16
-311    pascal  midiInReset(word) midiInReset16
-312    pascal  midiInGetID(word ptr) midiInGetID16
-313    pascal  midiInMessage(word word long long) midiInMessage16
-350    pascal  auxGetNumDevs() auxGetNumDevs16
-351    pascal  auxGetDevCaps(word ptr word) auxGetDevCaps16
-352    pascal  auxGetVolume(word ptr) auxGetVolume16
-353    pascal  auxSetVolume(word long) auxSetVolume16
-354    pascal  auxOutMessage(word word long long) auxOutMessage16
-401    pascal  waveOutGetNumDevs() waveOutGetNumDevs16
-402    pascal  waveOutGetDevCaps(word ptr word) waveOutGetDevCaps16
-403    pascal  waveOutGetErrorText(word ptr word) waveOutGetErrorText16
-404    pascal  waveOutOpen(ptr word ptr long long long) waveOutOpen16
-405    pascal  waveOutClose(word) waveOutClose16
-406    pascal  waveOutPrepareHeader(word segptr word) waveOutPrepareHeader16
-407    pascal  waveOutUnprepareHeader(word segptr word) waveOutUnprepareHeader16
-408    pascal  waveOutWrite(word segptr word) waveOutWrite16
-409    pascal  waveOutPause(word) waveOutPause16
-410    pascal  waveOutRestart(word) waveOutRestart16
-411    pascal  waveOutReset(word) waveOutReset16
-412    pascal  waveOutGetPosition(word ptr word) waveOutGetPosition16
-413    pascal  waveOutGetPitch(word ptr) waveOutGetPitch16
-414    pascal  waveOutSetPitch(word long) waveOutSetPitch16
-415    pascal  waveOutGetVolume(word ptr) waveOutGetVolume16
-416    pascal  waveOutSetVolume(word long) waveOutSetVolume16
-417    pascal  waveOutGetPlaybackRate(word ptr) waveOutGetPlaybackRate16
-418    pascal  waveOutSetPlaybackRate(word long) waveOutSetPlaybackRate16
-419    pascal  waveOutBreakLoop(word) waveOutBreakLoop16
-420    pascal  waveOutGetID(word ptr) waveOutGetID16
-421    pascal  waveOutMessage(word word long long) waveOutMessage16
-501    pascal  waveInGetNumDevs() waveInGetNumDevs16
-502    pascal  waveInGetDevCaps(word ptr word) waveInGetDevCaps16
-503    pascal  waveInGetErrorText(word ptr word) waveOutGetErrorText16
-504    pascal  waveInOpen(ptr word ptr long long long) waveInOpen16
-505    pascal  waveInClose(word) waveInClose16
-506    pascal  waveInPrepareHeader(word segptr word) waveInPrepareHeader16
-507    pascal  waveInUnprepareHeader(word segptr word) waveInUnprepareHeader16
-508    pascal  waveInAddBuffer(word segptr word) waveInAddBuffer16
-509    pascal  waveInStart(word) waveInStart16
-510    pascal  waveInStop(word) waveInStop16
-511    pascal  waveInReset(word) waveInReset16
-512    pascal  waveInGetPosition(word ptr word) waveInGetPosition16
-513    pascal  waveInGetID(word ptr) waveInGetID16
-514    pascal  waveInMessage(word word long long) waveInMessage16
-601    pascal  timeGetSystemTime(ptr word) timeGetSystemTime16
-602    pascal  timeSetEvent(word word segptr long word) timeSetEvent16
-603    pascal  timeKillEvent(word) timeKillEvent16
-604    pascal  timeGetDevCaps(ptr word) timeGetDevCaps16
-605    pascal  timeBeginPeriod(word) timeBeginPeriod16
-606    pascal  timeEndPeriod(word) timeEndPeriod16
-607    pascal  timeGetTime() timeGetTime
-701    pascal  mciSendCommand(word word long long) mciSendCommand16
-702    pascal  mciSendString(str ptr word word) mciSendString16
-703    pascal  mciGetDeviceID(ptr) mciGetDeviceID16
-705    pascal  mciLoadCommandResource(word str word) mciLoadCommandResource16
-706    pascal  mciGetErrorString(long ptr word) mciGetErrorString16
-707    pascal  mciSetDriverData(word long) mciSetDriverData16
-708    pascal  mciGetDriverData(word) mciGetDriverData16
-710    pascal  mciDriverYield(word) mciDriverYield16
-711    pascal  mciDriverNotify(word word word) mciDriverNotify16
-712    pascal  mciExecute(ptr) mciExecute
-713    pascal  mciFreeCommandResource(word) mciFreeCommandResource16
-714    pascal  mciSetYieldProc(word ptr long) mciSetYieldProc16
-715    pascal  mciGetDeviceIDFromElementID(long ptr) mciGetDeviceIDFromElementID16
-716    pascal  mciGetYieldProc(word ptr) mciGetYieldProc16
-717    pascal  mciGetCreatorTask(word) mciGetCreatorTask16
-800    pascal  mixerGetNumDevs() mixerGetNumDevs16
-801    pascal  mixerGetDevCaps(word ptr word) mixerGetDevCaps16
-802    pascal  mixerOpen(ptr word long long long) mixerOpen16
-803    pascal  mixerClose(word) mixerClose16
-804    pascal  mixerMessage(word word long long) mixerMessage16
-805    pascal  mixerGetLineInfo(word ptr long) mixerGetLineInfo16
-806    pascal  mixerGetID(word ptr long) mixerGetID16
-807    pascal  mixerGetLineControls(word ptr long) mixerGetLineControls16
-808    pascal  mixerGetControlDetails(word ptr long) mixerGetControlDetails16
-809    pascal  mixerSetControlDetails(word ptr long) mixerSetControlDetails16
-900    pascal  mmTaskCreate(long ptr long) mmTaskCreate16
-902    pascal  mmTaskBlock(word) mmTaskBlock16
-903    pascal  mmTaskSignal(word) mmTaskSignal16
-904    pascal -ret16 mmGetCurrentTask() mmGetCurrentTask16
-905    pascal  mmTaskYield() mmTaskYield16
-1100   pascal  DrvOpen(str str long) DrvOpen16
-1101   pascal  DrvClose(word long long) DrvClose16
-1102   pascal  DrvSendMessage(word word long long) DrvSendMessage16
-1103   pascal  DrvGetModuleHandle(word) DrvGetModuleHandle16
-1104   pascal  DrvDefDriverProc(long word word long long) DrvDefDriverProc16
-1120   pascal  mmThreadCreate(segptr ptr long long) mmThreadCreate16
-1121   pascal  mmThreadSignal(word) mmThreadSignal16
-1122   pascal  mmThreadBlock(word) mmThreadBlock16
-1123   pascal  mmThreadIsCurrent(word) mmThreadIsCurrent16
-1124   pascal  mmThreadIsValid(word) mmThreadIsValid16
-1125   pascal  mmThreadGetTask(word) mmThreadGetTask16
-1150   pascal  mmShowMMCPLPropertySheet(word str str str) mmShowMMCPLPropertySheet16
-
-1210   pascal  mmioOpen(str ptr long) mmioOpen16
-1211   pascal  mmioClose(word word) mmioClose16
-1212   pascal  mmioRead(word ptr long) mmioRead16
-1213   pascal  mmioWrite(word ptr long) mmioWrite16
-1214   pascal  mmioSeek(word long word) mmioSeek16
-1215   pascal  mmioGetInfo(word ptr word) mmioGetInfo16
-1216   pascal  mmioSetInfo(word ptr word) mmioSetInfo16
-1217   pascal  mmioSetBuffer(word segptr long word) mmioSetBuffer16
-1218   pascal  mmioFlush(word word) mmioFlush16
-1219   pascal  mmioAdvance(word ptr word) mmioAdvance16
-1220   pascal  mmioStringToFOURCC(str word) mmioStringToFOURCC16
-1221   pascal  mmioInstallIOProc(long ptr long) mmioInstallIOProc16
-1222   pascal  mmioSendMessage(word word long long) mmioSendMessage16
-1223   pascal  mmioDescend(word ptr ptr word) mmioDescend16
-1224   pascal  mmioAscend(word ptr word) mmioAscend16
-1225   pascal  mmioCreateChunk(word ptr word) mmioCreateChunk16
-1226   pascal  mmioRename(ptr ptr ptr long) mmioRename16
-
-#2000   stub    WINMMF_THUNKDATA16
-#2001   stub    RING3_DEVLOADER
-#2002   stub    WINMMTILEBUFFER
-#2003   stub    WINMMUNTILEBUFFER
-#2005   stub    MCIGETTHUNKTABLE
-#2006   stub    WINMMSL_THUNKDATA16
-
-# these are Wine only exported functions. Is there another way to do it ?
-2047   pascal  __wine_mmThreadEntryPoint(long) WINE_mmThreadEntryPoint
+1      pascal  WEP(word word word ptr) MMSYSTEM_WEP
+2      pascal  sndPlaySound(ptr word) sndPlaySound16
+3      pascal  PlaySound(ptr word long) PlaySound16
+4      pascal  DllEntryPoint(long word word word long word) MMSYSTEM_LibMain
+5      pascal  mmsystemGetVersion() mmsystemGetVersion16
+6      pascal  DriverProc(long word word long long) DriverProc16
+8      pascal  WMMMidiRunOnce() WMMMidiRunOnce16
+30     pascal -ret16 OutputDebugStr(str) OutputDebugStr16
+31     pascal  DriverCallback(long word word word long long long) DriverCallback16
+32     pascal  StackEnter() StackEnter16
+33     pascal  StackLeave() StackLeave16
+34     stub    MMDRVINSTALL
+101    pascal  joyGetNumDevs() joyGetNumDevs16
+102    pascal  joyGetDevCaps(word ptr word) joyGetDevCaps16
+103    pascal  joyGetPos(word ptr) joyGetPos16
+104    pascal  joyGetThreshold(word ptr) joyGetThreshold16
+105    pascal  joyReleaseCapture(word) joyReleaseCapture16
+106    pascal  joySetCapture(word word word word) joySetCapture16
+107    pascal  joySetThreshold(word word) joySetThreshold16
+109    pascal  joySetCalibration(word) joySetCalibration16
+110    pascal  joyGetPosEx(word ptr) joyGetPosEx16
+111    stub    JOYCONFIGCHANGED
+201    pascal  midiOutGetNumDevs() midiOutGetNumDevs16
+202    pascal  midiOutGetDevCaps(word ptr word) midiOutGetDevCaps16
+203    pascal  midiOutGetErrorText(word ptr word) midiOutGetErrorText16
+204    pascal  midiOutOpen(ptr word long long long) midiOutOpen16
+205    pascal  midiOutClose(word) midiOutClose16
+206    pascal  midiOutPrepareHeader(word segptr word) midiOutPrepareHeader16
+207    pascal  midiOutUnprepareHeader(word segptr word) midiOutUnprepareHeader16
+208    pascal  midiOutShortMsg(word long) midiOutShortMsg16
+209    pascal  midiOutLongMsg(word segptr word) midiOutLongMsg16
+210    pascal  midiOutReset(word) midiOutReset16
+211    pascal  midiOutGetVolume(word ptr) midiOutGetVolume16
+212    pascal  midiOutSetVolume(word long) midiOutSetVolume16
+213    pascal  midiOutCachePatches(word word ptr word) midiOutCachePatches16
+214    pascal  midiOutCacheDrumPatches(word word ptr word) midiOutCacheDrumPatches16
+215    pascal  midiOutGetID(word ptr) midiOutGetID16
+216    pascal  midiOutMessage(word word long long) midiOutMessage16
+250    pascal  midiStreamProperty(word ptr long) midiStreamProperty16
+251    pascal  midiStreamOpen(ptr ptr long long long long) midiStreamOpen16
+252    pascal  midiStreamClose(word) midiStreamClose16
+253    pascal  midiStreamPosition(word ptr word) midiStreamPosition16
+254    pascal  midiStreamOut(word ptr word) midiStreamOut16
+255    pascal  midiStreamPause(word) midiStreamPause16
+256    pascal  midiStreamRestart(word) midiStreamRestart16
+257    pascal  midiStreamStop(word) midiStreamStop16
+301    pascal  midiInGetNumDevs() midiInGetNumDevs16
+302    pascal  midiInGetDevCaps(word ptr word) midiInGetDevCaps16
+303    pascal  midiInGetErrorText(word ptr word) midiOutGetErrorText16
+304    pascal  midiInOpen(ptr word long long long) midiInOpen16
+305    pascal  midiInClose(word) midiInClose16
+306    pascal  midiInPrepareHeader(word segptr word) midiInPrepareHeader16
+307    pascal  midiInUnprepareHeader(word segptr word) midiInUnprepareHeader16
+308    pascal  midiInAddBuffer(word segptr word) midiInAddBuffer16
+309    pascal  midiInStart(word) midiInStart16
+310    pascal  midiInStop(word) midiInStop16
+311    pascal  midiInReset(word) midiInReset16
+312    pascal  midiInGetID(word ptr) midiInGetID16
+313    pascal  midiInMessage(word word long long) midiInMessage16
+350    pascal  auxGetNumDevs() auxGetNumDevs16
+351    pascal  auxGetDevCaps(word ptr word) auxGetDevCaps16
+352    pascal  auxGetVolume(word ptr) auxGetVolume16
+353    pascal  auxSetVolume(word long) auxSetVolume16
+354    pascal  auxOutMessage(word word long long) auxOutMessage16
+401    pascal  waveOutGetNumDevs() waveOutGetNumDevs16
+402    pascal  waveOutGetDevCaps(word ptr word) waveOutGetDevCaps16
+403    pascal  waveOutGetErrorText(word ptr word) waveOutGetErrorText16
+404    pascal  waveOutOpen(ptr word ptr long long long) waveOutOpen16
+405    pascal  waveOutClose(word) waveOutClose16
+406    pascal  waveOutPrepareHeader(word segptr word) waveOutPrepareHeader16
+407    pascal  waveOutUnprepareHeader(word segptr word) waveOutUnprepareHeader16
+408    pascal  waveOutWrite(word segptr word) waveOutWrite16
+409    pascal  waveOutPause(word) waveOutPause16
+410    pascal  waveOutRestart(word) waveOutRestart16
+411    pascal  waveOutReset(word) waveOutReset16
+412    pascal  waveOutGetPosition(word ptr word) waveOutGetPosition16
+413    pascal  waveOutGetPitch(word ptr) waveOutGetPitch16
+414    pascal  waveOutSetPitch(word long) waveOutSetPitch16
+415    pascal  waveOutGetVolume(word ptr) waveOutGetVolume16
+416    pascal  waveOutSetVolume(word long) waveOutSetVolume16
+417    pascal  waveOutGetPlaybackRate(word ptr) waveOutGetPlaybackRate16
+418    pascal  waveOutSetPlaybackRate(word long) waveOutSetPlaybackRate16
+419    pascal  waveOutBreakLoop(word) waveOutBreakLoop16
+420    pascal  waveOutGetID(word ptr) waveOutGetID16
+421    pascal  waveOutMessage(word word long long) waveOutMessage16
+501    pascal  waveInGetNumDevs() waveInGetNumDevs16
+502    pascal  waveInGetDevCaps(word ptr word) waveInGetDevCaps16
+503    pascal  waveInGetErrorText(word ptr word) waveOutGetErrorText16
+504    pascal  waveInOpen(ptr word ptr long long long) waveInOpen16
+505    pascal  waveInClose(word) waveInClose16
+506    pascal  waveInPrepareHeader(word segptr word) waveInPrepareHeader16
+507    pascal  waveInUnprepareHeader(word segptr word) waveInUnprepareHeader16
+508    pascal  waveInAddBuffer(word segptr word) waveInAddBuffer16
+509    pascal  waveInStart(word) waveInStart16
+510    pascal  waveInStop(word) waveInStop16
+511    pascal  waveInReset(word) waveInReset16
+512    pascal  waveInGetPosition(word ptr word) waveInGetPosition16
+513    pascal  waveInGetID(word ptr) waveInGetID16
+514    pascal  waveInMessage(word word long long) waveInMessage16
+601    pascal  timeGetSystemTime(ptr word) timeGetSystemTime16
+602    pascal  timeSetEvent(word word segptr long word) timeSetEvent16
+603    pascal  timeKillEvent(word) timeKillEvent16
+604    pascal  timeGetDevCaps(ptr word) timeGetDevCaps16
+605    pascal  timeBeginPeriod(word) timeBeginPeriod16
+606    pascal  timeEndPeriod(word) timeEndPeriod16
+607    pascal  timeGetTime() timeGetTime
+701    pascal  mciSendCommand(word word long long) mciSendCommand16
+702    pascal  mciSendString(str ptr word word) mciSendString16
+703    pascal  mciGetDeviceID(ptr) mciGetDeviceID16
+705    pascal  mciLoadCommandResource(word str word) mciLoadCommandResource16
+706    pascal  mciGetErrorString(long ptr word) mciGetErrorString16
+707    pascal  mciSetDriverData(word long) mciSetDriverData16
+708    pascal  mciGetDriverData(word) mciGetDriverData16
+710    pascal  mciDriverYield(word) mciDriverYield16
+711    pascal  mciDriverNotify(word word word) mciDriverNotify16
+712    pascal  mciExecute(ptr) mciExecute
+713    pascal  mciFreeCommandResource(word) mciFreeCommandResource16
+714    pascal  mciSetYieldProc(word ptr long) mciSetYieldProc16
+715    pascal  mciGetDeviceIDFromElementID(long ptr) mciGetDeviceIDFromElementID16
+716    pascal  mciGetYieldProc(word ptr) mciGetYieldProc16
+717    pascal  mciGetCreatorTask(word) mciGetCreatorTask16
+800    pascal  mixerGetNumDevs() mixerGetNumDevs16
+801    pascal  mixerGetDevCaps(word ptr word) mixerGetDevCaps16
+802    pascal  mixerOpen(ptr word long long long) mixerOpen16
+803    pascal  mixerClose(word) mixerClose16
+804    pascal  mixerMessage(word word long long) mixerMessage16
+805    pascal  mixerGetLineInfo(word ptr long) mixerGetLineInfo16
+806    pascal  mixerGetID(word ptr long) mixerGetID16
+807    pascal  mixerGetLineControls(word ptr long) mixerGetLineControls16
+808    pascal  mixerGetControlDetails(word ptr long) mixerGetControlDetails16
+809    pascal  mixerSetControlDetails(word ptr long) mixerSetControlDetails16
+900    pascal  mmTaskCreate(long ptr long) mmTaskCreate16
+902    pascal  mmTaskBlock(word) mmTaskBlock16
+903    pascal  mmTaskSignal(word) mmTaskSignal16
+904    pascal -ret16 mmGetCurrentTask() mmGetCurrentTask16
+905    pascal  mmTaskYield() mmTaskYield16
+1100   pascal  DrvOpen(str str long) DrvOpen16
+1101   pascal  DrvClose(word long long) DrvClose16
+1102   pascal  DrvSendMessage(word word long long) DrvSendMessage16
+1103   pascal  DrvGetModuleHandle(word) DrvGetModuleHandle16
+1104   pascal  DrvDefDriverProc(long word word long long) DrvDefDriverProc16
+1120   pascal  mmThreadCreate(segptr ptr long long) mmThreadCreate16
+1121   pascal  mmThreadSignal(word) mmThreadSignal16
+1122   pascal  mmThreadBlock(word) mmThreadBlock16
+1123   pascal  mmThreadIsCurrent(word) mmThreadIsCurrent16
+1124   pascal  mmThreadIsValid(word) mmThreadIsValid16
+1125   pascal  mmThreadGetTask(word) mmThreadGetTask16
+1150   pascal  mmShowMMCPLPropertySheet(word str str str) mmShowMMCPLPropertySheet16
+
+1210   pascal  mmioOpen(str ptr long) mmioOpen16
+1211   pascal  mmioClose(word word) mmioClose16
+1212   pascal  mmioRead(word ptr long) mmioRead16
+1213   pascal  mmioWrite(word ptr long) mmioWrite16
+1214   pascal  mmioSeek(word long word) mmioSeek16
+1215   pascal  mmioGetInfo(word ptr word) mmioGetInfo16
+1216   pascal  mmioSetInfo(word ptr word) mmioSetInfo16
+1217   pascal  mmioSetBuffer(word segptr long word) mmioSetBuffer16
+1218   pascal  mmioFlush(word word) mmioFlush16
+1219   pascal  mmioAdvance(word ptr word) mmioAdvance16
+1220   pascal  mmioStringToFOURCC(str word) mmioStringToFOURCC16
+1221   pascal  mmioInstallIOProc(long ptr long) mmioInstallIOProc16
+1222   pascal  mmioSendMessage(word word long long) mmioSendMessage16
+1223   pascal  mmioDescend(word ptr ptr word) mmioDescend16
+1224   pascal  mmioAscend(word ptr word) mmioAscend16
+1225   pascal  mmioCreateChunk(word ptr word) mmioCreateChunk16
+1226   pascal  mmioRename(ptr ptr ptr long) mmioRename16
+
+#2000   stub    WINMMF_THUNKDATA16
+#2001   stub    RING3_DEVLOADER
+#2002   stub    WINMMTILEBUFFER
+#2003   stub    WINMMUNTILEBUFFER
+#2005   stub    MCIGETTHUNKTABLE
+#2006   stub    WINMMSL_THUNKDATA16
+
+# these are Wine only exported functions. Is there another way to do it ?
+2047   pascal  __wine_mmThreadEntryPoint(long) WINE_mmThreadEntryPoint
Property changes on: trunk/reactos/lib/winmm/mmsystem.spec
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/reactos/lib/winmm/sound.spec
--- trunk/reactos/lib/winmm/sound.spec	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/sound.spec	2005-08-05 20:25:46 UTC (rev 17076)
@@ -1,18 +1,18 @@
-1  pascal -ret16 OpenSound() OpenSound16
-2  pascal -ret16 CloseSound() CloseSound16
-3  pascal -ret16 SetVoiceQueueSize(word word) SetVoiceQueueSize16
-4  pascal -ret16 SetVoiceNote(word word word word) SetVoiceNote16
-5  pascal -ret16 SetVoiceAccent(word word word word word) SetVoiceAccent16
-6  pascal -ret16 SetVoiceEnvelope(word word word) SetVoiceEnvelope16
-7  pascal -ret16 SetSoundNoise(word word) SetSoundNoise16
-8  pascal -ret16 SetVoiceSound(word long word) SetVoiceSound16
-9  pascal -ret16 StartSound() StartSound16
-10 pascal -ret16 StopSound() StopSound16
-11 pascal -ret16 WaitSoundState(word) WaitSoundState16
-12 pascal -ret16 SyncAllVoices() SyncAllVoices16
-13 pascal -ret16 CountVoiceNotes(word) CountVoiceNotes16
-14 pascal   GetThresholdEvent() GetThresholdEvent16
-15 pascal -ret16 GetThresholdStatus() GetThresholdStatus16
-16 pascal -ret16 SetVoiceThreshold(word word) SetVoiceThreshold16
-17 pascal -ret16 DoBeep() DoBeep16
-18 stub MYOPENSOUND # W1.1, W2.0
+1  pascal -ret16 OpenSound() OpenSound16
+2  pascal -ret16 CloseSound() CloseSound16
+3  pascal -ret16 SetVoiceQueueSize(word word) SetVoiceQueueSize16
+4  pascal -ret16 SetVoiceNote(word word word word) SetVoiceNote16
+5  pascal -ret16 SetVoiceAccent(word word word word word) SetVoiceAccent16
+6  pascal -ret16 SetVoiceEnvelope(word word word) SetVoiceEnvelope16
+7  pascal -ret16 SetSoundNoise(word word) SetSoundNoise16
+8  pascal -ret16 SetVoiceSound(word long word) SetVoiceSound16
+9  pascal -ret16 StartSound() StartSound16
+10 pascal -ret16 StopSound() StopSound16
+11 pascal -ret16 WaitSoundState(word) WaitSoundState16
+12 pascal -ret16 SyncAllVoices() SyncAllVoices16
+13 pascal -ret16 CountVoiceNotes(word) CountVoiceNotes16
+14 pascal   GetThresholdEvent() GetThresholdEvent16
+15 pascal -ret16 GetThresholdStatus() GetThresholdStatus16
+16 pascal -ret16 SetVoiceThreshold(word word) SetVoiceThreshold16
+17 pascal -ret16 DoBeep() DoBeep16
+18 stub MYOPENSOUND # W1.1, W2.0
Property changes on: trunk/reactos/lib/winmm/sound.spec
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/reactos/lib/winmm/winemm.h
--- trunk/reactos/lib/winmm/winemm.h	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/winemm.h	2005-08-05 20:25:46 UTC (rev 17076)
@@ -28,7 +28,7 @@
 #include "winbase.h"
 #include "mmddk.h"
 
-#define WINE_DEFAULT_WINMM_DRIVER     "wineoss.drv"
+#define WINE_DEFAULT_WINMM_DRIVER     "oss"
 #define WINE_DEFAULT_WINMM_MAPPER     "msacm.drv"
 #define WINE_DEFAULT_WINMM_MIDI       "midimap.drv"
 
@@ -301,8 +301,8 @@
 extern  LPWINE_DRIVER   (*pFnOpenDriver16)(LPCWSTR,LPCWSTR,LPARAM);
 extern  LRESULT         (*pFnCloseDriver16)(UINT16,LPARAM,LPARAM);
 extern  LRESULT         (*pFnSendMessage16)(UINT16,UINT,LPARAM,LPARAM);
-extern  WINMM_MapType   (*pFnMciMapMsg16To32W)(WORD,WORD,DWORD*);
-extern  WINMM_MapType   (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD);
+extern  WINMM_MapType   (*pFnMciMapMsg16To32W)(WORD,WORD,DWORD,DWORD*);
+extern  WINMM_MapType   (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD,DWORD);
 extern  WINMM_MapType   (*pFnMciMapMsg32WTo16)(WORD,WORD,DWORD,DWORD*);
 extern  WINMM_MapType   (*pFnMciUnMapMsg32WTo16)(WORD,WORD,DWORD,DWORD);
 extern  LRESULT         (*pFnCallMMDrvFunc16)(DWORD /* in fact FARPROC16 */,WORD,WORD,LONG,LONG,LONG);

Modified: trunk/reactos/lib/winmm/winmm.spec
--- trunk/reactos/lib/winmm/winmm.spec	2005-08-05 18:27:06 UTC (rev 17075)
+++ trunk/reactos/lib/winmm/winmm.spec	2005-08-05 20:25:46 UTC (rev 17076)
@@ -1,211 +1,211 @@
-# ordinal exports
-1 stdcall @(ptr long long) PlaySoundA
-3 stub @
-4 stub @
-
-@ stdcall PlaySoundA(ptr long long)
-@ stdcall CloseDriver(long long long)
-@ stdcall DefDriverProc(long long long long long)
-@ stdcall DriverCallback(long long long long long long long)
-@ stdcall DrvClose(long long long) CloseDriver
-@ stdcall DrvDefDriverProc(long long long long long) DefDriverProc
-@ stdcall DrvGetModuleHandle(long) GetDriverModuleHandle
-@ stdcall DrvOpen(wstr wstr long) OpenDriver
-@ stdcall DrvOpenA(str str long) OpenDriverA
-@ stdcall DrvSendMessage(long long long long) SendDriverMessage
-@ stdcall GetDriverFlags(long)
-@ stdcall GetDriverModuleHandle(long)
-@ stdcall OpenDriver(wstr wstr long)
-@ stdcall OpenDriverA(str str long)
-@ stdcall PlaySound(ptr long long) PlaySoundA
-@ stdcall PlaySoundW(ptr long long)
-@ stdcall SendDriverMessage(long long long long)
-@ stdcall auxGetDevCapsA(long ptr long)
-@ stdcall auxGetDevCapsW(long ptr long)
-@ stdcall auxGetNumDevs()
-@ stdcall auxGetVolume(long ptr)
-@ stdcall auxOutMessage(long long long long)
-@ stdcall auxSetVolume(long long)
-@ stub joyConfigChanged
-@ stdcall joyGetDevCapsA(long ptr long)
-@ stdcall joyGetDevCapsW(long ptr long)
-@ stdcall joyGetNumDevs()
-@ stdcall joyGetPos(long ptr)
-@ stdcall joyGetPosEx(long ptr)
-@ stdcall joyGetThreshold(long ptr)
-@ stdcall joyReleaseCapture(long)
-@ stdcall joySetCapture(long long long long)
-@ stdcall joySetThreshold(long long)
-@ stdcall mciDriverNotify(long long long)
-@ stdcall mciDriverYield(long)
-@ stdcall mciExecute(str)
-@ stdcall mciFreeCommandResource(long)
-@ stdcall mciGetCreatorTask(long)
-@ stdcall mciGetDeviceIDA(str)
-@ stdcall mciGetDeviceIDW(wstr)
-@ stdcall mciGetDeviceIDFromElementIDA(long str)
-@ stdcall mciGetDeviceIDFromElementIDW(long wstr)
-@ stdcall mciGetDriverData(long)
-@ stdcall mciGetErrorStringA(long ptr long)
-@ stdcall mciGetErrorStringW(long ptr long)
-@ stdcall mciGetYieldProc(long ptr)
-@ stdcall mciLoadCommandResource(long wstr long)
-@ stdcall mciSendCommandA(long long long long)
-@ stdcall mciSendCommandW(long long long long)
-@ stdcall mciSendStringA(str ptr long long)
-@ stdcall mciSendStringW(wstr ptr long long)
-@ stdcall mciSetDriverData(long long)
-@ stdcall mciSetYieldProc(long ptr long)
-@ stub midiConnect
-@ stub midiDisconnect
-@ stdcall midiInAddBuffer(long ptr long)
-@ stdcall midiInClose(long)
-@ stdcall midiInGetDevCapsA(long ptr long)
-@ stdcall midiInGetDevCapsW(long ptr long)
-@ stdcall midiInGetErrorTextA(long ptr long) midiOutGetErrorTextA
-@ stdcall midiInGetErrorTextW(long ptr long) midiOutGetErrorTextW
-@ stdcall midiInGetID(long ptr)
-@ stdcall midiInGetNumDevs()
-@ stdcall midiInMessage(long long long long)
-@ stdcall midiInOpen(ptr long long long long)
-@ stdcall midiInPrepareHeader(long ptr long)
-@ stdcall midiInReset(long)
-@ stdcall midiInStart(long)
-@ stdcall midiInStop(long)
-@ stdcall midiInUnprepareHeader(long ptr long)
-@ stdcall midiOutCacheDrumPatches(long long ptr long)
-@ stdcall midiOutCachePatches(long long ptr long)
-@ stdcall midiOutClose(long)
-@ stdcall midiOutGetDevCapsA(long ptr long)
-@ stdcall midiOutGetDevCapsW(long ptr long)
-@ stdcall midiOutGetErrorTextA(long ptr long)
-@ stdcall midiOutGetErrorTextW(long ptr long)
-@ stdcall midiOutGetID(long ptr)
-@ stdcall midiOutGetNumDevs()
-@ stdcall midiOutGetVolume(long ptr)
-@ stdcall midiOutLongMsg(long ptr long)
-@ stdcall midiOutMessage(long long long long)
-@ stdcall midiOutOpen(ptr long long long long)
-@ stdcall midiOutPrepareHeader(long ptr long)
-@ stdcall midiOutReset(long)
-@ stdcall midiOutSetVolume(long ptr)
-@ stdcall midiOutShortMsg(long long)
-@ stdcall midiOutUnprepareHeader(long ptr long)
-@ stdcall midiStreamClose(long)
-@ stdcall midiStreamOpen(ptr ptr long long long long)
-@ stdcall midiStreamOut(long ptr long)
-@ stdcall midiStreamPause(long)
-@ stdcall midiStreamPosition(long ptr long)
-@ stdcall midiStreamProperty(long ptr long)
-@ stdcall midiStreamRestart(long)
-@ stdcall midiStreamStop(long)
-@ stdcall mixerClose(long)
-@ stdcall mixerGetControlDetailsA(long ptr long)
-@ stdcall mixerGetControlDetailsW(long ptr long)
-@ stdcall mixerGetDevCapsA(long ptr long)
-@ stdcall mixerGetDevCapsW(long ptr long)
-@ stdcall mixerGetID(long ptr long)
-@ stdcall mixerGetLineControlsA(long ptr long)
-@ stdcall mixerGetLineControlsW(long ptr long)
-@ stdcall mixerGetLineInfoA(long ptr long)
-@ stdcall mixerGetLineInfoW(long ptr long)
-@ stdcall mixerGetNumDevs()
-@ stdcall mixerMessage(long long long long)
-@ stdcall mixerOpen(ptr long long long long)
-@ stdcall mixerSetControlDetails(long ptr long)
-@ stdcall mmGetCurrentTask()
-@ stdcall mmioAdvance(long ptr long)
-@ stdcall mmioAscend(long ptr long)
-@ stdcall mmioClose(long long)
-@ stdcall mmioCreateChunk(long ptr long)
-@ stdcall mmioDescend(long ptr ptr long)
-@ stdcall mmioFlush(long long)
-@ stdcall mmioGetInfo(long ptr long)
-@ stub mmioInstallIOProc16
-@ stdcall mmioInstallIOProcA(long ptr long)
-@ stdcall mmioInstallIOProcW(long ptr long)
-@ stdcall mmioOpenA(str ptr long)
-@ stdcall mmioOpenW(wstr ptr long)
-@ stdcall mmioRead(long ptr long)
-@ stdcall mmioRenameA(str str ptr long)
-@ stdcall mmioRenameW(wstr wstr ptr long)
-@ stdcall mmioSeek(long long long)
-@ stdcall mmioSendMessage(long long long long)
-@ stdcall mmioSetBuffer(long ptr long long)
-@ stdcall mmioSetInfo(long ptr long)
-@ stdcall mmioStringToFOURCCA(str long)
-@ stdcall mmioStringToFOURCCW(wstr long)
-@ stdcall mmioWrite(long ptr long)
-@ stdcall mmsystemGetVersion()
-@ stdcall mmTaskBlock(long)
-@ stdcall mmTaskCreate(ptr ptr long)
-@ stdcall mmTaskSignal(long)
-@ stdcall mmTaskYield()
-@ stdcall sndPlaySoundA(ptr long)
-@ stdcall sndPlaySoundW(ptr long)
-@ stdcall timeBeginPeriod(long)
-@ stdcall timeEndPeriod(long)
-@ stdcall timeGetDevCaps(ptr long)
-@ stdcall timeGetSystemTime(ptr long)
-@ stdcall timeGetTime()
-@ stdcall timeKillEvent(long)
-@ stdcall timeSetEvent(long long ptr long long)
-@ stdcall waveInAddBuffer(long ptr long)
-@ stdcall waveInClose(long)
-@ stdcall waveInGetDevCapsA(long ptr long)
-@ stdcall waveInGetDevCapsW(long ptr long)
-@ stdcall waveInGetErrorTextA(long ptr long) waveOutGetErrorTextA
-@ stdcall waveInGetErrorTextW(long ptr long) waveOutGetErrorTextW
-@ stdcall waveInGetID(long ptr)
-@ stdcall waveInGetNumDevs()
-@ stdcall waveInGetPosition(long ptr long)
-@ stdcall waveInMessage(long long long long)
-@ stdcall waveInOpen(ptr long ptr long long long)
-@ stdcall waveInPrepareHeader(long ptr long)
-@ stdcall waveInReset(long)
-@ stdcall waveInStart(long)
-@ stdcall waveInStop(long)
-@ stdcall waveInUnprepareHeader(long ptr long)
-@ stdcall waveOutBreakLoop(long)
-@ stdcall waveOutClose(long)
-@ stdcall waveOutGetDevCapsA(long ptr long)
-@ stdcall waveOutGetDevCapsW(long ptr long)
-@ stdcall waveOutGetErrorTextA(long ptr long)
-@ stdcall waveOutGetErrorTextW(long ptr long)
-@ stdcall waveOutGetID(long ptr)
-@ stdcall waveOutGetNumDevs()
-@ stdcall waveOutGetPitch(long ptr)
-@ stdcall waveOutGetPlaybackRate(long ptr)
-@ stdcall waveOutGetPosition(long ptr long)
-@ stdcall waveOutGetVolume(long ptr)
-@ stdcall waveOutMessage(long long long long)
-@ stdcall waveOutOpen(ptr long ptr long long long)
-@ stdcall waveOutPause(long)
-@ stdcall waveOutPrepareHeader(long ptr long)
-@ stdcall waveOutReset(long)
-@ stdcall waveOutRestart(long)
-@ stdcall waveOutSetPitch(long long)
-@ stdcall waveOutSetPlaybackRate(long long)
-@ stdcall waveOutSetVolume(long long)
-@ stdcall waveOutUnprepareHeader(long ptr long)
-@ stdcall waveOutWrite(long ptr long)
-# MigrateAllDrivers
-# MigrateSoundEvents
-# NotifyCallbackData
-# WOW32DriverCallback
-# WOW32ResolveMultiMediaHandle
-# WOWAppExit
-# WinmmLogoff
-# WinmmLogon
-# mid32Message
-# mmDrvInstall
-# aux32Message
-# joy32Message
-# mci32Message
-# mod32Message
-# mxd32Message
-# tid32Message
-# wid32Message
-# winmmDbgOut
-# winmmSetDebugLevel
-# wod32Message
+# ordinal exports
+1 stdcall @(ptr long long) PlaySoundA
+3 stub @
+4 stub @
+
+@ stdcall CloseDriver(long long long)
+@ stdcall DefDriverProc(long long long long long)
+@ stdcall DriverCallback(long long long long long long long)
+@ stdcall DrvClose(long long long) CloseDriver
+@ stdcall DrvDefDriverProc(long long long long long) DefDriverProc
+@ stdcall DrvGetModuleHandle(long) GetDriverModuleHandle
+@ stdcall DrvOpen(wstr wstr long) OpenDriver
+@ stdcall DrvOpenA(str str long) OpenDriverA
+@ stdcall DrvSendMessage(long long long long) SendDriverMessage
+@ stdcall GetDriverFlags(long)
+@ stdcall GetDriverModuleHandle(long)
+@ stdcall OpenDriver(wstr wstr long)
+@ stdcall OpenDriverA(str str long)
+@ stdcall PlaySound(ptr long long) PlaySoundA
+@ stdcall PlaySoundA(ptr long long)
+@ stdcall PlaySoundW(ptr long long)
+@ stdcall SendDriverMessage(long long long long)
+@ stdcall auxGetDevCapsA(long ptr long)
+@ stdcall auxGetDevCapsW(long ptr long)
+@ stdcall auxGetNumDevs()
+@ stdcall auxGetVolume(long ptr)
+@ stdcall auxOutMessage(long long long long)
+@ stdcall auxSetVolume(long long)
+@ stub joyConfigChanged
+@ stdcall joyGetDevCapsA(long ptr long)
+@ stdcall joyGetDevCapsW(long ptr long)
+@ stdcall joyGetNumDevs()
+@ stdcall joyGetPos(long ptr)
+@ stdcall joyGetPosEx(long ptr)
+@ stdcall joyGetThreshold(long ptr)
+@ stdcall joyReleaseCapture(long)
+@ stdcall joySetCapture(long long long long)
+@ stdcall joySetThreshold(long long)
+@ stdcall mciDriverNotify(long long long)
+@ stdcall mciDriverYield(long)
+@ stdcall mciExecute(str)
+@ stdcall mciFreeCommandResource(long)
+@ stdcall mciGetCreatorTask(long)
+@ stdcall mciGetDeviceIDA(str)
+@ stdcall mciGetDeviceIDFromElementIDA(long str)
+@ stdcall mciGetDeviceIDFromElementIDW(long wstr)
+@ stdcall mciGetDeviceIDW(wstr)
+@ stdcall mciGetDriverData(long)
+@ stdcall mciGetErrorStringA(long ptr long)
+@ stdcall mciGetErrorStringW(long ptr long)
+@ stdcall mciGetYieldProc(long ptr)
+@ stdcall mciLoadCommandResource(long wstr long)
+@ stdcall mciSendCommandA(long long long long)
+@ stdcall mciSendCommandW(long long long long)
+@ stdcall mciSendStringA(str ptr long long)
+@ stdcall mciSendStringW(wstr ptr long long)
+@ stdcall mciSetDriverData(long long)
+@ stdcall mciSetYieldProc(long ptr long)
+@ stub midiConnect
+@ stub midiDisconnect
+@ stdcall midiInAddBuffer(long ptr long)
+@ stdcall midiInClose(long)
+@ stdcall midiInGetDevCapsA(long ptr long)
+@ stdcall midiInGetDevCapsW(long ptr long)
+@ stdcall midiInGetErrorTextA(long ptr long) midiOutGetErrorTextA
+@ stdcall midiInGetErrorTextW(long ptr long) midiOutGetErrorTextW
+@ stdcall midiInGetID(long ptr)
+@ stdcall midiInGetNumDevs()
+@ stdcall midiInMessage(long long long long)
+@ stdcall midiInOpen(ptr long long long long)
+@ stdcall midiInPrepareHeader(long ptr long)
+@ stdcall midiInReset(long)
+@ stdcall midiInStart(long)
+@ stdcall midiInStop(long)
+@ stdcall midiInUnprepareHeader(long ptr long)
+@ stdcall midiOutCacheDrumPatches(long long ptr long)
+@ stdcall midiOutCachePatches(long long ptr long)
+@ stdcall midiOutClose(long)
+@ stdcall midiOutGetDevCapsA(long ptr long)
+@ stdcall midiOutGetDevCapsW(long ptr long)
+@ stdcall midiOutGetErrorTextA(long ptr long)
+@ stdcall midiOutGetErrorTextW(long ptr long)
+@ stdcall midiOutGetID(long ptr)
+@ stdcall midiOutGetNumDevs()
+@ stdcall midiOutGetVolume(long ptr)
+@ stdcall midiOutLongMsg(long ptr long)
+@ stdcall midiOutMessage(long long long long)
+@ stdcall midiOutOpen(ptr long long long long)
+@ stdcall midiOutPrepareHeader(long ptr long)
+@ stdcall midiOutReset(long)
+@ stdcall midiOutSetVolume(long ptr)
+@ stdcall midiOutShortMsg(long long)
+@ stdcall midiOutUnprepareHeader(long ptr long)
+@ stdcall midiStreamClose(long)
+@ stdcall midiStreamOpen(ptr ptr long long long long)
+@ stdcall midiStreamOut(long ptr long)
+@ stdcall midiStreamPause(long)
+@ stdcall midiStreamPosition(long ptr long)
+@ stdcall midiStreamProperty(long ptr long)
+@ stdcall midiStreamRestart(long)
+@ stdcall midiStreamStop(long)
+@ stdcall mixerClose(long)
+@ stdcall mixerGetControlDetailsA(long ptr long)
+@ stdcall mixerGetControlDetailsW(long ptr long)
+@ stdcall mixerGetDevCapsA(long ptr long)
+@ stdcall mixerGetDevCapsW(long ptr long)
+@ stdcall mixerGetID(long ptr long)
+@ stdcall mixerGetLineControlsA(long ptr long)
+@ stdcall mixerGetLineControlsW(long ptr long)
+@ stdcall mixerGetLineInfoA(long ptr long)
+@ stdcall mixerGetLineInfoW(long ptr long)
+@ stdcall mixerGetNumDevs()
+@ stdcall mixerMessage(long long long long)
+@ stdcall mixerOpen(ptr long long long long)
+@ stdcall mixerSetControlDetails(long ptr long)
[truncated at 1000 lines; 5027 more skipped]