Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenauxil.c
Go to the documentation of this file.
00001 /* 00002 * 00003 * COPYRIGHT: See COPYING in the top level directory 00004 * PROJECT: ReactOS Multimedia 00005 * FILE: lib/mmdrv/auxil.c 00006 * PURPOSE: Multimedia User Mode Driver 00007 * PROGRAMMER: Andrew Greenwood 00008 * Aleksey Bragin 00009 * UPDATE HISTORY: 00010 * Mar 16, 2004: Created skeleton implementation 00011 */ 00012 #include "mmdrv.h" 00013 #include "wave.h" 00014 00015 00016 #define NDEBUG 00017 #include <debug.h> 00018 00019 APIENTRY DWORD auxMessage(UINT dwId, 00020 UINT uMessage, 00021 DWORD dwUser, 00022 DWORD dwParam1, 00023 DWORD dwParam2) 00024 00025 { 00026 MMRESULT Result; 00027 AUX_DD_VOLUME Volume; 00028 00029 DPRINT("auxMessage\n"); 00030 00031 00032 // the following cases are documented by DDK 00033 switch (uMessage) 00034 { 00035 case AUXDM_GETDEVCAPS: 00036 DPRINT("AUXDM_GETDEVCAPS"); 00037 return GetDeviceCapabilities(dwId, AuxDevice, (LPBYTE)dwParam1, (DWORD)dwParam2); 00038 00039 case AUXDM_GETNUMDEVS: 00040 DPRINT("AUXDM_GETNUMDEVS"); 00041 return GetDeviceCount(AuxDevice); 00042 00043 case AUXDM_GETVOLUME: 00044 DPRINT("AUXDM_GETVOLUME"); 00045 Result = AuxGetAudio(dwId, (PBYTE) &Volume, sizeof(Volume)); 00046 00047 if (Result == MMSYSERR_NOERROR) 00048 { 00049 *(LPDWORD)dwParam1 = (DWORD)MAKELONG(HIWORD(Volume.Left), HIWORD(Volume.Right)); 00050 } 00051 return Result; 00052 00053 00054 case AUXDM_SETVOLUME: 00055 DPRINT("AUXDM_SETVOLUME"); 00056 00057 Volume.Right = HIWORD(dwParam1) << 16; 00058 Volume.Left = LOWORD(dwParam1) << 16; 00059 00060 return AuxSetAudio(dwId, (PBYTE)&Volume, sizeof(Volume)); 00061 00062 } 00063 00064 return MMSYSERR_NOERROR; 00065 } 00066 00067 00068 DWORD AuxGetAudio(DWORD dwID, PBYTE pVolume, DWORD sizeVolume) 00069 { 00070 HANDLE DeviceHandle; 00071 MMRESULT Result; 00072 DWORD BytesReturned; 00073 00074 Result = OpenDevice(AuxDevice, dwID, &DeviceHandle, GENERIC_READ); 00075 if (Result != MMSYSERR_NOERROR) 00076 return Result; 00077 00078 00079 Result = DeviceIoControl(DeviceHandle, IOCTL_AUX_GET_VOLUME, NULL, 0, (LPVOID)pVolume, sizeVolume, 00080 &BytesReturned, NULL) ? MMSYSERR_NOERROR : TranslateStatus(); 00081 00082 00083 CloseHandle(DeviceHandle); 00084 00085 return Result; 00086 } 00087 00088 DWORD AuxSetAudio(DWORD dwID, PBYTE pVolume, DWORD sizeVolume) 00089 { 00090 HANDLE DeviceHandle; 00091 MMRESULT Result; 00092 DWORD BytesReturned; 00093 00094 Result = OpenDevice(AuxDevice, dwID, &DeviceHandle, GENERIC_READ); 00095 if (Result != MMSYSERR_NOERROR) 00096 return Result; 00097 00098 Result = DeviceIoControl(DeviceHandle, IOCTL_AUX_SET_VOLUME, (LPVOID)pVolume, sizeVolume, NULL, 0, 00099 &BytesReturned, NULL) ? MMSYSERR_NOERROR : TranslateStatus(); 00100 00101 00102 CloseHandle(DeviceHandle); 00103 00104 return Result; 00105 } 00106 Generated on Wed May 23 2012 04:22:25 for ReactOS by
1.7.6.1
|