ok, ora funziona perfettamente senza warnings:

codice:
#include <windows.h>
#pragma comment (lib, "winmm.lib")
#include <mmsystem.h>
#include <iostream>

int main()
{
	UINT nDevices = waveInGetNumDevs();
	WAVEINCAPS wcps;
	for (UINT k=0; k<nDevices; k++)
	{
		waveInGetDevCaps(k,&wcps,sizeof(wcps));
		std::cout << "uDevice" << k << std::endl;
		std::cout << "wMid:" << wcps.wMid << std::endl;
		std::cout << "wPid:" << wcps.wPid << std::endl;
		std::cout << "vDriverVersion:" << wcps.vDriverVersion << std::endl;
		std::cout << "szPname:" << wcps.szPname << std::endl;
		std::cout << "dwFormats:" << wcps.dwFormats << std::endl;
		std::cout << "wChannels:" << wcps.wChannels << std::endl;
		std::cout << "wReserved1:" << wcps.wReserved1 << std::endl << std::endl;
	}
	return 0;
}