864{
866 DWORD CtrlID, LineOffset, TargetSlider;
870
871 switch (uMsg)
872 {
874 {
877
879 {
881 {
883
887
893 {
894
896
897
899 szProduct,
900 sizeof(szProduct) / sizeof(szProduct[0])) == -1)
901 {
902
903 szProduct[0] =
L'\0';
904 }
905 else
906 {
907
909 }
910
911
914
915
917
918
920
921
923
924
926 {
930 0);
932 {
933
936 0,
938 }
939 }
940
941
943 }
944 break;
945 }
946
953 break;
954
956 {
959 break;
960 }
961
963 {
969 hAppIcon);
970 break;
971 }
972
973 default:
974 {
975
977
978
980 {
982 {
983
985
986
988
990 {
991
993 {
994
998
999
1001 }
1002 }
1004 {
1006
1008 {
1010 }
1011 }
1012 }
1014 {
1016
1017
1019
1020
1022
1023
1025 {
1031 if (AdvancedContext.
Line)
1032 {
1037 (
LPARAM)&AdvancedContext);
1038 }
1039 }
1040 }
1041 }
1042 }
1043 }
1044 break;
1045 }
1046
1048 {
1049 DPRINT(
"MM_MIXM_LINE_CHANGE\n");
1050 break;
1051 }
1052
1054 {
1055 DPRINT(
"MM_MIXM_CONTROL_CHANGE\n");
1056
1057
1060
1061
1064
1066 break;
1067 }
1068
1072
1074 {
1082
1084
1085
1086 LineOffset = CtrlID / TargetSlider;
1087
1088
1090
1091
1093 {
1094
1095 Context.SliderPos = LineOffset;
1098
1099
1101 }
1102 break;
1103
1104 default:
1105 break;
1106 }
1107
1108
1110 {
1120
1121
1123
1124
1125 LineOffset = CtrlID / TargetSlider;
1126
1127 if (LineOffset == 1 && MixerWindow->
Mixer->MixerId == 0)
1129 break;
1130
1131 default:
1132 break;
1133 }
1134 break;
1135
1136
1138 {
1146 {
1148
1149
1151 szProduct,
1152 sizeof(szProduct) / sizeof(szProduct[0])) == -1)
1153 {
1154
1155 szProduct[0] =
L'\0';
1156 }
1157
1158
1159
1161
1162
1164
1165
1167
1168
1170
1171
1173
1174
1176
1177
1179 if (bRet)
1180 {
1181
1182
1183
1184
1185
1187 }
1188
1189
1191 {
1195 0);
1197 {
1200 0,
1202 }
1203 }
1204
1206 {
1207 DPRINT(
"Rebuilding mixer window controls failed!\n");
1211 }
1212 }
1213
1215 break;
1216 }
1217
1219 {
1222 if (MixerWindow !=
NULL)
1223 {
1225 {
1227 }
1228 if (MixerWindow->
hFont)
1231 }
1232 break;
1233 }
1234
1236 {
1239 break;
1240 }
1241
1243 {
1245 {
1248 }
1249 break;
1250 }
1251
1252 default:
1253 {
1255 uMsg,
1258 break;
1259 }
1260 }
1261
1263}
BOOL SaveXYCoordWnd(IN HWND hWnd, IN PPREFERENCES_CONTEXT PrefContext)
BOOL LoadXYCoordWnd(IN PPREFERENCES_CONTEXT PrefContext)
VOID SndMixerDestroy(PSND_MIXER Mixer)
LPMIXERLINE SndMixerGetLineByName(PSND_MIXER Mixer, DWORD LineID, LPWSTR LineName)
INT SndMixerGetProductName(PSND_MIXER Mixer, LPTSTR lpBuffer, UINT uSize)
BOOL SndMixerEnumConnections(PSND_MIXER Mixer, DWORD LineID, PFNSNDMIXENUMCONNECTIONS EnumProc, PVOID Context)
#define IDC_LINE_SLIDER_VERT
#define IDM_ADVANCED_CONTROLS
#define IDC_LINE_ADVANCED
#define IDC_LINE_SLIDER_HORZ
static INT_PTR CALLBACK AdvancedDlgProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define SND_ALIAS_SYSTEMDEFAULT
#define MM_MIXM_CONTROL_CHANGE
#define MIXER_LONG_NAME_CHARS
#define MM_MIXM_LINE_CHANGE
#define CreateStatusWindow
CREATESTRUCTA * LPCREATESTRUCT
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI UnregisterHotKey(_In_opt_ HWND, _In_ int)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI RegisterHotKey(_In_opt_ HWND, _In_ int, _In_ UINT, _In_ UINT)
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI GetMenu(_In_ HWND)
static BOOL RebuildMixerWindowControls(PPREFERENCES_CONTEXT PrefContext)
static INT_PTR CALLBACK DlgPreferencesProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define GetWindowData(hwnd, type)
static BOOL CALLBACK SetVolumeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Ctx)
static BOOL CALLBACK MixerControlChangeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context)
PREFERENCES_CONTEXT Preferences
PMIXER_WINDOW MixerWindow
WCHAR LineName[MIXER_LONG_NAME_CHARS]
BOOL bShowExtendedControls
struct _SND_MIXER * Mixer
PMIXER_WINDOW MixerWindow
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO