19 #define VOLUME_MAX 500 20 #define VOLUME_TICKS 5 21 #define VOLUME_PAGE_SIZE 100 22 #define BALANCE_LEFT 0 23 #define BALANCE_CENTER 32 24 #define BALANCE_RIGHT 64 25 #define BALANCE_STEPS 64 26 #define BALANCE_TICKS 1 27 #define BALANCE_PAGE_SIZE 12 30 #define RECORD_MIXER 1 32 #define ADVANCED_BUTTON_HEIGHT 16 67 #define SZ_APP_CLASS TEXT("Volume Control") 68 #define _countof(array) (sizeof(array) / sizeof(array[0])) 71 #define DPRINT DbgPrint("SNDVOL32: %s:%i: ", __FILE__, __LINE__); DbgPrint
BOOL SndMixerEnumConnections(PSND_MIXER Mixer, DWORD LineID, PFNSNDMIXENUMCONNECTIONS EnumProc, PVOID Context)
PSND_MIXER_DESTINATION Lines
INT_PTR CALLBACK AdvancedDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
VOID SndMixerDestroy(PSND_MIXER Mixer)
BOOL(CALLBACK * PFNSNDMIXENUMPRODUCTS)(PSND_MIXER Mixer, UINT Id, LPCTSTR ProductName, PVOID Context)
DWORD LoadAndFormatString(IN HINSTANCE hInstance, IN UINT uID, OUT LPWSTR *lpTarget,...)
enum _WINDOW_MODE WINDOW_MODE
struct _PREFERENCES_CONTEXT * PPREFERENCES_CONTEXT
INT SndMixerGetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cChannels, DWORD cbDetails, LPVOID paDetails)
struct _ADVANCED_CONTEXT * PADVANCED_CONTEXT
struct _SET_VOLUME_CONTEXT * PSET_VOLUME_CONTEXT
INT_PTR CALLBACK TrayDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct _PREFERENCES_CONTEXT PREFERENCES_CONTEXT
BOOL SaveXYCoordWnd(IN HWND hWnd, IN PPREFERENCES_CONTEXT PrefContext)
struct _SND_MIXER_CONNECTION * PSND_MIXER_CONNECTION
struct _SNDVOL_REG_LINESTATE * PSNDVOL_REG_LINESTATE
struct _SNDVOL_REG_LINESTATE SNDVOL_REG_LINESTATE
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
INT SndMixerGetDestinationCount(PSND_MIXER Mixer)
VOID CloseAppConfig(VOID)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
BOOL SndMixerIsDisplayControl(PSND_MIXER Mixer, LPMIXERCONTROL Control)
struct _SND_MIXER * Mixer
struct _ADVANCED_CONTEXT ADVANCED_CONTEXT
_In_ WDF_WMI_PROVIDER_CONTROL Control
VOID UpdateDialogLineSwitchControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, LONG fValue)
struct _SND_MIXER_DESTINATION * Next
INT SndMixerSetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cChannels, DWORD cbDetails, LPVOID paDetails)
PMIXER_WINDOW MixerWindow
BOOL bShowExtendedControls
BOOL SndMixerQueryControls(PSND_MIXER Mixer, PUINT DisplayControls, LPMIXERLINE LineInfo, LPMIXERCONTROL *Controls)
struct _SND_MIXER_DESTINATION * PSND_MIXER_DESTINATION
struct _MIXER_WINDOW MIXER_WINDOW
_Must_inspect_result_ _In_ ULONG Flags
PSND_MIXER_CONNECTION Connections
PSND_MIXER SndMixerCreate(HWND hWndNotification, UINT MixerId)
struct _MIXER_WINDOW * PMIXER_WINDOW
WCHAR LineName[MIXER_LONG_NAME_CHARS]
VOID LoadDialogCtrls(PPREFERENCES_CONTEXT PrefContext)
INT SndMixerGetProductName(PSND_MIXER Mixer, LPTSTR lpBuffer, UINT uSize)
VOID SndMixerClose(PSND_MIXER Mixer)
struct _SND_MIXER_CONNECTION * Next
struct _SND_MIXER * PSND_MIXER
static const WCHAR szDeviceName[]
#define MIXER_LONG_NAME_CHARS
WCHAR LineName[MIXER_LONG_NAME_CHARS]
BOOL WriteLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szLineName, IN PSNDVOL_REG_LINESTATE LineState, IN DWORD cbSize)
enum _WINDOW_MODE * PWINDOW_MODE
BOOL SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Context)
INT AllocAndLoadString(OUT LPWSTR *lpTarget, IN HINSTANCE hInst, IN UINT uID)
_In_ ULONGLONG _In_ PUNICODE_STRING _In_ PUNICODE_STRING LongName
BOOL SndMixerEnumProducts(PSND_MIXER Mixer, PFNSNDMIXENUMPRODUCTS EnumProc, PVOID Context)
BOOL(CALLBACK * PFNSNDMIXENUMCONNECTIONS)(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context)
WCHAR LineName[MIXER_LONG_NAME_CHARS]
BOOL LoadXYCoordWnd(IN PPREFERENCES_CONTEXT PrefContext)
struct _SND_MIXER_DESTINATION SND_MIXER_DESTINATION
DWORD GetStyleValue(VOID)
struct _SND_MIXER_CONNECTION SND_MIXER_CONNECTION
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
LPMIXERLINE SndMixerGetLineByName(PSND_MIXER Mixer, DWORD LineID, LPWSTR LineName)
struct tagContext Context
UINT SndMixerGetSelection(PSND_MIXER Mixer)
struct _SND_MIXER SND_MIXER
INT SndMixerGetLineName(PSND_MIXER Mixer, DWORD LineID, LPTSTR lpBuffer, UINT uSize, BOOL LongName)
BOOL bHasExtendedControls
BOOL(CALLBACK * PFNSNDMIXENUMLINES)(PSND_MIXER Mixer, LPMIXERLINE Line, UINT DisplayControls, PVOID Context)
BOOL SndMixerSelect(PSND_MIXER Mixer, UINT MixerId)
BOOL CALLBACK EnumProc(_In_ HWND hwnd, _In_ LPARAM lParam)
BOOL ReadLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szLineName, IN LPTSTR szControlName, OUT DWORD *Flags)
VOID UpdateDialogLineSliderControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, DWORD DialogID, DWORD Position)
struct _SET_VOLUME_CONTEXT SET_VOLUME_CONTEXT
PMIXER_WINDOW MixerWindow