--- trunk/reactos/lib/mmdrv/midi.c 2005-11-20 22:30:01 UTC (rev 19396)
+++ trunk/reactos/lib/mmdrv/midi.c 2005-11-20 23:25:16 UTC (rev 19397)
@@ -157,6 +157,7 @@
if (DeviceType == MidiInDevice)
{
+
pClient->AuxEvent1 = CreateEvent(NULL, FALSE, FALSE, NULL);
if (pClient->AuxEvent1 == NULL)
{
@@ -174,6 +175,7 @@
// TaskCreate
+
WaitForSingleObject(pClient->AuxEvent2, INFINITE);
}
--- trunk/reactos/lib/mmdrv/mmddk.h 2005-11-20 22:30:01 UTC (rev 19396)
+++ trunk/reactos/lib/mmdrv/mmddk.h 2005-11-20 23:25:16 UTC (rev 19397)
@@ -29,8 +29,17 @@
#include <mmsystem.h>
#include <winbase.h>
+typedef VOID (TASKCALLBACK) (DWORD dwInst);
+typedef TASKCALLBACK FAR *LPTASKCALLBACK;
+UINT APIENTRY mmTaskCreate(LPTASKCALLBACK lpfn, HANDLE FAR * lph, DWORD dwInst);
+VOID APIENTRY mmTaskBlock(DWORD h);
+BOOL APIENTRY mmTaskSignal(DWORD h);
+VOID APIENTRY mmTaskYield(VOID);
+DWORD APIENTRY mmGetCurrentTask(VOID);
+
+
#define MAX_MIDIINDRV (16)
/* For now I'm making 16 the maximum number of midi devices one can
* have. This should be more than enough for everybody. But as a purist,
--- trunk/reactos/lib/mmdrv/wave.c 2005-11-20 22:30:01 UTC (rev 19396)
+++ trunk/reactos/lib/mmdrv/wave.c 2005-11-20 23:25:16 UTC (rev 19397)
@@ -36,15 +36,7 @@
if (Result != MMSYSERR_NOERROR)
return Result;
- //
- // Set our data.
- //
- // Setting the overlapped parameter (last) to null means we
- // wait until the operation completes.
- //
-
-
- if (DeviceType == WaveOutDevice)
+ if ((DeviceType == WaveOutDevice) || (DeviceType == WaveInDevice))
{
Result = DeviceIoControl(DeviceHandle, IOCTL_WAVE_GET_CAPABILITIES,
NULL, 0, (LPVOID)pCaps, Size,
@@ -69,7 +61,7 @@
// Close the handle and return the result code
-// CloseHandle(DeviceHandle);
+ CloseHandle(DeviceHandle);
return Result;
}
@@ -81,6 +73,15 @@
DWORD dwParam2)
{
// TODO: Implement
+ //PWAVEALLOC pClient;
+ //MMRESULT mResult;
+ //BOOL Result;
+ //DWORD BytesReturned;
+ LPWAVEFORMATEX pFormats;
+
+ pFormats = (LPWAVEFORMATEX)((LPWAVEOPENDESC)dwParam1)->lpFormat;
+
+
return MMSYSERR_NOERROR;
}