http://uk.un4seen.com/files/bass23.zip HSTREAM BASS_StreamCreate( DWORD freq, DWORD chans, DWORD flags, // BASS_SAMPLE_FLOAT |BASS_SAMPLE_SOFTWARE STREAMPROC *proc, DWORD user ); DWORD CALLBACK YourStreamProc( HSTREAM handle, void *buffer, DWORD length, DWORD user ); Parameters handle The stream that needs writing. buffer The buffer to write the sample data in 32-bit floating-point samples range from -1 to +1. length The number of BYTES to write. user The user instance data given when BASS_StreamCreate was called.