Mark is right about this being a tricky problem. The waveOutXXXX API is ancient (it predates Windows 95) and requires more error-prone coding than you would think. You will have an easier time interacting with the API in C++ than with C#. Just make sure this is something you really want to do.
If your stream is some format other than WAV file data (like MP3 or WMA), you will have to perform the additional step of decoding the data into WAV format and playing it with the waveOutXXXX API. Finding a good component to do MP3 decoding is trickier than you would expect - I think this is related to the Fraunhofer licensing situation (you're supposed to pay them if you use MP3 code in any way).
I'd find an off-the-shelf product to do this, unless you want the learning experience.