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
--- 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;
}
--- 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 */
}
--- 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__);
}
--- 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)
--- 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
--- 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
--- 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);
--- 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]