implement AUXDM_SETVOLUME now the auxMessage are complete
Modified: trunk/reactos/lib/mmdrv/auxil.c
Modified: trunk/reactos/lib/mmdrv/wave.h

Modified: trunk/reactos/lib/mmdrv/auxil.c
--- trunk/reactos/lib/mmdrv/auxil.c	2005-11-20 21:42:23 UTC (rev 19394)
+++ trunk/reactos/lib/mmdrv/auxil.c	2005-11-20 21:59:21 UTC (rev 19395)
@@ -52,7 +52,13 @@
 		
 
 	case AUXDM_SETVOLUME:
-		return 0;
+        DPRINT("AUXDM_SETVOLUME");
+         
+        Volume.Right = HIWORD(dwParam1) << 16;
+        Volume.Left = LOWORD(dwParam1) << 16;
+        
+        return AuxSetAudio(dwId, (PBYTE)&Volume, sizeof(Volume));
+
 	}
 
     return MMSYSERR_NOERROR;
@@ -79,3 +85,22 @@
     return Result;
  }
 
+DWORD AuxSetAudio(DWORD dwID, PBYTE pVolume, DWORD sizeVolume)
+{
+    HANDLE DeviceHandle;
+    MMRESULT Result;
+    DWORD BytesReturned;
+
+    Result = OpenDevice(AuxDevice, dwID, &DeviceHandle, GENERIC_READ);
+    if (Result != MMSYSERR_NOERROR)
+         return Result;
+    
+    Result = DeviceIoControl(DeviceHandle, IOCTL_AUX_SET_VOLUME, (LPVOID)pVolume, sizeVolume, NULL, 0, 
+                           &BytesReturned, NULL) ? MMSYSERR_NOERROR : TranslateStatus();
+
+
+    CloseHandle(DeviceHandle);
+
+    return Result;
+ }
+

Modified: trunk/reactos/lib/mmdrv/wave.h
--- trunk/reactos/lib/mmdrv/wave.h	2005-11-20 21:42:23 UTC (rev 19394)
+++ trunk/reactos/lib/mmdrv/wave.h	2005-11-20 21:59:21 UTC (rev 19395)
@@ -84,6 +84,7 @@
                                       LPBYTE pCaps, DWORD Size);
 
 DWORD AuxGetAudio(DWORD dwID, PBYTE pVolume, DWORD sizeVolume);
+DWORD AuxSetAudio(DWORD dwID, PBYTE pVolume, DWORD sizeVolume);
 
 typedef struct _AUX_DD_VOLUME {
         ULONG   Left;