correct some bugs
Modified: trunk/reactos/lib/mmdrv/midi.c
Modified: trunk/reactos/lib/mmdrv/mmddk.h
Modified: trunk/reactos/lib/mmdrv/wave.c

Modified: trunk/reactos/lib/mmdrv/midi.c
--- 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);
     }
 

Modified: trunk/reactos/lib/mmdrv/mmddk.h
--- 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,

Modified: trunk/reactos/lib/mmdrv/wave.c
--- 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;
 }