ReactOS  0.4.14-dev-317-g96040ec
mmsys.h File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <wingdi.h>
#include <winuser.h>
#include <mmsystem.h>
#include <cpl.h>
#include <tchar.h>
#include <setupapi.h>
#include <stdlib.h>
#include "resource.h"
Include dependency graph for mmsys.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _APPLET
 

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COM_NO_WINDOWS_H
 
#define DRVM_MAPPER   0x2000
 
#define DRVM_MAPPER_PREFERRED_GET   (DRVM_MAPPER+21)
 
#define DRVM_MAPPER_PREFERRED_SET   (DRVM_MAPPER+22)
 
#define VOLUME_MIN   0
 
#define VOLUME_MAX   500
 
#define VOLUME_TICFREQ   50
 
#define VOLUME_PAGESIZE   100
 

Typedefs

typedef struct _APPLET APPLET
 
typedef struct _APPLETPAPPLET
 

Functions

VOID InitPropSheetPage (PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
 
LONG APIENTRY MmSysApplet (HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK SoundsDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK VolumeDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK VoiceDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR CALLBACK AudioDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
INT_PTR SpeakerVolume (HWND hwndDlg)
 

Variables

HINSTANCE hApplet
 

Macro Definition Documentation

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 7 of file mmsys.h.

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 8 of file mmsys.h.

◆ DRVM_MAPPER

#define DRVM_MAPPER   0x2000

Definition at line 36 of file mmsys.h.

◆ DRVM_MAPPER_PREFERRED_GET

#define DRVM_MAPPER_PREFERRED_GET   (DRVM_MAPPER+21)

Definition at line 37 of file mmsys.h.

◆ DRVM_MAPPER_PREFERRED_SET

#define DRVM_MAPPER_PREFERRED_SET   (DRVM_MAPPER+22)

Definition at line 38 of file mmsys.h.

◆ VOLUME_MAX

#define VOLUME_MAX   500

Definition at line 41 of file mmsys.h.

◆ VOLUME_MIN

#define VOLUME_MIN   0

Definition at line 40 of file mmsys.h.

◆ VOLUME_PAGESIZE

#define VOLUME_PAGESIZE   100

Definition at line 43 of file mmsys.h.

◆ VOLUME_TICFREQ

#define VOLUME_TICFREQ   50

Definition at line 42 of file mmsys.h.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 6 of file mmsys.h.

Typedef Documentation

◆ APPLET

◆ PAPPLET

typedef struct _APPLET * PAPPLET

Function Documentation

◆ AudioDlgProc()

INT_PTR CALLBACK AudioDlgProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 241 of file audio.c.

245 {
246  PGLOBAL_DATA pGlobalData;
247 
248  pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
249 
250  switch(uMsg)
251  {
252  case WM_INITDIALOG:
253  {
254  UINT NumWavOut = waveOutGetNumDevs();
255 
256  pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
257  SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
258 
259  if (!pGlobalData)
260  break;
261 
262  InitAudioDlg(hwndDlg, pGlobalData);
263 
264  if (!NumWavOut)
265  {
276  }
277 
278  if (pGlobalData->bNoAudioOut)
279  {
283  }
284 
285  if (pGlobalData->bNoAudioIn)
286  {
290  }
291 
292  if (pGlobalData->bNoMIDIOut)
293  {
297  }
298  }
299  break;
300 
301  case WM_COMMAND:
302  {
303  STARTUPINFO si;
306 
307  if (!pGlobalData)
308  break;
309 
310  switch(LOWORD(wParam))
311  {
312  case IDC_VOLUME1_BTN:
313  {
314  wsprintf(szPath, L"sndvol32.exe -d %d",
316 
317  ZeroMemory(&si, sizeof(si));
318  si.cb = sizeof(si);
320  si.wShowWindow = SW_SHOW;
321 
322  CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
323  }
324  break;
325 
326  case IDC_ADV2_BTN:
327  {
328 
329  }
330  break;
331 
332  case IDC_VOLUME2_BTN:
333  {
334  wsprintf(szPath, L"sndvol32.exe -r -d %d",
336 
337  ZeroMemory(&si, sizeof(si));
338  si.cb = sizeof(si);
340  si.wShowWindow = SW_SHOW;
341 
342  CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
343  }
344  break;
345 
346  case IDC_ADV1_BTN:
347  {
348 
349  }
350  break;
351 
352  case IDC_VOLUME3_BTN:
353  {
354  wsprintf(szPath, L"sndvol32.exe -d %d",
356 
357  ZeroMemory(&si, sizeof(si));
358  si.cb = sizeof(si);
360  si.wShowWindow = SW_SHOW;
361 
362  CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
363  }
364  break;
365 
366  case IDC_ADV3_BTN:
367  {
368 
369  }
370  break;
371 
373  {
374  if (HIWORD(wParam) == CBN_SELCHANGE)
375  {
376  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
377  pGlobalData->bAudioOutChanged = TRUE;
378  }
379  }
380  break;
381 
382  case IDC_DEVICE_REC_LIST:
383  {
384  if (HIWORD(wParam) == CBN_SELCHANGE)
385  {
386  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
387  pGlobalData->bAudioInChanged = TRUE;
388  }
389  }
390 
392  {
393  if (HIWORD(wParam) == CBN_SELCHANGE)
394  {
395  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
396  pGlobalData->bMIDIOutChanged = TRUE;
397  }
398  }
399  break;
400  }
401  }
402  break;
403 
404  case WM_DESTROY:
405  if (!pGlobalData)
406  break;
407 
408  HeapFree(GetProcessHeap(), 0, pGlobalData);
409  break;
410 
411  case WM_NOTIFY:
412  if (!pGlobalData)
413  break;
414 
415  if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY)
416  {
417  SaveAudioDlg(hwndDlg, pGlobalData);
418  }
419  return TRUE;
420  }
421 
422  return FALSE;
423 }
BOOL bAudioInChanged
Definition: audio.c:20
#define TRUE
Definition: types.h:120
#define IDC_DEVICE_MIDI_LIST
Definition: resource.h:44
struct _GLOBAL_DATA * PGLOBAL_DATA
BOOL bNoAudioOut
Definition: audio.c:15
#define IDC_VOLUME1_BTN
Definition: resource.h:55
#define ZeroMemory
Definition: winbase.h:1642
DWORD dwFlags
Definition: winbase.h:814
BOOL bMIDIOutChanged
Definition: audio.c:21
#define PSN_APPLY
Definition: prsht.h:117
#define MIXER_OBJECTF_MIDIOUT
Definition: mmsystem.h:306
#define SetWindowLongPtr
Definition: treelist.c:70
VOID InitAudioDlg(HWND hwnd, PGLOBAL_DATA pGlobalData)
Definition: audio.c:26
WPARAM wParam
Definition: combotst.c:138
#define IDC_ADV2_BTN
Definition: resource.h:56
VOID SaveAudioDlg(HWND hwnd, PGLOBAL_DATA pGlobalData)
Definition: audio.c:191
#define IDC_DEVICE_REC_LIST
Definition: resource.h:43
static UINT GetDevNum(HWND hControl, DWORD Id)
Definition: audio.c:219
smooth NULL
Definition: ftsmooth.c:416
UINT WINAPI waveOutGetNumDevs(void)
Definition: winmm.c:2140
#define STARTF_USESHOWWINDOW
Definition: winbase.h:472
#define SW_SHOW
Definition: winuser.h:769
BOOL bNoAudioIn
Definition: audio.c:16
#define IDC_DEFAULT_DEV_CHECKBOX
Definition: resource.h:41
#define WM_DESTROY
Definition: winuser.h:1591
DWORD cb
Definition: winbase.h:803
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define MIXER_OBJECTF_WAVEIN
Definition: mmsystem.h:304
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define PropSheet_Changed(d, w)
Definition: prsht.h:326
#define MAX_PATH
Definition: compat.h:26
static DWORD pi
Definition: protocol.c:150
static const WCHAR L[]
Definition: oid.c:1250
#define DWLP_USER
Definition: winuser.h:866
#define MIXER_OBJECTF_WAVEOUT
Definition: mmsystem.h:302
#define WM_COMMAND
Definition: winuser.h:1722
#define CreateProcess
Definition: winbase.h:3582
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HWND WINAPI GetParent(_In_ HWND)
#define IDC_DEVICE_PLAY_LIST
Definition: resource.h:42
LPCWSTR szPath
Definition: env.c:35
#define IDC_VOLUME3_BTN
Definition: resource.h:59
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int UINT
Definition: ndis.h:50
WORD wShowWindow
Definition: winbase.h:815
#define IDC_VOLUME2_BTN
Definition: resource.h:57
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define CBN_SELCHANGE
Definition: winuser.h:1961
#define IDC_ADV1_BTN
Definition: resource.h:58
#define HIWORD(l)
Definition: typedefs.h:246
#define GetWindowLongPtr
Definition: treelist.c:73
#define wsprintf
Definition: winuser.h:5766
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define HeapFree(x, y, z)
Definition: compat.h:394
BOOL bAudioOutChanged
Definition: audio.c:19
BOOL bNoMIDIOut
Definition: audio.c:17
#define WM_NOTIFY
Definition: richedit.h:61
#define IDC_ADV3_BTN
Definition: resource.h:60

Referenced by MmSysApplet().

◆ InitPropSheetPage()

VOID InitPropSheetPage ( PROPSHEETPAGE psp,
WORD  idDlg,
DLGPROC  DlgProc 
)

Definition at line 746 of file mmsys.c.

749 {
750  ZeroMemory(psp, sizeof(PROPSHEETPAGE));
751  psp->dwSize = sizeof(PROPSHEETPAGE);
752  psp->dwFlags = PSP_DEFAULT;
753  psp->hInstance = hApplet;
754  psp->pszTemplate = MAKEINTRESOURCE(idDlg);
755  psp->pfnDlgProc = DlgProc;
756 }
WORD idDlg
Definition: desk.c:109
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define ZeroMemory
Definition: winbase.h:1642
HINSTANCE hApplet
Definition: mmsys.c:103
#define PSP_DEFAULT
Definition: prsht.h:22
DLGPROC DlgProc
Definition: desk.c:110
#define PROPSHEETPAGE
Definition: prsht.h:371

Referenced by MmSysApplet().

◆ MmSysApplet()

LONG APIENTRY MmSysApplet ( HWND  hwnd,
UINT  uMsg,
LPARAM  wParam,
LPARAM  lParam 
)

Definition at line 710 of file mmsys.c.

714 {
715  PROPSHEETPAGE psp[5];
716  PROPSHEETHEADER psh; // = { 0 };
717  TCHAR Caption[256];
718 
722 
723  LoadString(hApplet, IDS_CPLNAME, Caption, _countof(Caption));
724 
725  psh.dwSize = sizeof(PROPSHEETHEADER);
727  psh.hwndParent = hwnd;
728  psh.hInstance = hApplet;
729  psh.pszIcon = MAKEINTRESOURCEW(IDI_CPLICON);
730  psh.pszCaption = Caption;
731  psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
732  psh.nStartPage = 0;
733  psh.ppsp = psp;
734  psh.pfnCallback = PropSheetProc;
735 
741 
742  return (LONG)(PropertySheet(&psh) != -1);
743 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
INT_PTR CALLBACK AudioDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: audio.c:241
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:323
#define _countof(array)
Definition: fontsub.cpp:30
#define IDD_VOLUME
Definition: resource.h:19
static int CALLBACK PropSheetProc(HWND hwndDlg, UINT uMsg, LPARAM lParam)
Definition: mmsys.c:693
VOID InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
Definition: mmsys.c:746
#define PSH_USECALLBACK
Definition: prsht.h:48
WPARAM wParam
Definition: combotst.c:138
#define IDD_AUDIO
Definition: resource.h:21
#define IDS_CPLNAME
Definition: resource.h:8
#define PSH_USEICONID
Definition: prsht.h:42
long LONG
Definition: pedump.c:60
#define PROPSHEETHEADER
Definition: prsht.h:374
HINSTANCE hApplet
Definition: mmsys.c:103
INT_PTR CALLBACK SoundsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: sounds.c:1092
char TCHAR
Definition: xmlstorage.h:189
#define PSH_PROPTITLE
Definition: prsht.h:40
#define IDD_HARDWARE
Definition: resource.h:28
#define IDI_CPLICON
Definition: resource.h:4
#define IDD_SOUNDS
Definition: resource.h:20
#define IDD_VOICE
Definition: resource.h:22
#define PSH_PROPSHEETPAGE
Definition: prsht.h:43
INT_PTR CALLBACK VoiceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: voice.c:15
#define PropertySheet
Definition: prsht.h:382
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
static INT_PTR CALLBACK HardwareDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: mmsys.c:665
LPARAM lParam
Definition: combotst.c:139
#define LoadString
Definition: winuser.h:5720
INT_PTR CALLBACK VolumeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: volume.c:417
#define PROPSHEETPAGE
Definition: prsht.h:371

◆ SoundsDlgProc()

INT_PTR CALLBACK SoundsDlgProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Should store in current member

Definition at line 1092 of file sounds.c.

1096 {
1097  PGLOBAL_DATA pGlobalData;
1098 
1101  WCHAR szFilter[256], szTitle[256];
1102  LPWSTR pFileName;
1103  LRESULT lResult;
1104 
1105  pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
1106 
1107  switch (uMsg)
1108  {
1109  case WM_INITDIALOG:
1110  {
1112  SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
1113 
1114  pGlobalData->NumWavOut = waveOutGetNumDevs();
1115 
1119 
1124  IMAGE_ICON);
1125 
1126  LoadEventLabels(pGlobalData);
1127  LoadSoundProfiles(pGlobalData, hwndDlg);
1128  LoadSoundFiles(hwndDlg);
1129  ShowSoundScheme(pGlobalData, hwndDlg);
1130 
1131  if (wParam == (WPARAM)GetDlgItem(hwndDlg, IDC_SOUND_SCHEME))
1132  return TRUE;
1134  return FALSE;
1135  }
1136  case WM_COMMAND:
1137  {
1138  switch (LOWORD(wParam))
1139  {
1140  case IDC_BROWSE_SOUND:
1141  {
1142  ZeroMemory(&ofn, sizeof(ofn));
1143  ofn.lStructSize = sizeof(ofn);
1144  ofn.hwndOwner = hwndDlg;
1146  ofn.lpstrFile[0] = L'\0';
1150  ofn.nFilterIndex = 0;
1153  ofn.lpstrInitialDir = L"%SystemRoot%\\Media";
1155 
1156  if (GetOpenFileNameW(&ofn) != FALSE)
1157  {
1158  // FIXME search if list already contains that sound
1159 
1160  // extract file name
1161  pFileName = wcsrchr(filename, L'\\');
1162  ASSERT(pFileName != NULL);
1163  pFileName++;
1164 
1165  // add to list
1166  lResult = SendDlgItemMessageW(hwndDlg, IDC_SOUND_LIST, CB_ADDSTRING, (WPARAM)0, (LPARAM)pFileName);
1167  if (lResult != CB_ERR)
1168  {
1169  // add path and select item
1171  SendDlgItemMessageW(hwndDlg, IDC_SOUND_LIST, CB_SETCURSEL, (WPARAM)lResult, (LPARAM)0);
1172  }
1173  }
1174  break;
1175  }
1176  case IDC_PLAY_SOUND:
1177  {
1178  LRESULT lIndex;
1179  lIndex = ComboBox_GetCurSel(GetDlgItem(hwndDlg, IDC_SOUND_LIST));
1180  if (lIndex == CB_ERR)
1181  {
1182  break;
1183  }
1184 
1185  lIndex = ComboBox_GetItemData(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex);
1186  if (lIndex != CB_ERR)
1187  {
1188  PlaySound((TCHAR*)lIndex, NULL, SND_FILENAME);
1189  }
1190  break;
1191  }
1192  case IDC_SOUND_SCHEME:
1193  {
1194  if (HIWORD(wParam) == CBN_SELENDOK)
1195  {
1197  ShowSoundScheme(pGlobalData, hwndDlg);
1202  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
1203  }
1204  break;
1205  }
1206  case IDC_SOUND_LIST:
1207  {
1208  if (HIWORD(wParam) == CBN_SELENDOK)
1209  {
1210  PLABEL_CONTEXT pLabelContext;
1211  HTREEITEM hItem;
1212  TVITEM item;
1213  LRESULT lIndex;
1214 
1216  if (hItem == NULL)
1217  {
1218  break;
1219  }
1220 
1221  lIndex = ComboBox_GetCurSel(GetDlgItem(hwndDlg, IDC_SOUND_LIST));
1222  if (lIndex == CB_ERR)
1223  {
1224  break;
1225  }
1226 
1227  ZeroMemory(&item, sizeof(item));
1228  item.mask = TVIF_PARAM;
1229  item.hItem = hItem;
1231  {
1232  LRESULT lResult;
1233  pLabelContext = (PLABEL_CONTEXT)item.lParam;
1234 
1235  lResult = ComboBox_GetItemData(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex);
1236  if (lResult == CB_ERR || lResult == 0)
1237  {
1238  if (lIndex != pLabelContext->szValue[0])
1239  {
1240  /* Update the tree view item image */
1242  item.iImage = IMAGE_SOUND_NONE;
1243  item.iSelectedImage = IMAGE_SOUND_NONE;
1245 
1246  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
1247 
1249  }
1250 
1251  pLabelContext->szValue[0] = L'\0';
1252 
1253  break;
1254  }
1255 
1256  if (_tcsicmp(pLabelContext->szValue, (TCHAR*)lResult) || (lIndex != pLabelContext->szValue[0]))
1257  {
1258  /* Update the tree view item image */
1260  item.iImage = IMAGE_SOUND_ASSIGNED;
1261  item.iSelectedImage = IMAGE_SOUND_ASSIGNED;
1263 
1264  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
1265 
1269  _tcscpy(pLabelContext->szValue, (TCHAR*)lResult);
1270  }
1271 
1272  if (_tcslen((TCHAR*)lResult) && lIndex != 0 && pGlobalData->NumWavOut != 0)
1273  {
1275  }
1276  else
1277  {
1279  }
1280  }
1281  }
1282  break;
1283  }
1284  }
1285  break;
1286  }
1287  case WM_DESTROY:
1288  {
1289  FreeSoundProfiles(hwndDlg);
1290  FreeAppMap(pGlobalData);
1291  FreeLabelMap(pGlobalData);
1292  if (pGlobalData->hSoundsImageList)
1293  ImageList_Destroy(pGlobalData->hSoundsImageList);
1294  HeapFree(GetProcessHeap(), 0, pGlobalData);
1295  break;
1296  }
1297  case WM_NOTIFY:
1298  {
1299  PLABEL_CONTEXT pLabelContext;
1300  TCHAR * ptr;
1301 
1302  LPNMHDR lpnm = (LPNMHDR)lParam;
1303 
1304  switch(lpnm->code)
1305  {
1306  case PSN_APPLY:
1307  {
1308  ApplyChanges(hwndDlg);
1309  break;
1310  }
1311  case TVN_SELCHANGED:
1312  {
1314  LRESULT lCount, lIndex, lResult;
1315 
1316  pLabelContext = (PLABEL_CONTEXT)nm->itemNew.lParam;
1317  if (pLabelContext == NULL)
1318  {
1323  return FALSE;
1324  }
1325 
1329 
1330  if (_tcslen(pLabelContext->szValue) == 0)
1331  {
1332  lIndex = ComboBox_SetCurSel(GetDlgItem(hwndDlg, IDC_SOUND_LIST), 0);
1334  break;
1335  }
1336 
1337  if (pGlobalData->NumWavOut != 0)
1339 
1340  lCount = ComboBox_GetCount(GetDlgItem(hwndDlg, IDC_SOUND_LIST));
1341  for (lIndex = 0; lIndex < lCount; lIndex++)
1342  {
1343  lResult = ComboBox_GetItemData(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex);
1344  if (lResult == CB_ERR || lResult == 0)
1345  continue;
1346 
1347  if (!_tcscmp((TCHAR*)lResult, pLabelContext->szValue))
1348  {
1349  ComboBox_SetCurSel(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex);
1350  return FALSE;
1351  }
1352  }
1353 
1354  ptr = _tcsrchr(pLabelContext->szValue, _T('\\'));
1355  if (ptr)
1356  {
1357  ptr++;
1358  }
1359  else
1360  {
1361  ptr = pLabelContext->szValue;
1362  }
1363 
1364  lIndex = ComboBox_AddString(GetDlgItem(hwndDlg, IDC_SOUND_LIST), ptr);
1365  if (lIndex != CB_ERR)
1366  {
1367  ComboBox_SetItemData(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex, _tcsdup(pLabelContext->szValue));
1368  ComboBox_SetCurSel(GetDlgItem(hwndDlg, IDC_SOUND_LIST), lIndex);
1369  }
1370  break;
1371  }
1372  }
1373  }
1374  break;
1375  }
1376 
1377  return FALSE;
1378 }
#define OFN_FILEMUSTEXIST
Definition: commdlg.h:106
#define CB_SETITEMDATA
Definition: winuser.h:1948
#define MAKEINTRESOURCE
Definition: winuser.h:591
HIMAGELIST InitImageList(UINT StartResource, UINT EndResource, UINT Width, UINT Height, ULONG type)
Definition: sounds.c:1028
#define IDC_PLAY_SOUND
Definition: resource.h:48
#define TRUE
Definition: types.h:120
BOOL LoadSoundProfiles(PGLOBAL_DATA pGlobalData, HWND hwndDlg)
Definition: sounds.c:780
#define IMAGE_ICON
Definition: winuser.h:212
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define ComboBox_AddString(hwndCtl, lpsz)
Definition: windowsx.h:16
#define IDI_SOUND_ASSIGNED
Definition: resource.h:11
#define _tcsicmp
Definition: xmlstorage.h:205
HWND hwndOwner
Definition: commdlg.h:330
#define TreeView_DeleteAllItems(hwnd)
Definition: commctrl.h:3413
int _tcscmp(const _TCHAR *s1, const _TCHAR *s2)
Definition: tcscmp.h:8
#define IDS_BROWSE_FOR_SOUND
Definition: resource.h:84
BOOL ShowSoundScheme(PGLOBAL_DATA pGlobalData, HWND hwndDlg)
Definition: sounds.c:874
BOOL ApplyChanges(HWND hwndDlg)
Definition: sounds.c:961
TCHAR szValue[MAX_PATH]
Definition: sounds.c:43
#define _countof(array)
Definition: fontsub.cpp:30
HIMAGELIST hSoundsImageList
Definition: sounds.c:57
OPENFILENAME ofn
Definition: main.cpp:37
BOOL LoadSoundFiles(HWND hwndDlg)
Definition: sounds.c:809
#define LPNMTREEVIEW
Definition: commctrl.h:3639
#define IDC_SOUND_LIST
Definition: resource.h:40
_TCHAR * _tcscpy(_TCHAR *to, const _TCHAR *from)
Definition: tcscpy.h:8
#define ZeroMemory
Definition: winbase.h:1642
#define ComboBox_GetCurSel(hwndCtl)
Definition: windowsx.h:24
HWND WINAPI SetFocus(_In_opt_ HWND)
#define _tcsdup
Definition: tchar.h:625
HINSTANCE hApplet
Definition: access.c:17
UINT_PTR WPARAM
Definition: windef.h:207
#define TVIF_SELECTEDIMAGE
Definition: commctrl.h:3267
#define PSN_APPLY
Definition: prsht.h:117
const char * filename
Definition: ioapi.h:135
#define BM_SETIMAGE
Definition: winuser.h:1904
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define SetWindowLongPtr
Definition: treelist.c:70
WPARAM wParam
Definition: combotst.c:138
struct tagNMHDR * LPNMHDR
DWORD nMaxFile
Definition: commdlg.h:337
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Definition: imagelist.c:928
UINT code
Definition: winuser.h:3133
struct _LABEL_CONTEXT * PLABEL_CONTEXT
LPWSTR MakeFilter(LPWSTR psz)
Definition: sounds.c:65
static VOID FreeLabelMap(PGLOBAL_DATA pGlobalData)
Definition: sounds.c:150
#define CBN_SELENDOK
Definition: winuser.h:1963
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
Definition: filedlg.c:4565
static PVOID ptr
Definition: dispmode.c:27
#define CB_ADDSTRING
Definition: winuser.h:1918
HTREEITEM hItem
Definition: treelist.h:37
size_t __cdecl _tcslen(const _TCHAR *str)
Definition: tcslen.h:9
smooth NULL
Definition: ftsmooth.c:416
LONG_PTR LPARAM
Definition: windef.h:208
LPTSTR szFilter
Definition: mplay32.c:30
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcsrchr(_In_z_ const wchar_t *_Str, _In_ wchar_t _Ch)
UINT WINAPI waveOutGetNumDevs(void)
Definition: winmm.c:2140
#define CB_ERR
Definition: winuser.h:2410
#define WM_DESTROY
Definition: winuser.h:1591
char TCHAR
Definition: xmlstorage.h:189
#define IDC_SCHEME_LIST
Definition: resource.h:39
#define IDI_SOUND_SECTION
Definition: resource.h:10
#define ComboBox_GetCount(hwndCtl)
Definition: windowsx.h:23
#define _T(x)
Definition: vfdio.h:22
#define TreeView_GetSelection(hwnd)
Definition: commctrl.h:3469
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
if(!(yy_init))
Definition: macro.lex.yy.c:714
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define ComboBox_GetItemData(hwndCtl, index)
Definition: windowsx.h:29
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define PropSheet_Changed(d, w)
Definition: prsht.h:326
LPCSTR lpstrInitialDir
Definition: commdlg.h:340
#define TVN_SELCHANGED
Definition: commctrl.h:3731
#define MAX_PATH
Definition: compat.h:26
#define IMAGE_SOUND_NONE
Definition: resource.h:96
DWORD lStructSize
Definition: commdlg.h:329
int WINAPI GetSystemMetrics(_In_ int)
struct _GLOBAL_DATA * PGLOBAL_DATA
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
TCHAR szTitle[MAX_LOADSTRING]
Definition: magnifier.c:35
#define IMAGE_SOUND_ASSIGNED
Definition: resource.h:95
#define SM_CXSMICON
Definition: winuser.h:1002
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
UINT NumWavOut
Definition: sounds.c:60
static const WCHAR L[]
Definition: oid.c:1250
#define IDS_WAVE_FILES_FILTER
Definition: resource.h:85
#define DWLP_USER
Definition: winuser.h:866
#define IDC_SOUND_SCHEME
Definition: resource.h:38
#define OFN_HIDEREADONLY
Definition: commdlg.h:107
#define CB_SETCURSEL
Definition: winuser.h:1943
#define WM_COMMAND
Definition: winuser.h:1722
static VOID FreeSoundProfiles(HWND hwndDlg)
Definition: sounds.c:489
#define ComboBox_SetCurSel(hwndCtl, index)
Definition: windowsx.h:41
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define IDI_PLAY_ICON
Definition: resource.h:5
#define TVITEM
Definition: commctrl.h:3361
#define SND_FILENAME
Definition: mmsystem.h:162
HWND WINAPI GetParent(_In_ HWND)
#define PlaySound
Definition: mmsystem.h:2832
static ATOM item
Definition: dde.c:856
LPSTR lpstrFile
Definition: commdlg.h:336
#define ComboBox_SetItemData(hwndCtl, index, data)
Definition: windowsx.h:44
struct _GLOBAL_DATA GLOBAL_DATA
#define TVIF_IMAGE
Definition: commctrl.h:3263
BOOL LoadEventLabels(PGLOBAL_DATA pGlobalData)
Definition: sounds.c:292
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define IDC_BROWSE_SOUND
Definition: resource.h:49
LPCSTR lpstrFilter
Definition: commdlg.h:332
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define TreeView_SetItem(hwnd, pitem)
Definition: commctrl.h:3493
#define IDC_TEXT_SOUND
Definition: resource.h:47
LPCSTR lpstrTitle
Definition: commdlg.h:341
#define SendMessage
Definition: winuser.h:5744
_TCHAR * _tcsrchr(const _TCHAR *s, _XINT c)
Definition: tcsrchr.h:4
#define HIWORD(l)
Definition: typedefs.h:246
#define TVIF_PARAM
Definition: commctrl.h:3264
#define LoadIcon
Definition: winuser.h:5714
#define GetWindowLongPtr
Definition: treelist.c:73
DWORD nFilterIndex
Definition: commdlg.h:335
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LONG_PTR LRESULT
Definition: windef.h:209
_Check_return_ _CRTIMP wchar_t *__cdecl _wcsdup(_In_z_ const wchar_t *_Str)
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define HeapFree(x, y, z)
Definition: compat.h:394
static VOID FreeAppMap(PGLOBAL_DATA pGlobalData)
Definition: sounds.c:179
#define TreeView_GetItem(hwnd, pitem)
Definition: commctrl.h:3486
#define WM_NOTIFY
Definition: richedit.h:61
DWORD Flags
Definition: commdlg.h:342

Referenced by MmSysApplet().

◆ SpeakerVolume()

INT_PTR SpeakerVolume ( HWND  hwndDlg)

Definition at line 306 of file speakervolume.c.

308 {
309  PROPSHEETPAGE psp[1];
310  PROPSHEETHEADER psh;
311  TCHAR Caption[256];
312 
313  LoadString(hApplet, IDS_SPEAKER_VOLUME, Caption, _countof(Caption));
314 
315  ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
316  psh.dwSize = sizeof(PROPSHEETHEADER);
317  psh.dwFlags = PSH_PROPSHEETPAGE;
318  psh.hwndParent = hwndDlg;
319  psh.hInstance = hApplet;
320  psh.pszCaption = Caption;
321  psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
322  psh.nStartPage = 0;
323  psh.ppsp = psp;
324 
326  psp[0].dwFlags |= PSP_USETITLE;
327  psp[0].pszTitle = Caption;
328 
329  return (LONG)(PropertySheet(&psh) != -1);
330 }
#define IDS_SPEAKER_VOLUME
Definition: resource.h:73
#define _countof(array)
Definition: fontsub.cpp:30
#define IDD_MULTICHANNEL
Definition: resource.h:29
#define ZeroMemory
Definition: winbase.h:1642
HINSTANCE hApplet
Definition: access.c:17
long LONG
Definition: pedump.c:60
#define PROPSHEETHEADER
Definition: prsht.h:374
char TCHAR
Definition: xmlstorage.h:189
static VOID InitPropSheetPage(PROPSHEETPAGE *psp, PSERVICEPROPSHEET dlgInfo, WORD idDlg, DLGPROC DlgProc)
Definition: propsheet.c:15
#define PSP_USETITLE
Definition: prsht.h:26
INT_PTR CALLBACK SpeakerVolumeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define PSH_PROPSHEETPAGE
Definition: prsht.h:43
#define PropertySheet
Definition: prsht.h:382
#define LoadString
Definition: winuser.h:5720
#define PROPSHEETPAGE
Definition: prsht.h:371

Referenced by VolumeDlgProc().

◆ VoiceDlgProc()

INT_PTR CALLBACK VoiceDlgProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 15 of file voice.c.

19 {
22  UNREFERENCED_PARAMETER(hwndDlg);
23  switch(uMsg)
24  {
25  case WM_INITDIALOG:
26  {
27  UINT NumWavOut;
28 
29  NumWavOut = waveOutGetNumDevs();
30  if (!NumWavOut)
31  {
39  }
40  }
41  break;
42  }
43 
44  return FALSE;
45 }
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:323
WPARAM wParam
Definition: combotst.c:138
UINT WINAPI waveOutGetNumDevs(void)
Definition: winmm.c:2140
#define IDC_VOLUME4_BTN
Definition: resource.h:61
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define IDC_DEVICE_VOICE_LIST
Definition: resource.h:45
#define IDC_ADV4_BTN
Definition: resource.h:62
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define IDC_DEVICE_VOICE_REC_LIST
Definition: resource.h:46
#define IDC_TEST_HARDWARE
Definition: resource.h:65
unsigned int UINT
Definition: ndis.h:50
#define IDC_ADV5_BTN
Definition: resource.h:64
#define IDC_VOLUME5_BTN
Definition: resource.h:63
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139

Referenced by MmSysApplet().

◆ VolumeDlgProc()

INT_PTR CALLBACK VolumeDlgProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 417 of file volume.c.

421 {
422  static IMGINFO ImgInfo;
423  PGLOBAL_DATA pGlobalData;
426 
427  pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
428 
429  switch(uMsg)
430  {
431  case MM_MIXM_LINE_CHANGE:
432  {
433  GetMuteState(pGlobalData);
434  if (pGlobalData->muteVal)
435  {
438  }
439  else
440  {
443  }
444  break;
445  }
447  {
448  GetVolumeValue(pGlobalData, FALSE);
449  SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)(pGlobalData->maxVolume - pGlobalData->volumeMinimum) / pGlobalData->volumeStep);
450  break;
451  }
452  case WM_INITDIALOG:
453  {
454  pGlobalData = (GLOBAL_DATA*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
455  SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
456 
460 
461  InitImageInfo(&ImgInfo);
462  InitVolumeControls(hwndDlg, pGlobalData);
463  break;
464  }
465 
466  case WM_DRAWITEM:
467  {
468  LPDRAWITEMSTRUCT lpDrawItem;
469  lpDrawItem = (LPDRAWITEMSTRUCT) lParam;
470  if(lpDrawItem->CtlID == IDC_SPEAKIMG)
471  {
472  HDC hdcMem;
473  LONG left;
474 
475  /* Position image in centre of dialog */
476  left = (lpDrawItem->rcItem.right - ImgInfo.cxSource) / 2;
477 
478  hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
479  if (hdcMem != NULL)
480  {
481  SelectObject(hdcMem, ImgInfo.hBitmap);
482  BitBlt(lpDrawItem->hDC,
483  left,
484  lpDrawItem->rcItem.top,
485  lpDrawItem->rcItem.right - lpDrawItem->rcItem.left,
486  lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top,
487  hdcMem,
488  0,
489  0,
490  SRCCOPY);
491  DeleteDC(hdcMem);
492  }
493  }
494  break;
495  }
496 
497  case WM_COMMAND:
498  {
499  switch (LOWORD(wParam))
500  {
501  case IDC_MUTE_CHECKBOX:
502  if (HIWORD(wParam) == BN_CLICKED)
503  {
504  SwitchMuteState(pGlobalData);
505  if (pGlobalData->muteVal)
506  {
508  }
509  else
510  {
512  }
513 
514  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
515  }
516  break;
517 
518  case IDC_ICON_IN_TASKBAR:
519  if (HIWORD(wParam) == BN_CLICKED)
520  {
521  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
522  }
523  break;
524 
525  case IDC_ADVANCED_BTN:
526  LaunchSoundControl(hwndDlg);
527  break;
528 
529  case IDC_SPEAKER_VOL_BTN:
530  SpeakerVolume(hwndDlg);
531  break;
532  }
533  break;
534  }
535 
536  case WM_HSCROLL:
537  {
538  HWND hVolumeTrackbar = GetDlgItem(hwndDlg, IDC_VOLUME_TRACKBAR);
539  if (hVolumeTrackbar == (HWND)lParam)
540  {
541  switch (LOWORD(wParam))
542  {
543  case TB_THUMBPOSITION:
544  break;
545 
546  case TB_ENDTRACK:
548  break;
549 
550  default:
551  SetVolumeValue(pGlobalData,
553  break;
554  }
555  }
556  break;
557  }
558 
559  case WM_DESTROY:
560  if (pGlobalData)
561  {
562  if (pGlobalData->volumeCurrentValues)
563  HeapFree(GetProcessHeap(), 0, pGlobalData->volumeCurrentValues);
564 
565  if (pGlobalData->volumePreviousValues)
566  HeapFree(GetProcessHeap(), 0, pGlobalData->volumePreviousValues);
567 
568  if (pGlobalData->volumeInitialValues)
569  HeapFree(GetProcessHeap(), 0, pGlobalData->volumeInitialValues);
570 
571  mixerClose(pGlobalData->hMixer);
572  DestroyIcon(pGlobalData->hIconMuted);
573  DestroyIcon(pGlobalData->hIconUnMuted);
574  DestroyIcon(pGlobalData->hIconNoHW);
575  HeapFree(GetProcessHeap(), 0, pGlobalData);
576  }
577  break;
578 
579  case WM_NOTIFY:
580  switch (((LPNMHDR)lParam)->code)
581  {
582  case PSN_APPLY:
583  SaveData(hwndDlg);
584  break;
585 
586  case PSN_RESET:
587  RestoreVolumeValue(pGlobalData);
588  break;
589  }
590  return TRUE;
591  }
592 
593  return FALSE;
594 }
PMIXERCONTROLDETAILS_UNSIGNED volumeInitialValues
Definition: volume.c:40
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define SND_ALIAS_ID
Definition: mmsystem.h:161
#define TRUE
Definition: types.h:120
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
#define IMAGE_ICON
Definition: winuser.h:212
static VOID InitImageInfo(PIMGINFO ImgInfo)
Definition: volume.c:48
#define IDI_MUTED_ICON
Definition: resource.h:14
HICON hIconNoHW
Definition: volume.c:28
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2022
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:323
struct _GLOBAL_DATA * PGLOBAL_DATA
static HDC
Definition: imagelist.c:92
VOID LaunchSoundControl(HWND hwndDlg)
Definition: volume.c:407
UINT WINAPI mixerClose(HMIXER hMix)
Definition: winmm.c:389
DWORD maxVolume
Definition: volume.c:39
LONG top
Definition: windef.h:292
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
DWORD volumeMinimum
Definition: volume.c:35
#define TBM_SETPOS
Definition: commctrl.h:2032
HINSTANCE hApplet
Definition: access.c:17
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
UINT_PTR WPARAM
Definition: windef.h:207
#define SendDlgItemMessage
Definition: winuser.h:5743
#define PSN_APPLY
Definition: prsht.h:117
LONG left
Definition: windef.h:291
LONG right
Definition: windef.h:293
VOID SetVolumeValue(PGLOBAL_DATA pGlobalData, DWORD dwPosition)
Definition: volume.c:237
static VOID NTAPI BitBlt(IN ULONG Left, IN ULONG Top, IN ULONG Width, IN ULONG Height, IN PUCHAR Buffer, IN ULONG BitsPerPixel, IN ULONG Delta)
Definition: vga.c:410
#define SetWindowLongPtr
Definition: treelist.c:70
WPARAM wParam
Definition: combotst.c:138
VOID GetVolumeValue(PGLOBAL_DATA pGlobalData, BOOL bInit)
Definition: volume.c:201
PMIXERCONTROLDETAILS_UNSIGNED volumePreviousValues
Definition: volume.c:41
VOID InitVolumeControls(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
Definition: volume.c:331
long LONG
Definition: pedump.c:60
#define IDC_VOLUME_TRACKBAR
Definition: resource.h:33
#define TBM_GETPOS
Definition: commctrl.h:2027
VOID GetMuteState(PGLOBAL_DATA pGlobalData)
Definition: volume.c:102
smooth NULL
Definition: ftsmooth.c:416
LONG_PTR LPARAM
Definition: windef.h:208
#define IDC_ICON_IN_TASKBAR
Definition: resource.h:37
#define WM_DESTROY
Definition: winuser.h:1591
#define SND_ALIAS_SYSTEMDEFAULT
Definition: mmsystem.h:175
#define IDC_ADVANCED_BTN
Definition: resource.h:51
#define BM_SETCHECK
Definition: winuser.h:1903
struct _GLOBAL_DATA GLOBAL_DATA
HICON hIconMuted
Definition: volume.c:26
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HMIXER hMixer
Definition: volume.c:25
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define PropSheet_Changed(d, w)
Definition: prsht.h:326
#define BN_CLICKED
Definition: winuser.h:1907
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint left
Definition: glext.h:7726
#define IDI_CPLICON
Definition: resource.h:4
#define SND_ASYNC
Definition: mmsystem.h:154
INT_PTR SpeakerVolume(HWND hwndDlg)
#define TB_ENDTRACK
Definition: commctrl.h:2077
PMIXERCONTROLDETAILS_UNSIGNED volumeCurrentValues
Definition: volume.c:42
#define IDI_NO_HW
Definition: resource.h:13
#define DWLP_USER
Definition: winuser.h:866
static VOID RestoreVolumeValue(PGLOBAL_DATA pGlobalData)
Definition: volume.c:281
#define WM_COMMAND
Definition: winuser.h:1722
#define BST_UNCHECKED
Definition: winuser.h:199
HICON hIconUnMuted
Definition: volume.c:27
INT cxSource
Definition: userinit.h:50
HWND WINAPI GetParent(_In_ HWND)
#define PlaySound
Definition: mmsystem.h:2832
BOOL WINAPI DeleteDC(_In_ HDC)
DWORD volumeStep
Definition: volume.c:37
#define PSN_RESET
Definition: prsht.h:118
HBITMAP hBitmap
Definition: userinit.h:49
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define WM_HSCROLL
Definition: winuser.h:1725
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define STM_SETIMAGE
Definition: winuser.h:2075
#define BST_CHECKED
Definition: winuser.h:197
#define WM_DRAWITEM
Definition: winuser.h:1627
#define IDC_MUTE_CHECKBOX
Definition: resource.h:36
#define HIWORD(l)
Definition: typedefs.h:246
LONG bottom
Definition: windef.h:294
LONG muteVal
Definition: volume.c:30
#define LoadImage
Definition: winuser.h:5716
#define IDC_SPEAKIMG
Definition: resource.h:70
#define MM_MIXM_LINE_CHANGE
Definition: mmsystem.h:82
#define GetWindowLongPtr
Definition: treelist.c:73
#define IDC_MUTE_ICON
Definition: resource.h:71
#define LR_DEFAULTCOLOR
Definition: winuser.h:1077
#define TB_THUMBPOSITION
Definition: commctrl.h:2073
#define WM_INITDIALOG
Definition: winuser.h:1721
VOID SaveData(HWND hwndDlg)
Definition: volume.c:397
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define IDC_SPEAKER_VOL_BTN
Definition: resource.h:53
#define HeapFree(x, y, z)
Definition: compat.h:394
#define SRCCOPY
Definition: wingdi.h:332
HDC hdcMem
Definition: welcome.c:104
#define WM_NOTIFY
Definition: richedit.h:61
VOID SwitchMuteState(PGLOBAL_DATA pGlobalData)
Definition: volume.c:126
#define MM_MIXM_CONTROL_CHANGE
Definition: mmsystem.h:83

Referenced by MmSysApplet().

Variable Documentation

◆ hApplet

HINSTANCE hApplet

Definition at line 17 of file access.c.