isnt that just a very long beep? note that the kernel32 beep isnt the .net beep (the .net beep will give you the windows error 'klunk' while the kernel32 beep will generate a tone with the given amount of hertz during the given amount of milliseconds)
but now that i think about it, not sure how it works with the 'wave' part..
did i quick google for ya and found this[^] its in vb6 a bit old...and not directly what you need. but it might be able to help you (or so i think)