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;
Show replies by date