752 "mixerGetDevCapsW: MMSYSERR_INVALPARAM expected, got %s\n",
758 "mixerGetDevCapsW: MMSYSERR_NOERROR or MMSYSERR_INVALPARAM expected, got %s\n",
763 "mixerGetDevCapsW: MMSYSERR_NOERROR expected, got %s\n",
769 trace(
" %d: \"%s\" %d.%d (%d:%d) destinations=%d\n",
device,
782 "mixerOpen: MMSYSERR_NOERROR expected, got %s\n",
mmsys_error(rc));
788 "mixerGetDevCapsW: MMSYSERR_NOERROR expected, got %s\n",
798 "mixerGetLineInfoW(MIXER_GETLINEINFOF_DESTINATION): " 799 "MMSYSERR_INVALPARAM expected, got %s\n",
802 mixerlineW.
cbStruct =
sizeof(mixerlineW);
806 "mixerGetLineInfoW(MIXER_GETLINEINFOF_DESTINATION): " 807 "MMSYSERR_INVALPARAM or MIXERR_INVALLINE expected, got %s\n",
810 mixerlineW.
cbStruct =
sizeof(mixerlineW);
814 "mixerGetLineInfoW(MIXER_GETLINEINFOF_DESTINATION): " 815 "MMSYSERR_INVALPARAM expected, got %s\n",
818 mixerlineW.
cbStruct =
sizeof(mixerlineW);
822 "mixerGetLineInfoW(-1): MMSYSERR_INVALFLAG expected, got %s\n",
825 mixerlineW.
cbStruct =
sizeof(mixerlineW);
830 "mixerGetLineInfoW(MIXER_GETLINEINFOF_DESTINATION): " 831 "MMSYSERR_NOERROR expected, got %s\n",
833 ok(mixerlineW.
dwUser == 0,
"dwUser was not reset\n");
835 trace(
" No Driver\n");
846 trace(
" %d: \"%s\" (%s) Destination=%d Source=%d\n",
849 trace(
" LineID=%08x Channels=%d " 850 "Connections=%d Controls=%d\n",
853 trace(
" State=0x%08x(%s)\n",
855 trace(
" ComponentType=%s\n",
859 trace(
" Device=%d (%s) %d.%d (%d:%d)\n",
860 mixerlineW.
Target.dwDeviceID,szPname,
861 mixerlineW.
Target.vDriverVersion >> 8,
862 mixerlineW.
Target.vDriverVersion & 0xff,
867 mixerlineW.
cbStruct =
sizeof(mixerlineW);
872 "mixerGetLineInfoW(MIXER_GETLINEINFOF_SOURCE): " 873 "MMSYSERR_NOERROR expected, got %s\n",
876 trace(
" No Driver\n");
890 trace(
" %d: \"%s\" (%s) Destination=%d Source=%d\n",
893 trace(
" LineID=%08x Channels=%d " 894 "Connections=%d Controls=%d\n",
897 trace(
" State=0x%08x(%s)\n",
899 trace(
" ComponentType=%s\n",
903 trace(
" Device=%d (%s) %d.%d (%d:%d)\n",
904 mixerlineW.
Target.dwDeviceID,szPname,
905 mixerlineW.
Target.vDriverVersion >> 8,
906 mixerlineW.
Target.vDriverVersion & 0xff,
915 "mixerGetLineControlsW(MIXER_GETLINECONTROLSF_ALL): " 916 "MMSYSERR_INVALPARAM expected, got %s\n",
920 "mixerGetLineControlsW(-1): " 921 "MMSYSERR_INVALFLAG or MMSYSERR_INVALPARAM expected, got %s\n",
935 "mixerGetLineControlsW(MIXER_GETLINECONTROLSF_ALL): " 936 "MMSYSERR_NOERROR expected, got %s\n",
947 trace(
" %d: \"%s\" (%s) ControlID=%d\n", nc,
949 trace(
" ControlType=%s\n",
951 trace(
" Control=0x%08x(%s)\n",
952 array[nc].fdwControl,
954 trace(
" Items=%d Min=%d Max=%d Step=%d\n",
955 array[nc].cMultipleItems,
958 array[nc].Metrics.cSteps);
static const WCHAR szName[]
#define MIXER_GETLINECONTROLSF_ALL
UINT WINAPI mixerGetLineInfoW(HMIXEROBJ hmix, LPMIXERLINEW lpmliW, DWORD fdwInfo)
#define WideCharToMultiByte
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
struct tagMIXERLINECONTROLSW MIXERLINECONTROLSW
struct tagMIXERLINEW::@3002 Target
struct tagMIXERCONTROLW MIXERCONTROLW
static const char * control_type(DWORD dwControlType)
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]
#define MMSYSERR_NODRIVER
#define MIXER_GETLINEINFOF_DESTINATION
UINT WINAPI mixerOpen(LPHMIXER lphMix, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define MMSYSERR_INVALFLAG
unsigned __int3264 UINT_PTR
static void mixer_test_controlW(HMIXEROBJ mix, MIXERCONTROLW *control)
UINT WINAPI mixerGetLineControlsW(HMIXEROBJ hmix, LPMIXERLINECONTROLSW lpmlcW, DWORD fdwControls)
#define MIXER_SHORT_NAME_CHARS
static void test_mixerClose(HMIXER mix)
static const char * control_flags(DWORD fdwControl)
UINT WINAPI mixerGetDevCapsW(UINT_PTR uDeviceID, LPMIXERCAPSW lpCaps, UINT uSize)
const char * mmsys_error(MMRESULT error)
#define MIXER_LONG_NAME_CHARS
#define MMSYSERR_INVALPARAM
#define MIXER_GETLINEINFOF_SOURCE
WCHAR szName[MIXER_LONG_NAME_CHARS]
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX mix
WCHAR szPname[MAXPNAMELEN]
static const char * component_type(DWORD dwComponentType)
static const char * line_flags(DWORD fdwLine)
#define HeapFree(x, y, z)
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 GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum GLdouble GLenum GLint GLenum GLenum GLint GLenum GLenum GLfloat GLenum GLenum GLfloat GLenum GLfloat GLenum GLushort const GLubyte GLenum GLenum GLenum GLint GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLvoid GLenum GLenum GLint GLenum GLint GLenum GLint GLuint GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble const GLfloat GLenum const GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble GLint GLint GLsizei GLsizei GLenum GLuint GLenum array
static const char * target_type(DWORD dwType)