26 printf(
"got MM_MIXM_CONTROL_CHANGE wParam %Ix lParam %Ix\n",
msg.wParam,
msg.lParam);
28 printf(
"got MM_MIXM_LINE_CHANGE wParam %Ix lParam %Ix\n",
msg.wParam,
msg.lParam);
43 printf(
"failed to create window\n");
47 printf(
"window created\n");
51 printf(
"failed to create mixer\n");
59 printf(
"failed to create thread\n");
90 printf(
"Target.dwDeviceId %lu\n", MixerLine->
Target.dwDeviceID);
93 printf(
"Target.vDriverVersion %x\n", MixerLine->
Target.vDriverVersion);
97 MixerLineControls.
cbStruct =
sizeof(MixerLineControls);
131 ZeroMemory(&MixerControlDetails,
sizeof(MixerControlDetails));
143 for(SubIndex = 0; SubIndex < MixerControlDetails.
cMultipleItems; SubIndex++)
145 printf(
"dwParam1 %lx\n", ListText[SubIndex].dwParam1);
146 printf(
"dwParam1 %lx\n", ListText[SubIndex].dwParam2);
162 DWORD MixerCount, MixerIndex, DestinationIndex, SrcIndex;
172 printf(
"MixerCount %lu\n", MixerCount);
174 for(MixerIndex = 0; MixerIndex < MixerCount; MixerIndex++)
187 for(DestinationIndex = 0; DestinationIndex < MixerCaps.
cDestinations; DestinationIndex++)
189 ZeroMemory(&DstMixerLine,
sizeof(DstMixerLine));
191 DstMixerLine.
cbStruct =
sizeof(DstMixerLine);
195 printf(
"Destination Index %lu\n", DestinationIndex);
197 for(SrcIndex = 0; SrcIndex < DstMixerLine.
cConnections; SrcIndex++)
209 printf(
"SrcLineIndex %lu\n", SrcIndex);
#define MIXERCONTROL_CONTROLTYPE_MUX
DWORD WINAPI MixerThread(LPVOID Parameter)
UINT WINAPI mixerSetControlDetails(HMIXEROBJ hmix, LPMIXERCONTROLDETAILS lpmcd, DWORD fdwDetails)
WCHAR szName[MIXER_LONG_NAME_CHARS]
static const WCHAR szName[]
union tagMIXERCONTROLW::@3007 Bounds
#define MIXER_GETLINECONTROLSF_ALL
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]
UINT WINAPI mixerGetLineInfoW(HMIXEROBJ hmix, LPMIXERLINEW lpmliW, DWORD fdwInfo)
UINT WINAPI mixerGetControlDetailsW(HMIXEROBJ hmix, LPMIXERCONTROLDETAILS lpmcdW, DWORD fdwDetails)
#define MIXER_OBJECTF_HANDLE
struct tMIXERCONTROLDETAILS_BOOLEAN * LPMIXERCONTROLDETAILS_BOOLEAN
TW_UINT32 TW_UINT16 TW_UINT16 MSG
struct tagMIXERLINEW::@3002 Target
#define MIXER_GETCONTROLDETAILSF_LISTTEXT
void printMixerLine(LPMIXERLINEW MixerLine, IN ULONG MixerIndex)
struct tagMIXERCONTROLW MIXERCONTROLW
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define MIXER_OBJECTF_MIXER
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]
#define MIXER_SETCONTROLDETAILSF_VALUE
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
_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
#define MIXER_GETLINEINFOF_DESTINATION
UINT WINAPI mixerOpen(LPHMIXER lphMix, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen)
struct tagMIXERCONTROLDETAILS_LISTTEXTW * LPMIXERCONTROLDETAILS_LISTTEXTW
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_In_ WDFCOLLECTION _In_ ULONG Index
#define UlongToHandle(ul)
unsigned __int3264 UINT_PTR
UINT WINAPI mixerGetLineControlsW(HMIXEROBJ hmix, LPMIXERLINECONTROLSW lpmlcW, DWORD fdwControls)
UINT WINAPI mixerGetDevCapsW(UINT_PTR uDeviceID, LPMIXERCAPSW lpCaps, UINT uSize)
union tagMIXERCONTROLW::@3008 Metrics
struct tagMIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXTW
struct tMIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_BOOLEAN
#define MIXER_GETLINEINFOF_SOURCE
WCHAR szName[MIXER_LONG_NAME_CHARS]
UINT WINAPI mixerGetNumDevs(void)
struct tMIXERCONTROLDETAILS MIXERCONTROLDETAILS
WCHAR szPname[MAXPNAMELEN]
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
#define MM_MIXM_LINE_CHANGE
#define MM_MIXM_CONTROL_CHANGE