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;