​from MSDN, the waveInGetDevCaps and waveOutGetDevCaps function
of parameter uDeviceID can be either a device identifier or a handle of
an open waveform-audio input or output device. now the function not
support handle. also same as waveOutOpen and waveInOpen.