Ho aggiornato ancora il codice e sembra funzionare! ovvero stampa sul terminale una specie di "ascii art" che cambia a seconda di quello che dico nel microfono (in contemporanea viene tutto salvato su file .wave , che però non riesco a suonare con nessun player)
il nuovo codice: http://theartofweb.net/cpp/recorder2.txt
a questo punto mi domando, se tramite la CALLBACK_EVENT mi viene notificato dal sistema ogni volta che il buffer è pieno...non ho più bisogno di utilizzare il valore di ritorno di dwFlags. Inoltre mi sono accorto che il flag non ha mai valore 1 (WHDR_DONE) ma valore 3 (???).